T1#enterprise

IBM IMS — The Hierarchical Database Born from the Apollo Spacecraft's Parts Lists

The operator console of an IBM System/360 Model 65, the machine ICS/DL/I was developed for
SourceLiving Computers: Museum+Labs (Wikimedia Commons) · CC BY-SA 4.0 · View on Commons ↗

Metadata

Date
Decade
1960s
Tier
T1
Sources
06
Connections
01
Tags
#enterprise

On 14 August 1968 an IBM 2740 typewriter terminal at Rockwell's Space Division in Downey, California, printed the message "IMS READY". The software behind it had been written to keep track of the parts in the Apollo spacecraft. A year later IBM renamed it Information Management System/360 and began selling it. IMS became one of the most widely used database systems of the mainframe era—and, unlike most of its contemporaries, it never went away.

The Apollo Parts Problem at Downey

The story starts five years earlier. In 1963 IBM's Santa Monica office assigned Uri Berman to the Space Division at Downey, which was building the Apollo capsule. (The company was then North American Aviation; it merged with Rockwell-Standard in September 1967 to become North American Rockwell, which is why later accounts, including Berman's own, simply say "Rockwell.")

Berman described the problem plainly in a memoir written for the Computer History Museum: the schedule was very tight, the division urgently needed to keep track of parts for the capsule, and incompatible engineering changes had to be avoided. Working with Pete Nordyke of the Space Division, he built an application that kept a current parts list on a large disk with the status of every part-number change attached. Engineering departments queried it from terminals on a local network connected to an IBM 7010. An engineer could confirm he had the latest drawing for a part and see whether any changes were pending against it.

With one big file and many programs reading and writing it, control became the hard problem. Berman's response was to pull disk access and recovery out of the application programs into general-purpose software. The system was called DATE, for Disk Applications in a Teleprocessing Environment, and inside it was the interface that IBM later knew as DL/I. It went into service on the 7010 in 1965. DATE kept the field, record and file definitions apart from the programs that entered data, asked for status, or produced reports—a separation later database systems would take for granted.

From DATE to ICS on the System/360

When the Space Division moved to IBM System/360 Model 65 machines, Berman and Nordyke proposed carrying the idea across in general form. Management was interested but sceptical. The division's top technical manager, Dr. Robert R. Brown, assigned a consultant, Bob Patrick, who wrote a system description in 1966. With that in hand the project was approved and funded. The argument that won it was practical: the division had more programs to port than programmers, and a single database layer written once would spare every other team from writing its own file handling.

Brown set two conditions: the software would be built to IBM's Type 2 program standards, and nothing in OS/360 would be modified. IBM and the Space Division then staffed a joint project. Accounts of its size differ. K. R. Blackman's 1998 note in the IBM Systems Journal gives twelve from IBM, ten from North American Rockwell and three from Caterpillar Tractor, with the IBM team later moved to Los Angeles and grown to 21. Berman remembered about twenty programmers, two of them from Caterpillar, which wanted the same capabilities.

The result was the Information Control System (ICS) with Data Language/I. According to Blackman, ICS was installed in April 1968, and the first "IMS READY" message appeared on 14 August 1968. In 1969 ICS was renamed Information Management System/360. IBM's own heritage page dates the first shipped version to 1967 and says IBM announced the commercial release in 1968, so the "birth year" of IMS depends on which milestone one counts; the August 1968 message is the date IBM's sources agree on.

How IMS Organised Data

IMS implemented the hierarchical model. A database record is a tree: a root segment identifies the record, and dependent segments hang beneath it in a fixed parent-child structure. Programs navigate that tree through DL/I calls, one segment at a time. For a bill of materials—an assembly made of subassemblies made of parts—the tree is a natural fit.

The same structure was its limitation. IBM's heritage page is candid that IMS searches had to be hard-coded by specialists in the tree structure, and that when the data changed, queries often had to be rewritten with new pointers. Simple, repeatable tasks performed best.

