170 likes | 279 Views
Adaptive Multi-source Streaming in Heterogeneous Peer-to-peer Network. Vikash Agarwa; Reza Rejaie. Twelfth Annual Multimedia Computing and Networking (MMCN ’05). Agenda. Introduction Assumptions and Target Environment PAL Sliding Window Quality Adaptation Packet Assignment
E N D
Adaptive Multi-source Streaming in Heterogeneous Peer-to-peer Network Vikash Agarwa; Reza Rejaie Twelfth Annual Multimedia Computing and Networking (MMCN ’05)
Agenda • Introduction • Assumptions and Target Environment • PAL • Sliding Window • Quality Adaptation • Packet Assignment • Performance Evaluation • Conclusion
Introduction • P2P streaming requires • Overlay construction • Content Delivery • Challenges • The available bandwidth from each sender is not known a priori and could significantly change during a session • Different senders have different bandwidth and RTT, or even leave
Introduction • Multi-source MDC : Commonly used separate layer for each sender Drawback: • Available bandwidth may be too small • Available bandwidth may be too large • Unpredictable variation needs complicates inter-layer synchronization
Introduction • Propose P2P Adaptive Layered Streaming (PALS) • Receiver driven • Heterogeneous senders • Periodically determine the target quality (i.e. the number of layers) that can be streamed • Relatively low amount of receiver buffering • Can be used in non-interactive streaming application
Assumptions & Target Environment • Request a single video from group of senders • UDP connections and TCP-friendly congestion control • Sender differs from bandwidth and RTT and bottlenecks • Assume provided information of senders (PRO) • Assume layered coded • Assume all layers have same constant bit rate, C.
PAL Mechanism • Receiver monitors EWMA bandwidth from each senders • Sliding Window (SW) • Tewma = Tjewma • Predict total number of incoming packet : K = (Tewma*∆)/pktsze • Quality Adaptation (QA) • Number of active layer that can be played • Packet from each layer to be request in future
PAL Mechanism • Packet Assignment (PA) • Divides selected packets into disjoint subnet • Sends a separate request to each sender • Each sender maintains a single list of pending packets for each receiver peer
Sliding Window Δ : buffering window = 5*SRTT δ : minimum threshold. If exceeds -> slide window
Sliding Window • Drawback : • Duplicate request -> low • Overestimating bandwidth -> overwriting request, packet ordering • Underestimating bandwidth -> idle, further request (window overlap)
Quality Adaptation • Invoke once per window • If (Tewma >= n * C) , utilize the excess bandwidth to request future packet • BUFadd : Total buffer data before adding a layer • If (Tewma < n * C), drain the buffer~~, drop top layer
Packet Assignment • Weighted round-robin • Partially Available content : two pass • Treat all senders have the entire content • Per-packet assignment
Performance Evaluation Window overlap = 20% Nc = 5 C = 80KBytes/sec δ=2*SRTTmax
Quality comparing single and multiple layer static streaming
Duplicate packet • Low duplicate packets – 8% • Duplicates decrease as window size increase • Loss remains below 5%
Conclusion • Multiple-source MDC streaming • Sliding Window uses for predicting number of incoming packets • Quality Adaptation uses for balance between the quality and the potential loss • Packet Assignment deals with the packet distribution among the senders