[Opensim-dev] explanation of services

Paul Fishwick fishwick at cise.ufl.edu
Tue Jun 30 02:49:29 UTC 2009


Thanks - I will take all of this into account!
-paul


Cristina Videira Lopes wrote:
> For "grid mode" things are not as you describe. I can tell you how 
> things are done currently, but this may/can change very easily, and in 
> fact things are quite different if C is Grider.
>
> For the normal LL client, and as of now: C never talks to G/A/I 
> directly; it talks to U and to Rs only. Upon login, C first contacts U, 
> which in turn contacts G to know the info about the intended login 
> Region, and then it informs that region R about the agent.
>
> On region crossings/TPs G is also not involved that much; it only serves 
> for the departing region to find the info about the destination region. 
> Once it gets that info, crosssings/TPs are done region-to-region. It's 
> also the regions that interact with C during this process. The only 
> difference in HG is that G is not used for region lookup at all; instead 
> the info about the destination region is local to the departing region. 
> But TPs are almost identical, with one extra first step.
>
> You can find some sequence diagrams here:
> http://opensimulator.org/wiki/Teleports
>
> Paul Fishwick wrote:
>   
>> I am writing a tutorial for a conference, where I'd like to introduce
>> them to OpenSim, and I wanted in that tutorial to include some information
>> on how services connect. If there is a web page that I have overlooked,
>> please let me know where it is.
>>
>> Here are some assumptions, which may not be right--and I'd like to be
>> as accurate as possible. Here are some letters I'll use for servers:
>>
>> C - Client
>> G - Grid
>> U - User
>> A - Asset
>> I - Inventory
>> M - Messaging
>> Rx - Region # x
>>
>> .............................
>>
>> 1. For StandAlone mode, C connects with one server that contains all of 
>> the other services
>>     inside of it, along with N regions. So, this behavior seems more 
>> straightforward.
>>     All "other services" are (U,A,I,M, and Rx).   I am assuming that 
>> most LSL commands
>>     are executed server side, except for some like Rotation, Audio and 
>> Video Streaming...
>>     Is there a list of what is server vs. client side?
>>
>> 2. For Grid mode, here are some guesses - please correct or edit..
>>
>>     C connects to G and then G serves as a gateway, routing messages to 
>> the other
>>     services. For example, if a user logs in, C connects to G which 
>> connects to U,
>>     which contains information on all agents and their avatars, 
>> positions, etc.
>>
>>     A and I require the bulk of the database storage since Regions (R) 
>> have a UUID
>>    (pointer) reference and do not contain the bulk of the data (i.e, 
>> textures, images,
>>    prim attributes).
>>
>>     If a region crossing is made from, say R1 to R2, R1 sends a message 
>> to G which
>>     forwards it to R2.
>>
>> 3. For HyperGrid mode, there is no "G" and so it is more of a peer to 
>> peer relationship
>>     of StandAlones.
>>
>> Comments and corrections welcome!
>>
>> paul
>>
>>     
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>   


-- 
Paul Fishwick, PhD
Professor and Director, Digital Arts and Sciences Programs
University of Florida
Computer & Information Science and Eng. Dept.
Bldg. CSE, Room 301
P.O. Box 116120
Gainesville, FL 32611
Email: fishwick at cise.ufl.edu
Phone: (352) 392-1414
Fax: (352) 392-1220
Web: http://www.cise.ufl.edu/~fishwick




More information about the Opensim-dev mailing list