Let's start dreaming and consider the following situation. A revised LISTSERV
machine has been installed in the major hub nodes of all countries. It has been
granted enough disk space to hold the massive BITEARN NODES file, and enough
CPU time to process it at initialization to set various GLOBALV variables. One
of the network coordinators has volunteered to maintain a list of all the sites
who have installed revised LISTSERV, and to generate a kind of "routing table"
for LISTSERV. All of this is wishful thinking, but what's wrong about dreaming?
:-) Now a user at our node (a dead-end node indeed) wants to send a 400-lines
file to a list of 500 persons all over the network (let's say it's an electro-
nic magazine about computer networks, or something like that). Instead of doing
a SENDFILE, which would hog the network during days (128 link.Mbytes load, assu
ming an average distance of 8 links between two randomly selected BITNET nodes
-- see Hank's statistics), he issues a LSEND command (same syntax). Instead of
going directly to RSCS, the file goes to the nearest LISTSERV, with a list of
recipients appended to it. The server will distribute the file to all the reci-
pients in its 'service area' (ideally only the local node). It will then scan
the list of remaining recipients, search its "routing table" for the correspon-
ding LISTSERV's userid@node, and build a list of them. It will eventually ship
the file to all the selected LISTSERVs, after having edited the list of recipi-
ents so that only the nodes which were routed through a given server appear on
the list of recipients sent to that server. I can't find a formula to compute
the resulting network load, because it depends on the configuration of the
servers, but it would probably be 10 times smaller....
An example: user ERIC@FRECP11 sends a 1897 lines VERS13C SHIPMENT file to the
following users: x@CEARN, x@DEARN, x@FREMP11, x@CZHRZU1A, x@ICNUCEVM, x@IBACSA-
TA, x@FRMOP11
I assume there is a LISTSERV at FRHEC11, CEARN, DEARN and EARNET (main nodes of
their respective countries).
Network load (SENDFILE): 148kbytes * 27 links
Network load (LSEND): 148kbytes * 10 links
Note that the farthest node is only 5 links away from the source node. If, for
example, there had been 5 additional nodes between FRECP11 and FRHEC11 (which
is more or less what would have happened if the recipients had been US nodes,
but I don't know the US topology enough to use real node names :-) ), the cost
would have been:
SENDFILE: 148kbytes * 62 links
LSEND: 148kbytes * 15 links
The nearer the target, the less resources you save.
This distribution algorithm is more or less what the Netservs presently do when
executing a PUT command: you send the command to your host Netserv (hopefully
the nearest one from your node), and it forwards it to the 'adjacent' servers,
and so on. The difference is that the list of recipients is always the same
(ALL servers), and the "routing table" is consequently not necessary. LSEND
would be a generalization of the Netserv distribution algorithm.
Ah well, I guess I'd better do my tape backup before the scientists come back
from lunch... ;-)
Eric
|