Transcript of "An Adaptive Congestion Control Mechanism for Video Multicast"

2.
Necessity of Congestion Control of Video Multicast <ul><li>Users are now getting more and more interested in video data transmission. </li></ul><ul><li>Video data consumes a lot of network resource and users want to find a way to transmit satisfactory video stream without severely interfering current data streams. </li></ul><ul><li>Adaptive congestion control of video multicast will help to achieve this goal. </li></ul>

3.
Current Research Related to Video Multicast Congestion Control <ul><li>TCP-friendly congestion control ([SF00],[SF97],[SCH98]) </li></ul><ul><ul><li>current usage is only under unicast connections </li></ul></ul><ul><ul><li>proved fairness with traditional TCP traffic </li></ul></ul><ul><ul><li>existing protocol can be used to implement the congestion control (RTP/RTCP) </li></ul></ul>

5.
Fundamental Problems in Multilayer Video Multicast <ul><li>Multicast branch pruning problem: </li></ul><ul><ul><li>Behind a bottleneck, leaving of the only receiver subscribing to a layer should immediately alleviate the congestion at the bottleneck while in Internet Standard Multicast (ISM), it will take long time. </li></ul></ul>

6.
<ul><li>Receiver interfering problem: </li></ul><ul><ul><li>Behind a bottleneck, a receiver who adds to a new layer may cause congestion at the bottleneck. That may cause other receivers react by lowering their subscribing level which is not desirable feature of the video multicast. </li></ul></ul>

7.
<ul><li>Finding of potential bandwidth: </li></ul><ul><ul><li>Behind a single bottleneck, when there are receivers subscribing to different layers of video stream, a receiver adding to a new layer may not need extra bandwidth at the bottleneck, which means there is potential bandwidth exists at the bottleneck. </li></ul></ul>

8.
<ul><li>Multicast group managing problem: </li></ul><ul><ul><li>the problem is with the number of the multicast group needed for multi-layer video multicast. </li></ul></ul><ul><ul><ul><li>Fixed number of multicast group may have some “empty” groups which waste network resource. </li></ul></ul></ul><ul><ul><ul><li>Adaptive number of multicast group will take long time to establish/delete a new multicast group under ISM architecture. </li></ul></ul></ul>

9.
Goals of Video Multicast Congestion Control <ul><li>Quick convergence of video congestion control </li></ul><ul><li>Adaptiveness of video congestion control to receivers in various situations. </li></ul><ul><li>Fairness of congestion control of video transmission competing with other traditional methods (TCP-like) </li></ul><ul><li>Those issues are stated in [SF00],[INFO98],[SCH98]. </li></ul>

11.
Our Solution <ul><li>Sender-driven congestion control for multi-layer encoded video stream. </li></ul><ul><ul><li>Receiver make estimation of its available bandwidth and send the feedback to sender. </li></ul></ul><ul><ul><li>Sender adjusts the number of layers and the rate of each layer based on the feedback messages. </li></ul></ul><ul><ul><li>Make the receivers in the same layer as an XCAST group. </li></ul></ul><ul><ul><ul><li>With XCAST, it’s now possible to use multiple dynamic flows to transmit multiple layers in sender-driven scheme. </li></ul></ul></ul>

12.
<ul><li>Integrate Traffic Control to congestion control for video transmission. </li></ul><ul><ul><li>Equation-based Congestion Control </li></ul></ul><ul><ul><ul><li>Receiver reports estimated Round Trip Time and estimated loss rate p. </li></ul></ul></ul><ul><ul><ul><li>Sender calculates transmit rates based on a certain equation, group receivers in different layers, and send out video stream </li></ul></ul></ul><ul><ul><li>FEC congestion control </li></ul></ul><ul><ul><ul><li>using FEC encoding to let receivers recover the loss </li></ul></ul></ul>

13.
<ul><li>Employ XCAST to solve fundamental problems with multicast video transmission. </li></ul><ul><ul><li>XCAST groups are explicit and branch pruning can be done within a round trip time (as long as the “quit” message arrives the sender) </li></ul></ul><ul><ul><li>We can employ intelligent aggregation algorithms to make optimal grouping of receivers in dynamic number of layers </li></ul></ul><ul><ul><li>XCAST does not need the assistance of intermediate nodes </li></ul></ul>

14.
Simulation and Expected Results <ul><li>Simulation Scenario: </li></ul><ul><ul><li>compare our scheme with the existing multicast congestion control in: </li></ul></ul><ul><ul><ul><li>convergence time for congestion control </li></ul></ul></ul><ul><ul><ul><li>fairness between different users </li></ul></ul></ul><ul><ul><ul><li>adaptive to different connections </li></ul></ul></ul><ul><ul><ul><li>overhead of congestion control </li></ul></ul></ul><ul><ul><ul><li>average goodput for receivers </li></ul></ul></ul><ul><ul><ul><li>fairness when competing with other flows using TCP-like congestion control </li></ul></ul></ul>

