scalable aoi-cast for peer-to-peer networked virtual environments

25
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

Upload: simeon

Post on 12-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

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