[Opensim-dev] The HyperGrid
ursula.matova at klintcentral.net
Sun Oct 26 16:35:47 UTC 2008
Sounds VERY interresting ... and exciting :))
Let me make some tests ...
But sure I'll need some help soon ;)
Le 26 oct. 08 à 17:16, Cristina Videira Lopes a écrit :
> I started working on an extension to OpenSim that makes it work in
> peer-to-peer mode, i.e. no need for grid servers to help the process
> teleporting and more, which I explain below. I'm really excited to
> that this is working! -- I hope some of you are interested in trying
> out, and helping out too!
> The project is called the HyperGrid. Hypergrid is an existing
> theoretical concept in p2p networks which maps reasonably well to what
> I'm doing here, so I borrowed the name.
> Comments, suggestions, contributions, ... welcome!
> Crista / Diva
> ** OpenSim HyperGrid**
> The basic idea of p2p is that nodes define networks by linking to
> nodes. Unfortunately, this concept doesn't map too well to the concept
> of a 2-dimensional map of "the world" (i.e. "the grid"). What does
> position (Xloc, YLoc) mean in p2p where there is no central authority?
> The 2-dimensional map is quite interesting in VWs, so we should
> to use it. Should someone coordinate the allocation of sims to grid
> positions world-wide?
> Enters hypergrid. In an hypergrid of p2p nodes there is no central
> authority for allocating nodes to grid positions. The position of
> in the map is determined locally by the node itself, and not by any
> global entity. As we move from peer to peer, we are presented
> different grids. For example, my node can connect to CNN's world
> it in position 10, 10 of my grid; but when I TP to CNN, I am presented
> with a totally different grid: the node that I TP-ed to is probably
> at position 10, 10 of its local grid; my own node is probably not in
> CNN's grid at all.
> These links are the VW-equivalent of web hyperlinks. Some
> comparisons to
> the Web:
> - Just like hypertext links, hyperworld links are uni-directional.
> - The establishment of hyperworld links by region administrators is
> [sort of] equivalent to writing a web page with hypertext links to
> web sites.
> - A web page with external links can be thought of as a 1D Map. The VW
> Map happens to be 2D.
> I've implemented a console command that looks like this:
> link-region 10 10 ucigrid02.nacs.uci.edu 9000
> 10, 10 is the position on the local grid
> ucigrid02.nacs.uci.edu and 9000 are the host and port respectively of
> the remote opensim
> Once this link is established, we can interact with this peer in the
> normal way. It will show up in the local map at position 10, 10. We
> TP to it via the map. (I'm still debating whether adjacencies should
> allowed or not; they bring along child agents that can overload the
> remote regions; but that's a detail)
> I have this working already, and that leads to a whole other topic:
> topic of maintaining identity and accessing inventory. This second
> is not done yet, so once you TP out you loose access to your
> If the viewer would cooperate, this would be infinitely easier, but
> since we're assuming the LL viewer for the foreseeable future, this
> needs a bit of server-side trickery.
> *** Trying it out ***
> Please get the sources from svn and follow the instructions in
> If things are not clear, don't hesitate in emailing me.
> *** Implementation ***
> The implementation of HyperGrid is a thin layer on top of the existing
> protocols, Local and OGS1. The classes reuse the OpenSim framework
> massively by inheritance, delegation and, when those fail, copy&paste.
> The major crux of the idea is the management of region handles, which
> need to be mapped between the local grid and the remote node's grid.
> There are two sets of classes so that HyperGrid works both for
> standalones and grid-ed opensims.
> ** Of interest to OpenSim architects: in order to instantiate these
> classes, I had to subclass Region.Application.OpenSim and override a
> bunch of things, especially the Startup methods which hard-code the
> communication protocol class names. So if there's a way of
> that better, it would be good.
> ** Of interest to Open Grid Protocol people: I didn't use any of your
> code/concepts, for the following reasons:
> a) It wasn't clear that what you are doing is an hypergrid model vs
> simply supporting TPs between LL and opensim servers on the same grid.
> b) OGP seems to be designed for talking to LL's servers. I wanted to
> something for opensim, because it's the only server code I have for
> But I think that once the p2p protocols are clearly defined, we can
> implement a different layer of messaging for LL servers using LLSD
> instead of remoting. That is, assuming LL is vaguely interested in the
> non-centralized, hypergrid model of VWs.
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
More information about the Opensim-dev