title: RETAIN
text: # RETAIN
  
  RETAIN is a mainframe based database system, accessed via IBM 3270 terminals (or more likely, emulators), used internally within IBM providing service support to IBM field personnel and customers.
  
  The acronym RETAIN stands for Remote Technical Assistance Information Network.
  
  ## Predecessor system
  
  Historically, two different, but similar, systems were called RETAIN. The first, dating to the mid-1960s was a system that provided technical information to people in the IBM Field Engineering Division in the form of short bulletins or tips, organized according to machine type number or, for software, according to software component ID number. This information was accessible using simple query commands from IBM service branch office terminals. The terminals supported by this early RETAIN system were typewriter-type terminals, such as the IBM 2740. These same terminals were also used to access the IBM Field Instruction System (FIS), which provided education in the form of programmed instruction courseware. The RETAIN system was built on the same software framework as that of FIS. In fact, most of the early support for RETAIN was actually written in the language of a "course".
  
  The system was primarily used to provide field support for the System/360 family of mainframe systems, although it was used also to disseminate some technical information on other older systems.
  
  ## RETAIN/370
  
  In 1970, concurrent with the announcement of System/370, the next generation of mainframes after System/360, a new system was announced, called RETAIN/370. This system was designed for use by special Technical Support Centers located in regional centers, rather than by the branch office. This new system was designed to display terminals, rather than the old typewriter-based ones. A special version of the 2915 display, originally designed for the airline reservations systems, such as SABRE, was used. The 2915 was a small keyboard-display driven by a large electronic controller and data interchange unit, the IBM 2948. Each 2948 could control up to 31 display terminals, which had to be located within a few hundred feet. The cost of this display system, with its large controller, prevented the 2915 terminals from being used in branch offices, so they were used in regional support centers instead. The older RETAIN system continued to be used for several years afterwards, running in parallel with RETAIN/370, still connected to branch-office terminals. It was sometimes called the "RETAIN/360" system, although that designation was never formalized. In time, after RETAIN/370 became available via 3270 terminals in the branch offices, the old RETAIN system was phased out, and RETAIN/370 was renamed to simply RETAIN.
  
  ### Search engine
  
  RETAIN/370 ran special applications designed for technical support center use. Its most powerful feature was a full-text search engine, enabling most text documents in the system to be retrieved by using boolean search requests, similar in concept to full-text search engines in use today on the Internet, such as Google or AltaVista, although limited only to searching for individual words, or combinations of words, without reference to word-adjacency. RETAIN/370 was the first IBM system deployed on a large scale that had such a capability. The search engine component of RETAIN is called IRIS, for Interpretive Retrieval Information System (not to be confused with other non-IBM software systems of that name... IBM never sold this search engine as a product, so there was no trademark issue).
  
  ### Mirrored database
  
  In the mid-1970s, a RETAIN was expanded to permit multiple copies of the database to be hosted on geographically distributed systems. RETAIN's custom-built Data Bank Manager, which served as the foundation for all RETAIN applications, and the IRIS search engine, was modified to support "mirroring" of file updates to take place automatically across the network, in a manner nearly invisible to the application programs, but which providing a high level of data integrity. After this change, RETAIN hosts were created in two US locations, two in Europe, two in South America, and two in Japan. Most applications were developed by IBM programmers in Raleigh, NC, (moved to Boulder, Colorado, in 1976) with some work being done in North Harbour, UK.
  
  Registered users of the system numbered in the thousands, in over 60 countries.
  
  ### Remote support
  
  At the time System/370 was announced, along with the corresponding RETAIN/370 system, IBM announced that the new family of computers would be equipped to permit remote diagnosis of hardware problems. Each System/370 installation of model 145 and above have a telecommunications adapter included capable of being used for remote support. The hardware diagnostic programs were written to allow control via a remote connection to applications on the RETAIN system that could be controlled by IBM specialists located at the IBM support center in Chicago, managed by Paul Rushton, and also including the original plant of manufacture of the CPU. This form of support was dubbed "Data Link / Hardware". The connection was made through a communications device called an IBM 2955 adapter, a stripped-down variant of the 2701 communications controller. It could connect at 600 bit/s to the RETAIN system to run diagnostics. Mainly, this was to run mostly the same diagnostics that could be run locally by an IBM CE, but in time other specialized applications were developed, such as programs to analyze "logouts" generated by hardware malfunctions, i.e. "machine check" interruptions.
  
  In time, the concept of remote support was extended to software as well (about 1973 or 1974). Through a special application, an MVS system could be connected, via RETAIN, to an IBM support center, and memory dumps and other system data could be examined remotely. The application also permitted download of software fixes, or IBM Program temporary fixes. Although the 2955 only supported a 6-bit character code (similar to the 2740 terminal), binary transfer of memory dump and software updates was accomplished through a protocol similar to the base-64 encoding scheme used today on the Internet for email attachments.
  
  Over the years, several projects have aimed to supplant RETAIN's functionality, but it has shown lasting presence despite them.
  
  