The IBM Information Management System (IMS) is a joint
hierarchical database and
information management
Information management (IM) is the appropriate and optimized capture, storage, retrieval, and use of information. It may be personal information management or organizational. Information management for organizations concerns a cycle of organiz ...
system that supports
transaction processing
In computer science, transaction processing is information processing that is divided into individual, indivisible operations called ''transactions''. Each transaction must succeed or fail as a complete unit; it can never be only partially c ...
. Development began in 1966 to keep track of the
bill of materials
A bill of materials or product structure (sometimes bill of material, BOM or associated list) is a list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an Prod ...
for the
Saturn V rocket of the
Apollo program
The Apollo program, also known as Project Apollo, was the United States human spaceflight program led by NASA, which Moon landing, landed the first humans on the Moon in 1969. Apollo followed Project Mercury that put the first Americans in sp ...
, and the first version on the
IBM System/360 Model 65 was completed in 1967 as ICS/DL/I and officially installed in August 1968.
IBM rebranded it IMS/360 in 1969, and ported it to new platforms as they emerged. In 1988, the company claimed that there were 7,000 IMS sites active worldwide. and went on to see extensive use and continual improvement to this day. IMS's most successful year in terms of sales was in 2003, 35 years after it was released. It was in use by over 95% of the
Fortune 1000.
History
DATE and DL/1
IMS ultimately traces its history to a 1963 contract from
NASA
The National Aeronautics and Space Administration (NASA ) is an independent agencies of the United States government, independent agency of the federal government of the United States, US federal government responsible for the United States ...
to help control the continual list of changes being made to the
Apollo command and service module
The Apollo command and service module (CSM) was one of two principal components of the United States Apollo (spacecraft), Apollo spacecraft, used for the Apollo program, which landed astronauts on the Moon between 1969 and 1972. The CSM functi ...
at the
North American Rockwell (NAR) plants in
Downey, California (Los Angeles area).
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
sent Uri Berman to build an application to track the latest change number for any given part on NAR's
IBM 7010 mainframe computer
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise ...
.
Working with Rockwell's Pete Nordyke, they developed a system based on the recently introduced
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
which could be queried by NAR's network of
computer terminal
A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. Most early computers only had a front panel to input or display ...
s spread through the engineering department. The database stored the parts number and their latest revisions, which ensured that any changes being made by the engineers were being applied to the latest version of any related parts, which they could find by looking up the relationships between the parts in the database.
The resulting system, known as DATE for "Disk Applications in a Teleprocessing Environment", was flexible due to Berman's decision to separate the portions of the system responsible for the physical storage on disk with the portions that handled user interaction. The user interaction side was realized to be a separate concept and began to be known as DL/1, for "Data Language/One". The system was installed on the 7010 in 1965.
ICS
By the time DATE was running, the 7010 was obsolete and the entire 7000 series was replaced by the
System/360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
family. NAR selected the
IBM System/360 Model 65 as their replacement for the 7010. As part of a port to the 360, IBM proposed an extended version of the DATE concept that could further develop the storage side of the system to allow the data format to be defined separately from the DL/1 side that would query it. This would allow the same system to be used for any sort of data by changing what would today be known as the
data definition. Rockwell management was skeptical, but the technical manager, Robert Brown, was a former IBM employee and eventually came to support the concept based on the promise that it would allow it to be more easily ported.
The first formal definition was written in 1966. The team was expanded with twelve people from IBM, ten from NAR, and three from
Caterpillar Tractor who also planned to use the system. The new system was known as ICS/DL/I, for "Information Control System and Data Language/Interface" The first version was completed in 1967, and officially installed at NAR on 14 August 1968 when the first "READY" message appeared on an NAR
IBM 2740 terminal.
IMS
The next year, IBM put the product on the market after rebranding it IMS/360. It has been developed and expanded continually since then, as IBM
System/360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
technology evolved into the current
z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
and
IBM zEnterprise System technologies. In 1988, as part of its 20th year of use, IBM announced that IMS was in use at 7,000 locations. In ''From Airline Reservations to Sonic the Hedgehog'',
Martin Campbell-Kelly put the number at 30,000 at the end of 1989, although Db2 revenue by then had grown to equal IMS's.
Vern Watts had worked continuously on IMS since the 1960's and was IMS's chief architect for many years. Watts joined IBM in 1956 and worked at IBM's Silicon Valley development labs until his death on April 4, 2009. For his work as the "father of DL/1", Berman received an IBM Outstanding Contribution Award and its associated $100,000.
Database
IBM Information Management System (IMS) utilizes a
hierarchical database model,
distinct from IBM's later
relational database model as seen in Db2. In IMS, data is organized into segments (known today as records or structs), each comprising multiple fields, structured hierarchically to manage complex relationships effectively. For instance, in a customer database, a root segment at the top of the hierarchy may include fields such as phone number, name, and age. Child segments can be added beneath, such as order segments under each customer segment, representing orders placed by customers, with further child segments for individual items on each order.
Types of IMS Hierarchical Databases
Full Function Databases
* Originating from the Data Language Interface (DL/I) databases developed for Apollo, full function databases support primary and secondary indexes, accessed via DL/I calls similar to SQL calls in IBM Db2 or Oracle.
* These databases can be accessed through various methods, with Hierarchical Direct (HDAM) and Hierarchical Indexed Direct (HIDAM) being prominent. Other formats include Simple Hierarchical Indexed Sequential (SHISAM), Hierarchical Sequential (HSAM), and Hierarchical Indexed Sequential (HISAM).
* Data in full-function databases is stored using VSAM, a native z/OS access method, or OSAM, an IMS-specific method optimizing I/O for IMS access patterns, particularly benefiting from sequential access (OSAM Sequential Buffering).
Fast Path Databases
* Optimized for high transaction rates, Fast Path databases include Data Entry Databases (DEDBs) and Main Storage Databases (MSDBs).
* DEDBs employ direct (randomizer) access similar to HDAM in full-function databases, offering enhanced performance through high-performance access methods and asynchronous write after commit. They leverage a Unit of Work (UOW) concept for simplified online reorganization utilities starting from IMS Version 11.
High Availability Large Databases (HALDBs)
* Introduced in IMS V7, HALDBs extend the capabilities of full function databases to enhance availability and handle large data volumes effectively.
* IMS V9 introduced online reorganization for HALDBs, supporting continuous availability and accommodating data volumes exceeding 40 terabytes.
Transaction Manager
IMS is a
transaction manager, (IMS TM, also known as IMS DC) which interacts with an end user connected through
VTAM Virtual Telecommunications Access Method (VTAM) is the IBM subsystem that implements Systems Network Architecture (SNA) for mainframe environments. VTAM provides an application programming interface (API) for communication applications, and contro ...
or
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
, (including
3270 and
Web user interfaces) or another application. It can process a business function (such as a banking account withdrawal), and maintain state throughout the process, making sure that the system records the business function correctly to a data store.
IMS TM uses a messaging and queuing
paradigm
In science and philosophy, a paradigm ( ) is a distinct set of concepts or thought patterns, including theories, research methods, postulates, and standards for what constitute legitimate contributions to a field. The word ''paradigm'' is Ancient ...
. 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 and ensuring 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. In 2013, IBM completed a benchmark on IMS Version 13 demonstrating the ability to process 100,000 transactions per second on a single IMS system.
Application
IMS TM provides a standard environment for transaction execution. Several Chinese banks had purchased IMS by the late 2000s to support the country's burgeoning financial industry.
IMS complements
IBM Db2, IBM's
relational database
A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970.
A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
system introduced in 1982. IMS generally performs faster than Db2 for common tasks, but may require more programming effort to design and maintain for non-primary duties.
A relational
data warehouse
In computing, a data warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a system used for Business intelligence, reporting and data analysis and is a core component of business intelligence. Data warehouses are central Re ...
may be used to supplement an IMS database. For example, IMS may provide primary ATM transactions because it performs well for such a specific task.
See also
*
Datacom
*
IDMS
*
IBM Db2
*
Data Language Interface
*
Transaction Processing Facility
*
MUMPS
MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gen ...
Notes
References
Bibliography
*
External links
IMS Family IBM Z softwareInformation Management Software for z/OS Solutions Information CenterIBM Redbook: IMS Primer*
IBM InfoSphere Guardium S-TAP for IMS on z/OS for detection of policy violations and compliance auditingAn Introduction to IMS: Second Edition
{{Authority control
Apollo program
Database engines
Proprietary database management systems
Information Management System
Structured storage
NoSQL
IBM mainframe software