|
|
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}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.