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 -------