Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!kuhub.cc.ukans.edu!anu-news!list
From: munnari!csc.anu.oz.au!gih900@UUNET.UU.NET (Geoff Huston)
Newsgroups: news.software.anu-news
Subject: RE: Information needed
Message-ID: <8909212313.AA14866@uunet.uu.net>
Date: 22 Sep 89 13:40:36 GMT
Sender: ANU-NEWS Discussion 
Reply-To: Geoff Huston 
Lines: 86
X-cc:         GIH900@uunet.UU.NET

Rainer Fuchs writes:...
     
>We currently have News v5.6 but what we miss is a topic/reply system for
>easily following the course of a discussion (like in VAX notes).
>So my questions is:
>Do the newer versions (>5.6) have such feature?
     
This is probably worth a few paragraphs explaining how NEWS works and why
topic/reply systems are very difficult under the USENET system.
     
Firstly a few words about VAXnotes: VAXnotes is a centralized system. When a
user opens a VAXnotes conference on a local system the VAXnotes application
opens a DECnet connection to the nominated (single) server for that conference,
and all items are passed across the wires on demand to the reader. All postings
made into that conference are fed into the server for that conference. With
this model, when a read session is opened, then the reader is able to view all
postings made into that conference up to that point in time. All postings as
replies are tacked onto the end of a linear reply list in time order. The
problem with this model in the larger network environment is the absolute
reliance on the availability of the server and the availability of the network
to allow the live connection from the user to the server.
     
The USENET news model is fundamentally different. NEWS uses a flooding
mechanism to deliver postings to every site receiving the conference. The
reading operation is now NOT a network tyransaction: the items are stored
locally, and all postings are made into the local system. The NEWS transport
system is responsible for flooding all local postings to its neighbours, who
flood in turn to their neighbours, etc. The outcome of this mechanism is that
readers on two different systems will NOT see the same time ordering of items,
due to the propagation dealys inherant in this flooding technique.
     
The impact of this flooding on the topic / reply system is that conversations
are no longer a linear chain of topic and a list of replies in time order (and
with the additional assumption that a reply within the list has been made after
the reader has viewed all previous reply notes before making the next posting
into the conversation). The USENET model is much closer to a tree structure,
where conversations tend to widen out as a number of readers all make replies
to a single item, and so on.
     
As well as this alteration of a linear list into a tree there is also the
context information within the posting which sites the item into a particular
position in a conversation tree. The USENET standard includes the use of the
References: line which is a list of the message ids of the parent item to which
the posted item is posted as a reply, concatenated with the parent's reference
chain. In essence the tree as presented to the news system is a tree
constructed by BACKWARD pointers. An additional complication is that the tree
may not be complete - NEWS systems retire and delete old messages as a
continual operation, and often replies arrive on a system before the item
referred to by the reply, so the tree is not only a backward pointer tree, but
nodes within the tree may be missing. Just to further add to the problem whan a
newsgroup also has an associated mailing list, many postings within the
newsgroup, although they are replies to previously posted items, do NOT contain
the References: header line of backward pointers.
     
Now the reader of NEWS would like to view each conversation as a linear chain
of topic and posted replies / followup messages. The issue is how to convert a
backward referenced tree into a forward singly linked list, and also how to
sensibly make automatic decisions that an item which does not include backward
references is actually a logical component of a conversation stream.
     
I have mucked around with this for some time, and have come up with prototype
solutions which are invariably very complex, and consume large amounts of CPU
time, both in the initial inclusion of an item into the local database, and on
the part of the reader.
     
The current NEWS facilities are backward chain following (READ/PARENT) and
forward conversation selection (READ/FOLLOWUP). To make the execution of these
commands realtively efficient, the backward movement is based on a lookup of
the item referenced through the References: header, but the forward movement is
made by a simple textual comparision of Subject: headers.
     
To summarize this area, you cannot reproduce the Topic/reply model of VAXnotes
in a reliable and useable manner unless you also adopt the model of centralized
(single) network servers for each newsgroup. Within the USENET this simply is
not feasible. (I must make a reference to a gateway that exists between a
USENET conference and VAXnotes which I have used in the past - the way in which
the gateway handeled the Topic/Reply problem was to eliminate replies
altogether, and make each USENET posting a new topic.)
     
So in answer to the original question - no - NEWS is not going to do much more
than it does at present in the topic/reply area. If thats what you are after -
then buy VAXnotes!
     
     
Geoff Huston
gih900@csc.anu.oz.au