Resume
Work Experiences
Course Projects
Source Codes
Relate Links
Contact Me
 
Copyright © 2004
Guang Huang
Hit Counter
Logo
 HomeResumeWork ExperiencesCourse ProjectsSource CodesLinkContact
 

HOME > Course Projects > Multimedia Network > Video Streaming using Receiver-Driven Multiple Paths


Abstract
Introduction
Protocol Description
Protocol Implementation
Performance Analysis
Related Work
Pitfalls
Conclusion and Future Work
Acknowledgements

Download the codes from HERE

Abstract

In this paper, we propose an algorithm in which the receiver selects several best routing paths to transfer video packets according to the packet delay and packet loss characteristics of various paths. The receiver dynamically selects the paths which map to the recent network traffic. We will use NS to simulate this algorithm and try to find the best parameters according to the network topology and traffic. In our protocol, we compare the performance to the single path and normal multiple path algorithm. The total packet loss will decrease significantly using our protocol.

Introduction

The media transfer protocol RTP/RTCP is over UDP. In traditional UPD routing protocol, the network routing protocol selects the shortest path for the packet transfer, and hence cannot guarantee the optimum path for transferring the packets. The routing protocol does not select the best path among all the shortest paths from the sender to the receiver. For layered media, every packet may be assigned different priority. In this case, the UDP routing protocol will regard them as same priority and will do the same QoS for all the packets. In all these cases, the main factor is that UDP cannot select the most optimum path for packet transfer. In our algorithm, we will select several optimum paths to transfer the media packets to resolve the above disadvantage.
Transferring all packets in one path will cause more delay and congestion on this path and result into hotspots and bottlenecks in the network. As a result of this, the quality of this path will decrease. In our protocol we propose to perform traffic balancing, that is, we select several best paths to transfer different packets according to the quality of the path. In layered media, every packet should have different priority; the base layer has the highest importance. So we could select several paths to transfer this media; the base layer packets could be transferred along the best paths, the upper layer media along lesser efficient paths, and so on. This would enhance the QoS of the media transfer because we will provide more important layers better paths.
Streaming applications need stringent timing requirements. The UDP protocol does not guarantee real-time service and low delay for packets. Some protocols like RSVP, diffServ apply to the streaming applications and support QoS services. But all these services require UDP routers to implement the appropriate protocol. If the inner router cannot support these services, the streaming application would not get the required QoS services. So the problem is to get the QoS services without the need to modify the routers. This is another issue that we target to meet. In our algorithm, the UDP router need not be modified.
In streaming applications, the media packets are sent from media server (sender) to the client (receiver). In a sender-driven approach, the server records information to determine the optimum paths to the client. For normal medial server, there would be over hundred clients connected at any particular time. These will increase the server overload and decrease the server quality. Secondly, in some networks, the bandwidth of uploading path is different from the downloading path (like DSL, the download speed is much faster than uploading). So the receiver-driven approach may not signify the accurate traffic characteristics from the server to the client. So selection of an appropriate approach is one of the issues in our protocol.
In most protocols, if the servers or clients want to probe the network, they must introduce additional control packets (for example using the ping packet to detect the traffic). In our protocol, neither the client nor the server needs to use additional packets for testing the traffic of the network.

Protocol Description

The main idea in our protocol is to select several optimum paths instead of one path to transfer the packets. There are several benefits of selecting server optimum paths as mentioned above. We use receiver-driven approach instead of sender-driven approach in the protocol in order to reduce the overhead incurred at the server side. The traffic information of the path is detected by the client from the media packets sent by the server. Because the media packet includes send packet time and packet sequence number, the client has the ability to know the packet delay and packet loss in the path. The feedback information is sent from the client to server using the some protocol (for example, if using RTP, RTCP can be used for traffic information in path transfer from client to server).



Basic Architecture

The basic architecture of our scheme is shown in figure 1. We consider a scenario with a single video server and several media clients in the network. There are multiple paths between the server and the client and these are characterized by varying parameters like delay, bandwidth and packet loss.
In normal scenarios (as in OSPF), packets will be routed along the shortest hop path. This shortest path may be highly congested leading to higher delay. Therefore, different metrics must be used to find alternate better paths. We propose to find these multiple paths by measuring end-to-end delay of the path and also the packet loss experienced by the path.
Some of the issues in designing the protocol are: 1) Path selection: how a client (receiver) would select several optimum paths. We propose that the receiver records the previous packets and accordingly selects the paths in an optimum manner. 2) Selection Policy (Metric): according to the packet delay and packet loss along the path. Packet delay can be calculated from the packet send time and receive time. Packet loss can be derived from the packet sequence number. 3) Feedback mechanism: using RTCP to report the new optimum paths information to the server. 4) Type of method (static, dynamic, or adaptive): we use the dynamic method to let the client report the paths information to server periodically.
Our protocol can thus provide the following advantages: 1) it can resolve some of the limitations of UDP; 2) it uses multi path to balance the traffic between the server and client; 3) supports different QoS services for different layers in the layered media transfer; 4) uses receiver-driven approach to reduce the server overload; 5) does not use any additional packets for probing the network; 6) does not modify the internal routers.

