[Opensim-dev] Local assets in Grid mode

Melanie melanie at t-data.com
Fri Sep 12 19:47:58 UTC 2008


Hello, and welcome to -dev :)

What I think needs to be done with local asset mode is that it needs 
to be removed from OpenSim.

It has outlived it's usefulness and now creates code complexity and 
cruft that is really hard to work around and deal with.

Instead, a local asset server should be run, and specified as the 
grid asset server.
This would allow to clean up a significant amount of code within 
OpenSim and allow the establishment of a clean interface, a 
persistent caching system, and optionally a multiple provider setup, 
where incoming avatars from the grid could access grid assets 
through the local sim, without losing the local asset storage 
ability that you want to keep.

I have already committed the skeleton of a caching class, and the 
extensions to it are beginning to take shape, too.

The concept is almost ready in my head, but since I'm doing so many 
things at once, it may be a couple of weeks until I get to a point 
where I can write it out.

Generally, I would like to see local assets for grid mode removed 
and resolved into a configuration as described above, additionally 
with asset services becoming a region module, and later see 
standalone mode removed and replaced with an autoconfiguring local 
grid servers solution.

With what we know now, we should be able to create a much cleaner 
interface, move the texture uploaders into LL* client view space, 
clean asset and inventory interfaces and modularize both services. 
That would do the code a world of good, and we now have enough 
structure in the core as well as the application to be able to draw 
a clear division line.

Just my $.02

Melanie


Mircea Filipescu wrote:
> (resent as it seems the original didn't get through the maillist the first time)
> 
> Hello everyone. Just for the note as I'm using this mailing list for
> the first time, I'm Mircea / Taoki from #opensim and the other OS
> channels on IRC. I decided to mail this to the opensim-dev list after a
> chat I had with Nebadon two days ago about an issue with opensim (or
> maybe a feature request would be more correct) regarding the problems
> with running local assets in grid mode which we thought I should write
> a summary up for here and probably list my suggestions about. I made a
> few mantises and topics on the OSGrid forum about this in the past so I
> hope this isn't something that's getting too old or anything. Also be
> warned this is a long email so I apologise for having to write so much.
> 
> First
> of all, many wonder why someone would want to use local assets in grid
> mode. My own personal reasons are that I want to keep my sim whole and
> be able to start it up in standalone or on other grids other then
> OSGrid too. Grid assets make a sim dependent of that specific grid and
> unusable anywhere else (unless running it with gray textures and
> without sounds and scripts can be counted). Alongside that I kind of
> don't feel like I'm owning my entire region while my assets are
> somewhere else, which is why I want to keep my assets too and feel like
> I'm owning the sim I run and not just half of it. Probably there are
> others who feel the same way so I hope this doesn't sound too silly or
> anything.
> 
> The problem with a region running local assets on a
> grid however is that no one from another region can receive any of the
> assets on that sim until they cross inside it, so if a client clears
> its cache it sees that sim all gray and without sculpties and scripts
> until the avatar crosses in. And obviously nothing you take in your
> inventory from the local asset region is ever available anywhere else
> (not even landmarks which makes them completely pointless in this
> situation). Worse, I heard (and also experienced) that an avatar
> crossing into a local assets sim looses inventory functionality until
> next login. Because of this, running my sim on local assets seems to
> have caused more trouble then not running it at all, but I'm still not
> sure what to do (I already have a lot of assets so if I'm to switch I'd
> need to transfer them all). I heard about the save-oar and load-oar
> commands but I never used them before and heard they also render
> inventory entries useless due to changing each asset's UUID on use.
> 
> I
> thought to suggest a few solutions again and some ideas I had about
> what could be done to allow a sim to run local assets on grids and have
> everything loading up to the other sims too. My main ideas about this
> were:
> 
> - Allow an owner to specify both local assets and grid
> assets in opensim.ini... in other words use both asset storages at the
> same time but not quite. In this situation, a sim would normally start
> up using Grid assets but whenever someone sitting on that sim uploads
> something or makes an asset, that asset goes -both- into grid assets
> and that sim's local assets. The only issues with this are
> double-uploads and upload times though that shouldn't be too much of a
> problem, but the worst problem is double UUIDs as Neb noticed which
> could cause a bunch of issues. I don't fully see how that could cause
> UUID conflicts still as no one has any reason to copy the same sim with
> the same assets and run it on the same grid in many instances, nor is a
> UUID coincidence very likely. Either way, in this situation a region is
> using grid assets, but their assetstorage.db also gets updated with
> what they upload and use on that sim. So if the user ever wants to lets
> say start the sim in standalone, they just select local assets and
> start it up like nothing happened without requireing any other type of
> transfer. If this method is implemented, it should also have an option
> to allow importing / exporting assets between grid and local ones for
> those who didn't get to sync them.
> 
> - The second method I had in
> mind if the above isn't good is something a bit more complicated.
> Basically, a region using local assets in grid would "project" its
> assets on the entire grid at startup, and allow all simulators on the
> grid to get the local assets of that sim, no matter what other sim they
> are sitting on. For this however, every asset would also need to have a
> simulator UUID with it so when an asset is requested the server knows
> where to grab it from. The only issues with this idea is that too many
> people from all over a grid requesting your local assets could badly
> slow down your region (though its the owners choice to enable this if
> they have good bandwitch) and that the assets won't be available while
> that region is down.
> 
> - My third idea is similar to the one
> above, just that instead of allowing the local assets region to stretch
> its assets all over the grid, the simulator would temporarily upload
> all its local assets into the grid assets at startup and use them from
> there, and (probably) remove them at shutdown. In this situation we
> would once again need an upload to go into both asset storages, and
> we'd have a new issue where obviously, it would take very long and
> stress the grid server a lot for a starting up sim to upload entire
> megas of assets each time. And once again the assets would be
> unavailable while the sim is down... unless we could make the sim
> upload the local assets to grid ones -only- if they aren't already
> there (eg: can't find an asset with the same uuid in grid assets). That
> would only cause big startup times firts time the sim would start.
> 
> So
> yeah that's mainly it. Not sure how good my ideas are but I really
> believe something needs to be done for local assets users too so they
> can run their sims normally in grid mode. An old mantis I have can be
> found here http://opensimulator.org/mantis/view.php?id=1124 if anyone
> can make use of it. I hope someone can find a solution for this... feel
> free to reply me at this same email address as its mine (though ill be
> subscribing to the mailing list) so I hope to see something going on
> about this :)
> _________________________________________________________________
> Connect to the next generation of MSN Messenger 
> http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev



More information about the Opensim-dev mailing list