Введение

RETAIN – это система баз данных, работающая на платформе мейнфреймов и доступная через терминалы IBM 3270 (или, чаще, их эмуляторы). Она используется внутри IBM для предоставления сервисной поддержки сотрудникам IBM и клиентам. Аббревиатура RETAIN расшифровывается как Remote Technical Assistance Information Network – "Сеть информации для дистанционной технической поддержки".

Предшественница системы

Исторически, две различные, но схожие системы назывались RETAIN. Первая, появившаяся в середине 1960-х годов, представляла собой систему, предоставлявшую техническую информацию сотрудникам подразделения полевой инженерии IBM в виде кратких бюллетеней или подсказок, организованных по номеру типа машины или, для программного обеспечения, по номеру идентификатора программного компонента. Эта информация была доступна через простые запросы с терминалов филиалов сервисной службы IBM. Терминалы, поддерживаемые этой ранней системой RETAIN, были терминалами, имитирующими пишущую машинку, такие как IBM 2740. Те же терминалы также использовались для доступа к системе обучения IBM Field Instruction System (FIS), которая предоставляла образовательные материалы в форме курсов программированного обучения. Система RETAIN была построена на той же программной платформе, что и FIS. Фактически, большая часть первоначальной поддержки RETAIN была реализована на языке, используемом для создания "курсов". Система в основном использовалась для поддержки семейства мэйнфреймов System/360, хотя также применялась для распространения технической информации по другим устаревшим системам.

RETAIN/370

В 1970 году, одновременно с анонсом System/370, следующего поколения мэйнфреймов после System/360, была анонсирована новая система под названием RETAIN/370. Эта система предназначалась для использования специальными центрами технической поддержки, расположенными в региональных центрах, а не в филиалах. Новая система была разработана для работы с дисплейными терминалами, а не со старыми, основанными на пишущих машинках. Использовалась специальная версия дисплея 2915, изначально разработанная для систем бронирования авиабилетов, таких как SABRE. 2915 представлял собой небольшой дисплей с клавиатурой, управляемый большим электронным контроллером и блоком обмена данными IBM 2948. Каждый контроллер 2948 мог обслуживать до 31 дисплейных терминалов, которые должны были располагаться на расстоянии не более нескольких сотен футов. Высокая стоимость этой системы отображения, включающей большой контроллер, не позволяла использовать терминалы 2915 в филиалах, поэтому их применяли в региональных центрах поддержки. Более старая система RETAIN продолжала использоваться еще несколько лет, работая параллельно с RETAIN/370 и оставаясь подключенной к терминалам в филиалах. Ее иногда называли системой "RETAIN/360", хотя это название никогда не было официально закреплено. Со временем, после того как RETAIN/370 стал доступен через терминалы 3270 в филиалах, старая система RETAIN была выведена из эксплуатации, а RETAIN/370 была переименована просто в RETAIN.

Поисковая система

RETAIN/370 работал со специальными приложениями, разработанными для использования в центрах технической поддержки. Его наиболее мощной функцией был механизм полнотекстового поиска, позволявший извлекать большинство текстовых документов в системе, используя булевы поисковые запросы, концептуально схожие с современными полнотекстовыми поисковыми системами в Интернете, такими как Google или AltaVista, хотя и ограниченные поиском отдельных слов или их комбинаций без учета порядка следования слов. RETAIN/370 стала первой системой IBM, развернутой в широком масштабе, обладающей подобными возможностями. Компонент поисковой системы RETAIN называется IRIS (Interpretive Retrieval Information System – Интерпретирующая информационная система поиска), и его не следует путать с другими программными системами с таким же названием, не относящимися к IBM. IBM никогда не продавала эту поисковую систему как отдельный продукт, поэтому вопросов, связанных с товарными знаками, не возникало.

Отраженная база данных

В середине 1970-х годов система RETAIN была расширена, чтобы обеспечить возможность размещения нескольких копий базы данных на географически распределенных системах. Специально разработанный для RETAIN менеджер банка данных, являвшийся основой для всех приложений RETAIN, и поисковая система IRIS были модифицированы для автоматической "синхронизации" обновлений файлов по сети, практически незаметной для прикладных программ, но обеспечивающей высокий уровень целостности данных. После этого изменения хосты RETAIN были созданы в двух локациях в США, двух в Европе, двух в Южной Америке и двух в Японии. Большинство приложений разрабатывали программисты IBM в Рали, штат Северная Каролина (переехали в Боулдер, штат Колорадо, в 1976 году), при этом часть работ выполнялась в Норт-Харборе, Великобритания. Число зарегистрированных пользователей системы исчислялось тысячами и охватывало более 60 стран.

Удаленная поддержка

В то время, когда была анонсирована система System/370, вместе с соответствующей системой RETAIN/370, IBM объявила, что новое семейство компьютеров будет оснащено средствами удаленной диагностики аппаратных проблем. Каждая установка System/370 модели 145 и выше включала в себя телекоммуникационный адаптер, который можно было использовать для удаленной поддержки. Программы аппаратной диагностики были разработаны для управления через удаленное соединение с приложениями в системе RETAIN, которыми могли управлять специалисты IBM из центра поддержки IBM в Чикаго, руководимого Полом Раштоном, а также с исходного завода-изготовителя процессора. Эта форма поддержки получила название "Data Link / Hardware" (Связь данных / Аппаратное обеспечение). Соединение осуществлялось через коммуникационное устройство – адаптер IBM 2955, упрощенную версию контроллера связи 2701. Он мог подключаться к системе RETAIN со скоростью 600 бит/с для запуска диагностики. В основном, это позволяло запускать те же диагностические тесты, которые мог запускать локально инженер IBM CE, но со временем были разработаны и другие специализированные приложения, например, программы для анализа "выходов из системы", генерируемых аппаратными сбоями, то есть прерываниями "проверки машины". Со временем концепция удаленной поддержки была расширена и на программное обеспечение (около 1973 или 1974 года). С помощью специального приложения система MVS могла подключаться через RETAIN к центру поддержки IBM, и дампы памяти и другие системные данные могли быть просмотрены удаленно. Приложение также позволяло загружать программные исправления или временные исправления программ IBM. Хотя 2955 поддерживал только 6-битный код символов (аналогичный терминалу 2740), двоичная передача дампов памяти и обновлений программного обеспечения осуществлялась по протоколу, аналогичному схеме кодирования base64, используемой сегодня в Интернете для вложений электронной почты. На протяжении многих лет было предпринято несколько проектов, направленных на замену функциональности RETAIN, но, несмотря на это, она сохранила свое значение.