RFC 744 NWG/RFC 744 JS5 8-Jan-78 21:59 42857 Network Working Group Joanne Sattley Request for Comments: 744 JZS@CCA NIC: 42857 8 January 1978 MARS - A Message Archiving & Retrieval Service I. Introduction ------------ This document describes a Message Archiving and Retrieval Service (MARS) which has been developed at Computer Corporation of America; it utilizes the Datacomputer, a network database utility developed by CCA for ARPA. [Research and development of a prototype MARS system was supported by the Defense Advanced Research Projects Agency of the Department of Defense, under the ARPA Very Large Databases program, and was monitored by the Office of Naval Research under Contract No. N00014-76-C-0991.] The Service is available, primarily, to groups for storage of teleconferencing transcripts. Is is also available, upon request, to individual ARPANET correspondents. There are both 'public' and 'private' messages in the database. Public messages may be retrieved by anyone. The public collection includes the messages of the Header-People [@ MIT-MC] group, and the MsgGroup [@ USC-ISI] proceedings. Private messages may be retrieved only by the users who have archived them, or anyone whose name appears on the list of message recipients. Messages archived using MARS are heavily indexed and can be retrieved in a variety of ways, including Boolean combinations of message recipients, message composition date, any text words in the message subject, and text words in the message body. The MARS facilities are integrated very naturally into the existing collection of message-handling tools: . A message is designated for archiving by sending it to MARS-Filer @ CCA using one of the usual message-mailing tools such as SNDMSG. . A message is designated for retrieval by sending a request as ordinary mail to MARS-Retriever @ CCA. The Filer program checks for mail every hour; the Retriever program checks every quarter-hour. The periodicity can be altered to meet demand but the intent is for MARS to operate as a background job and only during extremely low-activity periods. The next section (II) describes the indexing operation in greater detail, and how to archive and retrieve messages. The last section (III) is an extractable user card. [Page 1] NWG/RFC 744 JS5 8-Jan-78 21:59 42857 MARS - A Message Archiving & Retrieval Service II. Using MARS ---------- A. Message Indexing ---------------- For each message, a vector of parsed tokens is created. The parsed tokens are collected by the message-field in which they occurred -- to be used as "indexes", i.e., values of inverted fields, by the Datacomputer. The Filer "indexes", essentially without analysis, except for the following: -- Each distinguishable section of the message is indexed separately; each header line is a separate inversion domain, as is the body of the message. -- The header lines which contain ARPANET addresses are analyzed in order to index separately on mailbox and host. -- The date-field is parsed and converted to the standard Tenex internal date/time format, which is better adapted for less-than/greater-than comparisons, as in retrievals which specify a date range. -- One-character words in both the subject-field and the message-text field arbitrarily discarded. -- Two-character words in the message-text field are arbitrarily discarded. -- Hyphenated phrases, i.e., words bound together by hyphens, are retained intact. -- All message formats which conform to RFC 733 standards are accommodated. The minimum requirements are: a date-field, a from-field, and a blank line between the message-header and message-body. [Page 2] NWG/RFC 744 JS5 8-Jan-78 21:59 42857 MARS - A Message Archiving & Retrieval Service B. To Archive Messages ------------------- There are three modes of filing currently supported by MARS, to wit: -- single-message mode, wherein the MARS-Filer mailbox appears in the message as an addressee; -- forwarded-message mode, wherein the MARS-Filer mailbox appears as the only primary recipient; and -- batch mode, wherein the mailing envelope is addressed to MARS-Filer and the subject-field contains the keyword "batch". Until the ARPANET standard for the format of messages is implemented universally, the variability amongst formats is still greater than the Filer can handle as it stands. Nonetheless, a user can successfully file any message in a "foreign" format by forwarding it to the Filer under the aegis of a mail-handling program which does produce good formats. Admittedly, the correct header-field indexing, as described above, will not be done on the enclosed message; but at least, the words in its unreadable header fields will appear as "text" words in the indexing. In the case of forwarded-message-mode filing, all interesting indexing information is extracted from the message-header of the forwarding envelope prior to discarding it. The name of the archiver, the date and time the message was forwarded, and the subject-line information are recorded. The remainder is handled as though it were a non-forwarded message which had been CC'd to the Filer. A forwarded message may be 'annotated' by adding text (e.g., notes, comments, keywords) in the forwarding envelope. Annotations are filed and retrieved as part of the archived message. In the case of batch-mode filing, only the archiver's name and the date and time s/he sent the package are extracted from the mailing envelope. The message-body portion is then treated as a series of individual messages. [Page 3] NWG/RFC 744 JS5 8-Jan-78 21:59 42857 MARS - A Message Archiving & Retrieval Service C. To Retrieve Messages -------------------- Retrievals are initiated by sending a Retrieval Request (which is a specially formatted message) to "MARS-Retriever@CCA". Retrieved messages are mailed back, one at a time, and will appear as new mail in the requester's mailbox. Retrieval Request messages can be composed using any SNDMSG-type of program, as follows: . The recipient of the RR message must be MARS-Retriever @ CCA . Other message header fields are ignored for now . The message body portion of the RR is used to compose Datalanguage for performing the retrieval. Its format resembles a message header, or selected portions thereof. The following list defines which field names are recognized, and some notes on their interpretation. The scanning of each field is terminated by a carriage-return. DATE: The format of the date field is day-month-year. Use of hyphens is optional. This field will cause only those messages composed on the specified date to be retrieved. AFTER: Use of this field will retrieve messages composed after the specified date. SINCE: This field is interpreted like the AFTER: field. BEFORE: Use of this field will retrieve messages composed before the specified date. UNTIL: This field is interpreted like the BEFORE: field. FROM: This field is expected to contain a valid mailbox name. The host specification is optional. If more than one name is specified, ORing of the names is implicit. Retrieval based upon host specification alone has not been implemented. TO: This field is expected to contain one or more valid mailbox names. The host specification is optional. Spaces and commas between the names imply AND. [Page 4] NWG/RFC 744 JS5 8-Jan-78 21:59 42857 MARS - A Message Archiving & Retrieval Service SUBJECT: Use of this field will retrieve all messages whose indexed subject-field contents match the specified word(s). Spaces and commas imply AND. The use of OR must be explicit. TEXT: Use of this field will retrieve all messages whose indexed message-body contents match the specified word(s). Spaces and commas imply AND. The use of OR must be explicit. An interactive TENEX-based program for composing RRs is available; the filename is "RR.SAV". A copy of this program is stored on the Datacomputer, available via DFTP under node COMMON>MARS. There is also a copy of the program in CCA's directory at SRI-KA; another in the CCA-ACCAT directory at ISIA. [Page 5] NWG/RFC 744 JS5 8-Jan-78 21:59 42857 MARS - A Message Archiving & Retrieval Service III. MARS User Card -------------- :: Archiving --------- Individual Messages . Include MARS-Filer@CCA on message distribution list . Forward message to MARS-Filer@CCA [Annotation is optional.] Batches of Messages . Incorporate the mail file as the message-body of a single message sent to MARS-Filer@CCA with the clue "BATCH" in its subject-field. :: Retrieving ---------- Using RR Program . RR is a TENEX-based interactive program designed to prepare Retrieval Request messages and to mail them to MARS-Retriever@CCA. Using SNDMSG-Type Program . Send a message to MARS-Retriever@CCA, specifying the retrieval criteria in the body of the message. Sample Retrieval Criteria SUBJECT:RFC 733 or RFC733 ; OR must be explicit TEXT:MARS Project,goals ; spaces & commas imply AND DATE: 14 November 1977 SINCE: 1 Nov 77 ; same as AFTER: 1 Nov 77 AFTER: 1 Dec 1977 UNTIL: 15 January 1978 ; same as BEFORE: 15 January 1978 BEFORE: Aug 7 76 FROM: JZS@CCA ; host specification is optional FROM: Hacker,JZS ; comma implies OR (in FROM: field only) TO: CCA@SRI-KA ; host specification is optional TO: SDD-0:,SDD-1: ; spaces and commas imply AND [Page 6]