Avatar portability version 2

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Basic Idea)
Line 1: Line 1:
 
[[User:Lulurun]]
 
[[User:Lulurun]]
 
== Basic Idea ==
 
  
 
To enable user avatar travel from a grid service to another grid service,
 
To enable user avatar travel from a grid service to another grid service,
Line 13: Line 11:
 
only implemented 2nd, and would like to explan my idea:
 
only implemented 2nd, and would like to explan my idea:
  
----
+
== Basic Idea ==
  
 
*User U1 resgitered at GridService G1
 
*User U1 resgitered at GridService G1
Line 23: Line 21:
 
** R2 fetches assets from Assetserver As2 by default.  
 
** R2 fetches assets from Assetserver As2 by default.  
 
** R2 gets inventory information from InventoryServer I2 by default.
 
** R2 gets inventory information from InventoryServer I2 by default.
 +
 +
[[Image:avatar_portability_v2_1.PNG]]
  
 
== Avatar Portability ==
 
== Avatar Portability ==

Revision as of 05:26, 22 July 2008

User:Lulurun

To enable user avatar travel from a grid service to another grid service, There are 3 problems to be considered:

  1. How to enable foreign user login - Authentication
  2. (If a foreign user can login)How to get a foreign user's belongings(including appearance, inventory)
    • This is discussed in this page
  3. AvatarPortability - Security

To achieve the 1st, client side changes are needed. SO, so far, I have only implemented 2nd, and would like to explan my idea:

Contents

Basic Idea

  • User U1 resgitered at GridService G1
    • U1's inventory information is stored in InventoryServer I1
    • U1's assets are stored in AssetServer As1
    • U1's appearance information is served by AvatarService Av1
  • RegionServer R2 serves a sim at GridService G2
    • R2 fetches assets from Assetserver As2 by default.
    • R2 gets inventory information from InventoryServer I2 by default.

Avatar portability v2 1.PNG

Avatar Portability

In "users" table, "UserInventoryURL" and "UserAssetURL" have been there for a long time, and they are not used yet. My idea starts from the 2 properties;

1 UserInventoryUrl UserAssetUrl

Avatar portability 1.PNG

  • U1 is an user of GridService G1, so probably, U1's "UserInventoryURL" and "UserAssetURL" are pointing to G1's default Inventory/Asset server.
  • R2 is a regionserver in GridService G2, so R2 fetches assets from G2's Asset server by default.

2 Fetch data from multiple Inventory/Asset Data

Avatar portability 2.PNG

  • U1 login to R2, If U1 want to also bring in its apearance, R2 should have the ability that can get U1's appearance from U1's "UserInventoryUrl" and get U1's assets(textures) from "UserAssetUrl".
  • So, in this case, because an asset request("RequestImagePacket") only sends asset UUID to R2, R2 has to determine which asset server provides the reuqested UUID.

3 ForeginAssetHashTable

Avatar portability 3.PNG

>R1 has to determine which asset server provides the reuqested UUID

  • At the right-bottom of this picture, "ForeginAssetHashTable" is used to solve this.
  • When an user login,
    1. region gets its "inventoryurl", "asseturl" from its "profile"
    2. region gets its appearance(UUIDs) from its "inventoryurl", and add the UUIDs into "ForeginAssetHashTable"
    3. Then when client send a "RequestImage(UUID)", RegionServer can look up into "ForeginAssetHashTable" to get the proper "AssetUrl"

Implementation

Authentication

not prepared yet

Avatar Portability

1 Implementation - ForeginAssetHashTable.Add

Avatar portability 4-1.PNG

2 Implementation - ForeginAssetHashTable.Get

Avatar portability 4-2.PNG

3 Implementation - ForeginAssetHashTable.Remove

Avatar portability 4-3.PNG

Personal tools
General
About This Wiki