1 Scalable Peer-to-Peer Virtual Environments Shun-Yun Hu CSIE, National Central University, Taiwan...

Preview:

Citation preview

1

Scalable Peer-to-Peer Virtual Environments

Shun-Yun Hu

CSIE, National Central University, Taiwan

2008/06/03

2

4

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?

Imagine you start with a globe

Zoom in…

To Trier…

and to Universitat Trier

Right now it’s flat…

But in the near future…

Virtual Environments (VEs): A shared space

14

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

15

A simple solution (point-to-point)

But…too many irrelevant messagesN * (N-1) connections ≈ O(N2) Not scalable!

Source: [Funkhouser95]

16

A better solution (client-server)

Message filtering at server to reduce trafficN connections = O(N) server is bottleneck

Source: [Funkhouser95]

17

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]

Outline

Overlay management (VON)

State management (VSM)

Client-assisted service (FLoD)

Voronoi-based Overlay Network

(VON)

Design Goals

Observation: for VEs, the contents 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

23

If you talk with your AOI Neighbors directly…games can be built

But how to discover new neighbors?

24

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

Site

Region

25

Design Concepts

Identify enclosing and boundary neighbors Enclosing neighbors are minimally maintained Boundary neighbors mutually help to discover neighbors

boundary neighbor (B.N.)L. Blue

unknown neighborL. Green

normal AOI neighborGreen

E.N. & B.N.Pink

enclosing neighbor (E.N.)

Yellow

selfWhite

Area of Interest (AOI)Circle

Use Voronoi to solve the neighbor discovery problem

26

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 neighbors

Boundary neighbors

New neighbors

Non-overlapped neighbors

Dynamic AOI

Crowding within AOI can overload a particular node

It’s better if AOI-radius can be adjusted in real time

28

Demonstration

Simulation demo Random movements (100 nodes, 1200x700 world) Local vs. global view Dynamic AOI adjustment

Simulations 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 waypoint Constant velocity: 5 units/step Movement duration: random (until destination is reached)

Scalability: Avg. Transmission / sec

0

5

10

15

20

25

30

0 400 800 1200 1600 2000Number of Nodes

Siz

e (kb /

basic

dAOI

basic (fixed density after 1000 nodes)dAOI (fixed density after 1000 nodes)

Scalability: Max. Transmission / sec

0

10

20

30

40

50

60

70

0 400 800 1200 1600 2000Number of Nodes

Siz

e (kb /

basic

dAOI

basic (fixed density after 1000 nodes)dAOI (fixed density after 1000 nodes)

Voronoi State Management

(VSM)

33

State Management for VEs

Besides positions, object states are important too

Three main issues: Consistency control Load balancing Fault tolerance

A basic approach

Let game states be managed by all clients Each client has two roles: peers & arbitrators i.e., Voronoi partitioning (we can use VON)

Problems with basic approach

O(n2) connections at hotspots Some cells have large sizes Constant ownership transfer

36

VSM: solution ideas

Connection overload → Aggregators clustering Large cell-size → Virtual peers incremental

transfer Constant transfers → Explicit ownership transfer

37

VSM: Consistency control

Managing arbitrator receives and processes events

Events are forwarded if necessary

Updates sent to affected arbitrators, then peers

38

VSM: Consistency control

Managing arbitrator receives and processes events

Events are forwarded if necessary

Updates sent to affected arbitrators, then peers

39

VSM: Consistency control

Managing arbitrator receives and processes events

Events are forwarded if necessary

Updates sent to affected arbitrators, then peers

40

VSM: Consistency control

Managing arbitrator receives and processes events

Events are forwarded if necessary

Updates sent to affected arbitrators, (then peers)

41

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

42

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

Peer-to-Peer 3D Streaming

44

Background

MMOGs today need DVD installations

Too slow and unpractical for: Larger and more dynamic worlds (TBs data) More numerous worlds (Web 3D)

Content streaming is needed 80% - 90% content is 3D (e.g., 3D

streaming)

3D streaming

Continuous and real-time delivery of 3D content to allow user interactions without a full download. base & refinement pieces

Base 1 2 3

Refinements

User

(Hoppe 96)

Scene streaming

Multiple objects Object determination & prioritization

[Teler &

Lischinski 2001]

47

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

How to scale to millions of concurrent users?

48

Observation

Limited & predictable area of interest (AOI) Overlapped visibility = shared content

49

overlapped visibility = shared content

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)

FLoD [Infocom 2008]

VE partitioned into cells with scene descriptions Assumes P2P overlay that provides AOI neighbors

star: self triangles: neighborscircle: AOI rectangles: objects

52

Neighbor discovery via VON

Boundary neighbors

New neighbors

Non-overlapped neighbors

[Hu et al. 06]

Voronoi diagrams identify boundary neighbors for neighbor discovery

53

Prototype experiment

Progressive models in a scene (by NTU) Peer-to-peer AOI neighbor requests (by NCU) Found matching client upload / download

54

Simulation setup

Environment 1000x1000 world, 100ms / step, 3000 steps client: 1 Mbps / 256 Kbps, server: 10 Mbps (both)

Objects Random object placement (500 objects) Object size based on prototype

User behavior Random & clustering movement (1.5 * ln(n) hotspots)

55

Server bandwidth usage

56

Client bandwidth usage

Impacts of P2P VEs…

No server as bottleneck scalable Commodity hardware affordable

2D web 3D web Earth-scale virtual worlds

(millions/billions of people)

Unresolved issues

Issues for creating VEs

Consistency Interactivity multiplayer Security

Scalability Persistency massively multiplayer Reliability

Interoperability Content

3D web

Meshing physical & virtual topologies

Client 2

Client 1

A generic pub/sub scenario

pub sub

62

Q&A

VON: A Scalable Peer-to-Peer Network for Virtual EnvironmentsIEEE Network, vol. 20, no. 4, Jul./Aug. 2006

FLoD: A Framework for Peer-to-Peer 3D StreamingIEEE INFOCOM, Apr. 2008

Thank you!

http://vast.sourceforge.nethttp://ascend.sourceforge.net

Unresolved issues

Overlay management Topology-aware, capacity-matching superpeers Flexible publication / subscription Direct vs. forwarding deliveries

State management Load balancing (high user density) Persistency Security

Client-assisted services (e.g., P2P 3D streaming) Source nodes discovery Visualization vs. networking priority matching LOD considerations

Other issues

Common API

Shared simulator / platform

Interoperability

Extension: VoroCast

Pack reduction via forwarding Headers reduction Data compression & aggregation