750 likes | 907 Views
Shun-Yun Hu*, Ting-Hao Huang, Shao-Chen Chang*, Wei-Lun Sung*, Jehn-Ruey Jiang* , and Bing-Yu Chen National Central University*, National Taiwan University Taiwan, R.O.C. FLoD: A Framework for Peer-to-Peer 3D Streaming IEEE INFOCOM 2008. Outline. Networked Virtual Environments (NVEs)
E N D
Shun-Yun Hu*, Ting-Hao Huang, Shao-Chen Chang*, Wei-Lun Sung*, Jehn-Ruey Jiang*, and Bing-Yu Chen National Central University*, National Taiwan University Taiwan, R.O.C. FLoD:A Framework for Peer-to-Peer 3D StreamingIEEE INFOCOM 2008
Outline • Networked Virtual Environments (NVEs) • Motivation • P2P NVE Neighbor Discovery • P2P 3D Streaming • Conclusion
Outline • Networked Virtual Environments (NVEs) • Motivation • P2P NVE Neighbor Discovery • P2P 3D Streaming • Conclusion
Massively Multiplayer Online Games • MMOGs are growing quickly • Multi-billion dollar industry • 10 million subscribers for World of Warcraft • 600,000 concurrent users
NCU ACNLab To HsinChu..
NCU ACNLab 3-Dimensional Virtual Tourism • Google Earth • Virtual Earth • NASA World Wind • X3D Earth
DARPA SIMNET: screenshot From Bruce Sterling's "War is Virtual Hell,“ (1993).
CALVIN: a distributed collaborative virtual environments for architectural layout designs (1996)
NVE • Anetworked virtual environment (NVE) is a computer-generated virtual world where multiple geographically dispersed users can assume virtual representatives (or avatars) to concurrently interact with each other in real time through networked devices. • Also called adistributed virtual environment (DVE)
NVE • Examples of NVEs include • early DARPA SIMNET and DIS systems • early distributed collaborative virtual environments • currently booming Massively Multiplayer Online Games (MMOGs) • future multi-user3DVTs • future multi-user Web 3D browser
NCU ACNLab Outline • Networked Virtual Environments (NVEs) • Motivation • P2P NVE Neighbor Discovery • P2P 3D Streaming • Conclusion
NCU ACNLab Motivation • Two future trends for NVEs • More and more users • More worlds with larger and more dynamic contents
NCU ACNLab Motivation Q: How to support millions of concurrent users? A: Utilizing peer-to-peer schemes to relief the load of servers
NCU ACNLab Motivation Q: How to support large and dynamic worlds? A: 3D streaming is needed
NCU ACNLab Outline • Networked Virtual Environments (NVEs) • Motivation • P2P NVE Neighbor Discovery • P2P 3D Streaming • Conclusion
Model for NVEs • Many nodes on a 2D plane • An avatar needs to know only those within Area of Interest (AOI) Area of Interest(AOI) ★: self ▲: neighbors
NCU ACNLab How does each node receive the relevant messages? • Completely connected point-to-point • Client/Server • Client/Server cluster • Partially connectedpoint-to-point (peer-to-peer)
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]
P2P NVE Neighbor Discovery • We need to solve the neighbor discovery problem in a fully-distributed, message-efficient manner with specific goals: • Consistent Good neighborship consistency • Scalable Limit & minimize message traffics • Responsive Direct connection with AOI neighbors
Neighborship Consistency (1) • Definition # of current AOI neighbors observed # of current AOI neighbors
Neighborship Consistency (2) • An example :is actual neighbor :is observed neighbor Neighborship Consistency = 4 / 5 = 80%
Voronoi-based Overlay Network : VON • Use Voronoi diagram to solve the neighbor discovery problem • Each node constructs a Voronoi diagram of its neighbors • Identify enclosing and boundary neighbors • Mutual collaboration in neighbor discovery
Voronoi Diagram • 2D Plane partitioned into regions by sites, each region contains all the points closest to its site Region Site
Voronoi-based Overlay Network : VON ● node i and the big circle is its AOI ■ enclosing neighbors ▲ boundary neighbors ★ both enclosing and boundary neighbors ▼ normal AOI neighbors ◆ irrelevant nodes
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. Boundary neighbors New neighbors
Procedure (LEAVE) 1) Simply disconnect 2) Others then update their Voronoi diagram new B.N. is discovered via existing B.N. Leaving node (also a B.N.) New boundary neighbor
Outline • Networked Virtual Environments (NVEs) • Motivation • P2P NVE Neighbor Discovery • P2P 3D Streaming • Conclusion
What is 3D streaming? Continuous and real-time delivery of 3D contents over network connections to allow user interactions without a full download. Contents are fragmented, transmitted, reconstructed, and then displayed.
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
4 types of 3D streaming • Object streaming • Scene streaming • Visualization streaming • Image-based streaming
Object streaming Hoppe 1996 Progressive Meshes
Scene streaming Many objects Object selections & transmissions Teler &Lischinski 2001
P2P-based 3D Streaming Models & assumptions Many 3D objects (position, orientation) User navigations with AOI visibility Objects are fragmented (base & refinement pieces) Data are initially stored at server
NCU ACNLab Observation • Limited & predictable area of interest (AOI) • Overlapped visibility = shared content