Protocol Implementation

In this protocol, the client (receiver) will record the previous media packages sent by the server. These packets are delivered using normal streaming protocols like RTP, RTCP and RTSP. After the client receives a certain number of packets which we have assumed to be 1000 for our simulations, it maintains data structures to store the statistics. These statistics include the number of packets received on a particular path, the average delay and the number of packets lost on that path. Using this data, the client finds optimum paths. These paths are then assigned weights and this information about the paths and their corresponding weights is sent back by the client to the server using feedback in RTCP packets. The weights are assigned using the following function.
Weighti = f (Sj , Dj, PLi)     for packets j = 1,2,…,n on paths i = 1,2,…,m.
“f” is the function to calculate the path weight according to the average delay (D) and the packet loss (PL).
The server can now distribute the packets along the paths depending upon the feedback received. The remaining packets will be sent over the network without specifying the path. (These packages are to use to detect the other path traffic in the network). Thus over regular intervals, the receiver would be able to update the weights of the specified paths and find new better paths if any. This procedure is repeated at regular intervals in order to dynamically adapt to changing network conditions. Thus, our approach would adapt to network conditions and give a better performance by sending a larger proportion of the traffic on the least congested and least delay path. The sequence diagram is shown in following figure.


Sequence Diagram

Performance Analysis

The performance for Weighted multipath routing was analyzed by performing simulation. NS-2 (Network simulator) was chosen for the same. The version we worked on was NS2.26. We had to create our topology that involved one server and one client to start with. There were five routers and hence five paths from the server to the client.

• Simulation on ns-2
– One Server and one cleint
– 5 Paths between server and client
– Packet size = 1k
– CBR at server = 1MBps
– Background Traffic to simulate other flows
• Constant
• Intermittent
The simulations were carried out for 15 seconds each. First few results compare the performance under the video traffic only. As mentioned previously, packets were sent by the source. In case of normal multiple path scheme, packets would have been sent equally on all the paths. In the weighted multiple path scheme, the packets would be sent according to the ratio of the weights of the paths.
Following are the graphs describing the throughput as the simulation time progresses.


Graph1: Normal multiple paths routing (without background traffic)

As all the packets are sent on all the links in the same ratio, the links with better bandwidth capacity and having less delay would prove to give better performance. That is why there would be more packet loss on the links with less bandwidth. Packets would be recorded as lost if they are dropped at the queues in the intermediate schedulers or they are lost in transit. In the actual NAM simulation the routers were seen to drop these packets.


Graph2: Weighted multiple paths routing (without background traffic)

In graph 2, it is observed that the initial packet losses are high which go over 100 packets. After that, the packet loss is considerably reduced. It is consistent with the expected results that over the time, the path constraints would be well expressed by the weights assigned to that path. Thus our scheme sent more packets on the better paths. These paths are better in terms of delay as well as packet loss. This was achieved because we calculated the number of packets lost on each path and accordingly calculated the weights.
In graph 1, the initial packet drops go up to 150 packets and remains constant at the high value later on. Our scheme is giving packet drop up to 115 initially and 70 later. It can be easily verified that our scheme performs better with respect to throughput than the scheme of Normal multiple paths.
It was not enough to test the performance only under the applied load. Graphs 3 to 5 show the results when there was background traffic in the system. Random background traffic was generated on few of the links.


Graph 3: Single Path Routing (with background traffic)


Graph 4: Normal Multiple Paths Routing (with background traffic)

It is obvious that the single path routing scheme would perform the worst in case of highly loaded and congested network links. In graph 3, more packets, up to 350 are dropped initially and 250 for the later period. Multiple path routing would provide better quality as measured by the throughput as the number of dropped packets. In graph 4, this value is 310 packets initially and much lower than the normal routing later.


Graph 5: Weighted Multiple Paths Routing (with background traffic)

Advantages with the Weighted Multiple Path algorithm can be observed at the start of the experiments itself. The scheme provides stabilization as the time progresses. After first five seconds, the number of packets dropped was reduced almost to 50 packets on average.
Thus our scheme would give a better performance over time as it can be concluded from these graphs. The argument can be valid that weighted multiple path routing is not showing much improvement if the simulations are performed for a short duration. But the observation is that the average lifetime of video streaming applications like video conferencing or video on demand are never too short.
Extensive simulations were carried out changing the values of the link bandwidth as well as the packet sending rate. Also, background traffic was changed at random. The nature of the background traffic was intermittent. Next two graphs compare the two schemes of multiple routing very well.


