IBM Information Management System

IBM Information Management System

IBM Information Management System (IMS) is a joint hierarchical database and information management system with extensive transaction processing capabilities.


IBM designed IMS with Rockwell and Caterpillar starting in 1966 for the Apollo program. IMS's challenge was to inventory the very large Bill of Materials for the Saturn V moon rocket and Apollo space vehicle.

The first "IMS READY" message appeared on an IBM 2740 terminal in Downey, California, on 14 August 1968. IMS is still going strong 40 years later and, over time, has seen some interesting developments as IBM System/360 technology evolved into the current z/OS and System z9 and z10 technologies. For example, IMS supports the Java programming language, JDBC, XML, and, since late 2005, Web services (though JDBC, XML or Web Services require licensing additional software from IBM). IMS Connect comes with version 9 and provides a TCP/IP interface to Message Processing Programs running in IMS Message Processing Regions.

Vern Watts is IMS's chief architect. Watts joined IBM in the late 1950s and, as of this writing in mid-2005, still works (at least "unofficially") at IBM's Silicon Valley development labs.Fact|date=September 2007 He has continuously worked on IMS since the 1960s.


The IMS Database component stores data using a hierarchial model that is quite different from IBM's later released relational database, DB2. In IMS the hierarchical model is implemented using blocks of data known as segments. Each segment can contain several pieces of data referred to as fields. For example a customer database may have a root segment (or the segment at the top of the hierarchy) with fields such as phone, name, and age. Child segments may be added underneath another segment, for instance one order segment under each customer segment representing each order a customer has placed with a company. Likewise each order segment may have many item children segments for each item on the order. Unlike other databases you do not need to define all of the data in a segment to IMS. A segment may be defined with a size of 40 bytes but only define one field that is six bytes long as a key field that you can use to find the segment when performing queries. IMS will retrieve and save all 40 bytes as directed by a program but may not understand (or care) what the other bytes represent. Often in practice all data in a segment may map to a COBOL copybook. Besides DL/I query usage a field may be defined to IMS so that the data can be hidden from certain applications for security reasons. The database component of IMS is can be purchased alone, without the transaction manager component, and used by systems such as CICS.

There are three basic forms of IMS hierarchical databases:

"Full function" databases

* Directly descended from the Data Language Interface (DL/I) databases originally developed for Apollo. Full function databases can have primary and secondary indexes, accessed using DL/I calls from your application program, like SQL calls to DB2 or Oracle.
* Full function databases can have a variety of access methods, although Hierarchical Direct (HDAM) and Hierarchical Indexed Direct (HIDAM) dominate. The other formats are Simple Hierarchical Indexed Sequential (SHISAM), Hierarchical Sequential (HSAM), and Hierarchical Indexed Sequential (HISAM).
* Full function databases store data using VSAM, a native z/OS access method, or Overflow Sequential (OSAM), an IMS-specific access method that optimizes the I/O channel program for IMS access patterns. In particular, OSAM performance benefits from sequential access of IMS databases (OSAM Sequential Buffering).

"Fast path" databases

* Data Entry Databases (DEDBs) and Main Storage Databases (MSDBs) are the two types of fast path databases. Neither provide any indexing. Instead they are optimized for extremely high transaction rates. Virtual Storage Option (VSO) DEDBs can replace MSDBs in modern IMS releases, so MSDBs are gradually disappearing.

High Availability Large Databases (HALDBs)

* IMS V7 introduced HALDBs, an extension of IMS full function databases to provide better availability, better handling of extremely large data volumes, and, with IMS V9, online reorganization to support continuous availability. (Third party tools exclusively provided online reorganization prior to IMS V9.) A HALDB can store in excess of 40 terabytes of data. [ Lewis, Rich et al (June 2003). " [ The Complete IMS HALDB Guide All You Need to Know to Manage HALDBs] ". International Business Machines Corporation. p. 4. ISBN 0738453439. Retrieved on June 21, 2008. ]

Fast path DEDBs can only be built atop VSAM. DL/I databases can be built atop either VSAM or OSAM, with some restrictions depending on database organization. Although the maximum size of a z/OS VSAM dataset increased to 128 TB a few years ago, IMS still limits a VSAM dataset to 4 GB (and OSAM to 8 GB). This "limitation" simply means that IMS customers will use multiple datasets for large amounts of data. VSAM and OSAM are usually referred to as the access methods, and the IMS "logical" view of the database is referred to as the database "organization" (HDAM, HIDAM, HISAM, etc.) Internally the data are linked using 4-byte pointers or addresses. In the database datasets (DBDSs) the pointers are referred to as RBAs (relative byte addresses).

