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]