[comp.protocols.tcp-ip] Telnet rotors/connection distribution?

xxseub@osprey (Steven Eubanks) (01/12/91)

I am looking for anyone who has any information/experience regarding
"rotoring" or distributing Telnet connections across a pool of multiple
equivalent hosts (IP addresses).

CURRENT ENVIRONMENT:

This site currently has a cluster (yes, of course VAXes) of host machines,
configured identically (applications as well as hardware) providing
central application services to a large LAN composed of
PCs/MACintoshes/Workstations (2000+).  In this (VAXcluster) configuration,
any PC/MAC/WS user can access any of the clustered host machines to execute
these centrally-located applications.  Until recently host connectivity
across the LAN was provided by a non-TCP protocol suite which provided a
"rotoring" capability which "pseudo-randomly selected" which of the n
identical nodes the user would attach to. Voila! Instant connection
distribution. [Notice I didn't quite say load balancing ;-)] Now, having
installed TGV's Multinet on the VAXcluster, and migrating more of our
networked PCs to TCP, we are wishing to duplicate that same "rotor group
connectivity" using TCP/IP.

PROBLEM/QUESTIONS:

How??  Has anyone successfully done/addressed this?

Since all our PCs/MACs/WSs are directly connected to the ethernet LAN,
there's no intermediate device to distribute the connections.  DNS, at
least as much as I know of the RFC-compliant version, doesn't address this
problem.  I can't think of anything that can be done on the VAX end
(though I'm willing to be proved wrong).  Surely, we're not the only site
having reached this dilemma.  Ideas??  Suggestions??  

[Please address all distributed computing environment rhetoric to
/dev/null;  we're working on it. :-) ]

Thanks in advance for all the advice!

Steve
--
Steven W. Eubanks,  EDS/LIMS			NASA Lewis Research Center
Internet:xxseub@osprey.lerc.nasa.gov		21000 Brookpark Rd. 
(216)433-8498					Cleveland, OH  44135
Disclaimer:  Opinions like mileage, may vary.

rlstewart@eng.xyplex.com (Bob Stewart) (01/14/91)

We have a rotary capability in our terminal servers.  That won't help you with
PC/Mac to VAX, but I can tell you what I understand of how it works.

DNS will return multiple IP addresses for the same name.  At the name server,
you pick a rotary name and give it the appropriate list of addresses, which
will then go to anything that asks to resolve that name.  I don't know of any
reasonable facility to accomplish load balancing at this point.  DNS wasn't
intended for real-time information.  The catch to this is that most
applications (like Telnet) that do name lookups are pretty stupid about
receiving multiple addresses.  I think what we do in that case is try the
first one, if that doesn't work, we go to the next, and so on.  A slightly
smarter algorith might pick one at random, or keep the whole list and use the
entries in turn for subsequent connections.  As I sit here making all this up,
it strikes me that picking one at random has its features, but that probably
violates the idea (as I recall) that the name server is supposed to put them
in the preferred order.

In your case, all of this implies that you'd probably have to be able to make
some programming changes at the end that originates the connection, requiring
either source code or an armlock on the appropriate vendors.

I'm curious to see if any other suggestions appear, or if anyone is horrified
by our use of DNS.

	Bob

BILLW@MATHOM.CISCO.COM (William "Chops" Westfield) (01/15/91)

The folks at CMU did this by causing the domain system to repsond
to address lookup requests for a given name with the ip address of
the least loaded system.  The repsonse include a zero time-to-live,
forcing an address lookup everytime someone tried to connect.

The IETF was petitioned to allow such zero TTLs, and various terminal
server vendors were prodded to support them, both of which happened.

BillW
-------