[Opensim-dev] [Opensim-users] grid operation

Kyle Hamilton aerowolf at gmail.com
Thu Dec 4 20:54:54 UTC 2008


(cross-posting to opensim-dev for discussion, since this question and
my answer are much more developer-oriented than the original on the
-users list.  For more information on the precise item that this
question is about, please see
http://opensimulator.org/wiki/OpenSim:Introduction_and_Definitions)

Remember the audience for this original post.  The OP (on -users) was
trying to figure out if his local assetserver would copy from the grid
assetserver, and if he could redirect his local sim to its own
assetserver as primary, passing requests for UUIDs that it doesn't
know about to the grid.  The consensus of the -users list was that the
only 'copying' that the region-local asset store does in grid mode is
a not-greater-than-24-hour caching, with no permanent copies.  That's
the gist of what I tried to get across in the initial wiki entry.

As for grid versus standalone... my way of looking at it is this: when
I'm browsing the web, I have (currently) 5 separate tabs open.  Often
I have more than 40.  I'm going to claim utter and absolute
selfishness here and state that I cannot see any situation under which
I would have only 1 location open in the 3D web.  I can't see how I
could get any work done in that way, at all.  Others may see how they
can exist in that limit, but since the server is still being developed
I'd like to ensure that my use-case is at least identified and
reasoned about (even if it's never implemented in the core).  So, yes,
each server has one instance -- but the server protocol either must
not care at all about whereever else I'm connected to (my preferred
state), or must at least allow for multiple grids and multiple sims to
deal with the same user simultaneously.  There cannot be locks, cannot
be any kind of avatar-access mutex, there cannot be any limit (other
than my authenticator's policy -- be it openID, X.509 certificate,
username/password, biometric fingerprint validator, whathaveyou -- but
that should be implemented by simply failing authentication rather
than anything OpenSim does) that OpenSim hard-codes in protocol.

For the purpose of "easily getting things set up", standalone is all
but useless in its initial state.  It's certainly easier to get set
up, but it's also much more limited.

Grid mode is perhaps a bit more difficult to set up -- but the default
in the configuration file is for the Null storage plugin to be used
under standalone mode.  This makes things... difficult... when trying
to explain how to get modifications to the environment saved.  Because
first, you have to explain how to configure the storage for the other
modules (again, for standalone).  Then, you have to explain how
everything done up to the point is completely useless because now we
need to set up the grid, and the grid doesn't use all those modules or
datastores that we just set up.

Which is, it appears, the point of friction that the OP had.

Also, I've been following the posts on the topic of the HyperGrid.  I
need more information on this: will it work for any of the minigrids
to be in standalone mode when they try to connect with the HG?  My gut
feeling says no... and my reason for promoting grid over standalone is
simply this: the HyperGrid is much closer to what the web is --
multiple administrative domains that all work together to pass traffic
between them.  I don't view HG as being the final evolution, but I do
view it as being a very good start.

(And thank you, as always, for your time. :))

-Kyle H

