690 likes | 820 Views
Shun-Yun Hu ( 胡舜元 ) (syhu@csie.ncu.edu.tw) CSIE, National Central University, Taiwan 2008/05/08. Scalable Peer-to-Peer Virtual Environments. M assively M ultiplayer O nline G ames. MMOGs are growing quickly Multi-billion dollar industry
E N D
Shun-Yun Hu (胡舜元) (syhu@csie.ncu.edu.tw) CSIE, National Central University, Taiwan 2008/05/08 Scalable Peer-to-Peer Virtual Environments
Massively Multiplayer Online Games • 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?
Issues for Creating VEs • Consistency • Interactivity multiplayer • Security • Scalability • Persistency massively multiplayer • Reliability
Model for virtual worlds • Many nodes on a 2D plane • 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]
The Problem • Client-server: resources limited by provisioning Resource limit [Funkhouser95]
The Solution • Peer-to-Peer: resources grow with demand Resource limit [Keller & Simon 2003]
Design Goals • Observation: • for virtual environment applications, the contents we want are messages from AOI neighbors • Content discovery is a neighbor discovery problem • Specific goals: • Scalable Limit per-node message traffic • Responsive Direct connection with AOI neighbors
If you talk with your AOI Neighbors directly… But how to discover new 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
Circle Area of Interest (AOI) White self Yellow enclosing neighbor (E.N.) L. Blue boundary neighbor (B.N.) Pink E.N. & B.N. Green normal AOI neighbor L. Green unknown neighbor 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
Demonstration Simulation demo • Random movements (100 nodes, 1200x700 world) • Local vs. global view • Dynamic AOI adjustment
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)
Voronoi State Management (VSM)
Voronoi State Management • VON deals only with positions, but we want to manage states stored in spatial objects (with x, y). • Let game states be managed by all clients • Each client has two roles: peers & arbitrators • i.e. Voronoi partitioning • Three problems: • O(n2) connections at hotspots • Some cells have large sizes • Constant ownership transfer
VSM: solution ideas • Connection overload →Aggregators clustering • Large cell-size →Virtual peers incremental transfer • Constant transfers → Explicit ownership transfer
VSM: Consistency control • Managing arbitratorreceives and processes events • Events are forwarded if necessary • Updates sent to affected arbitrators, then peers
VSM: Load balancing • Traditional: high-capacity nodes first, then adjust • VSM: low-capacity nodes first, then cluster • Overload: ask for aggregator, submit control • Underload: disintegrate, release control
VSM: Load balancing (2) • Sphere of control adjustable • More than one aggregator → choose nearest
VSM: Fault tolerance • Regular arbitrator: • Pick backup arbitrator, backup states • Backup transfers ownership to enclosing arbitrators • Aggregators: • Pick backup aggregators • Take over original if failed • Choose new backup
Background • MMOGs today need CD installation (too slow!) • But 3D data is huge • Content streaming is needed • 80% - 90% content is 3D (e.g., 3D streaming)
3D streaming • Object streaming [Hoppe 1996] • base • refinements • Scene streaming [Teler & Lischinski 2001] • multiple objects • object selection & prioritization
3D streaming vs. media streaming • Video / audio media streaming is very matured • User access patterns are different for 3D content • Highly interactive Latency-sensitive • Behaviour-dependent Non-sequential • Analogy • Constant & frequent switching of multiple channels
Benefits of peer-to-peer • Scalable • Growing amount of total resources • Affordable • Commodity PCs • Feasible • Better client hardware (CPU, broadband networks) • Availability of user-hosted machines
Challenges for P2P 3D streaming • Appropriate peer grouping • Matching interests / needs • Matching capabilities • Dynamic group management • Interest groups are dynamic (non-sequential) • Real-time constraints (latency-sensitive) • Minimal server involvement • Visibility determination (object selection) • Request prioritization (piece selection)
Observation • Limited & predictable area of interest (AOI) • Overlapped visibility = shared content
Download content from AOI neighbors star: self triangles: neighbors circle: AOI rectangles: objects