\section {{\it Discuss} Meetings}

\begin{figure*}[tp]
\begin{verbatim}
[0001]*  (2) 10/29/87 12:43 raeburn         Reason for this meeting
[0002]  (33) 10/29/87 17:06 raeburn         error handling
[0003]   (2) 10/29/87 17:22 srz@LCS.MIT.EDU Re: error handling
[0005]  (16) 10/30/87 11:06 srz@LCS.MIT.EDU send_to_kdc and use of resolver
[0006]  (20) 10/30/87 11:41 jon             Re: error handling
[0007]   (5) 11/01/87 23:10 jis             Re: send_to_kdc and use of resolver
\end{verbatim}
\caption{Sample listing of transactions in a {\it Discuss} meeting\label{tlist}}
\end{figure*}

The {\it meeting model} is the central concept in {\it Discuss}, as is
the case with Multics {\it forum}.  Users ``attend'' a
set of electronic meetings, just as you might attend a regular set of 
face-to-face meetings.  For each meeting attended you listen to what other
participants have to say, and you can contribute as you wish.  However,
unlike face to face meetings, not all the participants in a {\it
Discuss} meeting need be present at the same time.  Participants need 
not be geographically close, so long as there is a
network connection between the user and the machine on which the
meeting is stored.   Removing the time and space constraints present in 
face-to-face meetings is one of the major advantages of electronic
conferencing.

A meeting is a set of {\it transactions}.  Each transaction is labeled with
the author (unless the author wishes to remain anonymous), a subject,
the time of entry, and a unique transaction number.  The contents of a
transaction are stored as uninterpreted eight bit data, though the
existing client user interfaces are only prepared to receive
ASCII text.  {\it Discuss} keeps track of which transactions a user
has seen,
and has the ability to only display transactions which are new to the
user.

Transactions about the same subject are grouped in subconversations
called {\it chains}, and tools are provided for moving through such
chains.  When a user replies to a given transaction, the subject of
the reply is created by prepending ``Re:'' to the subject of the
original transaction; but, more importantly, a pointer is associated
with the new transaction which indicates which transaction is the
original.  The original transaction also has a forward pointer to the
reply.  In this manner a chain of transactions can be created and
easily walked through.  If one replies to a transaction in the middle
of a chain, {\it discuss} simplifies the pointers by pretending that you
have replied to the transaction at the end of the chain.  Each
transaction in a chain has a previous reference ({\tt pref}) and a
next reference ({\tt nref}), except for the first ({\tt fref}) and
last ({\tt lref}) transactions in the chain, which only have an {\tt
nref} or {\tt pref}, respectively.

Transaction numbers are assigned in a strict order, unlike the {\it
notes}\cite{notes} conferencing system, and unlike the
{\it netnews} bboard system
they are consistent for all readers of the meeting.  Replies are
simply given the next transaction number and threaded to produce a
chain as described above.  If transactions are deleted, the
transaction number namespace is left unchanged.  Users can 
refer to a transaction by number with the confidence that the
transaction number will not change in the future.

Figure \ref{tlist} shows an example listing of transactions.
Transaction 4 has been deleted.
There are two chains, one starting at transaction 2, and the other at
transaction 5.  The ``error handling'' chain has an {\tt fref} of
transaction
2 and an {\tt lref} of transaction 6.  All the transactions in the
chain have {\tt pref} and {\tt nref} pointers as shown in Figure \ref{chainfig}.

Entering a message in more than one meeting while maintaining the
ability of
the user to only see the message once is not supported.  Unlike other
conferencing systems, like Multics {\it forum}, you cannot tell who
attends a meeting (unless
they speak up, of course) nor who has read a given transaction.  
\begin{figure}[t]
\vspace{2.5in}
\special{psfile=chains.ps voffset=-90 hoffset=-13}
\caption{Transactions form chains.\label{chainfig}}
\end{figure}

%% This
%% is because the current implementation of {\it discuss} does not store
%% such information as part of the meeting, both because of a desire to
%% keep the meetings server simple and also because of privacy concerns
%% since some people feel that such information is sensitive, though
%% there is still some debate on this topic.
