Tops-20 NFT, FAL and NRT will do something called Poor Man's Routing (or
PMR, for short). The Tops-10 NRT client will also do it. PMR is
something I dimly recall from Phase II or III; this was back before 36
bit hosts could do full routing. Here is some background:
On CCnet, we had enough 20's that not all could be connected to each
other in a star network. Not even Columbia had enough KMC's to 'star'
our 20's; the closest we got was a ring. CMU had even more. When a 20
wasn't next door to whatever system you wanted to get to, you had SET
HOST to one that did and then do another SET HOST accordingly. Or maybe
you had to do that a few times.
The manual procedure and all the accounts involved was clunky enough
that pretty much only systems staff did this. It was out of the
question for researchers and paying customers.
So I /think/ some site on CCnet came up with the idea of automating it
to a certain extent. It was called "Poor Man's Routing" and the way it
worked is that you specified the route to the system in question. Let's
say you were on NODE*A*:: and wanted to go to NODE*C*:: yet did not have
direct connectivity. If both NODE*A*:: and NODE*C*:: had connectivity
to NODE*B*::, then the relevant part of the configuration looked
something like this:
NODE*A*:: ↔NODE*B*:: ↔NODE*C*::
If NODE*B*:: was a PMR host, then you could do something like SET HOST
NODE*B*::NODE*C*:: and the parser would convert this to some
intermediate string. Instead of opening a connection on DECnet object
23, it would use object 123 and NODE*B*:: was responsible for taking the
rest of the string and getting you to the right place.
It worked well enough if the systems in question weren't excessively
loaded (which was invariably /never/ the case) and it saved us when the
dates for version 6 slipped. I had been under the impression that some
site on CCnet had done this and remember eagerly flushing all of it when
we finished the field test.
Much to my surprise an acquaintance of mine at Marlboro (Larry Campbell)
formalized this with a separate module called DNCONN.MAC. I put this
into a conditional assembly in part to save some address space (only to
get blown out of the water by some vestigial code that had never been hit).
Does anybody remember PMR? Did it exist for the other systems which
supported DECnet? Just curious whether I should turn this on for anyone.
PS: So much for my silly subject line of the day...