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]