1 scalable aoi-cast for peer-to-peer networked virtual environments jehn-ruey jiang, yu-li huang,...
TRANSCRIPT
1
Scalable AOI-cast for Peer-to-Peer Networked Virtual Environments
Jehn-Ruey Jiang, Yu-Li Huang, and Shun-Yun Hu
CSIE, National Central University, Taiwan
2008/06/20
2
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]
7
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
8
If you talk with your AOI Neighbors directly…games can be built
But how to discover new neighbors?
9
Related Work: VON [hu et al. 2006]
1) Positions sent to all neighborsBoundary neighbors check for new neighbors
2) Connect to new nodes upon notification Disconnect any non-overlapped neighbors
Boundary neighbors
New neighbors
Non-overlapped 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
root
A
B
C
D
E
F
G
H
I
JK
M
N
O
P
Q
L
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
hops 1 2 3 4 5 6 7 8
ˇ ˇ X X X X X X -6
ˇ ˇ ˇ X X X X X -5
ˇ ˇ ˇ X X X X X -5
ˇ ˇ ˇ ˇ X X X X -4
ˇ ˇ ˇ ˇ ˇ X X X -3
ˇ ˇ ˇ ˇ ˇ ˇ ˇ X -1
ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ 0
ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ 0
Max_count Fibonacci
1 2 0
2 3 1
3 3 1
4 4 2
5 5 3
6 7 5
7 10 > 8 8
8 ∞ ∞
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
Bandwidth consumption
Neighborship consistency
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
Backup slides
Why 2-hop neighbors?
Drift distance
24
Procedure (JOIN)
1) Joining node sends coordinates to any existing nodeJoin request is forwarded to acceptor
2) Acceptor sends back its own neighbor listjoining node connects with other nodes on the list
Acceptor’s region Joining node
25
Procedure (LEAVE)
1) Simply disconnect2) Others then update their Voronoi
new B.N. is discovered via existing B.N.
Leaving node (also a B.N.) New boundary neighbor