Graph 6: Normal Multiple Paths Routing (changed background traffic)


Graph 7: Weighted Multiple Paths Routing (changed background traffic)

The Weighted Multiple Path routing stabilizes quite fast. Only in the initial time the packet losses are high. Later on, if the congestion on any particular path increases (implemented as background traffic), the weight of that link would be immediately reflect this. Thus the overall packet losses at the receiver side are very low. The aim of distributing the load across different links is achieved and the receiver side benefits from higher throughput.

Related Work

There has been a lot of research in QoS based routing. In these cases [1, 2, 6, 7], admission control is used along with routing. Routers are responsible for finding paths that satisfy certain required QoS constraints. These algorithms basically use two approaches – either maintain global state information or flood the requests to find QoS-compliant paths. However, the drawback of these approaches is that these routing algorithms require changes in router functionality. Routers have the added responsibility of finding QoS-compliant paths.
There has also been work in finding multiple paths between source and destination. Multiple Description Coding [2], works on the same principle. It routes descriptions over multiple paths in the hope that at least one of them reaches the destination. If more descriptions reach the destination, then better picture quality can be achieved. This adds robustness to the system.
Recently, proportionate routing [7] has been suggested. This approach selects multiple paths from source to destination. A path is added to a list of candidate paths if adding it to the list increases the width of the total paths. This is performed based upon localized information about QoS metrics like delay etc. These candidate paths are assigned weights on a hop-by-hop basis. The requirement of the algorithm is that the paths have disjoint bottleneck links.
All of the above approaches suggest changes in the router functionality and propose an enhancement to the routers. In our approach, we propose to use an end-to-end approach. We select paths based on end-to-end metrics. Weights are assigned to entire paths, instead of individual links. This way, the routers are not required to be re-configured. The tradeoff with our system would hence be that finer granularity over the control of paths will not be achieved. Paths will be weighted on an end-to-end basis and even though individual links on a bad path may be congestion-free, the path would be considered to be unsuitable. However, we believe that this would not prove to be a big disadvantage as the QoS metrics for entire paths (like end-to-end delay) are more accurate measures in the selection of paths.

Pitfalls

Our algorithm is based on the assumption that multiple paths between source and destination are discovered. This assumption may require modifications to the internal routers. Also, overhead incurred in assigning weights may not be justifiable for small sessions in which cases short single path sessions may prove to be a better solution. Clients need to store the path information (packets loss, packet delay, etc) to perform statistical analysis. In networks with lower traffic and packets loss, our protocol does not get any performance improvement. It may result in worsening the network quality as the client always sends feedback packets to the server periodically.

Conclusion and Future Work

Thus, we have designed and simulated a receiver-driven weighted multipath algorithm for video streaming. We use end-to-end metrics to designate weights to the paths and hence does not require modifications internal network routers. Our results show that a significant improvement in performance can be obtained. The number of packet loss drops significantly and better quality streaming can thus be achieved from the same.
In future, we can employ the adaptive method instead of the dynamic method to test the performance in the low traffic network. In the adaptive method, the client will maintain threshold; the client will send feedback only if the received packet delay or packet loss reach the threshold. The threshold can be adaptive to the network traffic. Finding the best function to calculate the weight of the path is another future work we need to do. In this paper, we have only tested the performance of a single server client. Next we will focus on the multi server and multi client and test the performance for our protocol.

Acknowledgements

[1] Ali C. Begen, Yucel Altunbasak, and Ozlem Ergun, “Fast heuristics for multi-path selection for multiple description encoded video streaming,” in IEEE Int. Conf. Multimedia and Expo, Baltimore, MD, July 2003.
[2] V. K. Goyal, “Multiple description coding: Compression meets the network,” IEEE Signal Processing Mag.
[3] S. Lin, S. Mao, Y. Wang, and S. Panwar, “A reference picture selection scheme for video transmission over ad-hoc networks using multiple paths,” in IEEE ICME, 2001.
[4] Van Jacobson and Michael J. Karels, Congestion Control and Avoidance. ACM SIGCOMM 88
[5] Vern Paxson, End-to-End Routing Behavior in the Internet. Proc. SIGCOMM 96
[6] Chen and Nahrstedt, " An Overview of Quality of Service Routing for Next-Generation High Speed Networks: Problems and Solutions," IEEE Network, pp 64--79, Nov-Dec 1998.
[7] Srihari Nelakuditi, Zhi-Li Zhang, A Localized Adaptive Proportioning Approach to QoS Routing.
[8] Documentation for ns from isi.edu.