The Future of Networked Virtual Environments
Future NVEs are expected to become more complex and realistic, somehow competitive with real life.1 Improvements in computational power, three dimensional rendering, and available bandwidth may make the vision come true in the near future. NVEs could also be run on a variety of devices, e.g., not only computers or TVs, but also on Personal Digital Assistants and mobile phones. They may be build on top of infrastructure-less networks such as Delay Tolerant Networks  where users are either connected to closeby devices or they have only intermittent Internet connectivity. For example, NVEs running on infrastructure-less communication architectures seem a promising platform for “mixed reality games” . These are MOGs where the physical location of a player drives its avatar location in the virtual world. Our vision of a future NVE is a user-generated virtual environment where avatars can have fast paced interactions. Such a NVE would allow a tremendous evolution in MOGs: we can imagine a FPS game, e.g., Quake, where avatars interact in a usergenerated environment like Second Life. Thus, future NVEs have much stronger requirements than common NVEs, and need to leverage an architecture that provides high level of Consistency, Responsiveness, Scalability, Persistency and Security. Nevertheless, an architecture for future NVEs must be flexible enough to be run over a dedicated infrastructure as well as over infrastructure-less environments. We identify in Second Life (SL) the first step towards future NVEs. In fact, SL is much more than a simple virtual world. Indeed, SL is a virtual reality-based Internet in the spirit of the metaverse described in “Snow Crash” . In the thesis, we make a major effort to analyze SL. The rational is that studying user behavior in SL aswell as the dynamics of the virtual world evolution, e.g., user-generated content, is crucial in order to drive the architectural design of future NVEs.
Architectures for Networked Virtual Environments
Today, most NVEs are implemented using a Client/Server (C/S) architecture. The virtual world is divided into independent lands eachmanaged by a dedicated server. The tasks of a NVE server are: avatar management and object management. The avatar management consists in updating each avatar about the status of its neighbor avatars in real time. The object management consists inmaintaining the user-created objects over time, and informing each avatar about the objects in their visibility area. The role of the client in a C/S NVE is to simply capture user input, e.g., avatar movements or the creation of a new object, and send this information to the server. The advantages of a C/S architecture for NVEs are multiple. C/S architectures are naturally consistent and persistent when communication is reliable. Moreover, security is enforced as all significant information, e.g.,user scores and accounts, are maintained by trusted authorities, i.e., the servers. However, a C/S architecture for NVEs has also many drawbacks:
• Servers have to be deployed, operated and maintained.
• Scalability: each server can only handle a finite number of users, so the cluster of servers must be dimensioned according to the expected peak demand.
• The server is a single point of failure, and may limit service availability.
• C/S is not optimal from a delay point of view since all the communications are relayed by the server. Consequently, the responsiveness of the NVE may be reduced.
P2P Networked Virtual Environments
Recently, several P2P architectures for virtual worlds have been proposed. These P2P architectures mainly address the problem of distributed avatar management, i.e., neighbor avatars discovery and avatar state updates dissemination. For the object management, these solutions simply assume that the virtual world object composition is pre-located at the clients. To our knowledge, MiMaze  was the first server-less on-line game, deployed using IP multicast . MiMaze introduces a distributed synchronization mechanism that guarantees consistency despite the presence of heterogeneous network delays. In MiMaze, avatar entities are globally replicated and kept consistent using lock-step synchronization and broadcast updates. As a consequence, the P2P game can only scale to a limited number of users, and responsiveness is limited to the speed of the slowest client.
Knutsson et al.  address the limitations of MiMaze designing SimMud, a distributed massively multi-player on-line game. SimMud leverages a P2P network to handle the transient game state (e.g., avatar state information) and a central server to manage persistent user state (e.g., landscape information and user accounts). Sim- Mud users exchange avatar state updates through Scribe , an application-layer multicast built on top of the Pastry  DHT.
Table of contents :
List of Figures
List of Tables
1.1 Networked Virtual Environments
1.2 The Future of Networked Virtual Environments
1.3 Architectures for Networked Virtual Environments
1.4 Thesis Organization
1.5 Thesis Contributions
2.1 Networked Virtual Environments
2.3 P2P Networked Virtual Environments
2.4 Second Life
2.5 On Line Social Networks
2.6 Range Queries
2.7 Delaunay Network
3 Exploring Second Life
3.2 Second Life
3.4 A Global View at Second Life
3.5 In-Depth Analysis of the Most Popular Regions
3.6 Second Life as a Social Network Service
3.7 Playing Second Life
4 Distributed ObjectManagement
4.3 A Simple Approach
5 Distributed Avatar Management
5.2 The Delaunay Network
5.3 A Distributed Avatar Management for Second Life
5.4 Dynamic Clustering
5.5 Social Delaunay Network
6.3 What is Missing?