1999Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] How to support 1000+ simultaneous connections, and some philosophy. -->
<!--X-From-R13: Qnyvona Fverfvnf Rnexybpx <pnyvonaNqnexybpx.pbz> -->
<!--X-Date: Wed, 10 Mar 1999 19:13:54 &#45;0800 -->
<!--X-Message-Id: 4.1.19990310185412.03ee2420#pop,darklock.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199903110248.TAA00655@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] How to support 1000+ simultaneous connections, a</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:caliban#darklock,com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00521.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00523.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00521.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00533.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00522">Author</A>
&nbsp;|&nbsp;<A HREF="#00522">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00522">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</LI>
<LI><em>From</em>: Caliban Tiresias Darklock &lt;<A HREF="mailto:caliban#darklock,com">caliban#darklock,com</A>&gt;</LI>
<LI><em>Date</em>: Wed, 10 Mar 1999 19:09:02 -0800</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On 07:48 PM 3/10/99 -0700, I personally witnessed Chris Gray jumping up to say:
&gt;[Petri Virkkula:]
&gt; &gt;	I would probably go for multiple IP-addresses and multiple
&gt; &gt;	accepting servers. For example, hostname mud.dom.ain might
&gt; &gt;	have addresses 123.123.123.1-123.123.123.10 and ten processes,
&gt; &gt;	each of them listening only single address, not INADDR_ANY. I
&gt; &gt;	don't know how well this scheme would work though.
&gt;
&gt;The problem with that is that then the clients have to connect to one
&gt;of those 10 ports. You might manage that if you have a special client
&gt;that has a decent algorithm to balance the use, but if you rely on
&gt;humans to do it, it won't work - most will use the first one all the
&gt;time. There isn't any way to know which port is the least busy.

I've considered this sort of thing myself, and the only way I could think
of to do it would be to have a UDP connection on a port that checked the
load and told the client "Use port X" based on who was connected where. The
client would then make a TCP connect to the provided port. After
considering it, I thought it would probably be BETTER if your TCP
connection could send some notification to MOVE to some other port, and
then the client could connect to that other port and drop the old
connection based on existing load -- that way if processes 2 and 3 are
congested and you're on process 1, when process 1 fills up but 2 and 3 get
some disconnects, you could be shuffled to a lower load process. Basically,
under that model, you could tell the client where to connect every time and
then no matter WHAT port the human connects to he'll end up on the
best-case process.

Since I detest dedicated clients, I decided not to do this, but it was the
best I could come up with under the circumstances. You wouldn't need to do
the IP thing this way; just take connects, and when a process is overloaded
tell the client to go somewhere else. I would also have a protocol for
handshaking, where it goes something like this:

    connect port FOO
    &gt;IAMASERVER
    &lt;IAMACLIENT
    &gt;OHNIFTY
    &lt;WANNALOGIN
    &gt;PORTBAR
    &lt;THANKY
    &gt;BYE
    disconnect
    connect port BAR
    &gt;IAMASERVER
    &lt;IAMACLIENT
    &gt;OHNIFTY
    &lt;WANNALOGIN
    &gt;GORIGHTAHEAD
    [...]
    &gt;HEYYOU
    &lt;YOMANWHATYOUNEED
    &gt;PORTBAZ
    &lt;OKIE
    connect port BAZ
    &gt;IAMASERVER
    &lt;IAMACLIENT
    &gt;OHNIFTY
    &lt;FROMBAR
    &gt;IKNOW
    [back on port BAR]
    &lt;GOTIT
    &gt;BYE
    disconnect BAR
    [etc.]
    
The obvious extension to this is to manage distributed machines. 

Um, that's about all for the moment. Maybe this will help someone ;)

-----
| Caliban Tiresias Darklock            caliban#darklock,com 
| Darklock Communications          <A  HREF="http://www.darklock.com/">http://www.darklock.com/</A> 
| U L T I M A T E   U N I V E R S E   I S   N O T   D E A D 
| 774577496C6C6E457645727355626D4974H       -=CABAL::3146=- 


_______________________________________________
MUD-Dev maillist  -  MUD-Dev#kanga,nu
<A  HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A>


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00533" HREF="msg00533.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  andsome philosophy.</A></strong>
<ul compact><li><em>From:</em> Nathan F Yospe &lt;yospe#hawaii,edu&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00521" HREF="msg00521.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
<UL><LI><EM>From:</EM> Chris Gray &lt;cg#ami-cg,GraySage.Edmonton.AB.CA&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00521.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00523.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00521.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00533.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  andsome philosophy.</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00522"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00522"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>[MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00519" HREF="msg00519.html">[MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Petri Virkkula <a href="mailto:pvirkkul#iki,fi">pvirkkul#iki,fi</a>, Thu 11 Mar 1999, 00:40 GMT
</LI>
<LI><strong><A NAME="00516" HREF="msg00516.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Wed 10 Mar 1999, 14:47 GMT
<UL>
<LI><strong><A NAME="00525" HREF="msg00525.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Thu 11 Mar 1999, 03:24 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00521" HREF="msg00521.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 11 Mar 1999, 02:51 GMT
<UL>
<LI><strong><A NAME="00522" HREF="msg00522.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 11 Mar 1999, 03:13 GMT
<UL>
<LI><strong><A NAME="00533" HREF="msg00533.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  andsome philosophy.</A></strong>, 
Nathan F Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Thu 11 Mar 1999, 18:40 GMT
<UL>
<LI><strong><A NAME="00536" HREF="msg00536.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  and some philosophy.</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 11 Mar 1999, 21:30 GMT
<UL>
<LI><strong><A NAME="00540" HREF="msg00540.html">[MUD-Dev] Multiple clients (was Re: How to support 1000+ simultaneous connections)</A></strong>, 
Matthew D. Fuller <a href="mailto:fullermd#futuresouth,com">fullermd#futuresouth,com</a>, Fri 12 Mar 1999, 02:21 GMT
<UL>
<LI><strong><A NAME="00549" HREF="msg00549.html">Re: [MUD-Dev] Multiple clients (was Re: How to support 1000+ simultaneous connec</A></strong>, 
Marc Bowden <a href="mailto:ryumo#merit,edu">ryumo#merit,edu</a>, Fri 12 Mar 1999, 12:17 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>