510 likes | 670 Views
VON: A Scalable Peer-to-Peer Network for Virtual Environments. Shun-Yun Hu ( 胡舜元 ) (syhu@yahoo.com) CSIE, National Central University, Taiwan 2007/06/15. Outline. Introduction Voronoi-based Overlay Network (VON) Evaluation Conclusion. What is Networked Virtual Environment?.
E N D
VON:A Scalable Peer-to-Peer Networkfor Virtual Environments Shun-Yun Hu (胡舜元) (syhu@yahoo.com) CSIE, National Central University, Taiwan 2007/06/15
Outline • Introduction • Voronoi-based Overlay Network (VON) • Evaluation • Conclusion
What isNetworked Virtual Environment? • Virtual Reality + Internet • 3D worlds with people, agents, objects, terrain • Military simulations (’80) Massively Multiplayer Online Games (mid-‘90) • Trends: larger scale, more realistic simulation
Massively Multiplayer Online Games • MMOGs are growing quickly • 8 million registered users for World of Warcraft • Over 100,000concurrent players • Billion-dollar business • Can we scale to millions at the same time?
The Scalability Problem • Many nodes on a 2D plane ( > 1,000) • Message exchange with those within Area of Interest (AOI) • How does each node receive the relevant messages? Area of Interest
A simple solution (point-to-point) But…too many irrelevant messages N * (N-1) connections ≈ O(N2) Not scalable! Source: [Funkhouser95]
A better solution (client-server) Message filtering at serverto reduce traffic N connections = O(N) server is bottleneck Source: [Funkhouser95]
Current solution(server-cluster) Still limited by servers. Expensive to deploy & maintain. Source: [Funkhouser95]
Scalability Analysis • Scalability constrains • Computing resource (CPU) • Network resource (Bandwidth) Non-scalable system vs. Scalable system Resource limit x: number of entities y: resource consumption at the limiting system component
What Next? • Strategies • Increase resource More servers • Decrease consumption Message filtering • Architectures Scale • Point-to-point (LAN) tens 101 • Client-server hundreds 102 • Server-cluster thousands 103 • ? millions 106 … Peer-to-Peer
What is Peer-to-Peer (P2P)? [Stoica et al. 2003] • Distributed systems without any centralized control or hierarchical organization • Runs software with equivalent functionality • Examples • File-sharing: Napster, Gnutella, Kazza, eDonkey • Distributed Search: Chord, CAN, Tapestry, Pastry • VoIP: Skype
Peer-to-Peer Overlay A P2P overlay network source: [Keller & Simon 2003]
Promise & Challenge of P2P • Promises • Growing resource, decentralized Scalable • Commodity hardware Affordable • Challenges • Topology maintenance dynamic join/leave • Efficient content retrieval no global knowledge
Outline • Introduction • Voronoi-based Overlay Network (VON) • Evaluation • Conclusion
Design Goals • Observation: • for virtual environment applications, the contents we want are messages from AOI neighbors • Content discovery is a neighbor discovery problem • Solve the Neighbor Discovery Problem in a fully-distributed, message-efficient manner. • Specific goals: • Scalable Limit per-node message traffic • Responsive Direct connection with AOI neighbors
Voronoi Diagram • 2D Plane partitioned into regions by sites, each region contains all the points closest to its site • Can be used to find k-nearest neighbor easily Neighbors Region Site
Design Concepts Use Voronoi to solve the neighbor discovery problem • Identify enclosing and boundary neighbors • Each node constructs a Voronoi of its neighbors • Enclosing neighbors are minimally maintained • Mutual collaboration in neighbor discovery
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 (MOVE) 1) Positions sent to all neighbors, mark messages to B.N. B.N. checks for overlaps between mover’s AOI and its E.N. 2) Connect to new nodes upon notification by B.N. Disconnect any non-overlapped neighbor Non-overlapped neighbors Boundary neighbors New neighbors
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
Dynamic AOI Crowdingwithin AOI can overload a particular node It’s better if AOI-radius can be adjusted in real time
Adjustment Conditions • AOI-radius decrease • Number of connections > connection limit • AOI-radius increase • Maximum connections not exceeded • Current AOI-radius < preferred AOI-radius • Mutual awareness rule • Do not disconnect a neighbor who sees me
Demonstration Simulation demo • Random movements (100 nodes, 1200x700 world) • Local vs. global view • Dynamic AOI adjustment
Outline • Introduction • Voronoi-based Overlay Network (VON) • Evaluation • Conclusion
Simulation Method • C++ implementation of VON (open source VAST library) • World size: 1200 x 1200 (AOI: 100) • Trials from 200 – 2000 nodes • Connection limit: 20 • 3000 time-steps (~ 300 simulated seconds, assuming 10 updates/seconds) • Behavior model • Random movement: random destination • Constant velocity: 5 units/step • Movement duration: random (until destination is reached)
Analysis of Design Scalability • Bounded resource consumptiondynamic AOI Consistency (Topology) • Topology is fully connected enclosing neighbors Reliability • Self-organizing distributed neighbor discovery Responsiveness • Lowest latency direct connection, no relay
Outline • Introduction • Voronoi-based Overlay Network (VON) • Simulation results • Conclusion
Summary • NVE scalability is achievable with P2P architecture and is a neighbor discovery problem • A promising solution: Voronoi-based P2P Overlay • Leverage knowledge of each peer to maintain topology • Properties • Scalable: fully-distributed, dynamic AOI • Efficient: low irrelevant messages, zero relay • Simple: simple protocol and procedure
Potential Applications • Online games Position updates in current MMOGs, Voice-chats • Military Enable large-scale, affordable military training simulation • 3D Web Provide multi-user interactivity to static 3D world • Scientific simulations Distribute spatial simulation requiring frequent synchronization
Acknowledgements • Dr. Jui-Fa Chen (陳瑞發老師) • Tsu-Han Chen (鄭子涵) • Members of the Alpha Lab, TKU CS • Dr. Chin-Kun Hu (胡進錕老師) • Guan-Ming Liao (廖冠名) • LSCP, Institute of Physics, Academia Sinica • Joaquin Keller (France Tele. R&D, Solipsis) • Jon Watte (there.com) • Kuan-Ta Chen (陳寬達, NTU)
Q&A VON: A Scalable Peer-to-Peer Network for Virtual Environments IEEE Network, vol. 20, no. 4, Jul./Aug. 2006 Thank you! syhu@yahoo.com http://vast.sourceforget.net (http://vast.sf.net)
Issues for Creating NVE • Consistency (events/states) • Responsiveness multiplayer • Security • Scalability • Persistency massively multiplayer • Reliability (Fault-tolerance)
Issues for Creating P2P NVE • Consistency (events/states) • Responsiveness multiplayer • Security • Scalability • Persistency massively multiplayer • Reliability (Fault-tolerance) • Consistency (topology) P2P NVE
Server-cluster issues • Insufficient total resource Hardware provisioning over-provision! • High user density (crowding) User limits limits scale & realism! • Excessive inter-server communications Less load balancing difficult balance!
Related Work (1):DHT-based: SimMUD [Knutsson et al. 2004] (UPenn) • Pastry + Scribe • Regions • Coordinators (super-nodes) • Fixed-size region • Relay overhead
Related Work (2):Neighbor-list Exchange [Kawahara et al. 2004] (Univ. of Tokyo) • Fully-distributed • Nearest-neighbors • List exchange • High transmission • Overlay partition
Related Work (3): Mutual Notification: Solipsis [Keller & Simon 2003] (France Telecomm R&D) • Links with AOI neighbor • Mutual cooperation • Inside convex hull • Potentially slow discovery • Inconsistent topology
Consistency Metrics • Topology Consistency [Kawahara, 2004] observed AOI neighbors actual AOI neighbors • Drift Distance [Diot, 1999] Distance between observed position and actual position (average over all nodes)
Problems of Voronoi Approach • Message traffic • Circular round-up of nodes • Redundant message sending (inherent to fully-distributed design) • Incomplete neighbor discovery • Can happen with inconsistent / incorrect neighbor list • Fast moving node • Limited AOI • Direct connections
Future Perspectives • Short-term • Distributed event/state consistency • Customizable AOI (Heterogeneity in P2P) • Recovery from overlay partition and fast-moving nodes • Long-term • Persistency issue (P2P-based database) • Security issue (protection from malicious nodes) • 3D content distribution (3D streamingon P2P) Massive, persistent 3D environment sharable by all!