Re: Mesh linking - technical (Was: Re: [Unreal-users] Planned features for 3.3?)
Status: Beta
Brought to you by:
wildchild
From: christian s. <han...@gm...> - 2005-06-20 12:53:30
|
Just to cast my .02 into the ring..here are my thoughts. There is just really no way that you can (sanely) do full mesh All:All linking on larger networks. That said, here are some of my thoughts on the idea. In order to handle desynch issues, a simple syn/ack type system could be implemented. User on Server A sets mode +i Server A sends mode change to Servers B and C Server B acks, Server C does not Server A tries n more times to update Server C (now let's just get silly...) Server A passes a flag around the mesh claiming Server C is unreachable Other servers in mesh try a test syn/ack, No response from Server C! Servers Auto-Jupe Server C and an event is logged/triggered That's at least one way it could be done (the Jupeing is a bit silly really). Another idea I could see scaling a little better is this: When a server joins the "mesh" it sends a ping type request, and based on the latency/response time of the ping-replys it assigns each server in the mesh it's own internal metric. Any server over a certain metric is dropped from it's internal table of "Servers to send updates to". The idea being that rathers than sending updates to *every* server, we will instead send updates to every *close* (in terms of speed, not physical location, obviously) Server. The nice thing about this is that we could hard assign a metric. For example, we have a server in NY and a server in LA, we realize that there are times when these two servers may not respond fast enough for the cut, but we also know that these are both high traffic primary servers on our network, so we hard code a low metric so that updates are always sent from to the other, and to help eliminate desync, we also use the syn/ack system (sans silly jupe idea). --=20 Christian Sullivan One Pill Makes You Larger, and one pill makes you small. http://freezerpants.com || http://superimposable.org |