BitVampire: BitVampire: P2P P2P On-Demand On-Demand Media Media Streaming in the Internet Streaming in the Internet http:// www.cs.ubc.ca/~liu/bitvampire PhD Student: Xin Liu Supervisor: Dr. Son T. Vuong {liu, vuong}@cs.ubc.ca j Networking and Internet Computing (NICLab) University of British Columbia March 27, 2006
22
Embed
BitVampire: P2P On-Demand Media Streaming in the Internet liu/bitvampire liu/bitvampire PhD Student: Xin Liu.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BitVampire: BitVampire: P2PP2P On-Demand On-Demand MediaMedia Streaming in the InternetStreaming in the Internet
http://www.cs.ubc.ca/~liu/bitvampire
PhD Student: Xin LiuSupervisor: Dr. Son T. Vuong
{liu, vuong}@cs.ubc.caj
Networking and Internet Computing (NICLab)University of British Columbia
To fully use the bandwidths from multiple supplying peers, we further divide (logically) each segment into equal sized blocks.
Given a set of supplying peers {P1, P2, …, PM} and the bandwidths from these peers {Bw1, Bw2, …, BwM}, the problem is how to assign blocks to these supplying peers to minimize the total downloading time, as well as to download the earlier blocks as soon as possible.
Possible solutions: Round Robin (RR) Bandwidth Proportional (BP): Assigning blocks to suppliers in proportion to
their contributed bandwidth
11
Multiple-Source Scheduling (MSS) Algorithm
Scheduling:
1: for (i = 1; i ≤ num_suppliers; i++) 2: time[i] = 0; // time[i]: the earliest time for supplier[i] to start sending blocks;
3: curr_blk = 0; 4: while (curr_blk ≤ num_blks-1) { 5: for (i = 1; i ≤ num_suppliers; i++) 6: estimatedTime[i] = time[i] + blk_size / Bw[i];
Example: Assign 8 blocks to 3 suppliers using RR, BP, MSS respectively.
The video bit rate: 512kbpsContributed bandwidth: P1: 320kbps P2: 128 kbps P3: 64kbps
6.4s
4.8s
13
Streaming Session
Once schedule is generated, receiver sends it to suppliers. Then suppliers send the assigned blocks to receiver using UDP.
Receiver maintains a ring buffer, Once receiver receives a block, it writes this block to the right position of the ring buffer.
During the streaming session, supplier switching will happen if one supplier leaves/fails, or the incoming rate from a supplier is decreasing.
To absorb the transient effects of supplier switching, we require receiver to buffer at lease SinitBuff blocks before playback starts. The time to finish downloading these blocks is called initial buffering time.
14
3. Simulation
Transit Domain
Stub Domain
Transit router
Stub router
End host
We conducted extensive simulation on large, Internet-like topologies. In average, the topologies consists of 2050 routers (generated by GT-ITM), and a total of 3010 end hosts (peers).
Based on the usual, low-cost PCs, our proposed architecture can support large-scale on-demand media streaming services in a dynamic heterogeneous Peer-to-Peer network.
Our segment distribution algorithm can achieve a fast system streaming capacity amplification, where system streaming capacity is defined as the number of media streaming sessions that can be served by the system concurrently.
The proposed scheduling algorithm can achieve small initial buffering time.
16
4. Prototype Implementation
We implemented a functional prototype using Java and Java Media Framework (JMF). The prototype is totally platform independent.
In the prototype, control packets are sent using TCP, streaming packets are sent using UDP.
In total, the prototype implementation consists of 109 Java files, 21 packages, 133 classes, and more than 22,000 lines code (About 11,800 lines code in COOLSearch, and rest in BitVampire).
Internet Cinema (or Internet DVD Player) users can register with the server of the Cinema Service Provider: Pay per view Pay monthly subscription fees Receive advertisements which can be made adaptive and
intelligent.
The deployment will be relatively simple, inexpensive, and incremental.
20
5. Future Work
We plan to deploy our prototype on the PlanetLab (an Internet test-bed) in the near future.
Currently we deliver the video in full quality. Some adaptive streaming techniques (layer coding, priority drop, etc.) could be used to improve the quality of service.
An incentive mechanism to encourage peers to contribute their resources.
Xin Liu, Son T. Vuong, “BitVampire: A Cost-Effective Peer-to-Peer Architecture for Large-Scale On-Demand Media Streaming”, invited paper for the Journal of Multimedia (JMM), to appear.
Xin Liu, Jun Wang, Son T. Vuong, “A Peer-to-Peer Framework for Cost-Effective On-Demand Media Streaming,” in the Proceedings of 3rd IEEE Consumer Communications and Networking Conference (CCNC’06), Las Vegas, NV, Jan. 2006.
Xin Liu, Son T. Vuong, “Supporting Low-Cost Video-on-Demand in Heterogeneous Peer-to-Peer Networks,” in the Proceedings of 7th IEEE International Symposium on Multimedia (ISM’05), Irvine, CA, Dec. 2005.
Xin Liu, Jun Wang and Son T. Vuong, “A Category Overlay Infrastructure for Peer-to-Peer Content Search,” in the Proceedings of APDCM'05 (in conjunction with IPDPS’05), Denver, CO, Apr. 2005.