This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
The Origin of the Integrated Data Store (IDS): The First Direct-Access DBMS
October-December 2009 (vol. 31 no. 4)
pp. 42-54

The Integrated Data Store (IDS), the first direct-access database management system, was developed at General Electric in the early 1960s. Revisiting the development challenges that lead to its first production version reveals the origins of DBMSs and their impact on software development and business management. IDS and its derivative systems are still in use today, supporting a thousand mainframe installations.

1. The IBM Bill of Material Process (BOMP) was available at approximately the same time. BOMP was an application package, designed for a specific purpose with predefined record types. It was not a general-purpose DBMS, capable of supporting a range of to-be-specified applications. Bill of material processing was one of the many manufacturing planning and control tasks implemented, using IDS, for the MIACS system. So was the Problem Controller (OLTP) OS.
2. The choice of the variable "M" word depended on which organizational level we were addressing.
3. C.W. Bachman, "Data Structure Diagrams," Data Base, vol. 1, no. 2, Summer 1969.
4. The Bachman Data Analyst product was one of the CASE products created and marketed by Bachman Information Systems, which I founded in 1983 and helped to operate until 1998 when it was acquired by Sterling Software, which was subsequently acquired by Computer Associates (CA) in 2000.
5. Report generator languages and relational database languages like SQL are considered to be non-procedural languages.
6. An O/M set instance consists of one owner record and an ordered set of zero, one, or more member records. An O/M set type is defined by a set name, an owner record type, one or more member record types, and logical constraint declarations. A record type can be defined as the owner record of zero, one, or more O/M set types and, independently, as a member record of zero, one, or more O/M set types. It could not be declared as both an owner record and a member record of the same O/M set type.
7. IDS was the first user of virtual memory as an organizing principle for databases. The database was organized as a set of pages. Each page was organized as a set of lines (records). The Ferranti Atlas computer was the first user of virtual memory as an organizing principle for its computer programs. The control of virtual memory for program storage has been transferred to hardware control while control for database storage has remained to this day under database software control. The requirements are different.
8. IDS used a longest-inactive algorithm to age virtual memory pages and set the time of their being written back to the physical disk, or being overwritten if their content has not been changed.
9. GMAP assembly language statements were generated to access those computer machine functions not supported in the GECOM language.
10. In early 1963, only the two IDS system programs had been written to use and test IDS. The IDS functionality was tested, but the number of records stored and retrieved was too small to get any feeling for performance. Furthermore, these programs were written and tested at a time when we were waiting for the first GE disk file to be shipped to our test site in New York City. Homer Carney temporarily modified his physical I/O system to cause two magnetic tape drives to simulate the reading and writing of data pages to/from a disk file.
11. When one considers that each debugging run required a new GECOM compile and subsequent GMAP assembly, careful design and a lot of desktop debugging was essential. Considering the time to prepare, compile, make a test run, and then analyze the result, this test cycle was essentially a once a day operation. Furthermore, it required a trip from New York City to Schenectady, New York, to gain access to GE 225 computer time. My memory tells me that we got through the bootstrapping phase in a single trip to Schenectady.
12. The fact that the two IDS system programs were really just IDS/GECOM programs created a dilemma that was solved by a bootstrapping operation. In the first step, the IDS DML statements in both of the IDS system programs were manually translated into the equivalent GECOM and GMAP statements and then compiled and assembled in the normal manner. The first versions of these two IDS system programs were debugged, making the necessary changes. When they were both operating correctly, the source language code for these two IDS system programs was reprocessed to machine translate their imbedded IDS DML statements into the appropriate GECOM and GMAP statements. The machine translated GECOM and GMAP statements were validated by comparing them with the now debugged, manually translated GECOM and GMAP statements to assure that nothing had gone wrong.
13. The 1963–1964 interpretive version of IDS reserved 4,000 words for the residence of IDS and the Problem Controller. The 4,000-word balance of the 8-Kbyte memory machine was shared by the application program and its page turning buffers. The larger 16-Kbyte memory machine had three times as much memory to be shared by application program and page turning data buffers. No one bought the 8-Kbyte configurations any more!
14. In the early 1960s, the GE Computer Department advertised themselves as "Problem Solvers." We seized on the word "problem" and thus named our transaction-oriented OS the Problem Controller. Manufacturing control transactions were equated as being problems. Manufacturing transactions can legitimately be considered to be messages. The Problem Controller was a store-and-forward message system. It forwarded messages (transactions) for processing in a business-oriented priority sequence.
15. The subsequent Weyerhaeuser IDS and Problem Controller installation reminded us of an old system design rule that we had forgotten. "Never use a data field with business meaningful values as a primary key. When the meaningful value changes, the primary key usage will be compromised." Weyerhaeuser working with IAO solved this problem by adding a second O/M set between the System Recordand the Problem Type Records. The original O/M set was sorted by the Problem Type Record.codeand controlled the access to existing Problem Records. The new O/M set was sorted by the Problem Type Record.priority numberand controlled the problem type dispatching sequence. Some of these priority values were modified from day to night for business reasons and the second O/M set was reordered accordingly.
16. The standard configuration for a GE 200 series computer was a card reader, card punch, high-speed printer, and a console typewriter.
17. Two boxes of IBM punched cards, totaling 4,000 80-column cards, each holding one GMAP assembly language instruction.
18. The absence of any local peripherals drove the computer room operators crazy. They could see the console lights blinking on and off but could not tell whether the computer was in a loop or operating normally. Eventually, a console typewriter was connected. Hourly, the list of queued transactions was typed out so the operators could check the new list to see if that list was different from the list printed the prior hour.
19. The GE 200 series IDS allocated 20 bit word to the recording of a database key. The high order 14 bits (values from 0-16,183) recorded the page number of the virtual memory page where a record was stored. The low order 6 bits (values from 0-63) recorded the line number that was assigned to a record within a page. The database key value of zero was reserved to represent an invalid or null database key.
20. A good portion of the price Honeywell paid for the GE computer business was in Honeywell stock. That turned out to be a profitable deal for GE because the Honeywell stock appreciated considerably by the time GE was allowed to sell it.
21. Subsequently, the market value for that number of CA shares attained the value of $3 billion.
22. See J.M. Kruntorad's article "History of the CA IDMS Database Management System" in this special issue for the IDMS Goodrich/Cullinet/CA story.
23. C.W. Bachman, "The Programmer As Navigator," Comm. ACM, vol. 16, no. 11, Nov. 1973.

Index Terms:
Integrated Data Store (IDS), database management system (DBMS), owner/member set, metadata, problem controller, online transaction processing (OLTP), data model, data structure diagram, Materials Information and Control System (MIACS), generic application systems
Citation:
Charles W. Bachman, "The Origin of the Integrated Data Store (IDS): The First Direct-Access DBMS," IEEE Annals of the History of Computing, vol. 31, no. 4, pp. 42-54, Oct.-Dec. 2009, doi:10.1109/MAHC.2009.110
Usage of this product signifies your acceptance of the Terms of Use.