[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