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 [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
