Annotation of 43BSDReno/share/doc/smm/21.uucpnet/network.ms, revision 1.1

1.1     ! root        1: .\"    @(#)network.ms  5.3 (Berkeley) 5/25/86
        !             2: .\"
        !             3: .EH 'SMM:21-%''A Dial-Up Network of \s-2UNIX\s+2 Systems'
        !             4: .OH 'Dial-Up Network of \s-2UNIX\s+2 Systems''SMM:21-%'
        !             5: .if n .ls 2
        !             6: .ds RH Nowitz
        !             7: .ND "August 18, 1978"
        !             8: .TL
        !             9: A Dial-Up Network of
        !            10: UNIX\s6\uTM\d\s0
        !            11: Systems
        !            12: .AU
        !            13: D. A. Nowitz
        !            14: .AU
        !            15: M. E. Lesk
        !            16: .AI
        !            17: .MH
        !            18: .AB
        !            19: .if n .ls 2
        !            20: A network of over eighty
        !            21: .UX
        !            22: computer systems has been established using the
        !            23: telephone system as its primary communication medium.
        !            24: The network was designed to meet the growing demands for
        !            25: software distribution and exchange.
        !            26: Some advantages of our design are:
        !            27: .IP -
        !            28: The startup cost is low.
        !            29: A system needs only a dial-up port,
        !            30: but systems with automatic calling units have much more
        !            31: flexibility.
        !            32: .IP -
        !            33: No operating system changes are required to install or use the system.
        !            34: .IP -
        !            35: The communication is basically over dial-up lines,
        !            36: however, hardwired communication lines can be used
        !            37: to increase speed.
        !            38: .IP -
        !            39: The command for sending/receiving files is simple to use.
        !            40: .sp
        !            41: Keywords: networks, communications, software distribution, software maintenance
        !            42: .AE
        !            43: .NH 
        !            44: Purpose
        !            45: .PP
        !            46: The widespread use of the
        !            47: .UX
        !            48: system
        !            49: .[
        !            50: ritchie thompson bstj 1978
        !            51: .]
        !            52: within Bell Laboratories
        !            53: has produced problems of software distribution and maintenance.
        !            54: A conventional mechanism was set up to distribute the operating
        !            55: system and associated programs from a central site to the
        !            56: various users.
        !            57: However this mechanism alone does not meet all software
        !            58: distribution needs.
        !            59: Remote sites generate much software and must transmit it to
        !            60: other sites.
        !            61: Some
        !            62: .UX
        !            63: systems
        !            64: are themselves central sites for redistribution
        !            65: of a particular specialized utility,
        !            66: such as the Switching Control Center System.
        !            67: Other sites have particular, often long-distance needs for
        !            68: software exchange; switching research,
        !            69: for example, is carried on in
        !            70: New Jersey, Illinois, Ohio, and Colorado.
        !            71: In addition, general purpose utility programs are written at
        !            72: all
        !            73: .UX
        !            74: system sites.
        !            75: The
        !            76: .UX
        !            77: system is modified
        !            78: and enhanced by many people in many places and
        !            79: it would be very constricting to deliver new software in a one-way
        !            80: stream without any alternative
        !            81: for the user sites to respond with changes of their own.
        !            82: .PP
        !            83: Straightforward software distribution is only part of the problem.
        !            84: A large project may exceed the capacity of a single computer and
        !            85: several machines may be used by the one group of people.
        !            86: It then becomes necessary
        !            87: for them to pass messages, data and other information back an forth
        !            88: between computers.
        !            89: .PP
        !            90: Several groups with similar problems, both inside and outside of
        !            91: Bell Laboratories, have constructed networks built of
        !            92: hardwired connections only.
        !            93: .[
        !            94: dolotta mashey 1978 bstj
        !            95: .]
        !            96: .[
        !            97: network unix system chesson
        !            98: .]
        !            99: Our network, however, uses both dial-up and hardwired
        !           100: connections so that service can be provided to as many sites as possible.
        !           101: .NH
        !           102: Design Goals
        !           103: .PP
        !           104: Although some of our machines are connected directly, others
        !           105: can only communicate over low-speed dial-up lines.
        !           106: Since the dial-up lines are often unavailable
        !           107: and file transfers may take considerable time,
        !           108: we spool all work and transmit in the background.
        !           109: We also had to adapt to a community of systems which are independently
        !           110: operated and resistant to suggestions that they should all
        !           111: buy particular hardware or install particular operating system
        !           112: modifications.
        !           113: Therefore, we make minimal demands on the local sites
        !           114: in the network.
        !           115: Our implementation requires no operating system changes;
        !           116: in fact, the transfer programs look like any other user
        !           117: entering the system through the normal dial-up login ports,
        !           118: and obeying all local protection rules.
        !           119: .PP
        !           120: We distinguish ``active'' and ``passive'' systems
        !           121: on the network.
        !           122: Active systems have an automatic calling unit
        !           123: or a hardwired line to another system,
        !           124: and can initiate a connection.
        !           125: Passive systems do not have the hardware
        !           126: to initiate a connection.
        !           127: However, an
        !           128: active system can be assigned the job of calling passive
        !           129: systems and executing work found there;
        !           130: this makes a passive system the functional equivalent of
        !           131: an active system, except for an additional delay while it waits to be polled.
        !           132: Also, people frequently log into active systems and
        !           133: request copying from one passive system to another.
        !           134: This requires two telephone calls, but even so, it is faster
        !           135: than mailing tapes.
        !           136: .PP
        !           137: Where convenient, we use hardwired communication lines.
        !           138: These permit much faster transmission and multiplexing
        !           139: of
        !           140: the communications link.
        !           141: Dial-up connections are made at either 300 or 1200 baud;
        !           142: hardwired connections are asynchronous up to 9600 baud 
        !           143: and might run even faster on special-purpose communications
        !           144: hardware.
        !           145: .[
        !           146: fraser spider 1974 ieee
        !           147: .]
        !           148: .[
        !           149: fraser channel network datamation 1975
        !           150: .]
        !           151: Thus, systems typically join our network first as
        !           152: passive systems and when
        !           153: they find the service more important, they acquire
        !           154: automatic calling units and become active
        !           155: systems; eventually, they may install high-speed
        !           156: links to particular machines with which they
        !           157: handle a great deal of traffic.
        !           158: At no point, however, must users change their
        !           159: programs or procedures.
        !           160: .PP
        !           161: The basic operation of the network is very simple.
        !           162: Each participating system has a spool directory,
        !           163: in which work to be done (files to be moved, or commands to be executed
        !           164: remotely) is stored.
        !           165: A standard program,
        !           166: .I uucico ,
        !           167: performs all transfers.
        !           168: This program starts by identifying a particular communication channel
        !           169: to a remote system with which it will hold a conversation.
        !           170: .I Uucico
        !           171: then selects a device and establishes the connection,
        !           172: logs onto the remote machine
        !           173: and starts the
        !           174: .I uucico
        !           175: program on the remote machine.
        !           176: Once two of these programs are connected, they first agree on a line protocol,
        !           177: and then start exchanging work.
        !           178: Each program in turn, beginning with the calling (active system) program,
        !           179: transmits everything it needs, and then asks the other what it wants done.
        !           180: Eventually neither has any more work, and both exit.
        !           181: .PP
        !           182: In this way, all services are available from all sites; passive sites,
        !           183: however, must wait until called.
        !           184: A variety of protocols may be used; this conforms to the real,
        !           185: non-standard world.
        !           186: As long as the caller and called programs have a protocol in common,
        !           187: they can communicate.
        !           188: Furthermore, each caller knows the hours when each destination system
        !           189: should be called.
        !           190: If a destination is unavailable, the data intended for it
        !           191: remain in the spool directory until the destination machine can be reached.
        !           192: .PP
        !           193: The implementation of this
        !           194: Bell Laboratories network
        !           195: between independent sites, all of which
        !           196: store proprietary programs and data,
        !           197: illustratives the pervasive need for security
        !           198: and administrative controls over file access.
        !           199: Each site, in configuring its programs and system files,
        !           200: limits and monitors transmission.
        !           201: In order to access a file a user needs access permission
        !           202: for the machine that contains the file and access permission
        !           203: for the file itself.
        !           204: This is achieved by first requiring the user to use his password
        !           205: to log into his local machine and then his local
        !           206: machine logs into the remote machine whose files are to be accessed.
        !           207: In addition, records are kept identifying all files
        !           208: that are moved into and out of the local system,
        !           209: and how the requestor of such accesses identified
        !           210: himself.
        !           211: Some sites may arrange
        !           212: to permit users only
        !           213: to call up
        !           214: and request work to be done;
        !           215: the calling users are then called back
        !           216: before the work is actually done.
        !           217: It is then possible to verify
        !           218: that the request is legitimate from the standpoint of the
        !           219: target system, as well as the originating system.
        !           220: Furthermore, because of the call-back,
        !           221: no site can masquerade as another
        !           222: even if it knows all the necessary passwords.
        !           223: .PP
        !           224: Each machine can optionally maintain a sequence count for
        !           225: conversations with other machines and require a verification of the
        !           226: count at the start of each conversation.
        !           227: Thus, even if call back is not in use, a successful masquerade requires
        !           228: the calling party to present the correct sequence number.
        !           229: A would-be impersonator must not just steal the correct phone number,
        !           230: user name, and password, but also the sequence count, and must call in
        !           231: sufficiently promptly to precede the next legitimate request from either side.
        !           232: Even a successful masquerade will be detected on the next correct
        !           233: conversation.
        !           234: .NH
        !           235: Processing
        !           236: .PP
        !           237: The user has two commands which set up communications,
        !           238: .I uucp
        !           239: to set up file copying,
        !           240: and
        !           241: .I uux
        !           242: to set up command execution where some of the required
        !           243: resources (system and/or files)
        !           244: are not on the local machine.
        !           245: Each of these commands will put work and data files
        !           246: into the spool directory for execution by
        !           247: .I uucp
        !           248: daemons.
        !           249: Figure 1 shows the major blocks of the file transfer process.
        !           250: .SH
        !           251: File Copy
        !           252: .PP
        !           253: The
        !           254: .I uucico
        !           255: program is used to perform all communications between
        !           256: the two systems.
        !           257: It performs the following functions:
        !           258: .RS
        !           259: .IP - 3
        !           260: Scan the spool directory for work.
        !           261: .IP -
        !           262: Place a call to a remote system.
        !           263: .IP -\ \ 
        !           264: Negotiate a line protocol to be used.
        !           265: .IP -\ \ 
        !           266: Start program
        !           267: .I uucico
        !           268: on the remote system.
        !           269: .IP -\ \ 
        !           270: Execute all requests from both systems.
        !           271: .IP -\ \ 
        !           272: Log work requests and work completions.
        !           273: .RE
        !           274: .LP
        !           275: .I Uucico
        !           276: may be started in several ways;
        !           277: .RS
        !           278: .IP a) 5
        !           279: by a system daemon,
        !           280: .IP b)
        !           281: by one of the
        !           282: .I uucp
        !           283: or
        !           284: .I uux
        !           285: programs,
        !           286: .IP c)
        !           287: by a remote system.
        !           288: .RE
        !           289: .SH
        !           290: Scan For Work
        !           291: .PP
        !           292: The file names in the spool directory are constructed to allow the
        !           293: daemon programs
        !           294: .I "(uucico, uuxqt)"
        !           295: to determine the files they should look at,
        !           296: the remote machines they should call
        !           297: and the order in which the files for a particular
        !           298: remote machine should be processed.
        !           299: .SH
        !           300: Call Remote System
        !           301: .PP
        !           302: The call is made using information from several
        !           303: files which reside in the uucp program directory.
        !           304: At the start of the call process, a lock is
        !           305: set on the system being called so that another
        !           306: call will not be attempted at the same time.
        !           307: .PP
        !           308: The system name is found in a
        !           309: ``systems''
        !           310: file.
        !           311: The information contained for each system is:
        !           312: .IP
        !           313: .RS
        !           314: .IP [1]
        !           315: system name,
        !           316: .IP [2]
        !           317: times to call the system
        !           318: (days-of-week and times-of-day),
        !           319: .IP [3]
        !           320: device or device type to be used for call,
        !           321: .IP [4]
        !           322: line speed,
        !           323: .IP [5]
        !           324: phone number,
        !           325: .IP [6]
        !           326: login information (multiple fields).
        !           327: .RE
        !           328: .PP
        !           329: The time field is checked against the present time to see
        !           330: if the call should be made.
        !           331: The
        !           332: .I
        !           333: phone number
        !           334: .R
        !           335: may contain abbreviations (e.g. ``nyc'', ``boston'') which get translated into dial
        !           336: sequences using a
        !           337: ``dial-codes'' file.
        !           338: This permits the same ``phone number'' to be stored at every site, despite
        !           339: local variations in telephone services and dialing conventions.
        !           340: .PP
        !           341: A ``devices''
        !           342: file is scanned using fields [3] and [4] from the
        !           343: ``systems''
        !           344: file to find an available device for the connection.
        !           345: The program will try all devices which satisfy
        !           346: [3] and [4] until a connection is made, or no more
        !           347: devices can be tried.
        !           348: If a non-multiplexable device is successfully opened, a lock file
        !           349: is created so that another copy of
        !           350: .I uucico
        !           351: will not try to use it.
        !           352: If the connection is complete, the
        !           353: .I
        !           354: login information
        !           355: .R
        !           356: is used to log into the remote system.
        !           357: Then
        !           358: a command is sent to the remote system
        !           359: to start the
        !           360: .I uucico
        !           361: program.
        !           362: The conversation between the two
        !           363: .I uucico
        !           364: programs begins with a handshake started by the called,
        !           365: .I SLAVE ,
        !           366: system.
        !           367: The
        !           368: .I SLAVE
        !           369: sends a message to let the
        !           370: .I MASTER
        !           371: know it is ready to receive the system
        !           372: identification and conversation sequence number.
        !           373: The response from the
        !           374: .I MASTER
        !           375: is
        !           376: verified by the
        !           377: .I SLAVE
        !           378: and if acceptable, protocol selection begins.
        !           379: .SH
        !           380: Line Protocol Selection
        !           381: .PP
        !           382: The remote system sends a message
        !           383: .IP "" 12
        !           384: P\fIproto-list\fR
        !           385: .LP
        !           386: where
        !           387: .I proto-list
        !           388: is a string of characters, each
        !           389: representing a line protocol.
        !           390: The calling program checks the proto-list
        !           391: for a letter corresponding to an available line
        !           392: protocol and returns a
        !           393: .I use-protocol
        !           394: message.
        !           395: The
        !           396: .I use-protocol
        !           397: message is
        !           398: .IP "" 12
        !           399: U\fIcode\fR
        !           400: .LP
        !           401: where code is either a one character
        !           402: protocol letter or a
        !           403: .I N
        !           404: which means there is no common protocol.
        !           405: .PP
        !           406: Greg Chesson designed and implemented the standard
        !           407: line protocol used by the uucp transmission program.
        !           408: Other protocols may be added by individual installations.
        !           409: .SH
        !           410: Work Processing
        !           411: .PP
        !           412: During processing, one program is the
        !           413: .I MASTER
        !           414: and the other is
        !           415: .I SLAVE .
        !           416: Initially, the calling program is the
        !           417: .I MASTER.
        !           418: These roles may switch one or more times during
        !           419: the conversation.
        !           420: .PP
        !           421: There are four messages used during the
        !           422: work processing, each specified by the first
        !           423: character of the message.
        !           424: They are
        !           425: .KS
        !           426: .TS
        !           427: center;
        !           428: c l.
        !           429: S      send a file,
        !           430: R      receive a file,
        !           431: C      copy complete,
        !           432: H      hangup.
        !           433: .TE
        !           434: .KE
        !           435: .LP
        !           436: The
        !           437: .I MASTER
        !           438: will send
        !           439: .I R
        !           440: or
        !           441: .I S
        !           442: messages until all work from the spool directory is
        !           443: complete, at which point an
        !           444: .I H
        !           445: message will be sent.
        !           446: The
        !           447: .I SLAVE
        !           448: will reply with
        !           449: \fISY\fR, \fISN\fR, \fIRY\fR, \fIRN\fR, \fIHY\fR, \fIHN\fR,
        !           450: corresponding to
        !           451: .I yes
        !           452: or
        !           453: .I no
        !           454: for each request.
        !           455: .PP
        !           456: The send and receive replies are
        !           457: based on permission to access the
        !           458: requested file/directory.
        !           459: After each file is copied into the spool directory
        !           460: of the receiving system,
        !           461: a copy-complete message is sent by the receiver of the file.
        !           462: The message
        !           463: .I CY
        !           464: will be sent if the
        !           465: .UX
        !           466: .I cp
        !           467: command, used to copy from the spool directory, is successful.
        !           468: Otherwise, a
        !           469: .I CN
        !           470: message is sent.
        !           471: The requests and results are logged on both systems,
        !           472: and, if requested, mail is sent to the user reporting completion
        !           473: (or the user can request status information from the log program at any time).
        !           474: .PP
        !           475: The hangup response is determined by the
        !           476: .I SLAVE
        !           477: program by a work scan of the spool directory.
        !           478: If work for the remote system exists in the
        !           479: .I SLAVE's
        !           480: spool directory, a
        !           481: .I HN
        !           482: message is sent and the programs switch roles.
        !           483: If no work exists, an
        !           484: .I HY
        !           485: response is sent.
        !           486: .PP
        !           487: A sample conversation is shown in Figure 2.
        !           488: .SH
        !           489: Conversation Termination
        !           490: .PP
        !           491: When a
        !           492: .I HY
        !           493: message is received by the
        !           494: .I MASTER
        !           495: it is echoed back to the
        !           496: .I SLAVE
        !           497: and the protocols are turned off.
        !           498: Each program sends a final "OO" message to the
        !           499: other.
        !           500: .NH
        !           501: Present Uses
        !           502: .PP
        !           503: One application of this software is remote mail.
        !           504: Normally, a
        !           505: .UX
        !           506: system user
        !           507: writes ``mail dan'' to send mail to
        !           508: user ``dan''.
        !           509: By writing ``mail usg!dan''
        !           510: the mail is sent to user 
        !           511: ``dan''
        !           512: on system ``usg''.
        !           513: .PP
        !           514: The primary uses of our network to date have been in software maintenance.
        !           515: Relatively few of the bytes passed between systems are intended for
        !           516: people to read.
        !           517: Instead, new programs (or new versions of programs)
        !           518: are sent to users, and potential bugs are returned to authors.
        !           519: Aaron Cohen has implemented a
        !           520: ``stockroom'' which allows remote users to call in and request software.
        !           521: He keeps a ``stock list'' of available programs, and new bug
        !           522: fixes and utilities are added regularly.
        !           523: In this way, users can always obtain the latest version of anything
        !           524: without bothering the authors of the programs.
        !           525: Although the stock list is maintained on a particular system,
        !           526: the items in the stockroom may be warehoused in many places;
        !           527: typically each program is distributed from the home site of
        !           528: its author.
        !           529: Where necessary, uucp does remote-to-remote copies.
        !           530: .PP
        !           531: We also routinely retrieve test cases from other systems
        !           532: to determine whether errors on remote systems are caused
        !           533: by local misconfigurations or old versions of software,
        !           534: or whether they are bugs that must be fixed at the home site.
        !           535: This helps identify errors rapidly.
        !           536: For one set of test programs maintained by us,
        !           537: over 70% of the bugs reported from remote sites
        !           538: were due to old software, and were fixed
        !           539: merely by distributing the current version.
        !           540: .PP
        !           541: Another application of the network for software maintenance
        !           542: is to compare files on two different machines.
        !           543: A very useful utility on one machine has been
        !           544: Doug McIlroy's ``diff'' program
        !           545: which compares two text files and indicates the differences,
        !           546: line by line, between them.
        !           547: .[
        !           548: hunt mcilroy file
        !           549: .]
        !           550: Only lines which are
        !           551: not identical are printed.
        !           552: Similarly,
        !           553: the program ``uudiff''
        !           554: compares files (or directories) on two machines.
        !           555: One of these directories may be on a passive system.
        !           556: The
        !           557: ``uudiff'' program
        !           558: is set up to work similarly to the inter-system mail, but it is slightly
        !           559: more complicated.
        !           560: .PP
        !           561: To avoid moving large numbers of usually identical
        !           562: files,  
        !           563: .I uudiff
        !           564: computes file checksums
        !           565: on each side, and only moves files that are different
        !           566: for detailed comparison.
        !           567: For large files, this process can be iterated; checksums can be computed
        !           568: for each line, and only those lines that are different
        !           569: actually moved.
        !           570: .PP
        !           571: The ``uux'' command has
        !           572: been useful for providing remote output.
        !           573: There are some machines which do not have hard-copy
        !           574: devices, but which are connected over 9600 baud
        !           575: communication lines to machines with printers.
        !           576: The
        !           577: .I uux
        !           578: command allows the formatting of the
        !           579: printout on the local machine and printing on the
        !           580: remote machine using standard
        !           581: .UX
        !           582: command programs.
        !           583: .br
        !           584: .NH
        !           585: Performance
        !           586: .PP
        !           587: Throughput, of course, is primarily dependent on transmission speed.
        !           588: The table below shows the real throughput of characters
        !           589: on communication links of different speeds.
        !           590: These numbers represent actual data transferred;
        !           591: they do not include bytes used by the line protocol for
        !           592: data validation such as checksums and messages.
        !           593: At the higher speeds, contention for the processors on both
        !           594: ends prevents the network from driving the line full speed.
        !           595: The range of speeds represents the difference between light and
        !           596: heavy loads on the two systems.
        !           597: If desired, operating system modifications can
        !           598: be installed
        !           599: that permit full use of even very fast links.
        !           600: .KS
        !           601: .TS
        !           602: center;
        !           603: c c
        !           604: n n.
        !           605: Nominal speed  Characters/sec.
        !           606: 300 baud       27
        !           607: 1200 baud      100-110
        !           608: 9600 baud      200-850
        !           609: .TE
        !           610: .KE
        !           611: In addition to the transfer time, there is some overhead
        !           612: for making the connection and logging in ranging from
        !           613: 15 seconds to 1 minute.
        !           614: Even at 300 baud, however, a typical 5,000 byte source program
        !           615: can be transferred in
        !           616: four minutes instead of the 2 days that might be required
        !           617: to mail a tape.
        !           618: .PP
        !           619: Traffic between systems is variable.  Between two
        !           620: closely related systems,
        !           621: we observed
        !           622: 20 files moved and 5 remote commands executed in a typical day.
        !           623: A more normal traffic out of a single system would be around
        !           624: a dozen files per day.
        !           625: .PP
        !           626: The total number of sites at present
        !           627: in the main network is
        !           628: 82, which includes most of the Bell Laboratories
        !           629: full-size machines
        !           630: which run the
        !           631: .UX
        !           632: operating system.
        !           633: Geographically, the machines range from Andover, Massachusetts to
        !           634: Denver, Colorado.
        !           635: .PP
        !           636: Uucp has also
        !           637: been used to set up another network
        !           638: which connects a group of
        !           639: systems in operational sites with the home site.
        !           640: The two networks touch at one
        !           641: Bell Labs computer.
        !           642: .NH
        !           643: Further Goals
        !           644: .PP
        !           645: Eventually, we would like to develop a full system of remote software
        !           646: maintenance.
        !           647: Conventional maintenance (a support group which mails tapes)
        !           648: has many well-known disadvantages.
        !           649: .[
        !           650: brooks mythical man month 1975
        !           651: .]
        !           652: There are distribution errors and delays, resulting in old software
        !           653: running at remote sites and old bugs continually reappearing.
        !           654: These difficulties are aggravated when
        !           655: there are 100 different small systems, instead of a few large ones.
        !           656: .PP
        !           657: The availability of file transfer on a network of compatible operating
        !           658: systems
        !           659: makes it possible just to send programs directly to the end user who wants them.
        !           660: This avoids the bottleneck of negotiation and packaging in the central support
        !           661: group.
        !           662: The ``stockroom'' serves this function for new utilities
        !           663: and fixes to old utilities.
        !           664: However, it is still likely that distributions will not be sent
        !           665: and installed as often as needed.
        !           666: Users are justifiably suspicious of the ``latest version'' that has just
        !           667: arrived; all too often it features the ``latest bug.''
        !           668: What is needed is to address both problems simultaneously:
        !           669: .IP 1.
        !           670: Send distributions whenever programs change.
        !           671: .IP 2.
        !           672: Have sufficient quality control so that users will install them.
        !           673: .LP
        !           674: To do this, we recommend systematic regression testing both on the
        !           675: distributing and receiving systems.
        !           676: Acceptance testing on the receiving systems can be automated and
        !           677: permits the local system to ensure that its essential work can continue
        !           678: despite the constant installation of changes sent from elsewhere.
        !           679: The work of writing the test sequences should be recovered in lower
        !           680: counseling and distribution costs.
        !           681: .PP
        !           682: Some slow-speed network services are also being implemented.
        !           683: We now have inter-system ``mail'' and ``diff,''
        !           684: plus the many implied commands represented by ``uux.''
        !           685: However, we still need inter-system ``write'' (real-time inter-user
        !           686: communication) and ``who'' (list of people logged in
        !           687: on different systems).
        !           688: A slow-speed network of this sort may be very useful
        !           689: for speeding up counseling and education, even
        !           690: if not fast enough for the distributed data base
        !           691: applications that attract many users to networks.
        !           692: Effective use of remote execution over slow-speed lines, however,
        !           693: must await the general installation of multiplexable channels so
        !           694: that long file transfers do not lock out short inquiries.
        !           695: .NH
        !           696: Lessons
        !           697: .PP
        !           698: The following is a summary of the lessons we learned in
        !           699: building these programs.
        !           700: .IP 1.
        !           701: By starting your network in a way that requires no hardware or major operating system
        !           702: changes, you can get going quickly.
        !           703: .IP 2.
        !           704: Support will follow use.
        !           705: Since the network existed and was being used, system maintainers
        !           706: were easily persuaded to help keep it operating, including purchasing
        !           707: additional hardware to speed traffic.
        !           708: .IP 3.
        !           709: Make the network commands look like local commands.
        !           710: Our users have a resistance to learning anything new:
        !           711: all the inter-system commands look very similar to
        !           712: standard
        !           713: .UX
        !           714: system
        !           715: commands so that little training cost
        !           716: is involved.
        !           717: .IP 4.
        !           718: An initial error was not coordinating enough
        !           719: with existing communications projects: thus, the first
        !           720: version of this network was restricted to dial-up, since
        !           721: it did not support the various hardware links between systems.
        !           722: This has been fixed in the current system.
        !           723: .SH
        !           724: Acknowledgements
        !           725: .PP
        !           726: We thank G. L. Chesson for his design and implementation
        !           727: of the packet driver and protocol, and A. S. Cohen, J. Lions,
        !           728: and P. F. Long for their suggestions and assistance.
        !           729: .[
        !           730: $LIST$
        !           731: .]

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.