[Opensim-dev] The essence of "grid"

Michael Cortez mcortez at gmail.com
Fri Apr 17 04:54:32 UTC 2009


Diva Canto wrote:
> Right.
> This whole issue can be formulated in one very simple question:
> If the client is to delegate authority to the server-side, should it do 
> it to the specific simulator or to this other server that speaks for a 
> collection of simulators, aka "grid"?
>   
I have not looked closely at the simulator splitting project, but I'm 
aware that there currently is work being done to split the actual 
simulation of a 256m^2 region of space between multiple simulators -- 
thus even in the case where may be attempting to "do it to the specific 
simulator" -- you may in fact be doing it to multiple simulators.

And what happens when you have a single instance of OpenSim with 
multiple regions -- do you delegate authority to the instance, and 
stipulate it's only for 1 of the regions that it's simulating or do you 
delegate it for use with all the regions it's simulating.

Even under the apache model, or more generally, a "web application" -- 
the client may be dealing with what looks like a single server, which is 
in fact a cluster or federation of servers working together but 
presenting a single face, or point of entry to the client.

> As I said, this is not philosophy. As I'm doing Grider, I need to decide 
> with which server it interacts for purposes of authority delegation. I 
> think it should interact with specific simulators. But I just wanted to 
> shake things a bit and see what's out there in people's minds, 
> specifically for this concept of what a "grid" is.
>   
Personally, in this context -- I think the "Grid" and "Region" and 
"Simulator" are blurred, and should be merged.

 From my point of view, you have a client, it wants to visit some 
virtual space -- the client should contact what it believes to be, the 
server that is the host of that space -- and it should say to that host 
"Hi there, I would like to visit X that I believe you host, who should I 
get permission from to do that, and how should I communicate with you?"

The host of that space could then reply with something like the 
following three bits:

1. You must establish your identify with URI:http://1.2.3.4/Service  -- 
the client would then contact that service, which would respond with 
what types of authentication/identity it'll accept -- be it OpenID, 
locally registered username & password, some kind of authentication 
token from OpenID/Google Accounts, or whatever.

2. I can talk to you and provide you with assets using the following 
protocol(s), LL Protocol, VRML, whatever

3. Assets that you wish to have simulated may be communicated to me via 
the following list of protocols and servers

If your dealing with a single stand alone instance of OpenSim, 
simulating a single region of space, all of these "references" could be 
to itself.

If your dealing with a single instance of OpenSim simulating multiple 
regions {a mini grid} again, these could all be self-references

If however your dealing with an OpenSim that is, itself delegating some 
of these activities to another server {traditional grid} -- then those 
references will perhaps be to a set of services that look a bit like 
what we currently call "grid services."

Something similar to this is already in place with the REST and 
Capabilities interfaces that OpenSim provides and supports.  OpenSim 
should just be taken a baby step farther, and be made so that it always 
behaves as a grid, be it a grid of one region, of three regions under 
the same "instance", or a dozen regions spread out over multiple 
instances are running on separate physical hosts.

This is somewhat analogous with traditional web traffic, when visiting a 
page the server may respond with one or more authentication methods that 
are permitted, the browser will pick one that supports and believes is 
best and may present an interface to the user to facilitate it.  The web 
server may also include information about what level of the http 
protocol it supports.  The browser is also completely unaware if it's 
talking to a single entity, or a proxy hiding many entities.

Put differently, if possible, talking to a single instance of OpenSim 
with a viewer, should be no different then talking to a "grid" of servers.

I dunno,
--
Michael Cortez








More information about the Opensim-dev mailing list