The other half of IMS was transaction management. An online component—first called ICS/DL/I—let terminal messages drive application programs, queuing them so updates happened in order. At the Space Division, Berman recalled, IMS was measured on one Model 65 while a second fed it transactions: for that configuration and workload, it handled 4,000 transactions an hour. The organisational consequence was as new as the software: because programmers were no longer responsible for the data's integrity, Brown created a new post to own it. Dan Gilbert, Berman wrote, was the first to carry the title of Data Base Manager.

IMS as an IBM Product

Under the agreement, the original developing companies received a royalty-free licence to the code, and IBM got a program product. It built a line of business called DB/DC—Data Base/Data Communications—with IMS at its centre alongside CICS. At IMS's twentieth anniversary in 1988, IBM stated that it was installed at 7,000 sites worldwide.

IMS was not the only database of the 1960s, nor the earliest. Thomas Haigh judges GE's Integrated Data Store considerably more flexible than IMS and released several years earlier. But software then ran only on its maker's machines, and IBM sold far more machines than anyone else. That market position, more than any technical lead, is what put IMS in front of so many large organisations.

The answer to IMS's rigidity also came from inside IBM. At the San Jose Research Lab, Edgar Codd proposed in 1970 a model built on tables and unique keys instead of trees and navigational pointers—the relational model, from which SQL descends.

Why IMS Still Runs

IMS did not disappear when relational databases won the market. IBM states that by the late 1980s most of the world's financial institutions used IMS for work such as ATM transactions and credit card payments, and that in the late 2010s seven of the ten largest companies in the financial sector ran it. Those are IBM's own figures. What is independently clear is that IBM still issues new IMS releases, and that, as Blackman wrote in 1998, some customers were still running thirty-year-old application programs without any changes.

The parts list for a spacecraft turned out to be a template for the bank ledger: very large, very structured, read and updated by a high volume of short transactions whose access paths are known in advance. For that workload, the trees Berman's team built at Downey are still in production.

Questions this page answers

When did IBM IMS first run?
According to the IBM Systems Journal, ICS was installed in April 1968 and the first "IMS READY" message was displayed at Rockwell's Space Division in Downey on 14 August 1968. It was renamed IMS/360 in 1969. IBM's heritage page dates the first shipped version to 1967, so the year depends on which milestone is meant.
What did IMS do for the Apollo program?
At North American's Space Division, which built the Apollo spacecraft, it managed the spacecraft's bills of material and the status of engineering changes against each part number, so engineers could check from a terminal that they had the latest drawing and see any pending changes.
Is IMS a hierarchical or a network database?
Hierarchical. A database record is a tree of a root segment and dependent segments, navigated through DL/I calls. The network model, with relationships held as a graph, belongs to GE's IDS and the CODASYL systems.

Sources

  1. PrimaryTechnical note: IMS celebrates thirty years as an IBM product — K. R. Blackman, IBM Systems Journal 37(4), 596–603, 1998

    The 1965 partnership, the 1966 team (12 IBM, 10 North American Rockwell, 3 Caterpillar), April 1968 installation, the 14 August 'IMS READY', the 1969 rename, and the hierarchical structure

    Accessed 2026-10-03

  2. PrimaryBirth of IMS — Uri Berman, written April 2007 (Computer History Museum, CHM Ref. R0367.2017)

    The 1963 assignment to Downey, Pete Nordyke, DATE on the IBM 7010 (1965), the 1966 system description, Type 2 standards, 4,000 transactions an hour, the first 'Data Base Manager', and 7,000 sites in 1988

    Accessed 2026-10-03

  3. PrimaryInformation Management Systems — IBM Heritage

    IBM's own account (dating the first shipped version to 1967) and its claims about use in finance

    Accessed 2026-10-03

  4. SecondaryCharles W. Bachman: Database Software Pioneer — Thomas Haigh, IEEE Annals of the History of Computing 33(4), Oct–Dec 2011

    The judgment that GE's IDS was more flexible than IMS and several years earlier

    Accessed 2026-10-03

  5. TertiaryIBM Information Management System — Wikipedia

    Accessed 2026-10-03

  6. TertiaryNorth American Aviation — Wikipedia

    The September 1967 merger with Rockwell-Standard and the company's name

    Accessed 2026-10-03

Last updated:

Share