RFC 144
Data sharing on computer networks
Data Sharing on Computer Networks π
okay bestie, this is RFC 144 π, and it's giving 1971 vibes β¨. It's titled Data Sharing on Computer Networks and was written by A. Shoshani from SDC π . It went out on 30 April 1971 under the Network Working Group, and it's also tagged NIC 6729 π§. The header doesn't list a category, and it doesn't say it obsoletes or updates anything, so it's just its own main character π.
So this intro paper is heading to the meeting in Atlantic City π, which is part of the ARPA Network meetings. Steve Crocker is going to publish the meeting schedule soon π .
The agenda is giving:
- 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're into this topic, plan to attend π«Ά.
INTRODUCTION πΈ
One of the benefits everyone expects from Computer Networks is sharing data among users of the system π. This paper is trying to sort out the issues involved, talk through some approaches that could get us to the goal of easier data sharing, and point out some pros and cons of each one π.
CONSIDERATIONS π
When you're picking an approach, you have to think about these issues π:
- Does the approach let everyone use one language to access all the data on the network? π¬
- Does the approach make it easier to share existing data that was created and manipulated by existing data management systems? π
- Does the approach get users to actually share data and use the facility provided? And how evolutionary is the approach? π¦
- Could a failure of one node in the network take down the whole data sharing facility? π
- Does the approach promote or get in the way of further development of data management systems? π οΈ
- What are the implementation considerations? π§©
- What are the speed considerations? β‘
POSSIBLE APPROACHES π¦
1. Centralized data management system (CDMS). This one fits the vibe of a Computer Network turning into a squad of specialized service nodes π§, where each node is a pro at one specific function. Users just grab whatever service they need from whichever node. For example, one node could be a PL/I machine (maybe a microprogrammed machine built to do PL/I compilation efficiently), and another could be a "number cruncher" for parallel-structured problems (ILLIAC IV), etc. Same idea here: there will be one node in charge of all the data management needs for the network π .
Depending on what you assume, you can go one of two ways π:
- a. Say you assume we have to be able to share all data. Then the same data management system has to be able to create and handle this data, so it has to do every function a data management system does, no matter the use case. Everyone pretty much agrees that's a monumental, impractical (if not impossible) task π. Different data management systems are built to be great at specific things while getting worse at others, like fast retrieval of large files vs. limited updating capabilities.
- b. Here we assume users will only share data from the same file on one particular data management system π. You can build different data management services for different tasks, then stick them all on the same node so Network users get one data management service. This one can still use one common language to get at these services. This is apparently what CCA did, as indicated in NIC memo 5791.
2. Standardized data management system (SDMS). Here, one particular data management system gets installed on every node π§. That gives you a standardized data management language plus identical logical data structures. Or you can pick a set of data management systems to put on all nodes, so you can share info that was handled by the same data management system across different nodes. Heads up: this approach has a bunch of drawbacks, which we'll get into later π.
3. Integrated data management system (IDMS). This approach is about integrating local (to the node) data management systems and local data (files) through appropriate interfaces and a common data management language. Under this category there may be different approaches, depending on what the interfaces do:
- a. Every node gets an interface module for each local data management system. This interface has a double job π. Going out, it sends requests written in the common language to remote nodes. Coming in, when a request in the common language shows up, it translates that into the local data management language. One request can turn into a whole series of commands in the local language. Say the local language only lets you specify one quantifier, like
age<_41. And say the request in the common language asks forlist all names where age<_41 and children _>5. The translation would then become 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. Take all those local interfaces from above and move them into one central node π . That node becomes the service node. It takes in a request in the common language and spits out a series of commands to all the nodes involved, each in their own local data management language.
- c. The local interface takes the name of a local file (or the relevant part of it) and sends that file to whoever asked for it, after translating the data first π¦. The translation can use a technique like the "Form Machine" (described in NIC 5772). The file gets translated from the local data management data structure into the requesters data structure, so the requester can do what they need with their own local data management system.
4. Unified data management system (UDMS). This one suggests using a standard interface that becomes part of every data management system on the Network π§©. The interface has three ends: one facing the user language, one facing the particular physical system being used, and one facing the Network. The interface should be global enough to let you keep system decisions separate from user language decisions. If this interface gets standardized across a Network, it'll make it easier for local data management systems to talk to each other in a unified way, while still letting different local systems grow and evolve π. (This is a rough description of the approach taken by Barry Wesseler in Utah.)
ACKNOWLEDGMENT πβ¨
Okay bestie, huge shoutout to the legends who gave their time and brainpower to this one. Their discussions were seriously 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, plus Richard Winter of CCA. The main character squad ππ«Ά
REFERENCES ππ
- Kellogg, C. "A Natural Language Compiler for Online Data Management." Fall Joint Computer Conference Proceedings, Vol. 33, part I, 1968. pp. 473-492 π§
- Clamons, Eric H. "Introductory Remarks to Data Base Management Seminar." Proceedings of Workshop on Networks of Computers (NOC-1969) NSA pp. 89-90 πΈ
- 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] π
π¦ where this page comes from
- ietf: rfc144 1971-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms