|
|
(15 intermediate revisions by one user not shown) |
Line 2: |
Line 2: |
| [http://openugai.sourceforge.net openugai] | | [http://openugai.sourceforge.net openugai] |
| | | |
− | == proposal to subdivide the assets table == | + | == My Proposals == |
| | | |
− | my proposal is to subdivide asset table into 2 tables:
| + | *Region portability |
− | user_asset : for user owned assets (mainly in inventory, appearance, attachment, ...)
| + | **[[subdivide the assets table]] - maybe "subdivide the asset service is more proper" |
− | user_asset is used by UGAI servers
| + | *User portability (Grid interoperability) |
− | region_asset: for region owned assets, sounds, textures(including sun, moon, ...)
| + | **[[avatar portability]] |
− | region_asset is used by region servers
| + | **[[avatar portability version 2]] |
| | | |
− | Advantages (major points first):
| + | *[[OpenID for data portability in virtual world]] |
− | 0. increase the dispersity of asset data, clarify the responsibility of each server
| + | *[[Yadis for UGAI services discovery]] |
− | Currently, all of the asset data is stored in assets table, managed by assetserver.
| + | |
− | This would cause some problems:
| + | |
− | 1. assets table keeps growing in a fast pace.
| + | |
− | 2. hard to determine which asset is belongs to inactive regions (when you want to "clean"
| + | |
− | the assets table).
| + | |
− | 3. assetserver not only serves users' data but also regions' data, if something happened to
| + | |
− | assetserver both of avatar and prims will become gray.
| + | |
− | To seperate asset tables can not only solve these problems, but also brings minor benefits
| + | |
− | such like: reduce the responsibility of assetserver, disperse the asset requests(especially
| + | |
− | for big grid service), lower the risk of losing data, ... | + | |
− | | + | |
− | 1. for Data Portability in virtual world
| + | |
− | For grid admin,
| + | |
− | * you can concentrate on managing only user(not region owner) relavent information
| + | |
− | like "users, avatarappearance, inventory"
| + | |
− | * it can reduce the vulnerability caused by foreign assets.
| + | |
− | * no complains about "no texture on prims" any more.
| + | |
− | * when a region leaves your grid, you don't have to worry about its assets becoming garbage.
| + | |
− | - on the other hand, this also good for region owners.
| + | |
− | For when a user registers their region server with a grid,
| + | |
− | * When you want to switch your sim to a new grid, "prims, primshapes, terrain, region_asset"
| + | |
− | are always tied-up together. the only thing you need to do is to edit UGAI servers URI in
| + | |
− | your OpenSim.ini
| + | |
− | For standalone-mode user - probably creators,
| + | |
− | * Avatars and buildings are saved separatly, export/import objects will become more simple.
| + | |
− | Or you can provide the DB file directly.
| + | |
− | | + | |
− | 2. make grid-mode more flexible
| + | |
− | Here are some pictures, they are showing some pattern after the subdividing:
| + | |
− | http://openugai.sourceforge.net/?page=assets_subdividing
| + | |
− | | + | |
− | 3. reduce the posibility of assetid conflict by reducing the scope of assetid.
| + | |
− | | + | |
− | To achieve this, regionserver should not fetch assets from only one assetserver, So,
| + | |
− | One of the main changes we have to do is in "GridAssetCient.cs":
| + | |
− | L50: protected override AssetBase GetAsset(AssetRequest req)
| + | |
− | to
| + | |
− | protected override AssetBase GetAsset(AssetRequest req, string asset_url)
| + | |
− | | + | |
− | L79: protected override AssetBase StoreAsset(AssetRequest req)
| + | |
− | to
| + | |
− | protected override AssetBase StoreAsset(AssetRequest req, string asset_url)
| + | |
− | | + | |
− | | + | |
− | what do you think ?
| + | |