A peer-to-peer architecture for networked virtual environments

Varvello, Matteo

Thesis

A Networked Virtual Environment (NVE) is a synthetic world where humancontrolled
avatars can interact. Multiplayer on-line games such as Quake and World of Warcraft are the most popular applications for NVEs. In early 2003, Second Life (SL), a NVE where avatars can invent a new social life, was launched. The main innovative feature of SL is user-generated content: avatars participate in the development of the virtual environment by creating objects such as cars, trees, and buildings. SL rapidly became the most popular NVE, reaching more than 16 million registered users in September 2009. The state of the art for NVEs design is a Client/Server architecture where multiple servers maintain the state of the virtual world and distribute it to the users. This architecture is very expensive as large amount of servers need to be deployed, operated and maintained. Moreover, scalability is an issue. These drawbacks motivate alternative designs such as Peer-to-Peer (P2P). Ideally, a P2P virtual world can scale with the number of its users as each user dedicates some of its resources (storage, PU, bandwidth) to the management of the virtual world. Moreover, P2P can dramatically cut server and network cost for the virtual world provider. The contribution of the thesis is threefold. First, due to the lack of publicly available data about NVEs such as avatar movement patterns or object distribution, we perform an extensive analysis of SL. We deploy a crawler and a player application and monitor objects, avatars, user Quality of Experience and servers performance in the public part of SL over one month. Second, we design and build a distributed objectmanagement for user-generatedNVEs. We first integrate this distributed object management on the top of KAD, the P2P network that supports millions of eMule users, and perform large-scale experiments. Then, we propose Walkad, a structured P2P network designed to manage user-generated objects in P2P-based NVEs. Third, we investigate the feasibility of a distributed avatar management using the Delaunay triangulation. To start with, we evaluate the performance of the Delaunay triangulation via realistic experiments performed in SL using a modified client we developed. Then, we design two optimizations for Delaunay triangulation: (1) a clustering algorithm to efficiently handle large avatar groups, and (2) a secured extension to the Delaunay triangulation that leverages the social component of NVEs.