VRML+



MultiUser Services - overview


The services described below implement the functionality to handle Avatar description, Motion and Text Chat.

Scenario

A simplified scenario will illustrate how they can be used.

The client loads a new space, and finds a node describing a MultiServer


Client                                                                    Server

 ---- GetID() -------------------------------------------------------------->

 <-------------------------------------------------SetID(ID) ---------------

 ----- SetX(ID,NAMETYPE,"Fred") -------------------------------------------->

 <------------------------------------ AckSet(NAMETYPE) --------------------

 - SetX(ID,VRMLTYPE,#VRML1.0 WWWInline { name "http://foo.com/dog.wrl"}) --->

 <------------------------------------ AckSet(VRMLTYPE) --------------------

Five times a second when moving, or once a second when stationary, the Client sends an update to the server.

 - ClientUpdate(ID, x,y,z, a,b,c,r, horizon, maxghosts, maxneighbour) ------>

Around five times a second it should receive updates.

 <----------------- NeighbourUpdate(x,y,z, #Ids, Id*, #Updates Update*) ----

Each Update contains (Id, delta-x,delta-y,delta-z,a,b,c,r), if the client hasn't seen the ID before it finds out about it from the ID server.

 --- GetX(ID,NameTYPE) ----------------------------------------------------->

 <---------------------------------------- SetX(ID,NAMETYPE,"joe") ---------

 --- GetX(ID,VRMLTYPE) ----------------------------------------------------->

 <--SetX(ID,VRMLTYPE,"#VRML1.0 WWWInline{ name "http://foo.com/dog.wrl"}) --

Redirection and multiple servers

It should be noted that throughout these documents we describe a number of servers, typically these servers will all be co-located on a single host and port. We call this a MultiServer. However in order to allow scaling, the MultiServer (or any of the other servers) can respond to a packet with a Redirect Packet that refers the client to use a different server for some specific service. The document refers to servers by names like ID Server and Motion Server, which refers to whichever server is providing that particular service.


Worlds Inc VRML+ Team
Alan Steremberg <alans@core.worlds.net>
Jeff Close <close@halcyon.com>
Kyle Hayes <kyle@core.worlds.net>
Mitra <mitra@mitra.biz>

All contents Copyright © 1995 Worlds Inc. Reproduction for personal use is permitted. All other uses are prohibited without the formal authorization of Worlds Inc., Worlds, Worlds Chat, AlphaWorld, VRML+, Internet Worlds Fair, LifeForms, Worlds Class Builder and It's Your World are all trademarks of Worlds Inc.
Web Problems?