Network Working Group A. Shoshani Request for Comments: 144 SDC NIC: 6729 30 April 1971 Data Sharing on Computer Networks The enclosed is an introductory paper for the meeting which will be held in Atlantic City as part of the ARPA Network meetings. The schedule for the meeting will be published soon by Steve Crocker. The Agenda of the meeting will include: a. Presentation of the introductory paper. b. Open discussion to exchange comments and ideas. c. Attempt some recommendations. d. Possibly set up a committee of interested people. If you have interest in the subject please plan to attend. INTRODUCTION One of the benefits expected from the use of Computer Networks is the sharing of data among users of the system. This paper is an attempt to classify the issues involved, discuss some approaches that might be taken to achieve the goal of facilitating data sharing and to point out some advantages and disadvantages of these approaches. CONSIDERATIONS In the process of selecting an approach one has to consider the following issues: 1. Does the approach provide the use of one language to access all data on the network? 2. Does the approach facilitate sharing of existing data created and manipulated by existing data management systems? 3. Does the approach encourage users to share data and use the facility provided? How evolutionary is the approach? 4. Could a failure of one node in the network cause the failure of the data sharing facility? 5. Does the approach promote or hinder further development of data management systems? Shoshani [Page 1] RFC 144 Data Sharing on Computer Networks 30 April 1971 6. What are the implementation considerations? 7. What are speed considerations? POSSIBLE APPROACHES 1. Centralized data management system (CDMS). This approach is consistent with the idea that a Computer Network eventually will evolve into a collection of specialized service nodes, where each node would perform a specific function well. Users will use services on nodes according to their needs. For example, one node could be a PL/I machine (possibly a microprogrammed machine to perform PL/I compilation efficiently), another node could be a "number cruncher" for parallel-structured problems (ILLIAC IV), etc. In the same way there will be a node responsible for all data management needs for the network. Depending on the assumptions made one of two ways can be chosen: a. As assumption that we must be able to share all data, implies that the same data management system can create and manipulate this data, and therefore must perform all the functions required of a data management system, regardless of the particular use. It is generally agreed that such a task is monumental and impractical (if not impossible), since different data management systems are designed to perform specific functions well on the expense of degraded performance of other functions (e.g., fast retrieval of large files, limited updating capabilities). b. The assumption is made that users will share only data from the same file on a particular data management system. In this case one can implement different data management services for different tasks, but put them all on the same node to provide a data management service to the Network users. This approach can still use one common language to access these services. This is apparently the approach taken by CCA as indicated in NIC memo 5791. 2. Standardized data management system (SDMS). In this approach a particular data management system is adopted to be implemented on all nodes. This provides for a standardized data management language as well as an identical logical data structures. Alternatively, one can choose a set Shoshani [Page 2] RFC 144 Data Sharing on Computer Networks 30 April 1971 of data management systems to be implemented on all nodes, then be able to share information manipulated by the same data management system on different nodes. This approach has many drawbacks as will be discussed later. 3. Integrated data management system (IDMS). This approach suggests the integration of local (to the node) data management systems and local data (files) through the use of appropriate interfaces and a common data management language. Under this category there may be different approaches depending on the function of the interfaces: a. There is an interface module in every node for every local data management system. The interface performs a dual function: on the way out--it issues requests in the common language to remote nodes; on the way in--when a request in the common language is received, the interface performs translation from the common language to the local data management language. From a single request the translation might produce a series of commands in the local language (for example, suppose that the local language permits the specification of one quantifier only, such as "age<_41." Suppose that the request received in the common language specifies "list all names where age<_41 and children _>5." The translation will produce a series of commands of the form: "list all names where age <_41," "save the list temporarily," "list all names in temporary file where children>_5"). b. Move all local interfaces which were described above into one central node. This node is now the service node. It accepts a request in the common language and produces a series of commands to all nodes involved, in their local data management languages. c. The local interface accepts the name of a local file (or relevant portion of the file), and sends this file to the requester after performing a translation of the data. The data can be translated using a technique such as the "Form Machine" (described in NIC 5772). The file is translated from the local data management data structure to the requesters data structure, so that the requester can perform the desired function using his local data management system. Shoshani [Page 3] RFC 144 Data Sharing on Computer Networks 30 April 1971 4. Unified data management system (UDMS). This approach suggest the use of a standard interface which is to be part of every data management system on the Network. The interface has three ends. One to the user language, one to the particular physical system used and one to the Network. The interface should be global enough to permit separation of system decisions from user language decisions. If this interface is standardized on a Network, it will facilitate communication between local data management systems in a unified way, while permitting the development and evolvement of different local data management systems. (This is a rough description of the approach taken by Barry Wesseler in Utah.) THE COMMON LANGUAGE It is well known that the design of a language involves a compromise between the ease of use of the language and its capability to express the functions desired. A try to merge two languages usually results in the worsening of one or both of these considerations. For the purpose of having a common language for data management it may be desirable to separate between the above mentioned considerations. Use natural-language for ease of use, and a formal intermediate language powerful enough to express any functions desired. This is the approach taken in the development of CONVERSE in SDC [1]. The intermediate language can be as complex as one likes since it is invisible to the user. DISCUSSION Predictions for future use of computers (and therefore computer networks) point out that "in 1975 we will process mostly data" [2]. Therefore, the problem of sharing data on a computer Network, as well as accessing data from remote nodes in some common language are extremely important. If all that is desired is the sharing of data in a file by more than one user, then the CDMS approach is appropriate. Approach la is impractical, but lb can provide a valuable service. Selecting this approach does not permit the sharing existing data which was created with existing data management system, unless a restructuring of the data for the CDMS is performed. This approach does not easily permit the development of new data management systems since the CDMS should stay stable for the Network use. It does not involve translation of data or languages and therefore should provide good access speed. Shoshani [Page 4] RFC 144 Data Sharing on Computer Networks 30 April 1971 The SDMS approach has many drawbacks. Selecting it implies the imposition of a particular data management system on all nodes. It inhibits further development. It does not permit the sharing of existing information. The main advantage would be the modularized structure so that the failure of one node cannot cause the failure of the entire system. Also, because of the standardized approach sharing of data from different nodes does not involve any translation. The main advantage of the IDMS approach is that it permits the continued use of existing data management systems with existing data bases associated with them while permitting the sharing of data among the network community of users. Since it permits the continued use of local data management systems it is the most evolutionary approach and most likely to be accepted by a user of an existing data management system. There are applications where users on each node on the Network perform mostly local access of data, and less often find it desirable to be able to share data with other nodes. For example, if hospitals are connected to nodes of a Computer Network, then most of the data about patients is accessed locally, but sometimes it is necessary to access information from other hospitals, such as global statistical information. The same situation exists for criminal files, local branches of banks, credit bureaus, warehouses, etc. Approach 3a permits the advantages of modularization, but 3b is easier to implement since no additional interfaces are necessary in the different nodes. Approach 3c seems hard to implement and can introduce inefficiencies since it involves translation from one data structure (which might be designed for efficiency) to another data structure (which may not be as sophisticated). It also involves the shipment of large amounts of data across the network. The UDMS approach permits the continued development of local systems while facilitating a unified way for Network communication of data requests. It is not clear at this point whether this approach is practical. Other important issues concerning sharing of data on a Computer Network, and which are mentioned in [3] are overlap of information in different files and the possibility of the same information to be contradictory, security and privacy problems, sponsors of a file vs users of a file, and others. Shoshani [Page 5] RFC 144 Data Sharing on Computer Networks 30 April 1971 ACKNOWLEDGMENT Discussions with the following people were very valuable: Al Vorhus, Peggy Karp and others in MITRE, Barry Wesseler in Utah, Gerald Levitt, N. Cohen and others in RAND, Clark Weissman, and Charlie Kellogg in SDC, Richard Winter of CCA. REFERENCES 1. Kellogg, C. "A Natural Language Compiler for Online Data Management." Fall Joint Computer Conference Proceedings, Vol. 33, part I, 1968. pp. 473-492 2. Clamons, Eric H. "Introductory Remarks to Data Base Management Seminar." Proceedings of Workshop on Networks of Computers (NOC- 1969) NSA pp. 89-90 3. Hicken, George "Data Base Confrontation in an Information Network." Proceedings of Workshop on Networks of Computers (NOC- 1969). NSA pp. 99-115. [ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Ryan Kato 6/01] Shoshani [Page 6]