[Opensim-dev] region status tracking in GridServer

Stefan Andersson stefan at tribalmedia.se
Sat Feb 9 20:25:44 UTC 2008


Ok, I was to do some research before I replied on this thread, but off the top of my head;
 
first of all, we should define what we want the region status data for; the data should guide choice of implementation.
 
That said, there is quite a distinct possibility that we can use the _clients_ as our agents for detecting offline region servers.
 
Whenever someone tries to teleport off a region, the source region is informed of this, to be able to downgrade avatar presence to child.
 
If the teleport fails (the target region is unresponsive) the connection comes back to the region so it should upgrade the avatar presence to root again.
 
(Incidentally, I've filed a mantis on this, since we actually don't handle that, and failed teleports results in you coming back to a region, but as a 'child' ie being stuck there and possibly causing all kind of havoc with the ClientView)
 
Now, if we handled the failed teleport correctly, this could also notify the grid service that a failed teleport has occurred.
 
The grid service could then ping the target region, to check on its state.
 
This is an alternative or complement to grid-wide ping sweeps; you probably want both, but could do the sweeps much less frequently.
 
Combine this with proper region signon/signoff and I say you got options.
 
Best,
/Stefan
 



> From: brianw at terrabox.com> To: opensim-dev at lists.berlios.de> Date: Sat, 9 Feb 2008 12:56:10 -0600> Subject: [Opensim-dev] region status tracking in GridServer> > After much IRC discussion I would like to make a couple changes to the> regions table.> > online bool NOT NULL deafult false> last_seen int(11) NULL> > The online column would be updated as a region logs in and out of> GridServers. This way an external management/status application doesn't> have to pester the grid server for the full list of regions and their> status. This would also provide data to regions requesting map blocks as> to the status of a region (a.ka. LL's Red Regions in the map view).> > The last_seen column would be of asistance to these same management apps> in helping the administrator to determine which regions were long term> MIA or just plain not wanted anymore by walk away grid members.> > My main concern is load placed on the grid server and having to ping> regions by external applications having to probe every region currently> to tell if it's still around or not.> > To acomplish this i'm workign on a patch to implement region_logout> XMLRPC that would be called via Region.Communications.DeregisterRegion> (which is currently empty).> > I woudl also add an update of RegionProfileData as each RPC call si made> by a region to GridManager. Database updates would only happen> periodicly as regions login and logout.> > Are there any objections or reasons not to implement this?> > _______________________________________________> Opensim-dev mailing list> Opensim-dev at lists.berlios.de> https://lists.berlios.de/mailman/listinfo/opensim-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080209/2d25284b/attachment-0001.html>


More information about the Opensim-dev mailing list