Collectively the database-related IMS capabilities are often called IMS DB. IMS DB has grown and evolved over nearly four decades to support myriad business needs.

Transaction Manager

IMS is also a robust transaction manager (IMS TM, also known as IMS DC) — one of the "big three" along with CICS and BEA Tuxedo. A transaction manager interacts with an end user (connected through VTAM or TCP/IP, including 3270 and Web user interfaces) or another application, processes a business function (such as a banking account withdrawal), and maintains state throughout the process, making sure that the system records the business function correctly to a data store. Thus IMS TM is quite like a Web application, operating through a CGI program (for example), to provide an interface to query or update a database. IMS TM typically uses either IMS DB or DB2 as its backend database. When used alone with DB2 the IMS TM component can be purchased without the IMS DB component.

IMS TM uses a messaging and queuing paradigm. An IMS control program receives a transaction entered from a terminal (or Web browser or other application) and then stores the transaction on a message queue (in memory or in a dataset). IMS then invokes its scheduler on the queued transaction to start the business application program in a message processing region. The message processing region retrieves the transaction from the IMS message queue and processes it, reading and updating IMS and/or DB2 databases, assuring proper recording of the transaction. Then, if required, IMS enqueues a response message back onto the IMS message queue. Once the output message is complete and available the IMS control program sends it back to the originating terminal. IMS TM can handle this whole process thousands (or even tens of thousands) of times per second.


Prior to IMS, businesses and governments had to write their own transaction processing environments. IMS TM provides a straightforward, easy-to-use, reliable, standard environment for high performance transaction execution. In fact, much of the world's banking industry relies on IMS, including the U.S. Federal Reserve. For example, chances are that withdrawing money from an automated teller machine (ATM) will trigger an IMS transaction. Several Chinese banks have recently purchased IMS to support that country's burgeoning financial industry. Reportedly, IMS alone is a $1 billion (U.S.) per year business for IBM.Fact|date=June 2008

Today IMS complement DB2, IBM's relational database system, introduced in 1982. In general, IMS performs faster than DB2 for a given task, but requires more programming effort to design and maintain.

ee also

* Datacom
* PL/I
* z/TPF

External links

* [ IMS Family - IBM Software]
* [ IBM Redbook: IMS Primer]
* [ IMS Forums]
* [ History of IMS]
* [ Virtual IMS Connection user group]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • IBM Information Management Software — Information Management Software is one of the brands within IBM s Software Group division. The major Information Management products include [ [ IBM Software: Information Management] ] :* DB2 mdash; relational… …   Wikipedia

  • Information Management System — (IMS) ist ein Informationssystem des Unternehmens IBM. Es besteht aus den Komponenten IMS/DB (hierarchisches Datenbanksystem) und IMS/TM (Transaktionsmonitor frühere Bezeichnung: IMS/DC). Der IMS/TM kann auch ohne die IMS/DB eingesetzt werden. Er …   Deutsch Wikipedia

  • Information Management System — Pour les articles homonymes, voir IMS. IMS (pour Information Management System) a débuté comme une base de données hiérarchique créée par IBM en 1966 pour le compte de Rockwell et le programme Apollo. Il fut utilisé pour suivre les factures des… …   Wikipédia en Français

  • IBM AIX (operating system) — Infobox OS name = AIX caption = developer = IBM source model = Closed source kernel type = Dynamic Extendable supported platforms = ROMP, IBM POWER, PowerPC, IBM PS/2, System/370, ESA/390 ui = Common Desktop Environment family = UNIX System V… …   Wikipedia

  • IBM Configuration Management Version Control (CMVC) — IBM Configuration Management Version Control Screenshot  Developer(s) IBM Development status Inactive …   Wikipedia

  • Data base management system — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

  • Relationales Datenbank-Management-System — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

  • Enterprise Content Management System — Für Enterprise Content Management Systeme (ECMS) werden die unterschiedlichsten ECM Komponenten und Techniken kombiniert, die zum Teil auch als eigenständige Lösungen sinnvoll nutzbar sind ohne den Anspruch an ein unternehmensweites System[1].… …   Deutsch Wikipedia

  • Enterprise-Content-Management-System — Für Enterprise Content Management Systeme (ECMS) werden die unterschiedlichsten ECM Komponenten und Techniken kombiniert, die zum Teil auch als eigenständige Lösungen sinnvoll nutzbar sind ohne den Anspruch an ein unternehmensweites System.[1]… …   Deutsch Wikipedia

  • Relational database management system — A Relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd. Most popular commercial and open source databases currently in use are based on the… …   Wikipedia