object y when the focus of x intersects the nimbus of y[1]. A pure focus-nimbus interest management model does not scale well because of the high computation ...
A Distributed Interest Management Scheme for Massively Multi-user Virtual Environments Behnoosh Hariri1,2, Shervin Shirmohammadi2, and Mohammad Reza Pakravan1 1
Department of Electrical Engineering, Sharif University of Technology, Tehran, Iran [hariri | pakravan]@ee.sharif.edu 2 Distributed Collaborative Virtual Environment Research Laboratory School of Information Technology and Engineering, University of Ottawa, Ottawa, Canada [bhariri | shervin]@discover.uottawa.ca
Abstract - Massively multi user virtual environment (MMVE) applications must face the challenge of dealing with update message exchange among a large set of nodes distributed over the Internet. Therefore design of scalable network protocols is a major concern in such large scale distributed architectures. Several approaches have been proposed to aid update exchange in MMVEs. Message localization has always been a key point in the design of such distributed network protocols. Area of Interest Management (AoIM) mainly deals with the issues related to the update message localization with respect to the user’s interest. As the number of users in the virtual environment increases, update message localization becomes more important in order to prevent transmission of a huge bulk of unnecessary update messages to uninterested users. Therefore, scalable and efficient area of interest management is a challenge in MMVE design. This paper introduces a new zone selection and distributed regional message filtering architecture for MMVE applications. We propose Delaunay tetrahedrization of the virtual environment as a good way of virtual world partitioning due to several promising features. Moreover we propose a partitioning scheme with respect to barriers in order to reach a better performance through the filtering of a group of update messages that need not be propagated over the barriers. We will also introduce a distributed interest management design based on the previous partitioning technique. Our proposed distributed message dissemination approach is capable of providing the interested users with variable updates rate according to their required Level of Detail.
I. INTRODUCTION A collaborative Virtual Environment (DVE) is defined in terms of a group of users that are distributed over a wide area network such as internet. CVE users interact through a 3D interface program that simulates the experience of immersion in a virtual environment by rendering images of the environment as perceived from the user's simulated viewpoint. As the number of users and simulation entities in collaborative virtual environments grow to become over thousands, they turn into massively multi user virtual environments. There are three primary entities of concern in a virtual world: avatars, sites and means. Each user is represented in
the shared virtual environment by an avatar whose state is controlled by that user’s input and kept up-to-date on other participating nodes via update messages. Sites are the places where avatars perform their activities. This term usually refers to the game map and elements like sky, terrains, mountains and other objects that cannot be changed or moved by the avatars and have fixed states on the map. Therefore they can be loaded once upon the start of the game and won’t need any later updates. Means generally refer to non-user controlled object and artifacts used by avatars within the sites to support their activities. As Avatars move around and interact with each other, updates are generated for both means and avatars. These updates need to be exchanged in real time in order for the MMVE to provide the users with the sense of real collaboration. Therefore design of a scalable data replication schemes becomes one of the major requirements for the MMVE development. Entity state broadcasting is the simplest solution to this problem. However it consumes significant network resources and contradicts with the scalability concerns. Therefore Area of Interest Management (AoIM) was introduced to address this problem by sending to a player’s computer only the messages that are relevant to its avatar. Space-based interest management is based on proximity perception and usually defined in terms of focus and nimbus for the objects. Focus describes the observer’s allocation of attention, while nimbus describes the observed object’s manifestation or observability. In its simplest model, both the focus and nimbus can be represented by fixed-size circles around the object. An object x is then aware of another object y when the focus of x intersects the nimbus of y[1]. A pure focus-nimbus interest management model does not scale well because of the high computation cost of finding the intersection between the foci and nimbi of objects when there are many objects in an area. Therefore a simpler but less exact domain-based interest management is more applicable. In domain-based interest management the world space is first partitioned into domains. Each object then determines the domains that intersect with its focus region and consider the union of these domains as its area of interest. Correspondingly each object determines the
domains that overlap with its nimbus and considers their union as its area of effect. To determine a client’s interest in a particular update, the algorithm checks for the existence of an overlap between the area of effect for that update and the client’s interest region. If the client is determined to be interested to that specific update, the update would be sent to the whole domain to which the client belongs. This improves the scalability by bounding update messages within a region. However, these messages are transmitted to all the users in the domain regardless of their relevance to the whole users. Therefore, the number of unnecessary messages becomes larger when the number of participants in a domain is large. A tile is defined to be the basic 3D unit inside which update exchange is done. Therefore users express their focus or nimbus as a set containing a number of tiles. The shape of the tiles, their size and their neighborhood determines the update exchange pattern. Therefore an optimized interest management scheme requires a proper partitioning scheme for the virtual environment. For example, if the partitions are large, the movement of the entities will not lead to a frequent change in domain membership. However since the nodes join groups that represent large regions, the entities will receive more redundant data that they are not interested in. This problem can be more serious when the density of objects and entities in the region is high, therefore resulting in huge amount of updates redundantly exchanged. On the other hand, small domains will increase the chance of void partitions in which there is no avatar. Therefore proper partitioning would have a considerable impact on the message exchange performance. This paper addresses the distributed interest management problem in 3D virtual environment. Section 3 of this paper will include the generalized regional interest management scheme based on the 3D Delaunay tetrahedrization, followed by a discussion on communication architecture and Level of Detail control in section 4. But let us first have a look at some related work next. II. REALTED WORK Various interest management techniques have been proposed to reduce the network bandwidth by limiting the message scopes. NPSNET [2] and SPLINE [3] use regionbased filtering mechanism in 2D. [4]-[5] propose a dynamic Voronoi diagram generation in 2D based on object location that seems not to be practical due to the large number of updates and computational complexity. However it should be noted that almost all the previous works have concentrated on 2D portioning schemes. 3D cases have been proposed to be handled by mapping object onto the x-y plane and neglecting the z coordinate. The information relevant to a player usually corresponds to the perception of its avatar. AoIM algorithms often assume an avatar’s interest to be based on proximity. However it should be noted that the most common type of perception is what an avatar can see, which does not always correspond to proximity. This is due to the fact that virtual worlds usually contain static obstacles that occlude regions
of the game and block avatar’s visibility in the proximity area. Obstacles can block the message exchange among a group of users even when they are physically close. Therefore obstacle modelling plays an important impact in the message exchange pattern. However few studies have considered obstacles as an important parameter in the area of interest management. Only [6] proposed a 2D portioning technique based on Triangulation of the virtual world as a polygon with holes. The contour of this polygon is formed from the limits of the world and obstacles are represented by holes. This paper introduces a new approach to the interest management scheme in 3D that has been absent in the previous works. We will also address several issues such as obstacle-aware update exchange and variable update rate with respect to the users required level of detail that have not been discussed in any of the related literature. III. REGION BASED INTEREST MANAGEMENT In this section we will propose our approach to distributed interest management in 3D virtual worlds. Our interest management design aims at definition of a partitioning technique that satisfies the following considerations and requirements: • As the objects are distributed in a 3 dimensional virtual environment, we would require defining regions of interest in 3D rather than 2D. • Narrow regions are related to small partitions with few avatars inside them and are better to be avoided as much as possible. • Updates are usually multicasted to circumscribed sphere of 3D regions instead of the exact region boundaries for the ease of implementation. Therefore the circumsphere of tiles should better have less overlap with other regions in order to prevent the nodes to receive many updates that they are not interested in. • The partitioning should be performed with respect to barriers in order to prevent the exchange of redundant update messages over the barriers. [6] Shows the fact that those interest management algorithms that take world obstacles into account reduce the number of update messages between players by up to a factor of 6. Our proposed solution to the above problem is Delaunay Tetrahedrization of the virtual world with respect to obstacles where the whole 3D world is considered as solid body with holes that represent barriers. Later in this section we describe the theory of Delaunay Tetrahedrization and explain the reasons behind its selection for MMVE partitioning. Definition: domain triangulation For a solid model S with faces Fi, i = 1,2,..., N, a domain triangulation T(Fi) is defined to be a triangular complex with vertices lying on the face Fi, such that each edge of Fi corresponds to a unique boundary edge of T(Fi) where
boundary edge is defined to be the edge that belongs to exactly one domain triangle of T(Fi). Definition: domain Tetrahedrization Given a solid model S, a domain tetrahedrization T(S) is a three-dimensional polyhedron P is a partitioning of P into a number of tetrahedra that intersect only at shared faces. All convex polyhedra are tetrahedralizable Definition: Delaunay property Given a set P of points in 3 dimensional space, Delaunay Triangulation (DT) of P TD(P) is a simplicial complex having points of P as vertices, that forms a decomposition of the convex hull of P. Furthermore, each simplex in TD (P) corresponds to a circumsphere with no elements of P in its interior. Definition: domain Delaunay tetrahedrization Given a solid model S, a domain Delaunay tetrahedrization (DDT) TD(S) is a domain tetrahedrization of S that is built according to the above Definition and only includes Delaunay tetrahedra. The previously explained Delaunay properties explain the facts behind the advantages of Domain Delaunay Tetrahedrization for virtual environment partitioning. Primarily, tetrahedrization is performed in the 3D space as required in requirement 1 and the Delaunay property is a good solution to the second and the third requirements. Delaunay tetrahedrization tries to maximize the minimum angle of polyhedron, therefore avoiding narrow, improper shaped partitions Moreover; Delaunay property of the circumscribed sphere of tetrahedrons generated by Delaunay Tetrahedron prevents them from including nodes of other elements inside them. This in place imposes a minimum overlap between the Circumscribed spheres of tetrahedrons that would be the multicast regions for update messages. We also propose to consider the obstacles as holes during the tetrahedrization procedure in order to address the fourth requirement. Domain Delaunay Tetrahedrization of arbitrarily shaped curved polyhedra has been addressed in a solid modeling system works. [7] proposes a solution to the problem of Domain Delaunay Tetrahedrization (DDT) of an arbitrarily shaped solid model with quadric curved faces (including objects with holes and nonmanifold objects). Fig 1.0 shows a sample Delaunay tetrahedrization of a model that consists of two cubes with a cubic barrier between them. Tiles can be assigned statically or change dynamically according to objects location, however it should be noted that finding the solution to the Delaunay tetrahedrization problem is computationally expensive. Dynamic partitioning techniques are therefore not practical because of the need for regular updates related to the frequent change in users locations.
Figure 1. Delaunay tetrahedrization of a solid model with holes
Our proposed approach to the Delaunay Tetrahedrization of the virtual environment is assumed to be static. Therefore it is done once and the region definitions are saved in the map and do not change through the game. As this is defined to be part of the game map, all users are supposed to be aware of the whole partitions and can use later it in the area interest management decisions. In the next section, we will describe the message exchange architecture based on the proposed partitioning technique. IV. COMMUNICATION ARCHITECTURE Assuming that the whole environment is partitioned into a number of tiles, each tile is supposed to have a manager together with a group of regular nodes where the manager operates as a server to the others. It should be noted that no fixed manager is pre-assigned for a tile. However; the manager of a tile is defined to be the node whose location is nearest to the center of the tile. The tile members use this criterion to choose a manager among themselves while the manager may change over time as the nodes change their locations. Manager assignment is performed by nodes periodically generating a voting token whenever they change their position beyond a specified threshold. This voting token includes the physical position of the voter and is multicasted within a specified radius of the sender. A node that either receive or generate a token that cannot be passed to any node nearer to the tile center than that node would be voted as the tile manager. When the manager moves farther from the tile center, it is responsible to generate a token to initiate a voting round for other probable manager. Every node whose nimbus intersects with a tile is supposed to be interested to receive updates related to subjects located within that tile. In order to express such interest in receiving updates it should subscribe to that tile. Subscription is done by sending a message to the tile manager. This message does not include the exact ID or location of the node whose nimbus overlaps with the tile. It only includes the ID of the tile to which interested node belongs. The subscription message also includes a field that is a
determining the level of fidelity that the user expects to receive the updates. It should be noted that users may be interested to receive more frequent updates from some objects and less frequent updates from the other ones depending on their perceived Level of Detail(LOD). In principle, every relationship between any pair of objects in every medium can be characterized by an awareness value. Awareness quantifies the degree of interaction and actual communication between two objects. Therefore awareness may be a measure to determine the update message exchange rate between two objects. As in the distributed virtual environment case, tile managers are the entities responsible for awareness estimation and application. Therefore each tile manager performs a specified rate conversion in relaying an update to the nodes that have subscribed to receive that update based on their requested fidelity. In order to perform such conversion, the tile manager shall calculate the awareness value for each of the interested tiles based on the received required fidelity value. An awareness coefficient is defined mutually between any two pair of tiles. We define this coefficient in the form of aik where 0 ≤ a ik ≤ 1 . aik determines the level of details that is required to be provided by the ith tile for the kth tile. Total awareness can be defined in the awareness information matrix A. A is an NxN matrix where N is the total number of tiles in the virtual world. a 11 L a 1N K a 2N a A = 21 M O M a N1 L a NN Where: a ij ∈ [0 1] aij shows the weight of the required level of update that tile j expects from tile i. The elements in the ith row of the above matrix are updated by the tile manager in the ith cell. It should be noted that when tile k includes several entities with different LOD requirements, tile i chooses the maximum requirement as the demand for tile k. The manager of the ith tile updates the awareness coefficient frequently upon the reception of any subscription request from tile k and also in periodic intervals. Figure 2 shows the update procedure for this parameter upon the reception of a new subscription request that carring a new LOD value named as a ijrec .
1
rec If a old ij > a ij then
2
a ijnew = a ijold
3 4
else old a ijnew = (1 − α )a old ij + α a ij Figure 2 Update procedure.
The condition in the first and second line is to make sure that the updates are high enough to satisfy the highest level of details in the kth tile. Therefore the subscription requests whose required LOD is less than the current level are ignored
in order to prevent them from overriding the higher LOD requests. As nodes frequently move and change their position and interest, the tile manager should be aware not to send updates to nodes that are no longer interested to receive it. Therefore interested nodes are required to update their subscription periodically and the tile manager performs periodic aging on the awareness coefficient to make sure it would converge to zero for the nodes that have not renewed their subscription. The aging procedure should be done in a rate proportional to the subscription rate so that the awareness coefficient for the interested tiles can converge fast enough to its final value. a ijnew = βa old 0 < β ≤1 (1) ij The awareness value for the zone only considers the maximum interest request for that zone in order to satisfy the more demanding users. However it does not directly reflect the number of avatars in a tile. It should be noted that the population distribution in the virtual environment is not uniform. Some places are considered to be hot-spots where the population density is higher in comparison with the other sites. From the view of the tile manager relaying the traffic to a crowded tile, it might make no difference due to the fact that it only sends one copy to the whole tile irrespective of the number of users who have subscribed for it. However it would be more desirable if higher priority could be able to give to more crowded tiles. Therefore each tile manager should be able to estimate the density of interested tiles over time. The population density matrix D is an also an NxN matrix where N is the number of tile where dij determines the density of nodes in cell j that are interested to receive updates from cell i. d 11 L d 1N d 21 K d 2 N D= M O M d N1 L d NN Where: d ij ∈ [0 1]
The tile manager estimates the value of interest coefficient based on the number of subscription requests received from a tile. Therefore the population density index for cell j is updated every time the tile manager in cell i receives a subscription request from tile j. (2) d ijnew = λd ijold Where λ is assumed to be bigger than 1. The population density is also subject to periodic aging in order to compensate for the cases when the subscribers change their place and no longer send subscription request. (3) d ijnew = δ d old ij Where 0 p δ ≤ 1 is defined to be aging rate and selected in proportion to λ, subscription update period and aging period in a way to prevent long periods of redundant updates to previous subscribers.
V. PERFORMANCE EVALUATION In order to evaluate the performance of the proposed AoIM scheme, we performed the simulation on a 3D cuboid virtual environment with some obstacles that were defined to be cuboids bodies parallel to xy , yz or xz plane. Nodes have been randomly distributed over the virtual environment. The nodes nimbus and focus is also defined to be spheres of specified fixed radius. Figures 3 and 4 demonstrate the average number of update messages per player as the number of objects and the virtual environment dimensions increase proportionally in a way that the object density remains almost the same in all cases. Simulations have been performed in three different scenarios. In the first scenario no interest management scheme is applied, in the second scenario we have the region based interest management based on Delaunay tetrahedrization without taking the obstacles into account and in the last scenario we used the same interest management scheme in while taking obstacles into account.
obstacle based tile definition also has a considerable positive effect on the performance. VI. CONCLUSION In this paper we proposed new approaches to the problem of Area of Interest Management in 3D distributed virtual environments. We addressed the challenges in the virtual world partitioning for the regional interest management and proposed the use of Delaunay tetrahedrization as the best option. Moreover we introduced the idea of 3D partitioning with respect to obstacles in order to improve the performance of the AoIM scheme. We also described a distributed interest management design based on the previous tiling technique. Our proposed update message forwarding protocols is capable of providing the interested users with variable updates according to their perceived Level of Detail. It can also estimate the population density inside the tiles and offers a better service to the more crowded regions. VII. REFERENCES
10000 No AoIM 3D Delaunay Regional AoIM without Obstacles
9000
[1]
Update messages per node
8000 7000
[2]
6000 5000
[3]
4000 3000
[4]
2000 1000 0
0
100
200
300
400 500 600 Number of object
700
800
900
1000
[5]
Figure 3 Update messages per player with and without AoIM [6] 550 Regional AoIM without Obstacles Regional AoIM with Obstacles
500
[7]
Update Messages per node
450 400 350 300 250 200 150 100 50
0
100
200
300
400 500 600 Number of objects
700
800
900
1000
Figure 4 Update messages per player with and without AoIM
Simulation results demonstrate the fact that the number of update messages per player increases considerably with the increase in the number of objects in the absence of a proper interest management scheme. Interest management considerably reduces the number of update messages and the
M. Masa , J. Zara, “Generalized interest management in virtual environments,” Proceedings of the 4th international conference on Collaborative virtual environments, 2002, Bonn, Germany M. R. Macedonia, , M. J. Zyda, D. R. Pratt, P. T. Barham, and S. Zeswitz, “NPSNET: A Network Software Architecture For Large Scale Virtual Environments,” Presence, Vol. 3, No. 4, pp. 265-287 , 1994. J. W. Barrus, R. C. Waters, and D. B. Anderson, “Locale and Beacons: Efficient and Precise Support for Large Multi- User Virtual Environments,” MERL TR95-16a (August, 1996). S.Y. Hu , G. M. Liao, “Scalable peer-to-peer networked virtual environment,” Proceedings of 3rd ACM SIGCOMM workshop on Network and system support for games, August 30-30, 2004, Portland, Oregon, USA S. Y. Hu, J. F. Chen, and T. H. Chen, “VON: A Scalable Peer-to-Peer Network for Virtual Environments,” IEEE Network, vol. 20(4), pp. 22-31, July/August 2006 J. S. Boulanger, J. Kienzle, and C. Verbrugge. “Comparing Interest Management Algorithms for Massively Multiplayer Games,” In Proceedings of the 5th NetGames workshop. ACM, 2006 N. Sapidis and R. Perucchio, “Domain Delaunay Tetrahedrization of Arbitrarily Shaped Curved Polyhedra Defined in a Solid Modeling System',” in Proceedings of the ACM/SIGGRAPH Symposium on Solid Modeling Foundations and CAD/CAM Applications, Austin, 1991.