Annotation of 43BSD/contrib/mh/papers/mznet/mznet.tex, revision 1.1

1.1     ! root        1: % run through through LaTeX
        !             2: 
        !             3: \documentstyle[12pt]{article}
        !             4: \setcounter{page}{0}
        !             5: \pagestyle{empty}
        !             6: 
        !             7: \hyphenation{Phone-Net}
        !             8: 
        !             9: \def\tagfigure#1#2#3{%
        !            10:     \begin{figure}[t]
        !            11:        \hrule
        !            12:        \vskip.5\baselineskip
        !            13:        \begin{small}\rm
        !            14:            \input#1\relax
        !            15:            \centerline{\box\graph}
        !            16:        \end{small}
        !            17:        \vskip.5\baselineskip plus.5\baselineskip
        !            18:        \caption{#2}
        !            19:        \label{#3}
        !            20:        \vskip2pt
        !            21:        \hrule
        !            22:     \end{figure}
        !            23: }
        !            24: 
        !            25: \begin{document}
        !            26: 
        !            27: \title{MZnet:  Mail Service for Personal Micro-Computer Systems}
        !            28: \author{Einar Stefferud\\
        !            29:        \it President,\\
        !            30:        \it Network Management Associates\\
        !            31:        and\\
        !            32:        \it Visiting Lecturer,\\
        !            33:        \it in Information and Computer Science\\
        !            34:        \it University of California at Irvine\\ \quad\\
        !            35: Jerry Sweet\\
        !            36:        \it Department of Information and Computer Science\\
        !            37:        \it University of California at Irvine\\ \quad\\
        !            38: Terrance Domae\\
        !            39:        \it School of Engineering\\
        !            40:        \it University of California at Los Angeles}
        !            41: \date{}
        !            42: \maketitle
        !            43: 
        !            44: \newpage
        !            45: 
        !            46: \begin{abstract}
        !            47: Traditional computer mail systems involve a co-resident User Agent (UA)
        !            48: and Mail Transfer System (MTS) on a time-shared host computer 
        !            49: which may be connected to other hosts in a network,
        !            50: with new mail posted or delivered directly through 
        !            51: co-resident mail-slot programs.
        !            52: To introduce personal micro-computers (PCs) into this environment 
        !            53: requires modification of the traditional mail system architecture.
        !            54: To this end, the MZnet project uses a {\it split-slot} model,
        !            55: placing UA programs on the PCs while leaving MTA programs
        !            56: on a mail relay host which can provide authentication and buffering.
        !            57: The split-slot arrangement might be viewed as a new protocol level which 
        !            58: operates somewhere between the currently defined MTS-MTS and UA-UA levels. 
        !            59: \end{abstract}
        !            60: 
        !            61: \newpage\pagestyle{plain}\pagenumbering{arabic}
        !            62: 
        !            63: \section*     {Introduction}
        !            64: Mail systems were born and have grown up on large central
        !            65: time sharing systems,
        !            66: often imbedded in large networks of inter-operating computers with 
        !            67: a set of distributed processes automatically transferring mail
        !            68: between users.  
        !            69: This is certainly the case with the U.S. Department of Defense (DoD) 
        !            70: Advanced Research Projects Agency Network (ARPANET)
        !            71: \cite{ARPANET-Literature}
        !            72: where much of the original computer network mail systems 
        !            73: research and development has taken place.  
        !            74: Other mail networks such as the Computer Science Network
        !            75: \cite{CACM-83}
        !            76: sponsored by the U.S. National Science Foundation,
        !            77: have also used relatively large shared computers 
        !            78: lodged in an institutional setting,
        !            79: though they are often connected together with ordinary dial-up
        !            80: telephone links to form a large geographic network.    
        !            81: Another U.S. example is USENET
        !            82: \cite{USENET-Literature}
        !            83: which connects thousands of Unix\footnote{UNIX is
        !            84: a Trademark of Bell Laboratories, Inc.}
        !            85: systems together with informally-supported dial telephone links.
        !            86: Although there have been several attempts, there appear to be no 
        !            87: successful mail networks based on small personal computers, 
        !            88: such as those that use the CP/M\footnote{CP/M is a
        !            89: Trademark of Digital Research, Inc.}
        !            90: or MS-DOS\footnote{MS-DOS is a Trademark of Microsoft Corporation.}
        !            91: operating systems.  
        !            92: 
        !            93: \tagfigure{figure1}{The MHS Model}{mhsmodel}
        !            94: The accepted architectural model (see Figure~\ref{mhsmodel})
        !            95: for computer network mail
        !            96: (first articulated by the IFIP 6.5 Systems Environment Working Group) 
        !            97: involves a User Agent (UA) which posts new mail items through a mail slot
        !            98: \cite{Vittal81,Deutsch81,Pickens81,Kerr81}
        !            99: to a Mail Transfer Agent (MTA) which delivers posted items 
        !           100: to designated UA recipients through corresponding delivery slots.  
        !           101: When mail is to be delivered to a UA on another host, it is transferred
        !           102: first to another MTA on the recipient user's host, which in turn puts
        !           103: the mail item through its local delivery slot.  
        !           104: In this model, a Mail Transfer System (MTS) may be viewed 
        !           105: as a collection of MTAs with network connections among them 
        !           106: to provide Mail Transfer Services for a large number of users on 
        !           107: different host computers.
        !           108: 
        !           109: Replicating this UA/MTA/MTS model on a personal micro-computer (PC)
        !           110: is not an easy task.
        !           111: Aspects of PCs that make support of this model difficult include
        !           112: limited storage capacities,
        !           113: limited processing capabilities,
        !           114: and the fact that PCs are geared to support a single user
        !           115: rather than several users at once.
        !           116: A PC with limited secondary diskette storage and 
        !           117: limited processing capacity (often single-thread) is not well suited 
        !           118: to support the full range of automatic interactions between a UA and 
        !           119: an MTA, or the necessary interactions between MTAs in an MTS. 
        !           120: For example,
        !           121: we do not see any way to certify PC systems for authentication 
        !           122: of posted mail.  
        !           123: A PC can change its entire character and behavior with insertion of a new 
        !           124: program diskette, suggesting that it is the operating system 
        !           125: diskettes and their users that must be certified, rather than the computers.  
        !           126: Review of certification issues shows that it is not the computer, 
        !           127: but its operators and managers that must be certified, 
        !           128: and this involves the notions of central management and control.  
        !           129: All this is lost in the maze of PCs that we see proliferating 
        !           130: on and off our campuses, in and out of our offices and homes.  
        !           131: 
        !           132: Thus, we see a need for a new arrangement with the UA separated from 
        !           133: its MTA, and using communication protocols to interact with it in ways 
        !           134: that resemble MTA-to-MTA interactions.
        !           135: The UA is placed on the PC end, while the more complex
        !           136: tasks performed by the MTA are relegated to the remote host end.
        !           137: The remote MTA must authenticate mail items offered by the PC-based 
        !           138: UA, just as it would for a co-located UA, but the task is more difficult 
        !           139: because the PC UA is potentially anyone among the public telephone 
        !           140: connectable population.  
        !           141: This can be handled with password systems, but recognition and 
        !           142: identification are not the only services to be provided at the posting slot.  
        !           143: Posting also requires some validation of recipient addresses, 
        !           144: and validation of the syntax and semantics of certain header fields.
        !           145: Example standards are provided by the U.S. National Bureau of Standards 
        !           146: (NBS) and the U.S. DoD ARPANET for the format of mail to be transferred
        !           147: \cite{RFC-822,NBS,CCITT}.
        !           148: 
        !           149: The new arrangement described in this paper might be called a
        !           150: {\it split mail slot} in that the UA side of the slot is split away from 
        !           151: the MTA side.  
        !           152: Although the UA and MTA may be on opposite ends of a telephone connection, 
        !           153: they must still act together as a single processing unit 
        !           154: to move mail from one to the other, with all that this may entail.  
        !           155: This gives rise to a number of new MTA/UA requirements such as error 
        !           156: control for service requests, user intervention to select items for 
        !           157: delivery, and user postponement or rejection of delivery without 
        !           158: triggering failure notices to senders.  
        !           159: These are not serious problems when both MTA and UA are 
        !           160: programs running on a single host.  
        !           161: For example, with both UA and MTA on the same host, 
        !           162: unwanted junk mail is simply deleted at low cost, 
        !           163: compared to the cost of deletion after a long delivery transmission time.  
        !           164: Better that our PC users be able to discard items 
        !           165: without delivery transmission.  
        !           166: 
        !           167: \subsection*  {Overview of the MZnet Environment}
        !           168: The MZnet project is an undergraduate student effort sponsored within 
        !           169: the Information and Computer Science (ICS) Department of the 
        !           170: University of California at Irvine (UCI) in Southern California.  
        !           171: For the past 2 years, the UCI mail network, known as
        !           172: ZOTnet, has been connected into the Computer Science 
        !           173: Network (CSnet) and in 1984, has joined the DoD ARPA Internet with a 
        !           174: {\it Split-Gateway} connection \cite{Rose84}
        !           175: to the University of Southern California 
        !           176: Information Sciences Institute (USC-ISI).  
        !           177: The MZnet split-slot arrangement may have some similarities to the 
        !           178: Split-Slot Internet Gateway
        !           179: at least in name, 
        !           180: but the problems and the implementations are quite different.  
        !           181: 
        !           182: The UCI ZOTnet environment \cite{Rose83-1}
        !           183: gives the MZnet project a full-fledged
        !           184: Internet-class mail system as its foundation.  
        !           185: The MZnet project objective is to extend this class 
        !           186: of mail service to personal computers located in student and faculty 
        !           187: residences, offices and laboratories, without waiting for full-blown 
        !           188: local area networking to first provide connections.  
        !           189: This follows a pattern of making the most of existing facilities 
        !           190: to provide a reasonable level of service.
        !           191: 
        !           192: The UCI ZOTnet uses the CSnet-provided MMDF
        !           193: (Multi-channel Memo Distribution Facility) software \cite{MMDF}
        !           194: from the University of Delaware to interconnect 
        !           195: two VAX 750 Unix systems with two DEC TOPS-20 systems 
        !           196: through a port selector, with dial telephone connection to a CSnet relay
        !           197: \cite{CSNET-UCI}.
        !           198: The ZOTnet has since evolved into an ethernet-connected 
        !           199: local area network with the aforementioned
        !           200: gateway connection into the DoD Internet.
        !           201: The ZOTnet also connects to USENET with the UUCP protocols,
        !           202: and provides format transformations for mail flowing between 
        !           203: protocol domains
        !           204: \cite{Rose83-2,RFC-MMM}.
        !           205: Adding to the reach of the ZOTnet with MZnet 
        !           206: is a natural part of its evolution\footnote{For those who are
        !           207: properly curious about such things, 
        !           208: the name ``ZOTnet'' derives from the cry of the UCI mascot which 
        !           209: is the Anteater from the B.C. comic strip, and MZnet is simply 
        !           210: a contraction for Micro-ZOTnet.}.
        !           211: 
        !           212: To this point we have set the context of the MZnet project.
        !           213: The remainder of this paper is devoted to relatively technical 
        !           214: discussions of implementation of the PC user agent programs 
        !           215: and the split-slot UA/MTA interface. 
        !           216: 
        !           217: \section*     {The MZnet User Agent: CP/MH}
        !           218: CP/MH is a collection of programs designed to work in conjunction
        !           219: with the Micro ZOTnet (MZnet) as an extension of the UCI ZOTnet.
        !           220: CP/MH programs permit a user of a CP/M 2.2-based microcomputer to
        !           221: send and receive ZOTnet mail messages, as well as to manipulate
        !           222: them locally on floppy disks.  
        !           223: The CP/MH programs are written in the C programming language and 
        !           224: should be portable to similar operating environments, such as MS-DOS, etc.
        !           225: 
        !           226: CP/MH is based on the UCI version of the Rand MH message handling system
        !           227: \cite{MH}
        !           228: for the Unix operating system.  
        !           229: The major philosophical differences between CP/MH and typical user agents
        !           230: such as MSG
        !           231: \cite{Vittal81}
        !           232: and its descendants are those of modularity and of user interface.  
        !           233: In CP/MH (as in MH) the user does not invoke a single monolithic program 
        !           234: to deal with mail, but rather invokes individual, 
        !           235: non-interactive programs with common knowledge
        !           236: of the way messages are stored.  
        !           237: Each program has default behavior which can be modified by using Unix-style 
        !           238: command line options at time of invocation or through a user profile.  
        !           239: Help messages can also be evoked from CP/MH programs.
        !           240: 
        !           241: \subsection*  {Messages and Folders}
        !           242: The format of a CP/MH message adheres more or less to the syntax
        !           243: described in RFC 822
        !           244: in which a message consists of headers containing information pertaining 
        !           245: to the message source and destination, 
        !           246: and the message body, separated from the headers by a blank line.  
        !           247: An example of such a message might be:
        !           248: 
        !           249: \begin{verbatim}
        !           250:      Date: 02 Nov 83 23:04:53 PST (Wed) 
        !           251:      To: Toto <dog@Univ-Kansas>
        !           252:      From: The Great And Powerful Oz <Oz@Emerald-City>
        !           253:      Subject: What Be Your Excuse?
        !           254: 
        !           255:      What's the matter?  I ask you for a simple thing like
        !           256:      "distribute this to Witch@Oz-West," and you can't do it.
        !           257:      You undergrads will do anything to get out of work!
        !           258: 
        !           259:      --ozzie
        !           260: \end{verbatim}
        !           261: 
        !           262: Following the MH convention, each message is kept in a separate file.  
        !           263: Since a message is simply ASCII text, it can be operated upon by 
        !           264: non-CP/MH programs (such as text editors, in particular).
        !           265: 
        !           266: Collections of messages are called {\it folders}.  Under CP/MH,
        !           267: folders are represented by several files: an {\it info} file,
        !           268: containing maintenance information about the folder, and a set
        !           269: of message files with the same name as the info file, but with
        !           270: unique numeric suffixes ({\it extensions} in CP/M parlance).  
        !           271: An example of this naming scheme might be:
        !           272: 
        !           273: {\tt
        !           274: \begin{description}
        !           275: \item[{\tt DRAFT}]     {\rm the info file for the {\tt DRAFT} folder}
        !           276: \item[{\tt DRAFT.001}]  {\rm message 1 in the folder}
        !           277: \item[{\tt DRAFT.002}]  {\rm message 2 in the folder}
        !           278: \item[{\tt DRAFT.003}]  {\rm message 3 in the folder}
        !           279: \end{description}
        !           280: }
        !           281: 
        !           282: The number of messages that may be stored in a folder is limited
        !           283: primarily by the storage capacity of a floppy disk, but also by
        !           284: the three-digit limit of a CP/M extension.  
        !           285: 
        !           286: The info file contains a field named {\tt CURRENT:} specifying the
        !           287: current message number.  
        !           288: The current message number signifies the default message operated upon 
        !           289: by CP/MH commands using a particular folder.  
        !           290: The current message number may be modified by some commands.  
        !           291: An example of the contents of the info file {\tt DRAFT} might be
        !           292: 
        !           293: \begin{flushleft}
        !           294: \hspace{.5in} {\tt CURRENT: 3}
        !           295: \end{flushleft}
        !           296: 
        !           297: This indicates that the file {\tt DRAFT.003} would be operated upon
        !           298: when default conditions apply (i.e. when no message number is
        !           299: explicitly given to a CP/MH command).
        !           300: 
        !           301: Possible future uses for the info file include named message sequences
        !           302: (a set of messages to which commands may be applied as a whole) and
        !           303: user profile information for application to particular folders (there
        !           304: is presently a single user profile, described shortly).
        !           305: 
        !           306: A floppy diskette may contain more than one folder, but folders
        !           307: do not extend over more than one floppy diskette; therefore two
        !           308: different diskettes may contain folders with the same name.
        !           309: 
        !           310: \subsection*  {CP/MH Commands}
        !           311: Commands operating on messages can be divided into several general categories:
        !           312: \medskip
        !           313: \begin{description}
        !           314: \item[Transporting:]   sending, receiving
        !           315: \item[Viewing:]                selecting for display, showing header summaries
        !           316: \item[Creating:]       composing, replying, forwarding
        !           317: \item[Archiving:]      categorizing, refiling, deleting, sorting
        !           318: \end{description}
        !           319: 
        !           320: \medskip
        !           321: The architecture of CP/MH permits the simulation of some of these
        !           322: categories using standard CP/M commands when CP/MH, in its present
        !           323: primitive state, does not cover them.
        !           324: 
        !           325: A minimal functionality is presently provided by the following four commands:
        !           326: \medskip
        !           327: \begin{description}
        !           328: \item[COMP]
        !           329: composes mail items:
        !           330: creates a file containing header information taken 
        !           331: from a standard or user-specified template.  
        !           332: This newly-created file may be edited to fill in
        !           333: the header fields and body.
        !           334: \item[REPL]
        !           335: replies to mail items:
        !           336: creates a file containing header
        !           337: information appropriate for answering a given mail item.
        !           338: This newly-created file may be edited to
        !           339: change header fields and fill in the body.
        !           340: \item[SEND]
        !           341: sends mail items:
        !           342: posts selected items through the split-slot from a draft folder.
        !           343: \item[INC]
        !           344: receives mail items:
        !           345: takes delivery of selected items
        !           346: across the split-slot, incorporating
        !           347: them into a mailbox folder.
        !           348: \end{description}
        !           349: \medskip
        !           350: These commands, with a few enhancements and modifications
        !           351: appropriate to the CP/M environment, are functionally almost
        !           352: identical to their Unix MH counterparts.
        !           353: 
        !           354: CP/MH commands are invoked like any other 
        !           355: CP/M commands such as ED, PIP, or DIR.  
        !           356: Command line options are generally preceded by a dash 
        !           357: (e.g. {\tt -editor A:ED}), and may be abbreviated.  
        !           358: Folder names are preceded by a plus (e.g. {\tt +B:DRAFT}).
        !           359: Messages are identified by numbers or by the special names {\tt first},
        !           360: {\tt last}, {\tt current}, {\tt next}, and {\tt previous}.
        !           361: 
        !           362: An example of use of a CP/MH command is:  
        !           363: 
        !           364: \begin{flushleft}
        !           365: \hspace{1in} {\tt comp -edit a:ed -use last +b:draft -log}
        !           366: \end{flushleft}
        !           367: 
        !           368: This particular example will edit the last-composed message (the
        !           369: {\tt -use last} option) in the folder {\tt DRAFT} on disk drive {\tt B:}
        !           370: (the {\tt +b:draft} option), using the standard CP/M editor ED on disk
        !           371: drive {\tt A:} (the {\tt -edit a:ed} option), and prompting the user when
        !           372: it is appropriate to change disks (the {\tt -log} option).
        !           373: 
        !           374: All CP/MH commands have a {\tt -help} option which displays all
        !           375: available options for the particular command invoked.
        !           376: Another common option is {\tt -log} which permits the user to change
        !           377: ({\it relog}) diskettes after invoking a command, for purposes of
        !           378: selecting diskettes with message folders or with editor programs.
        !           379: This is particularly useful on single-drive systems or on systems
        !           380: with diskettes of low storage capacity.
        !           381: 
        !           382: \subsection*  {The Profile}
        !           383: If there are options commonly used with a particular CP/MH command, 
        !           384: they may be entered in the user profile contained in the file called 
        !           385: (naturally enough) {\tt PROFILE}, which must exist on the same diskette on 
        !           386: which CP/MH commands reside and from which the commands are invoked.  
        !           387: A profile entry consists of a program name followed by a colon and 
        !           388: the options to be used with that program, for example:
        !           389: 
        !           390: {\tt
        !           391: \begin{flushleft}
        !           392: \hspace{1in} comp: -editor A:VEDIT +B:outbox -log \\
        !           393: \hspace{1in} repl: -editor A:VEDIT -log \\
        !           394: \hspace{1in} send: +B:outbox \\
        !           395: \hspace{1in} inc: +B:inbox -log
        !           396: \end{flushleft}
        !           397: }
        !           398: 
        !           399: Individual profile components are overridden by options given at
        !           400: the time of invocation (e.g. {\tt -noedit} given on the command line
        !           401: will override the {\tt -editor} profile component for a particular command).
        !           402: 
        !           403: \section*     {The MZnet Split-Slot Mail Transfer System}
        !           404: The MZnet split-slot software implements a peer-to-peer
        !           405: communication protocol between a time-sharing host's MTA and a personal 
        !           406: micro-computer (PC) UA.
        !           407: This MZnet protocol extends the UA/MTA/UA model of
        !           408: computer-based message systems (CBMS) to provide a
        !           409: split gateway function between individual PCs and the ZOTnet
        !           410: similar to the UCI ICS split Internet gateway described previously
        !           411: (see Figure~\ref{splitslot}).
        !           412: \tagfigure{figure2}{The Split-Slot Model}{splitslot}
        !           413: 
        !           414: \subsection*  {The Structure of the Split-Slot}
        !           415: The MZnet Split Gateway consists of three distributed processing components: 
        !           416: \medskip
        !           417: \begin{itemize}
        !           418: \item A PC running a UA (in MZnet, CP/MH) acting as the mail server.
        !           419: \item A mini/mainframe host running a full MTA (MMDF in MZnet)
        !           420: providing mail relay services.
        !           421: \item A communication protocol (a modified version of MMDF PhoneNet) to
        !           422: connect the two ends of the split-slot.
        !           423: \end{itemize}
        !           424: \medskip
        !           425: Although this combination may not be unique, the method by which the MZnet 
        !           426: split-slot bonds these parts together uniquely deals with the 
        !           427: problems of remote user agents.
        !           428: In addition to overcoming limited storage and processing capacities,  
        !           429: remote user agents must deal with noisy modem lines, 
        !           430: mail software certification, and mail system security problems.  
        !           431: The MZnet architecture appears to solve these problems with
        !           432: a clean mail interface for PCs.
        !           433: 
        !           434: \subsection*  {The MZnet Mail Server}
        !           435: The split-slot mail server consists of a set of {\it command packet}
        !           436: programs run from the PC.
        !           437: These programs simply present commands
        !           438: through the PhoneNet communication protocol to the mail relay slave program
        !           439: on the host.
        !           440: Some basic commands are:
        !           441: 
        !           442: \medskip
        !           443: \begin{description}
        !           444: \item[PostMail]                posts mail drafts to MTA
        !           445: \item[GetMail]         accepts mail from MTA
        !           446: \item[RemoteScan]      displays information about waiting mail
        !           447: \item[Quit]            drops connection between PC and Host
        !           448: \end{description}
        !           449: 
        !           450: \medskip
        !           451: Each command has the form:
        !           452: 
        !           453: \begin{flushleft}
        !           454: \hspace{.5in} Command Request \\
        !           455: \hspace{.5in} Data Transmission \\
        !           456: \hspace{.5in} Command Termination
        !           457: \end{flushleft}
        !           458: 
        !           459: For example, the PostMail command is a small program that:
        !           460: \medskip
        !           461: \begin{itemize}
        !           462: \item initiates a command with the Mail Slave by sending the command
        !           463: name (PostMail) encoded within a PhoneNet packet;
        !           464: \item sends a series of PhoneNet packets that contain pieces of
        !           465: the mail item to be posted; 
        !           466: \item finally sends a command termination signal to end
        !           467: the transaction without
        !           468: terminating the connection between host and PC.
        !           469: \end{itemize}
        !           470: 
        !           471: \subsection*  {The MZnet Channel To MMDF}
        !           472: The MZnet Channel runs on the MTA host under the University of Delaware's
        !           473: MMDF (Version 1) and is responsible for both delivery of received mail
        !           474: to MZnet users, and posting of MZnet user-originated mail.
        !           475: The MMDF MZnet channel maintains a unique message queue for each
        !           476: registered MZnet user.
        !           477: As new mail items arrive,
        !           478: they are posted to the appropriate queues,
        !           479: where MZnet holds the mail items for pickup by their registered
        !           480: recipients.
        !           481: 
        !           482: To send or receive mail,
        !           483: the MZnet user must attach to the host,
        !           484: log into the public MZnet account,
        !           485: and identify (authenticate) himself.
        !           486: During the MZnet session with the host,
        !           487: the user has access only to that restricted set of functions
        !           488: provided by the MZnet split gateway protocol:
        !           489: he may request delivery of queued mail with GetMail,
        !           490: or post new mail with PostMail.
        !           491: Prior to taking delivery of queued mail,
        !           492: a survey of waiting mail also may be requested with RemoteScan to obtain
        !           493: message size information (among other data)
        !           494: to allow intelligent disposition 
        !           495: of mail in the queue.
        !           496: 
        !           497: Hidden within these activities are issues of security and certification.
        !           498: To certify and establish the identity of the user,
        !           499: a second password is requested after logging into the 
        !           500: public MZnet account.
        !           501: This certification procedure allows MZnet to certify the source
        !           502: of originated mail.
        !           503: A relatively secure environment is provided by MZnet,
        !           504: as it is the only interface to the host permitted to MZnet users
        !           505: (once beyond the public login procedure),
        !           506: and it offers only the severely restricted set of
        !           507: PhoneNet-encoded commands.
        !           508: Aside from security issues,
        !           509: using a single account to handle all MZnet users
        !           510: reduces demands on system resources.
        !           511: 
        !           512: \subsection*  {The MZnet-PhoneNet Protocol}
        !           513: A unique facet of the MZnet system derives from the PhoneNet File 
        !           514: Transfer Protocol (FTP).
        !           515: PhoneNet FTP is a simple error-checked packet protocol which transfers
        !           516: ASCII plaintext.
        !           517: PhoneNet encodes any non-plaintext character (or any other character
        !           518: ``forbidden'' by the idiosyncrasies of the communicating systems) by
        !           519: mapping it onto an ``accepted'' character set.
        !           520: The accepted character set mapping is determined by
        !           521: a ``negotiating'' session between the two systems at the start of
        !           522: the PhoneNet session.
        !           523: 
        !           524: MZnet transfers all information (both commands and data) in PhoneNet
        !           525: packets to obtain error control.
        !           526: The MZnet-PhoneNet command FTP tolerates noise with a high degree
        !           527: of success, and in effect, connects both ends of the Split Slot
        !           528: together with a reliable set of virtual wires.
        !           529: 
        !           530: \subsection*  {MZnet Session Example}
        !           531: Here, a typical MZnet session is presented, with the UA commands
        !           532: issued from the PC side of the connection printed
        !           533: in a {\tt typewriter} typeface, and the responses
        !           534: from the host side printed
        !           535: in an {\it italic} typeface.
        !           536: PhoneNet interactions are indented.
        !           537: The initial connection to the host is accomplished with the
        !           538: {\tt term} program, which provides a simple terminal emulation
        !           539: function.
        !           540: The prompt of the PC for a UA command is ``A$\rangle$''.
        !           541: Note that passwords are never echoed by the host system.
        !           542: 
        !           543: \begin{tabbing}
        !           544: xxxxxxxx \= xxxxxxx \= \kill
        !           545: \> A$\rangle$ {\tt term} \\
        !           546: \> {\it login:} {\tt mznet} \\
        !           547: \> {\it password:} \\
        !           548: \> {\it MZ-Password:} \\
        !           549: \> \> PhoneNet packet negotiation \\
        !           550: \> {\it Connected.} \\
        !           551: \> \> exit terminal mode \\
        !           552: \> A$\rangle$ {\tt send cur} \\
        !           553: \> \> PostMail command \\
        !           554: \> \> message text packet transmission \\
        !           555: \> \> command terminator \\
        !           556: \> A$\rangle$ {\tt quit} \\
        !           557: \> \> Quit command \\
        !           558: \> {\it Disconnecting.}
        !           559: \end{tabbing}
        !           560: 
        !           561: \section*     {Conclusions}
        !           562: The main conclusions of this paper are that 
        !           563: small personal computer systems 
        !           564: with dial-up phone connections constrain User Agent systems design
        !           565: in ways that require use of a {\it split-slot} interface between
        !           566: the UA and its supporting Mail Transfer Agent (MTA), and that
        !           567: this interface will best provide the required services if it
        !           568: has error controlled command and data transfer facilities, with 
        !           569: interactive behavior.
        !           570: 
        !           571: It is also believed that a good design for the small PC UA
        !           572: is based on a very modular architecture, such as the Rand MH
        !           573: system, which has been used as a pattern for the MZnet UA.
        !           574: 
        !           575: By bringing these concepts together,
        !           576: we expect MZnet to provide reliable UA/MTA
        !           577: service to a distributed set of small personal computers, to match
        !           578: the quality of service that is normally only available from larger
        !           579: mainframe host systems with co-resident UA/MTA pairs.
        !           580: 
        !           581: \bibliography{mznet}
        !           582: 
        !           583: \end{document}

unix.superglobalmegacorp.com

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