250 likes | 345 Views
Jehn-Ruey Jiang, Yu-Li Huang, and Shun-Yun Hu CSIE, National Central University, Taiwan 2008/06/20. Scalable AOI-cast for Peer-to-Peer Networked Virtual Environments. Networked Virtual Environments (NVEs). NVEs such as MMOGs are growing quickly Multi-billion dollar industry
E N D
Jehn-Ruey Jiang, Yu-Li Huang, and Shun-Yun Hu CSIE, National Central University, Taiwan 2008/06/20 Scalable AOI-cast for Peer-to-Peer Networked Virtual Environments
Networked Virtual Environments (NVEs) • NVEs such as MMOGs are growing quickly • Multi-billion dollar industry • 10 million subscribers for World of Warcraft • 600,000 concurrent users, but 3,000 per world • Can we scale to millions in the same world?
The basic problem • Client-server: resources limited by provisioning Resource limit [Funkhouser95]
An intuitive solution • Peer-to-Peer: resources grow with demand Resource limit [Keller & Simon 2003]
Key to scalability • Users have limited visibility called Area of Interest (AOI) • Bounded resource usage achievable by exchanging messages only with AOI neighbors (i.e., an AOI-cast) Area of Interest
If you talk with your AOI Neighbors directly… games can be built But how to discover new neighbors?
Related Work: VON [hu et al. 2006] 1) Positions sent to all neighbors Boundary neighbors check for new neighbors 2) Connect to new nodes upon notification Disconnect any non-overlapped neighbors Non-overlapped neighbors Boundary neighbors New neighbors
Related Work: VON-forwarding [chen et al. 2007] • Only connect with 1-hop neighbors • AOI-cast via forwarding • Aggregation & compression utilizable Problem: redundant message transmission
Related Work: APOLO [lee et al.2006] • Each node keeps 4 out-direction links only • Non-redundant transmission Problem: Inefficient transmission path
VoroCast • Goals: • Keep the simplicity & advantage of forwarding • Deliver messages without redundancy • Construct spanning trees in a distributed manner • Observation: • Growing a tree from root easily creates redundancy • Growing a tree from children avoids redundancy
J K L I B M A C root N H E G D O F P Q
User density issue • High user density in AOI can still be a problem • To improve AOI scalability when user density is high, consistency can be traded for less bandwidth • Those further away need not receive updates all the time
FiboCast • Message frequency to distant nodes should be adjustable • Add an increasingly longer time-to-live (TTL) for each round of messages • maximum hop count sequence that increases (e.g. a Fibonacci sequence such as {0, 1, 1, 2, 3, 5, 8} • Minimum 2-hop forwarding (for VoroCast to work) ∞
Example routing length • For a sequence up to 8, we save 24 updates
Simulation evaluation • Map: 1000 x 1000 units • Nodes: 100 ~ 1000 (in increments of 100) • AOI radius: 200 units • Time-steps: 3000 (100ms / step) • Speed: 5 units / step (random waypoint pattern) • FiboCast: {0, 1, 1, 2, 3, 5, 8} sequence • Data is compressed by zlib
Conclusion • A simple method of constructing spanning trees distributively that allows non-redundant AOI-cast • AOI scalability is improved by reducing bandwidth use • Aggregation and compression further save bandwidth
Procedure (JOIN) 1)Joining node sends coordinates to any existing node Join request is forwarded to acceptor 2)Acceptorsends back its own neighbor list joining node connects with other nodes on the list Joining node Acceptor’s region
Procedure (LEAVE) 1) Simply disconnect 2) Others then update their Voronoi new B.N. is discovered via existing B.N. Leaving node (also a B.N.) New boundary neighbor