A peer to_peer_message_exchange_scheme_f_71371


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A peer to_peer_message_exchange_scheme_f_71371

  1. 1. A PEER-TO-PEER MESSAGE EXCHANGE SCHEME FOR LARGE SCALE NETWORKED VIRTUAL ENVIRONMENTS Yoshihiro KAWAHARA, Hiroyuki MORIKAWA and Tomonori AOYAMA The University of Tokyo, 7-3-1 Hongo Bunkyo-ku, Tokyo, JAPAN {kawahara, mori, aoyama}@mlab.t.u-tokyo.ac.jpAbstract - Massively multiplayer online games and other information in the virtual environment, dynamic state ofmulti-user based networked applications are becoming a big entities, and so on.business today. Such kind of technology has long been To tackle with this problem, many communicationresearched in the area called Networked Virtual architectures have been proposed according to theEnvironments (Net-VE). With the recent deployment of requirement of applications. They are in most cases,broadband access technologies, the increase of the number categorized into two types: a peer-to-peer (SIMNET,of participants is putting pressure on the Net-VE systems. NPSNET [3]) and a server/client architecture (RING [4],The conventional systems coped with the scalability problem NetEffect [5]).by segmenting players onto multiple servers or multicast In a peer-to-peer based architecture, entities send a unicastgroups, limiting the number of users that could interact with or multicast message to other entities when an entity state iseach other. These schemes, however, force developers to updated. Though conventional unicast based approach yieldsinvest enormous money on hardware and spend much time O(N2) update messages for N entities and thus does not scaleon building complex software systems. In this paper, we to many participants, multicast based approach scales wellpresent a fully distributed communication protocol for when combined with area partitioning scheme called celllarge-scale networked virtual environments. As the entities based area of interest management. However, thein this scheme are directly connected to each other by unfortunate fact that multicast is not widely available on theunicast, no special infrastructure such as multicast or costly Internet makes it difficult to use this scheme in thecentral servers is needed. Simulation results show that this commercial applications such as MMORPG.architecture is scalable to the increase of the number of In a server/client based architecture, on the other hand,participants in the Net-VE system. every entity sends its update message to the central server, where the update message are replicated and forwarded to Keywords - Networked Virtual Environments, peer-to-peer, appropriate entities. Because of this centralized nature,online gaming servers can easily become bottleneck point or single point of failure in the system. Multi-server/client architecture or hierarchical architecture, which are often used in commercial I. INTRODUCTION online games, relieves the load of the servers by over-provisioning and load balancing only if the entire Networked Virtual Environment (Net-VE) is a software number of the entity in the system can be estimatedsystem in which multiple users are able to interact with each beforehand and the service provider can afford to invest inother in the 3D virtual environment created on networked costly servers. In addition, this schemes force developers tocomputers [1]. Technologies developed in this area are invest enormous money on hardware and spend much timewidely applied to various applications including military on building complex software systems. Therefore it is toosimulation, collaborative design, virtual meetings, distant costly to develop large-scale Net-VE applications witheducation and online games. In particular, Massively conventional scale-up scheme. This situation can limitMultiplayer Online Role Playing Games (MMORPG) are emergence of attractive applications.wining popularity and the entertainment industry is investing In this paper, we present a peer-to-peer communicationon them. For example, a famous massively multiplayer architecture to create a scalable 3D chat application withoutonline role-playing game called EverQuest [2] holds over costly servers or special infrastructure. In the next section,400,000 registered users. In such a large-scale application, we present our scalable peer-to-peer message exchangean enormous number of participants from heterogeneous scheme. A message exchange scheme enables entities to findenvironments interact with each other in one consistent other entities one after another without multicastvirtual environment, in real-time. Therefore improving the infrastructure or centralized mechanism in steady state. Thenscalability of the system is considered to be one of the most our simulation result is presented in section three. Finallymajor research challenges. The dominant factor that affects some conclusions and future work is given in section four.the scalability of the system lies in the way to exchange theupdate messages, which include entities’ ID, location
  2. 2. II. A PEER-TO-PEER MESSAGE and rough information is supposed to be enough. Various EXCHANGE SCHEME metrics such as Euclid distance in the virtual environment and network bandwidth can be used for this classification. Figure 1 illustrates the example classification where the When designing a large scale networked virtual nearest four entities are selected as Active Entities. Forenvironment, the way to exchange update message among example, Active Entities of entity “O” are {“A1”, “A2”,entities can be the most important issue because they are “A3”, and “A4”} and Latent Entities are {“B1”, “B2”, … ,continuously exchanged while avatars are participating in and “B8”}.the application. Update messages include avatars’ IDs,locations in the virtual environment, properties (name, color, B1and so on), event data (action data that some avatar is B1waving to someone), and chat text messages. They have B2different characteristics and should be treated accordingly. B8 A1 B2 As described in section I, conventional message exchange A1schemes are based on multicast or client-server model. B8Multicast based approach scales well when combined with A4 B3area partitioning scheme called cell based area of interest B7 A4 O A2 B3 A2 B7management. However, the unfortunate fact that multicast is A3 B4not widely available on the Internet makes it difficult to use Entitythis scheme in the commercial applications such as B6 A3 B4 ConnectionMMORPG. Client-server based scheme are basically an B6over-provisioning based approach, which requires the B5 Update Dataprecise estimation of participants and their behavior B5 Area Ofbeforehand as well as large investigation on expensive Interesthardware and complex systems. In our approach, we eschewed servers except for bootstrap Figure 1. The relationship among entities in the virtualservers in order to improve scalability without special environmentinvestment or multicast infrastructure. Each participatingentities connects to its neighboring entities, creating overlaynetwork. Presence and status of participating entities are Here, adopting the nearest N entities as Active Entities are considered to be reasonable especially in the crowdedshared among appropriate entities with a support of the circumstances. Imagine you are in a crowd at a cocktail party,overlay network. As entities are directly connected to eachother, this scheme can not only keep the latency smaller than everyone is chatting so aloud that you can barely talk to people just standing next to you. And if you find someoneserver/client based scheme, but also be deployed withoutmulticast infrastructure. More details of this scheme are you want to talk to is standing a few meters away from you, it is reasonable for you to step forward to him and set him asdescribed below. your Active Entity.A. Bootstrap Method The approach of localizing the communication among A bootstrap method is a consecutive procedure for an participating entities to reduce communication bandwidth isentity to participate in the virtual environment for the first called “area of interest management (AOIM)” and actuallytime. The entity needs to acquire some information on other adopted in some Net-VE applications. In NPSNET project,entities that are already in the Net-VE through the bootstrap the virtual environment is divided into cells to whichprocedure. The bootstrap procedure can be performed in multicast address are assigned. Communications amongseveral ways, such as bootstrap server based approach and entities in the same cell are performed by multicasting.host cash based approach. We have developed scalable Another implementation shown in NetEffect uses ahost-cache based bootstrap for Net-VE [7]. Though detail distributed server approach instead of multicasting tomechanism of this bootstrap scheme is out of the scope of achieve extensibility and flexibility. These approachesthis paper, we assume this scheme is used for bootstrap require service provider to estimate the total number of usersmethod. in the application and install sufficient resource on theB. Creating An Overlay Network system. One of the originalities in our approach is to perform After an entity acquired some other entities, entities this AOIM over the overlay network that is created byestablish unicast connections to other entities in order to participating users.create overlay network. To decide which entity to connect to, When creating an overlay network, the way to chooseeach participating entity classifies the surrounding entities appropriate entity to connect to becomes important issue.into two groups called Active Entities (AE) and Latent This procedure is described below.Entities (LE). AE are entities that are regarded as in After Active Entities are determined, each entity theninteraction and need tight communication. LE are entities establishes a direct connection with their Active Entities andthat have the potential of interaction thus just the existence exchanges their update messages. Necessary and sufficient
  3. 3. information such as location information in the virtual result. Whole architecture of this simulator is shown inenvironment, status updates, chat message, and other Figure 2.application specific data are exchanged through thisconnection. As for information of Latent Entities, each entity degradesor compresses its Active Entities’ minimum requiredinformation (network identifier, location information, and so Entity Initializer Set up entities behaviour in the Virtual Environmenton) into the size small enough. Then they exchange it with Simulatesother Active Entities. Since Latent Entities are defined as the Server-Client Architecture Simulatesentities whose information is not immediately needed or Peer-to-Peer Architectureexistence is unknown so far, rough or degraded information C/S Entity Processor P2P Entity Processoris assumed to be enough. When some Latent Entity isapproaching another and more detailed information is Update location for all Update location for the entities Entity(I)required, then they are supposed to recognize each other asActive Entities to establish a direct connection. Get latest Information Calculate the distance In this way, it is possible for each entity to find other among all the entities YES for Entity(I).AE(J)entities one after another in a fully distributed manner. Since Get AE list for YESthe update messages of Active Entities are directly Set proper Active Entity(I).AE(J) Entities for each Entityexchanged with unicast, not only the latency can be kept J < # of AE forsmaller than server/client based scheme, but also this Entity(I)application can be deployed without multicast infrastructure. Set proper Active Entities for each Entity III. SIMULATION In this section, we show the scalability and performance of I < # of Entitiesour scheme by simulation. One of the key issues for creatingNet-VE over an overlay network is to keep optimal NOadjacency relationships of the entities in the virtualenvironment even if the number of participants in the STDOUT Display styleapplication is enormous. Graphical This simulation is based on the scheme shown in section II Evaluatorand performed as follows: 1. Entities share a common map of the virtual environment beforehand. STDOUT Graphical Renderer 2. Each entity holds a list of neighboring entities. (AE List) 3. When an entity enters a virtual environment for the Figure 2. Simulator Architecture first time, a bootstrap server tells several candidates to the entity and then the entity picks up proper entities to connect to. 4. Entities can walk about in the virtual environment at random. Table 1. Parameters of entities 5. Each entity communicates with the entities in its AE Field Name Description List and exchanges their ID, location information and ID Entity’s identifier in the network AE List itself. Location X,Y,Z Entity’s location in the VE 6. After arranging the information of the neighboring AEList[K] ID, Location, Cached data of Active Entities entities, each entity selects the nearest N entities as Distance, new Active Entities. Timestamp Num_of_AEs The number of Active Entities C. Simulator Architecture Timestamp Elapsed time since the entity In order to know the behavior of the entities in the virtual entered the VEenvironment, we have developed simulation software thatsimulates the behavior of the entities in the virtualenvironment. In this simulator, every entity prowl in a virtualenvironment randomly and exchanges its locationinformation and network ID among other entities based onconventional server/client based scheme and proposedpeer-to-peer based scheme. The entities’ behavior and theirrelationship are illustrated graphically shown as a simulation
  4. 4. 1) Entity Initializer Entity Initializer is a module where every entity’s instance is created. Here, every entity’s locus and speed are determined so that their location can be determined uniquely by the timestamp. This makes it possible to compare different message exchange schemes under the same condition. This module also simulates the mechanism of bootstrap servers . 2) C/S Entity Processor C/S Entity Processor is a module where client/server based message exchange scheme is simulated. In the server/client model, all the entities in the virtual environment inform a message exchange server of their current location and IDs. Then the server replicates the message and transfers them to the appropriate clients. In this model, C/S Entity processor processes the entities as follows: 1. Calculates the entities location at time T 2. Calculates the distance among all the entities to generate a distance table 3. According to the table, inform the nearest N entities of each entity as Active Entity 3) P2P Entity Processor P2P Entity Processor is the module that simulates the peer-to-peer based message exchange scheme described in section 4. That is all the entities walk about in the virtual environment in an autonomous manner and exchange their Active Entity List among their neighbors. The detailed algorithm is as follows: 1.Updates the location of entity “I” (Entity(I)) at time T 2.Inquire its neighboring entities (Entity(I).AE(J)) about its current location 3.Then inquire the neighboring entities about the information of their neighboring entities (Entity(Entity(I).AE(J).ID).AE(K))) 4.Calculates the distance among the entities based on the information acquired in the previous step and sort them in order of the distance 5.Set the nearest N enteritis as new Active Entities D. Simulation Results The simulation result can be displayed in two ways. The first one is graphical mode. In the graphical mode, the relationships among entities are visualized in a window. This mode helps to understand the qualitative behavior of the entities in the virtual environment. The second one is text mode. By comparing the detailed status information of the entities under the different message exchange schemes, quantitative analysis can be performed in this mode.1) Qualitative Analysis Simulation results are shown in Figure 3. Each figure shows the simulation results that were performed by changing two parameters: the number of total entities in the virtual environment and the number of Active Entities each Figure 1. Simulation Results (Graphical) entity holds. The left part of each figure represents the relationships among entities in the client/server based architecture. And
  5. 5. the right part represents the one in the peer-to-peer based IV. CONCLUSIONS AND FUTURE WORK architecture. Here, square dots represent the entities in the virtual environment. And if an arrow points from entity “A” In this paper, we presented a fully distributed message to entity “B”, it means that entity “B” is one of the Active exchange scheme that enables entities to find other entities Entities for entity “A”. one after another by exchanging update messages only with What could be concluded from Figure 1 is that, their immediate neighbors in the virtual environments. qualitatively, the relationships among entities in client-server Our simple simulation result shows that this message based model and peer-to-peer model resemble each other: exchange scheme can build consistent virtual environment in that is the peer-to-peer based scheme is able to build almost a scalable manner. the optimal adjacency relationships given in the client-server We believe this communication architecture enables models. developers to create attractive large-scale Net-VE2) Quantitative Analysis application without special infrastructure for scaling the In order to evaluate our system quantitatively, now we system. define Consistency as equation 1 to measure how accurately At the moment, we are implementing 3D chat software this scheme establish adjacency relationships among entities SCAMPI using this message exchange scheme and going to by comparing the difference of the Active Entity List of show its scalability on the Internet. entities between peer-to-peer based simulation and client/server based one. Now Consistency is defined as follows: REFERENCES N 1 P (i ) Consistency = N ∑ Q (i ) i =1 (1) [1] Shinghal, S., and Zyda, M., Networked Virtual Environments, ACM Press, 1999. N: the number of entities in the virtual environment [2] EverQuest: http://everquest.station.sony.com/ P(i): the number of entities that exist in the AE List of [3] Macedonia, M., Zyda, M., Pratt D.R., and Barham P.T., entity “i” in both peer-to-peer and server/client model Exploiting Reality with Multicast Groups: A Network Q(i) : the number of the Active Entities for entity “i” Architecture for large Scale Virtual Environments. Proceedings of IEEE Virtual Reality Annual International Figure 4 shows the Consistency of the two schemes. This Symposium, 1995. simulation result shows that the peer-to-peer based message [4] Funkhouser, T.A., RING: A Client-Server System for exchange scheme makes it possible for entities to establish Multi-User Virtual Environments, Computer Graphics almost consistent relationship (>0.9) compared to centralized (1995 SIGGRAPH Symposium on Interactive 3D scheme (optimal), independently of the number of the Graphics), pp. 85-92., 1995 participants in the virtual environment. That is, the fully [5] Tapas K. Das, Gurminder Singh, Alex Mitchell, P. distributed message exchange scheme described in Section 2 Senthil Kumar, Kevin McGee: Developing Social Virtual scales even if the hundreds or thousands of people are Worlds using NetEffect, Proceedings of the 6th Workshop participated in a single virtual environment. on Enabling Technologies Infrastructure for Collaborative Enterprises, pp. 148-153, 1997 Consistency [6] Gnutella: http://www.gnutelliums.com/ 1 [7] Matsumoto, N., Kawahara, Y., Morikawa, H., Aoyama T.: An Interest-Oriented Bootstrap Method for 0.9 Large-Scale Networked Virtual Enviornments ,IEICE Technical Report IN2002-, July, 2002. . (in Japanese) Consistency 0.8 [8] Kawahara, Y., Matsumoto, N., Morikawa, H., and AE=5 0.7 Aoyama, T., A Distributed Communication Architecture AE=7 AE=10 for Networked Virtual Environments, Technical Report of 0.6 AE=20 IEICE, IN-2001-229, 2002. (in Japanese) 0.5 20 50 100 200 500 1000 2000 5000 10000 The number of entities in the virtual environment Figure 4: Consistency and the number of entities in the virtual environment