A primary concern for this design is whether the server can adequately handle the bandwidth once we include interactions between avatars. Indeed, our first preference for behaviors is not the client/server model, but a distributed model such as implemented by the Distributed Interactive Simulation (DIS) protocol. We believe the DIS method of multicasting state information for each entity not only scales better with the number of entities (clients), but has the ability to be more general and allow a much greater degree of interaction and experimentation than the client/server model. The disadvantage is that behavior implementation is shifted to the clients, which are already burdened with a major rendering task. We feel however that the network is the current bottleneck to multi-user worlds and DIS uses the network more effectively. But in order to implement a world in which we and others could try out our ideas about behaviors, and in order to stimulate further discussion and work in this area, we decided to start with the easier client/server approach using HTTP as a protocol.
We have prototyped a DIS-subset multicast protocol to send IVL commands across the network. We intend to support both new protocol and HTTP, but we anticipate some functionality will only be available with the new protocol.