[news.misc] NNTP, Caching Slave Servers, and the Costs of Centralization

andy@cayuga.Stanford.EDU (Andy Freeman) (07/26/88)

In article <7397@cit-vax.Caltech.Edu> mangler@cit-vax.Caltech.Edu (Don Speck) writes:
>NNTP promotes consolidation, not the decentralization that is Usenet's
>hallmark.  Unlike mailing lists, which can be received by any machine,
>NNTP servers are one per department, with the trend being toward one
>per campus.  This extrapolates to one per regional network.

NNTP could reduce the costs of Usenet's decentralization without
adding the vulnerabilities associated with centralization.  I'll come
back to that after a quibble.

>								Do you
>see much rrn'ing across BARRNET, yet?  You will... and caching slave
>servers will hasten the day.

I use a caching version of rrn; the NNTP protocol doesn't usefully
support caching slave servers because they can't be used when the
master is unavailable.  (NNTP doesn't let the slave server tell its
clients "I don't have that article, but I can't say that it doesn't
exist, so ask again later if you're still interested"; it can only say
"That article/group is unavailable.")

>Centralization brings us back to having critical failure points,
>where loss of a single machine knocks out a department, a campus,
>perhaps a regional net.  I'm not talking about machine failures;
>I'm talking about *administrative* shutdowns.

NNTP with caching slave servers support reduces the cost of shutdowns,
no matter what the cause, because it allows users/clients to change
servers without "fixing" their .newsrc.  (.newsrcs use article numbers
whose mapping to message-ids is site dependent.  NNTP with caching
slave servers makes it possible for a number of computers to maintain
the same mapping, that is, to behave as a single news site.)  Caching
slave servers also introduce substantial efficiencies, and it may be
reasonable (as in, cheaper for all, and more reliable to boot) for all
of the BARRNET sites, for example, to use this so that they look like
a single NNTP site (as far as the rest of the world is concerned).
Individual sites can always restrict their users as they see fit.

Suppose an organization has a number of full-feed sites and some of
them are NNTP servers for other sites.  Furthermore, let's assume that
some of these clients don't have the resources to take a full feed,
but their users demand it, so they're clients.  (This describes both
the "organization" consisting BARRNET sites, as well as "real"
multi-site organizations such as Stanford and Berkeley.)  If NNTP
supported caching servers, this could be reorganized so that large
hunks of it fall apart/disappear without hurting the rest of it.  This
reorganization would also make it possible to better manage the loads
seen by the various sites.

The reorganization is as follows.  One of the full-feed sites is
designated the global master and all postings, either from the outside
or from internal sites, come through it; the other full-feeds become
local masters which copy the global master's /usr/spool/news.  (This
copying can be done any way that is convenient.)  One local master can
"feed" another - there's no need for them all of them to talk with the
global master.  Local masters can be added or deleted at any time.

With this arrangement, any user/client can use any server, and can
switch between them at will, subject to their new server's NNTP
permissions file.  Moreover, any client can also cache (either certain
groups, or any group, but a limit on the total space used) and be a
server for other machines.

If the global master goes away, any one of the local masters can take
over as the new global master.  With a little bit of thought, there's
no need for all of the local masters to keep a complete copy of the
global master's state - they just have to be able to recreate it
COLLECTIVELY with whatever amount of redundancy that is desired.  (One
could go even further and not keep the entire feed on the global
master, but then the nntp servers would have to look on different
machines for different groups instead of always looking one level up
on the hierarchy.  Of course, this complication could be restricted to
the local masters, but ....)

Of course, there's also a way to have newsgroups that aren't seen
outside a subgraph of this whole mess.

Notice that I didn't say how the outside talks to the global master;
it can use NNTP, phones, or even magtapes.  The global master isn't
any more of a bottleneck than existing full-feed sites because it just
carries all of the outside traffic and internal postings that a normal
full feed site sees.  The load seen by servers within the organization
can also be managed as necessary.

-andy
UUCP:  {arpa gateways, decwrl, uunet, rutgers}!polya.stanford.edu!andy
ARPA:  andy@polya.stanford.edu
(415) 329-1718/723-3088 home/cubicle