REQUEST TO PARTICIPATE IN A PANEL DISCUSSION

Document Type: 
Collection: 
Document Number (FOIA) /ESDN (CREST): 
CIA-RDP84-00933R000100260003-2
Release Decision: 
RIPPUB
Original Classification: 
K
Document Page Count: 
24
Document Creation Date: 
December 15, 2016
Document Release Date: 
August 25, 2003
Sequence Number: 
3
Case Number: 
Publication Date: 
May 22, 1981
Content Type: 
MF
File: 
AttachmentSize
PDF icon CIA-RDP84-00933R000100260003-2.pdf482.88 KB
Body: 
Approved For Release 2003/11/05: CIA-RDP84-0093LR 900100260003-2 ODP-81-666 22 May 1981 MEMORANDUM FOR: Chairman, Publications Review Board STAT FROM Chief, Systems Programming Division Deputy Director for Processing, ODP Director of Data Processing Deputy Director for Administration a Systems Programming Division, ODP SUBJECT Request to Participate in a Panel Discussion 1. I request permission to participate in a panel discussion describing Agency experience in solving a particular type of computing problem. 2. When approved, I intend to speak at the Conference in STAT during the week of August 23rd. The audience is expected to be comprised of about 400 persons from the United States and Canada representing organizations running similar computer systems. 3. None of the material to be presented is classified or controversial. I will discuss techniques that we have developed to allow users of IBM's VM/CMS timesharing systems to share data. The architecture of our unclassified Gimini database and AIM electronic mail systems will be described in detail. 4. I am not under cover and will be identified as an Agency employee. I will also give the standard disclaimer that the views expressed are my own and not necessarily those of the Agency. /signed/ STAT ODP/P/SPD/ISB 05-22-81/PRBREQ5 Distribution: Original - addressee 1 - VM/SP Project 5 - Chronos 2 - DDA Approved For Release 2003/11/05 : CIA-RDP84-00933R000100260003-2 Approved Forease 2003/11/05 : CIA-RDP84-0093300100260003-2 SUBJECT: Request to Participate in a Panel Discussion TITLE OF PANEL DISCUSSION: CMS File Sharing I have reviewed the outline in paragraph 3 of this request, to the best of my knowledge have found it to be unclassified, and approve it for presentation. William N. Hart Bruce T. Johnson, D/ODP arry E. Fitzwater, DDA 2 1 AUG 1981 Date Date /s/ Bruce T. Johnson 21 AUG 1981 Approved For Release 2003/11/05 : CIA-RDP84-00933R000100260003-2 Approved Forelease 2003/11/05 : CIA-RDP84-0093000100260003-2 SHARING DATA IN CMS The CMS Project of SHARE has submitted a requirement to IBM that begins: "It is not possible to share CMS files in a multiple-user, read/write environment. " The requirement explains that this deficiency makes it rather difficult to implement applications such as electronic mail and general database systems. We are acutely aware of the truth of this statement. We have recently implemented two large applications under VM/CMS that share data. Gimini is a refitted version of the GIMS database management system that runs on a S/370 minicomputer. AIM is a facility that provides an automated environment for creating, editing, sending, receiving and filing documents and messages electronically. GIMS is a hierarchical database management system that runs as a problem program and supports multiple terminals, multiple databases, transaction logging and concurrent transaction processing. It is dictionary driven, allows multiple files within a database, multiple levels of security, and has an EXEC-like capability. In other words, it is a full-function DBMS. We are currently running GIMS under MVS on a 0 0331 Jn 3701168axed two -Amd-ah+ 4 /VGs -6 3033 cIGSS *(ach fires. GIMS began as a TRW research project back in 1965. The first prototype for an IBM 7094/1410 came out in 1967. Two years later, GIM I was released for DOS/360 and OS/360. GIM II was released in 1972. This is essentially the version that we have been running on our MVS mainframes. In 1979, we decided to refit GIMS to run on a 4331 minicomputer. VNI/CMS was the logical choice for an operating system. The first Gimini system went production in April of this year. Gimini was implemented using a network of virtual machines that boggles the mind. Each database user has an ordinary CMS virtual machine. The software that runs in this virtual submits transactions to the database and displays output on the user's terminal. Each GIMS user is assigned a statement virtual that processes transactions. These virtuals are managed by yet another that we know as the goddess virtual. There is also a tape virtual that allows data to be extracted from, or bulk load to be made to, the database. All communications between the user and the statement or goddess virtuals is performed using the VMCF SENDX protocol. While the statement, goddess and tape virtuals also use VMCF, they make particularly effective use of shared writable discontiguous saved segments. The data is stored in a small number of large CMS files. Each database may consist of one or more CMS files, each of which corresponds to an "extent." We have a small mod that allows in-place updating of records. Gimini makes extensive use of discontiguous saved segments. Most of the common code is re-entrant and resides in a 1.3 meg DCSS. There are three shared writable segments containing database system tables. These include the ENQ/DEQ/Wait entries that allow locking for groups of records, compiled copies of the database dictionary and procedures, and lists of Approved For Release 2003/11/05 : CIA-RDP84-00933R000100260003-2 Approved Fgelease 2003/11/05 : CIA-RDP84-00993,000100260003-2 current generation counts for each record. Gimini performs its own lock management, hence it can run in a tightly-coupled, multi-processor environment. A few functions have been omitted from the initial version of Gimini. There is no history tape; it just isn't needed on a minicomputer. GIMS has a function similar to spooling of consoles; an interface to the VM spooling mechanism needs to be installed. The first version went to single user systems, so multiple databases aren't fully supported. Also, record deadlocks are so rare with only one or two users that the code to handle this condition has been omitted. Gimini is currently running on "trams IBM 4331-1s. It took a little over two years for two system programmers to complete the refit. Of the 700 modules in GIMS, about 75 were affected. The changes applied principally to interface routines. Most of the database routines were unchanged, and software development and maintenance continues to be done under MVS. The user's perception of the database is unchanged. Databases are also portable between GIMS and Gimini using tape. Over the next few months, support will be added for the missing functions. GIM III should be out by June of next year, and it will also run in a VM environment. AIM provides an enviroment for the creation and management of documents by non-data processing persons. It is similar in structure to IBM's PROFS system, but places greater emphasis on document routing and control. It is also TTY terminal oriented. The AIM user is provided with more than twenty commands to create and manage documents. Documents live in folders; documents are the logical equivalent of files, while folders are equivalent to minidisks. Get and Put privileges may be assigned to users for folders, while document access is covered by Read, Modify and Append authority. Extensive controls, such as From, To, Through and Carbon Copy, are provided to manage the flow of documents. The software that runs in the user's virtual machine comprises about 75% of the code. This includes command processors, the database manager interface, a CMS file system interface and SCRIPT subset, all of which run under a tailored version of the editor. The central virtual machine manages the database. It performs the actual manipulation of documents, as well as transaction logging and user notification. Data is transferred between the central virtual and user virtuals via VMCF SENDX. The data is stored in a structure of CMS files on the central virtual's data disk. Each user has a file that points to a list of folders. A folder has one file that lists all of the documents in that folder, as well as a "shadow" file that lists the users who have access to that folder. A document is comprised of several files: a header that defines routing and symbolic reference data, a text file containing the body of the document, a shadow listing the users who have copies of the document, and annotates or appends containing data added to the file after creation. Each document involves an average of three CMS files. Regardless of the number of users who have copies of a document, only a single copy is retained in the system. - 2 - Approved For Release 2003/11/05 CIA-RDP84-00933R000100260003-2 Approved For lease 2003/11/05 : CIA-RDP84-0093 00100260003-2 AIM attempts to perform as much processing as possible in the user's virtual to reduce the burden on the central server. There is a powerful interpreter with an alias, or symbolic substitution, capability. All data is double stored, just in case a disk drives goes out to lunch permanently. Most of the code that runs in the user's virtual is re-entrant and resides in a DCSS. The "pilot project" has been running since January with a select group of 200 users. Next month, AIM will enter "test production" and more users will be permitted to climb aboard. It will enter full production in January 1982, and everybody will be allowed to use the system. We currently have some 2,000 documents in AIM. One projection calls for 300,000 documents when the system is fully operational. Many additional features are on the drawing board for AIM. It should ultimately interface directly to both XEDIT and Waterloo SCRIPT. It will have to support multiple minidisks and multiple central servers to provide acceptable performance. An archival facility is being developed, as are an array of office automation goodies. It will also be expected to interface to a variety of other applications. What have we learned from all our efforts? Secure sharing of files requires that the data management portion of an application be removed from the user's virtual machine. Processing cannot usually be concentrated in a single service virtual machine and still provide adequate response. Hence, a careful division of labor between the user's virtual and the central, or intermediary, virtual is necessary. The performance of the CMS file system tends to crumble when thousands of files are involved. The chief problem arises from the time and storage required to repeatedly search the FST chains. The solution that we, and PROFS, have chosen is to keep our own compressed directory and access only slices of the whole database spread out over multiple minidisks. We have yet to track any problems down to the performance of VMCF, and it is believed that we could possible improve its performance with a minor mod to the VM Control Program. Finally, shared writable segments have proven to be a very powerful tool. It is, however, necessary to modify the system slightly to prevent unauthorized mucking with the tables. You can share large amounts of data in CMS. Unfortunately, today's systems require that you spend substantial resources developing the support. Approved For Release 2003/11/05 CIA-RDP84-00933R000100260003-2 4 1%w Approved For elease 200 Pf/W s di K DP84-0093 00100260003-2 Central Intelligence Agency Washington, DC 20505 Approved For Release 2003119~8gSS~1k-ADP84-00933R000100260003-2 Approved For Re)ease 20039 Fd8 : j *DP84-009338000100260003-2 Problem: "it is not possible to share CMS files in a multiple-user, read/write environment. This deficiency makes it more difficult than should be necessary to take advantage of the simplicity, efficiency and flexibility of the CMS file system when building very commonly needed interactive applications such as electronic mail, computer conferencing, transaction processing and general database systems. SHARE CMS Project Requirement 80023 Foil 2 Approved For Release 2003/9~)68':"lA-RDP84-00933R000100260003-2 Approved Fo elease 20011 Ogs' . RDP84-0093 000100260003-2 Applications: Gimini: a refitted version of the GIMS database management system that runs on a S/370 compatible minicomputer. AIM: a facility that provides an automated environment for creating, editing, sending, receiving, and filing documents and messages electronically. Approved For Release 20031Pl1 o sg~ DP84-00933R000100260003-2 Approved For Release 2003111'1@ ?Of DP84-00933R000100260003-2 GIMS: - A hierarchical database management system that runs as a problem program and supports multiple terminals, multiple databases, transaction logging and concurrent transaction processing. It is dictionary driven, allows multiple files within a database, multiple levels of security, and has an EXEC capability. - Currently running under MVS Approved For Release 2003'f1bY?di c 2DP84-00933R000100260003-2 Approved Forritelease 200319W~6fiA-c2DP84-00934&000100260003-2 Chronology: 1965 TRW research project 1967 Prototype for 7094/1410 1969 GIM I available for DOS and OS/360 1972 GIM 11 available 1979 Decision to use VM/CMS as a base 1981 Gimini system in production fied Approved For Release 2003Ym8r,6; IA DP84-00933R000100260003-2 Approved For'R ease 20031f119Mts:I -*DP84-009338000100260003-2 Components: Goddess virtual initializes and shuts down GIMS. Also assigns a statement virtual to a user. Communicates using VMCF SENDX and DCSS. Statement virtuals process transactions. There is one for each user signed on to GIMS. Communicates using VMCF SENDX and DCSS. User virtuals submit transactions to the statement virtuals and display output on the user's terminal. Communicates using VMCF SENDX. This is the user's ordinary virtual machine. Tape virtual allows extracting and bulk loads of a database. Communicates using VMCF SENDX and DCSS. Approved For Release 2003)I+ k CIA=RDP84-00933R000100260003-2 Approved Fo4,pelease 200 )iVbV F iLIA4DP84-0093 000100260003-2 Data Organization: Each database consists of one or more CMS files (extents) in GIMS format. In-place updating of records is allowed. Approved For Release 2003Y 'I)~W . DP84-00933R000100260003-2 Approved For Release 200314 1FJ 4 tfk-I DP84-00933ROt0100260003-2 Discontinguous Saved Segments: GIMSEG is a 64K, shared writable segment containing the database "bootstrap," and ENQ/DEQ/Wait tables. Allows locking at the group (of records) level. GIIVISTATE is a 1.3 meg, shared R/O segment containing code. GIMCOMP is a 3 meg, shared writable segment containing the compiled dictionary and procedures. GIMSHARE is a 512K, shared writable segment containing a list of current generation counts for each record. Approved For Release 2003 fib b dl'A-'~,DP84-00933R000100260003-2 Approved Fo telease 200M)9 IiN*DP84-009338000100260003-2 Missing Functions: History tape. Directed output. Multiple databases. Record deadlock. Approved For Release 2003Vl~~6%$:S*Ii DP84-00933R000100260003-2 Result: Approved For R ease 2003H9Yd3s:~Wr-YkDP84-00933M 0100260003-2 Gimini currently running on s4331s. 1.5 system programmers spent 27 months refitting software. About 75 out of 700 modules affected. Changes principally applied to interface routines. Database routines are unchanged. Most software development and maintenance is still done under MVS. User perception unchanged. Databases are portable between GIMS and Gimini. Approved For Release 2003/nl f/W"'c DP84-00933R000100260003-2 Approved For.Release 200,W T7 ? ~i$ RDP84-0093&R000100260003-2 Future: - Provide support for missing functions. Unclassified Approved For Release 2003/11/05 : CIA-RDP84-00933R000100260003-2 Approved For Release 2003MWM5~ fA!ADP84-009338000100260003-2 AIM: - Provides an environment suitable for the creation and management of documents by non-data processing persons. - Similar in structure to PROFS, but greater emphasis given to document routing and control. Also is TTY oriented. Approved For Release 20031i{1c/b` r L -RDP84-00933R000100260003-2 Approved Fo,6Release 200 A i IAtDP84-009 000100260003-2 Externals: 26 user commands. Documents (logical equivalent of files). Folders (logical equivalent of minidisks). - Get and Put access at folder level; read, modify and append at Routing includes from, to, through, carbon copies, plus others. Foil 13 Approved For Release 2003}' 4M88 S t DP84-00933R000100260003-2 Approved For I'2elease 20031IMMsd1DP84-009338000100260003-2 Components: - User virtual software comprises about 75% of code, including command processors, database manager interface, CMS file interface and. SCRIPT subset, all running under tailored editor. Communicates using VMCF SENDX. - Central virtual manages the database. Performs actual manipulation of documents upon request of user virtual, as well as transaction logging and user notification. Approved For Release 200Mn1 A '6iA RDP84-00933R000100260003-2 ? Approved Fo telease 200 1'iA i6i DP84-0093.38000100260003-2 - Folder List. - Folders and shadows. - Document headers, text, shadows, annotates and appends. - All are CMS files (average 3 per document). Approved For Release 20031P1505-S8LR DP84-00933R000100260003-2 Approved For Rel 'ease 200314 VM9~?fi-I4DP84-00933ROOQ~0100260003-2 Features: - Maximize processing in user virtual. - Interpreter with alias capability. - Double storing of data. - Most user virtual code is re-entrant and resides in a DCSS. Approved For Release 200'f/W?dL,&2DP84-00933R000100260003-2 Approved Fc elease 200 'fV sLfIIRckDP84-0093i,R000100260003-2 Status: - "Pilot project" running since January 1981. - "Test production" in September 1981. - Full production in January 1982. - Currently 2,000 documents. 300,000 documents projected at full load. Approved For Release 2003} q/ 8 Ss61b-RDP84-00933R000100260003-2 Approved For Re ease 2003M4fdg9 sd DP84-00933R 100260003-2 Future: - XEDIT and Waterloo SCRIPT. - Multiple minidisks. - Multiple central server virtuals. - Archive capability. - Office automation goodies. - Interfaces to other applications. Approved For Release 200 nl)dt '&IMRDP84-00933R000100260003-2 Approved Fo telease 200i)/bVsdIAdRDP84-00931000100260003-2 Lessons Learned: - Distribute processing. - Distribute data when there are large numbers of CMS files. - VMCF innocent until proven guilty. - Shared writable segments are a very powerful tool. Approved For Release 2003/ ff: CIA-RDP84-00933R000100260003-2