On Thu, Dec 4, 2008 at 12:02 PM, Diva Canto <diva at metaverseink.com> wrote:
> Very nice beginning!
>
> I would take off judgment about the good-ness/bad-ness of specific
> configurations (standalone vs. grid). In fact, I have a different opinion of
> what's written there; there's the easy&right way (standalone, similar to
> apache server, but for 3D VWs) and the hard-but-bigger way (grid). So let's
> just not make judgments :-)
>
> Before I take the scissors out, I thought I'd raise this issue here, to make
> sure there isn't anything deeper going on... Is standalone being considered
> "not right" officially?
>
>
> Kyle Hamilton wrote:
>
> Could someone please read
> http://opensimulator.org/index.php?title=OpenSim:Introduction_and_Definitions
> and fix any glaring errors or omissions I may have made?  There's a
> couple of TODO items therein (at least one needs examination by people
> familiar with Assets, Inventory, and how they're managed), and I'd
> like to solicit feedback on how I can write these kinds of things
> better.
>
> -Kyle H
>
> On Mon, Dec 1, 2008 at 12:42 AM, Stefan Andersson <stefan at tribalmedia.se>
> wrote:
>
>
> Really, if somebody would be so excellent as to take this whole thread, and
> out of the questions and answers on it, make a wiki page, called
> 'OpenSim:Introduction and Definitions' or something, that would be SO
> golden.
>
> You seldom get these opportunities to learn from noob confusion. This is an
> excellent thread.
>
> Best regards,
> Stefan Andersson
> Tribal Media AB
>
> Join the 3d web revolution : http://tribalnet.se/
>
>
>
>
>
>
> ________________________________
> Date: Sun, 30 Nov 2008 13:16:35 -0800
> From: diva at metaverseink.com
> To: opensim-users at lists.berlios.de
> Subject: Re: [Opensim-users] grid operation
>
> Yes, those are all functions of the 3D space service currently. Scripting
> and backend modules provide programmable behavior for the objects and agents
> in the 3D environment.
> The scripts are stored in the asset server, just like all other assets. They
> are brought in to the region when the region starts and run on the same
> process that runs the region. When you create a new script in a region, that
> script is cached in that region's asset cache (in memory), and is sent to
> the asset server for persistent storage.
>
> This is the current architecture. I remember vaguely someone suggesting to
> move the script engine(s) to a different server, as an alternative physical
> architecture. In that case, the region wouldn't cache the scripts, they
> would go to that other server; only the effects of the scripts would be seen
> inworld. Not sure how far that idea went.
>
> This thread is making suspect that many people might be under the wrong
> impression that just because they have their own region server connected to
> someone's grid, they have 100% control over the assets in the region and
> even in their inventories. That is not correct. The persistent storage of
> everything is done in the grid-level servers, therefore under the control of
> whoever runs those servers. If the asset server kaputs, and there were no
> backups, you will loose just about everything you have in your region and in
> your inventory. (This is true independent of who has the control over the
> asset server, so maybe it's a good thing to have them on someone else's
> asset server, you can blame someone else :-)
>
>
> Dickson, Mike (ISS Software) wrote:
>
> Well, it's running scripts for prims in the region also isn't it…  And
> physics for physical items in the scene the region is managing. (These are
> assumptions, feel free to clarify, like Paul I'm trying to learn.)
>
>
>
> Mike
>
>
>
> From: opensim-users-bounces at lists.berlios.de
> [mailto:opensim-users-bounces at lists.berlios.de] On Behalf Of Diva Canto
> Sent: Sunday, November 30, 2008 11:36 AM
> To: opensim-users at lists.berlios.de
> Subject: Re: [Opensim-users] grid operation
>
>
>
> Right.
> When your region is connected to a physical grid, your region is *just* a 3D
> space server, nothing else.
> All assets belong to the asset server, all inventories belong to the
> inventory server, all users belong to the user server.
>
> Paul Fishwick wrote:
>
> Got it. So, the data are stored on the asset server. If this is
>
> so, it doesn't seem that my region server (the opensim instance
>
> I might run as part of someone's grid) is doing much of
>
> anything since any change in prim or agent attribute must be
>
> conveyed back to the grid's asset server.
>
> -p
>
>
>
> Diva Canto wrote:
>
>
>
> By "assets" I mean the data itself, the blobs/text/etc.
>
> The region prims/primitems storage holds only references to that data.
>
>
>
> Look inside OpenSim.db. There is no "data" there, only meta data and
>
> references to the data (by UUID) stored on the asset server.
>
>
>
> Paul Fishwick wrote:
>
>
>
> When you say the prims and primitems are not assets, I am confused.
>
> My understanding was that all items are assets, identified by their unique
>
> UUIDs. If I follow the point about the asset server, the asset servers
>
> stores all asset UUID references by region, but that the specific asset
>
> attributes (i.e., position of an object, or its texture) are stored by UUID
>
> in the region's DB?
>
> -p
>
>
>
>
>
> Diva Canto wrote:
>
>
>
>
>
> The asset server holds the assets for the entire collection of regions
>
> on that physical grid. For example, when you create an object inworld,
>
> the asset corresponding to that object is stored on the asset server.
>
>
>
> The region caches some assets in memory. For example, in that creation
>
> scenario, the asset would be on the cache of the region too.
>
>
>
> The region also has a database storing "prims" and "primitems". These
>
> are not assets; they are the prims that are inworld at any given time.
>
> The prims refer to assets (by UUID) that are stored on the asset
>
> server. Which, as the previous sentence says, may be cached in memory
>
> of the region.
>
>
>
> Paul Fishwick wrote:
>
>
>
>
>
> Right. But what, exactly, are these servers doing?  I guess I am trying
>
> to get at more of the architectural details of what types of messages are
>
> sent among servers (over the network and to the database(s)). For
>
> example, there are the UGAIM servers in grid mode. Does the grid's "A"
>
> server hold all of the assets on your region that  you plugged into the
>
> grid? Or does your region database (on the same computer as your
>
> opensim.instance) take care of that?
>
> -paul
>
>
>
>
>
> Ideia Boa wrote:
>
>
>
>
>
>
>
> If you run 1 region in a grid, you only run OpenSim server, the others
>
> servers (User, Grid, Asset, Inventory and Message) are running on the
>
> Grid servers with the grid OpenSim server.
>
>
>
>
>
>
>
> Paul Fishwick wrote:
>
>
>
>
>
>
>
>
>
> If one hooks a region to a grid, what functions does the
>
> region server (operating on your computer) perform? The
>
> Grid servers are running asset and inventory management,
>
> so does this mean that the grid A and I machines handle
>
> the assets and inventory or is that the function of the region
>
> server that connects to the grid?
>
> -p
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
>
>
> _______________________________________________
>
> Opensim-users mailing list
>
> Opensim-users at lists.berlios.de
>
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
>
>
>
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
>
>
> _______________________________________________
>
> Opensim-users mailing list
>
> Opensim-users at lists.berlios.de
>
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
>
>
>
>
>
>
>
>
>
>
>
> ________________________________
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
>
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>


More information about the Opensim-dev mailing list