[Opensim-dev] Local assets in Grid mode

Stefan Andersson stefan at tribalmedia.se
Sat Sep 13 14:59:38 UTC 2008


Folks,

It's been a long time ambition to streamline the services into something a bit more 'chainable'.

All services should  be thought of, and implemented like, provider interfaces;

it should not matter to the code if it IAssetProvider.GetAsset from something that reads directly, and un-cached, from disk, or from something that uses an in-memory IAssetProvider as a cache and uses its internal http proxying IAssetProvider to forward requests to a http service;

On the http service end, The service should be implemented with the _exact_ same family of concrete IAssetProvider implementations to fetch and serve the resources; this will lead to efficient code re-use and to build 'service chains' (think streams) will ease redirection and inclusion of multiple services on each chain step. IE, the 'grid asset service' could, in turn, re-route asset requests to yet another higher node, or to the asset service of another grid, using the exact same concrete implementations as the region server.

For quite some time I've been pointing out that efficient asset fetching and caching will be different from one scenario to another. Chaining like this will accomodate the basest case, all to the inter-grid metaverse protocols.

The same goes for all the other services (user/inventory/message/grid) as well; if we can harmonize and normalize the interfaces and implementations, we can start to build intelligent information routing chains - a big step towards intergrid experimentation.

(In this scenario, the simplest scenario for a local implementation would be to instantiate a local file-based IAssetProvider directly instead of the cached proxy that would constitute the grid equivalent. What concrete class should be the asset provider(s) should be an ini setting, like any other module setting.)

And, while we're on the topic; the asset fetching needs to go asynch; we can't have the lag of each step fetching the full asset before returning it to the next step.

Best regards,
Stefan Andersson
Tribal Media AB
 
Join the 3d web revolution : http://tribalnet.se/

 


> Date: Sat, 13 Sep 2008 15:15:31 +0100
> From: melanie at t-data.com
> To: opensim-dev at lists.berlios.de
> Subject: Re: [Opensim-dev] Local assets in Grid mode
> 
> Yes. In the future it will be. But to get there at all, the first 
> logical step is to remove local asset mode. It was only a kludge, 
> left over because of legacy compatibility.
> It has become a stumbling block now and needs to be relegated to the 
> junkyard of ancient code history.
> 
> Melanie
> 
> 
> James Hughes wrote:
> > Melanie wrote:
> >> What I propose is a multi-step process.
> >>
> >> 1. Remove the local assets flag and the code needed to use local 
> >> assets. At this time, local asset regions need to start a local
> >> asset server and change their grid asset server to point to 127.0.0.1.
> >>
> >> 2. Refactor the asset loading system, providing a persistent local 
> >> asset cache and cleaner code paths.
> >>
> >> Up to here, there would be no functional changes.
> >>
> >> 3. Extend the interface to get a "asset search list", which will let 
> >> the region's avatars use grid assets even while in the local asset 
> >> region.
> >>
> >> Melanie
> >>
> >>   
> > As grids start to inter-connect the asset system will, probably, become
> > very distributed. Maybe the Grid server will provide a service to
> > automatically point Region servers to Asset servers that are trusted for
> > the "local" grid. Then Regions could add others as needed in the
> > configuration.
> > 
> > Say a region on grid-a has a vendor in a rental space. The items to be
> > sold are hosted on the Asset service for grid-b. And, I make my home on
> > a region in grid-c. If I purchase the item, the Region on grid-a needs
> > to point my Inventory service to the grid-b Asset service to make a
> > reference to the item. And, possibly arrange a copy of the item to be
> > transfered to my Asset service on grid-c. And, when I rez the item on my
> > home grid, it could be pulled from my grid's Asset server, or possibly
> > the grid-b Asset server.
> > 
> > The Inventory service could also point to multiple Asset services to
> > make the system redundant to provide a backup feature.
> > 
> > BlueWall <j>
> > 
> > 
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev
> > 
> > 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080913/b8ceecaa/attachment-0001.html>


More information about the Opensim-dev mailing list