<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE>.hmmessage P {
        PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
BODY.hmmessage {
        FONT-SIZE: 10pt; FONT-FAMILY: Tahoma
}
</STYLE>

<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
<BODY class=hmmessage>
<DIV><FONT face=Arial color=#0000ff><SPAN class=328153913-10022008>Not to hijack 
the discussion, but this gets to a meta issue that I'm becoming more concerned 
about.  It came up when we were discussing how currency should work, ties 
into this discussion and probably has broader implications.  That is, what 
can we know about the regions we are in?  In Second Life, we currently 
assume that the grid and the region are both hosted by LL and are using the same 
latest version of the software.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff><SPAN 
class=328153913-10022008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff><SPAN class=328153913-10022008>However, with 
OpenSim, when I move from one region to another, I may be moving not only from 
one server to another, but to different versions of the OpenSim software, to a 
different hosting service, perhaps to a region that has been hacked or 
customized in some weird way.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff><SPAN 
class=328153913-10022008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff><SPAN class=328153913-10022008>As far as I 
can tell, there is nothing available to get details about the region I'm 
entering.  Are there ways to get such information?  Should there 
be?  If so, what might that look like?</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff><SPAN 
class=328153913-10022008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff><SPAN 
class=328153913-10022008>Aldon</SPAN></FONT></DIV>
<BLOCKQUOTE>
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT 
  face=Tahoma>-----Original Message-----<BR><B>From:</B> 
  opensim-dev-bounces@lists.berlios.de 
  [mailto:opensim-dev-bounces@lists.berlios.de]<B>On Behalf Of </B>Stefan 
  Andersson<BR><B>Sent:</B> Sunday, February 10, 2008 3:11 AM<BR><B>To:</B> 
  brianw@terrabox.com<BR><B>Cc:</B> 
  opensim-dev@lists.berlios.de<BR><B>Subject:</B> Re: [Opensim-dev] region 
  status tracking in GridServer<BR><BR></FONT></DIV>I would not say this is 
  'fatally flawed' just because it can be the result of one 
  clients connectivity problems; it's still an indication that somebody 
  somewhere had troubles reching the target. That's why it should only be seen 
  as a ping trigger, not as status authoritative.<BR> <BR>Also, it's 
  not the client that reports on the trouble, it's the source region - which 
  means, that if the client can re-connect to the source region but not to the 
  target, chances are that there's something wrong with the target.<BR><BR>If a 
  grid server is the authority for say 6000 servers, frequent grid wide pings 
  becomes quite the task, not to mention the fact that the grid server itself 
  can (and in an heterogenous grid setting, will) experience connectivity 
  problems, just as the client 
  can.<BR> <BR>Best,<BR>/Stefan<BR><BR> <BR>
  <HR id=stopSpelling>
  <BR>> Subject: RE: [Opensim-dev] region status tracking in 
  GridServer<BR>> From: brianw@terrabox.com<BR>> To: 
  stefan@tribalmedia.se<BR>> CC: opensim-dev@lists.berlios.de<BR>> Date: 
  Sat, 9 Feb 2008 18:22:45 -0600<BR>> <BR>> Unfortunately this is fatally 
  flawed since teleports can fail due to<BR>> internet routing issues taht 
  affect only one person, amongst other<BR>> movement failures that would 
  cause the client to think a region is<BR>> offline vs the server knowing 
  it's offline or online.<BR>> <BR>> I'm posting a patch to mantis that 
  lays the foundation for regions beign<BR>> online or offline and when they 
  were last heard from by the grid server.<BR>> <BR>> <BR>> <BR>> On 
  Sat, 2008-02-09 at 21:25 +0100, Stefan Andersson wrote:<BR>> > Ok, I was 
  to do some research before I replied on this thread, but off<BR>> > the 
  top of my head;<BR>> > <BR>> > first of all, we should define what 
  we want the region status data<BR>> > for; the data should guide choice 
  of implementation.<BR>> > <BR>> > That said, there is quite a 
  distinct possibility that we can use the<BR>> > _clients_ as our agents 
  for detecting offline region servers.<BR>> > <BR>> > Whenever 
  someone tries to teleport off a region, the source region is<BR>> > 
  informed of this, to be able to downgrade avatar presence to child.<BR>> 
  > <BR>> > If the teleport fails (the target region is unresponsive) 
  the<BR>> > connection comes back to the region so it should upgrade the 
  avatar<BR>> > presence to root again.<BR>> > <BR>> > 
  (Incidentally, I've filed a mantis on this, since we actually don't<BR>> 
  > handle that, and failed teleports results in you coming back to a<BR>> 
  > region, but as a 'child' ie being stuck there and possibly causing 
  all<BR>> > kind of havoc with the ClientView)<BR>> > <BR>> > 
  Now, if we handled the failed teleport correctly, this could also<BR>> > 
  notify the grid service that a failed teleport has occurred.<BR>> > 
  <BR>> > The grid service could then ping the target region, to check on 
  its<BR>> > state.<BR>> > <BR>> > This is an alternative or 
  complement to grid-wide ping sweeps; you<BR>> > probably want both, but 
  could do the sweeps much less frequently.<BR>> > <BR>> > Combine 
  this with proper region signon/signoff and I say you got<BR>> > 
  options.<BR>> > <BR>> > Best,<BR>> > /Stefan<BR>> > 
  <BR>> > <BR>> > <BR>> > 
  ______________________________________________________________________<BR>> 
  > <BR>> > > From: brianw@terrabox.com<BR>> > > To: 
  opensim-dev@lists.berlios.de<BR>> > > Date: Sat, 9 Feb 2008 12:56:10 
  -0600<BR>> > > Subject: [Opensim-dev] region status tracking in 
  GridServer<BR>> > > <BR>> > > After much IRC discussion I 
  would like to make a couple changes to<BR>> > the<BR>> > > 
  regions table.<BR>> > > <BR>> > > online bool NOT NULL 
  deafult false<BR>> > > last_seen int(11) NULL<BR>> > > 
  <BR>> > > The online column would be updated as a region logs in and 
  out of<BR>> > > GridServers. This way an external management/status 
  application<BR>> > doesn't<BR>> > > have to pester the grid 
  server for the full list of regions and<BR>> > their<BR>> > > 
  status. This would also provide data to regions requesting map<BR>> > 
  blocks as<BR>> > > to the status of a region (a.ka. LL's Red Regions 
  in the map view).<BR>> > > <BR>> > > The last_seen column 
  would be of asistance to these same management<BR>> > apps<BR>> > 
  > in helping the administrator to determine which regions were long<BR>> 
  > term<BR>> > > MIA or just plain not wanted anymore by walk away 
  grid members.<BR>> > > <BR>> > > My main concern is load 
  placed on the grid server and having to ping<BR>> > > regions by 
  external applications having to probe every region<BR>> > 
  currently<BR>> > > to tell if it's still around or not.<BR>> > 
  > <BR>> > > To acomplish this i'm workign on a patch to implement 
  region_logout<BR>> > > XMLRPC that would be called via<BR>> > 
  Region.Communications.DeregisterRegion<BR>> > > (which is currently 
  empty).<BR>> > > <BR>> > > I woudl also add an update of 
  RegionProfileData as each RPC call si<BR>> > made<BR>> > > by a 
  region to GridManager. Database updates would only happen<BR>> > > 
  periodicly as regions login and logout.<BR>> > > <BR>> > > 
  Are there any objections or reasons not to implement this?<BR>> > > 
  <BR>> > > _______________________________________________<BR>> 
  > > Opensim-dev mailing list<BR>> > > 
  Opensim-dev@lists.berlios.de<BR>> > > 
  https://lists.berlios.de/mailman/listinfo/opensim-dev<BR>> > <BR>> 
  <BR><BR></BLOCKQUOTE></BODY></HTML>