[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