240 likes | 361 Views
Cooperative Overlay Networking for Streaming Media Content. Feng Wang 1 , Jiangchuan Liu 1 , Kui Wu 2 1 School of Computing Science, Simon Fraser University {fwa1, jcliu}@cs.sfu.ca 2 Department of Computer Science, University of Victoria wkui@cs.uvic.ca.
E N D
Cooperative Overlay Networking for Streaming Media Content Feng Wang1, Jiangchuan Liu1, Kui Wu2 1School of Computing Science, Simon Fraser University {fwa1, jcliu}@cs.sfu.ca 2Department of Computer Science, University of Victoria wkui@cs.uvic.ca Chapter 6 Cooperative Networking (Wiley) Editors: M. S. Obaidat and S. Misra
Outline • Background and Motivation • A Cooperative Overlay Design: mTreebone • Treebone Construction and Optimization • Collaborative Push/Pull Data Delivery • Performance Evaluation • Conclusion and Future Work
Background • Architectural Choices for Media Streaming • IP Multicast • Implement multicast at the IP (network) layer • Multicast routing is the most efficient • Limited in reach and scope due to concerns regarding scalability, deployment, and support for higher level functionality • Proxy Caching • Exploits the temporal locality of client requests for streaming media content
Background (cont’d) • Deploy a group of proxies to cooperatively utilize caching space, balance loads and improve the overall performance • Peer-to-Peer • Functionality is pushed to users actually participating in the multicast group • Administration, maintenance, responsibility for operations of a system are distributed among users • Research focuses on simultaneous media broadcast using the application end-point architecture
Motivation • Previous proposals for Peer-to-Peer Media Streaming can be broadly classified into two categories • Tree-based approaches • Peers are organized into structures (typically trees) for delivering data • Each data packet is pushed using the same structure • Nodes on the structure have well-defined relationships, e.g., “parent-child” relationships in trees
Motivation (cont’d) • Mesh-based approaches • Do not construct or maintain an explicit structure for delivering data • Use the availability of data to guide the data flow • Based on data availability information periodically exchanged among partner nodes, a node may then retrieve unavailable data from other partners, or supply available data to other partners
Motivation (cont’d) • Different category of approaches have different advantages • Mesh-based approaches have good robustness, but suffer from the efficiency-latency tradeoff • Tree-based approaches use efficient push delivery, but have to face data outage during internal node dynamics. Can we combine their advantages together to offer high efficiency and resilience with moderate maintenance cost?
Our Idea - mTreebone • Hybrid Cooperative Tree/Mesh Overlay • Organize stable nodes as a tree backbone (Treebone) to efficiently deliver data • Mesh overlay assists Treebone and handles dynamics
Questions • How to identify stable nodes? • How to better organize these nodes? • How to reconcile Treebone and mesh overlay?
Questions • How to identify stable nodes? • How to better organize these nodes? • How to reconcile Treebone and mesh overlay?
Stable Node Identification • Previous studies: nodes with higher ages tend to stay longer • Select an Age Threshold T and consider nodes staying longer than T as stable • Objective: maximize the Expected Service Time of a Treebone node • For Pareto Dist. (with k asshape parameter)
Treebone Evolution • Each new node attaches to a node with available bandwidth • Non-Treebone nodes check periodically until promoted into Treebone 0 5 5 0 6 7 12 10 6 17 8 17 11
Questions • How to identify stable nodes? • How to better organize these nodes? • How to reconcile Treebone and mesh overlay?
Treebone Optimization • Reduce average depth of Treebone node • High-Degree-Preemption • Low-Delay-Jump TheoremThe average depth of Treebone is minimized when high-degree-preemption and low-delay-jump terminate at all Treebone nodes.
Questions • How to identify stable nodes? • How to better organize these nodes? • How to reconcile Treebone and mesh overlay?
Seamless Push/Pull Switching • Tree-push pointer receives data pushed from Treebone • Mesh-pull window detects loss and pull data from mesh neighbors • To avoid duplicate data, mesh-pull window always keeps behind Tree-push pointer Playback Direction Playback Pointer Tree-push Pointer Mesh-pull Window
Outline • Introduction • mTreebone Design • Treebone Construction and Optimization • Collaborative Push/Pull Data Delivery • Performance Evaluation • Conclusion and Future Work
Performance Evaluation • Scenario • Arrival: Poisson dist. • Duration: Pareto dist. • Simulations • 5000 nodes • Prototype Experiments on PlanetLab • 200 nodes
Simulation Results Data Loss Rate Startup Latency Playback Delay
Experiment Results Data Loss Rate Startup Latency Playback Delay
Experiment Results (cont’d) Control Overhead Different Age Threshold Different Churn Rate
Outline • Introduction • mTreebone Design • Treebone Construction and Optimization • Collaborative Push/Pull Data Delivery • Performance Evaluation • Conclusion and Future Work
Conclusion • mTreebone: a hybrid cooperative overlay taking advantages of both tree and mesh • Treebone by stable nodes to offer high efficiency; mesh structure to improve the robustness • Threshold based Treebone nodes selection • Treebone construction and optimization • Seamless push/pull switching buffer
Future Work • Other tree organization and optimization methods to further improve Treebone’s efficiency and interactions with mesh • Multi-tree-based backbone, which may lead to more balanced load and finer-grained bandwidth control • Conduct large scale experiments as well as real deployment over global Internet