15.
<ul><li>Expected results are: </li></ul><ul><ul><li>quick convergence time for congestion control </li></ul></ul><ul><ul><li>adaptive to heterogeneous connections under limited number of receivers </li></ul></ul><ul><ul><li>low overhead incurred in network </li></ul></ul><ul><ul><li>higher average goodput for receivers </li></ul></ul><ul><ul><li>good fairness competing with traditional TCP-like congestion control mechanisms </li></ul></ul>

16.
Technical Details <ul><li>Equation Based Congestion Control: </li></ul><ul><ul><li>basically the equation based congestion control is based on the following equation: </li></ul></ul><ul><ul><li>So we propose the receiver send feedback to sender including the RTT and loss rate p it estimates so that the sender can calculate the estimated acceptable rate. </li></ul></ul>

17.
<ul><li>Dynamic receiver grouping: </li></ul><ul><ul><li>Transmission rate to each receiver is calculated by sender and the sender need to optimally partition receivers to groups with a specific transmission rate for each group. </li></ul></ul><ul><ul><li>Algorithm to find the optimal partition of receivers should achieve the goals of reducing the number of groups and maximize total goodput. </li></ul></ul>

18.
<ul><li>Receiver interference problem: </li></ul><ul><ul><li>two approaches: </li></ul></ul><ul><ul><ul><li>Adjusted equation based control: adjust the equation let higher layer receiver to be more sensitive to loss and RTT. </li></ul></ul></ul><ul><ul><ul><li>Employ “deaf” period for lower layer receivers: after a new higher layer receiver being added, allow lower layer receivers to be “deaf” to loss and RTT for a while. </li></ul></ul></ul>

19.
<ul><ul><li>Approach 1: </li></ul></ul><ul><ul><ul><li>receivers make estimation of RTT and loss rate p based on different transmission rate: </li></ul></ul></ul><ul><ul><ul><li>Advantage: no need for sender to be aware of where the bottleneck is. </li></ul></ul></ul><ul><ul><ul><li>Disadvantage: the lower layer receivers still suffer for a short time, though less influenced. </li></ul></ul></ul>

20.
<ul><ul><li>Approach 2 </li></ul></ul><ul><ul><ul><li>Notify affected receivers to be “deaf” for a period of time to let the newly added high layer receiver quiet down. </li></ul></ul></ul><ul><ul><ul><li>Advantage: Lower layer receivers will not be affected at all. </li></ul></ul></ul><ul><ul><ul><li>Disadvantages: </li></ul></ul></ul><ul><ul><ul><ul><li>Sender needs to be aware of where the bottleneck is and who are behind the bottleneck. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Necessary adjustment of rate may be delayed by the “deaf” period. </li></ul></ul></ul></ul>

21.
<ul><ul><li>One additional notation of receiver interference: </li></ul></ul><ul><ul><ul><li>Since we transmit different layer in different XCAST group, that means we can use different flows to transmit different layers. </li></ul></ul></ul><ul><ul><ul><li>With the help of current DiffServ Architecture, we can easily isolate those flows so that different layers will have much less impact on each others. </li></ul></ul></ul>

22.
<ul><li>Potential bandwidth finding: </li></ul><ul><ul><li>May need to build tractable list of receivers in each layer. (need to discuss) </li></ul></ul><ul><ul><ul><li>probing packets for each destination are sent out periodically. </li></ul></ul></ul><ul><ul><ul><li>The branching records are kept in the probing packets and are sent back to sender. </li></ul></ul></ul><ul><ul><ul><li>Sender uses those branching records to build up the sink tree. </li></ul></ul></ul><ul><ul><ul><li>Only need max(RTT) of all the receivers to build that sink tree. </li></ul></ul></ul>

23.
<ul><ul><li>As long as we get such information, it is easy to find potential bandwidth in bottleneck. So it’s safe to add this new receiver for high layer. </li></ul></ul><ul><ul><li>This technique is kind of congestion avoidance technique, not congestion control. </li></ul></ul>

24.
Future Research <ul><li>Prove the effectiveness of the architecture in future Internet providing DiffServ services for QoS requirements </li></ul><ul><li>Future extension: </li></ul><ul><ul><li>explore impact of combining XCAST and resource allocation in this architecture. </li></ul></ul><ul><ul><li>explore impact of QoS routing and its impact on this architecture. </li></ul></ul>