Streaming
Tzu-Chieh Tsai Department of Computer Science
National Chengchi University Taipei, Taiwan Email: [email protected]
Abstract—In Wireless Mesh Networks(WMNs), users can enjoy the real-time video streaming service anytime and anywhere through the service. Compared to the client/server model, the P2P(Peer-to-peer) approach is more suitable for video streaming applications because of its efficient usage of network resources.
However, the multimedia applications are very sensitive to delay time and the performance of packets transmission which is significantly influenced by the co-channel interference. In our approach, we choose the better quality links for routing instead of the minimum hop-count path in MAODV(Multicast Ad hoc On-demand Distance Vector). Then we distribute the video streaming to receivers by using multicasting in multi-channel WMNs, and modify the MAODV routing protocol to construct two disjoint multicast trees as the backbone for the P2P structure.
Therefore, we can adopt the MDC(Multiple Description Coding) scheme to encode the video into two independent sub-streams and transmit separately along these trees. Experiment results show that in higher traffic load environment, our scheme is more effective to reduce the latency and improve overall system performance.
Keywords-Wireless Mesh Networks, P2P, MAODV, multi-interface, MDC
I. INTRODUCTION
Wireless mesh networks (WMNs) support applications like real-time applications such as video streaming and voice conferencing. Multimedia streaming over the WMNs has become a reality with the development of media compression methods [1], high-throughput storage systems, and broadband networking technology. However, there are still many challenges towards building cost-effective, robust, and scalable multimedia streaming systems due to the stringent bandwidth, packet loss, and delay requirements for media streaming.
For supporting real-time video streaming in the WMN, QoS provisioning for such applications is an essential requirement.
Figure 1 shows an example of video streaming over WMNs. If a station (STA) wants to watch the real-time video streaming, it will send a request message to the mesh access point (MAP).
After receiving the message, MAP relays the request to the mesh point (MP), then MP (for simplicity without loss of generality, assuming that it has the source of the video, or obtain the video content from the Internet source) begins to transmit the video streaming to the requested MAP along the
reverse routing path. Here MAP can play as the role of ‘agent’
for those STAs with the same video request under its coverage.
Once the MAP receives the video content, it can broadcast to all its stations. If there are many stations that want to watch the same video simultaneously, then each corresponding agent MAP will request to the same source MP. In this case, the source MP will be a bottleneck and the performance will be severely degraded due to lack of network bandwidth, or congestion. Therefore, P2P streaming approach is a better choice to reduce the overloading of the source. In P2P, each peer contributes its share of resources and cooperates with other peers according to some predefined rules for communications. Besides, the most important difference between P2P and the server/client paradigms, a P2P streaming system uses the ‘play-while-downloading’ mode. And, the requesting peers playback and store the media data during the streaming session, and they become supplying peers of the media file after the streaming session.
Figure 1. Video streaming over WMNs
Here, in supporting P2P overlay network, a multicast tree among all the corresponding agents (MAPs) will be constructed. Although the mesh topology for P2P overlay networks can be an alternative, the tree topology is suitable for easy deployment and quick response. It is because video multicast is an efficient bandwidth-saving technology which intends to transmit the packets from the source to a set of nodes.
This work is granted by project NSC 97-2221-E-004-004-MY2
In most of mesh networks, MAPs are usually equipped with multiple interfaces to improve the system throughput, recent researches have focused on how to assign channels to different wireless interfaces in unicast routing to improve system throughput in WMNs. However, the multicast routing for multiple channels is a more complex problem. Multicast Ad hoc On-demand Distance Vector (MAODV)[4] proposed a multicast version for AODV, and [6] proposed a multiple tree multicast AODV (MT-AODV) for multiple channel cases.
For real-time video streaming, the most important thing is the quality of video playback, and the delay time. The quality of each link along the routing path should be the most important factor with the performance in stead of hop counts which basically AODV families use. On the other hand, multicast is a UDP transmission and will not retransmit packets to ensure the packets are received by these receivers. Many researches use multiple paths to transmit duplicate packets along separate paths, thus, wasting too much bandwidth and network resources.
From the above consideration, in this paper, we take into account the link quality of each interface for constructing two disjoint multicast trees, and used multiple description coding (MDC) for video coding to enhance the efficiency. Through the proposed routing protocol design, simulation results show that we can improve the network performance and look after both network throughput and average end-to-end delay.
The rest of the paper is organized as follows. Section II reviews the related works. In section III, we present a Steiner tree based routing protocol in details. Section IV shows the simulation results and analysis. Finally, we conclude the paper with in Section V.
II. RELATED WORK
Reference [2] discussed the difference between shortest path trees (SPTs) and minimum cost trees (MCTs). The SPT algorithms construct a tree rooted at the sender and spanning all the receivers such that minimize the distance between the sender and each receiver along the tree. As a result, the SPT algorithms minimize the end-to-end delay as well. To construct a SPT, we usually apply the point-to-point shortest path algorithm repeatedly, once for each sender–receiver pair.
Different from the SPT algorithms, the goal of MCT algorithms is to minimize the overall cost of the multicast tree.
MCT algorithms for multicast routing are based on the minimum Steiner tree (MST) problem [3], which is NP-complete. The total cost of a Steiner tree is less than the total cost of a corresponding SPT, by definition of MST.
MAODV [4] is an example of SPTs, which uses the minimum-hop count paths to construct the multicast tree.
MAODV is a multicast extension of AODV [5], and is capable of unicast, broadcast, and multicast. In the MAODV algorithm, the first node that requests membership to the group would become the group leader. When a node wants to join the multicast group and the node can not find a path to the multicast group leader, it will broadcast a Route Request (RREQ) packet. When a group member receives the RREQ, it will send a RREP packet along the reverse route to that node.
After receiving the RREP packets from the multicast group
members, this node will choose the shortest distance (minimum hop-count) path between itself and the member of the group to establish the connection, as a branch of the multicast shard tree of the multicast group. Thus the path to the multicast tree will be the shortest distance.
In [6], they used multiple description coding (MDC) [7] for video coding, which is a video coding concept to a single video source coding into two or more independent descriptions.
These description packets are sent via a number of different routing paths. Any one of the flows can separate out the complete decoding of the video stream. But after receiving a number of descriptions, the video quality will be significantly improved. MT-MAODV [6] is a modified MAODV, which constructs two highly-disjoint trees. By using MDC, the video is divided into two independent sub-streams which will be transmitted separately along these trees. MT-MAODV can reduce the correlation of packet loss of MDC video descriptions if the multicast trees are highly disjoint. However, the transmission goes with only one channel, there must be some shared links in both trees. Without extension to multiple channels of disjoint tree construction, the performance is significantly influenced by the co-channel interference.
Therefore, we consider the broadcasting characteristics of wireless channels, and use more accurate link quality measure to propose a quality-aware multiple backbone construction on multi-interface WMNs. We also used the Steiner tree concept to build the tree such that it is more likely our case that not necessary all the MAPs appear as members and can be only helpers to construct the trees. Compared with MAODV or MT-AODV, all the members should be on the tree eventually.
Considering the quality of the links, we used the expected transmission time (ETT) [8] to calculate the expected time for sending a packet successfully. ETT is estimated by sending out probes and measuring the delivery ratios in both directions.
The delivery ratio can be viewed as a factor of co-channel interface. This means that the link with lower ETT will have better quality. Using ETTs as the cost for the Steiner tree problem and considering integrated multiple channel interference, we can get a tree with less total cost, thus higher transmission performance.
III. PROPOSED MECHANISM
We use the concept of the Steiner tree to modify MAODV routing protocol, and propose a new multi-channel multicast tree algorithm called ST-MAODV. In order to efficiently use channel bandwidth, we use ETTs as link metrics in stead of hop counts to enhance the overall system throughput. And we also adopt the concept of the MDC video application. Without loss of generality, we assume that each MAPs in the WMN are equipped two wireless interface cards, and each card is using the predefined channel with total of two channels for all MAPs.
We find out two disjoint Steiner trees with minimum cost as two multicast trees. For each node joining the multicast group, we will first take into account all the costs to find the minimum cost path to construct the first Steiner tree. And then from the remaining unused links to find out the other minimum cost path for the second Steiner tree. If the remaining links are
insufficient to construct the second tree, we can use the portion of used links of the first tree to construct.
ETT of each interface card is estimated by probing on that channel used for it. ETT can be interpreted as the loading or inverse of link quality associated with the link. Intuitively, when constructing the tree by adding links one by one, the total cost of the tree is the sum of ETTs with all links on the tree.
However, due to broadcast characteristic of wireless channels, using the same channel for multicast, one transmission is enough for all the down-stream nodes. For example, as shown in Figure 2, the number indicated on the link means ETT estimated by using the associated channel/interface. If node A uses the same channel 0 to multicast to nodes B and C (Figure 2(a)), node A transmits only once, as result of total cost of maximum of 5 and 3, which is 5, not sum of 5 and 3, which is 8. If node A uses different channels to multicast, say using channel 0 to node B, and channel 1 to node C, the total cost will be the sum of the two costs which is 8 (Figure 2(b)).
Therefore, if the node A and B are already in the multicast group using the channel 1 as the connection, and sometime later node C wants to join the tree. It will cause less additional cost (which is 2) if using the channel 1 connection to establish the link from node A to C.
Figure 2. Multicast uses the same or different channels.
The following is the procedure for our ST-MAODV protocol:
• Nodes send probing messages once in a while for each channel to calculate the value of ETT for each link to the adjacent nodes.
• When a node wants to join the multicast group, broadcast RREQ packets to adjacent nodes.
• When a node receives the RREQ, check whether it belongs to the group member. If yes, reply RREP via the reserve path to the requesting node. If not, keep broadcasting RREQ packets to other nodes until the group member has received.
• When the requesting node receives RREPs, decide a path with minimum path ETT to construct the first multicast tree.
• Then keep finding out the next minimum path ETT to construct the second multicast tree from the remaining unused links.
When propagating RREQ, the cost of the associated path is incremented with the rule presented in Figure 2. Because the cost of multicast tree depends on the use of the same or different channels, the incremental cost of unused links should be subtracted by the cost of the used links’ maximum cost using the same channel. So we update the unused links' cost of the nodes in the first multicast tree, and then find out the second one using the updated additional cost.
For nodes in accordance with the order to join the group, repeat steps 2 to 5 until all the nodes have joined the two multicast trees.
Figure 3 is a simple example. The node A is the source node; nodes B, C, D, E and F are the destination nodes and have not yet joined the multicast group. Each node has two interface cards using channel 0 and 1, respectively. The number indicated on the link represents ETT cost associated with that channel. Figure 4 shows how node C joins the multicast group. First of all, find a minimum total-cost path from node C to node A and add the path to the first multicast tree. This tree is indicated as dart blue path in Figure 4. Then we find another minimum total-cost path from the remaining unused links to construct the second multicast tree which is indicated as dark red path in Figure 4.
After constructing two disjoint trees for node C, update the costs of these unused links of the nodes in the tree paths as shown as Figure 5. The path of the first tree (blue color) is through node H and node I. The link between node A and node H uses channel 1 and the cost is 2, so that if node A connects to node F with channel 1 later, then it only needs to spend an additional 2 unit of cost. In other words, node A can just spends 4 unit of cost to multicast to node H and node F by channel 1, so the cost of the link between node F to the first tree by channel 1 could be updated to 2 unit. Similarly, update the costs of the unused channel 1 links to other neighbors from node H and node I. After all, update the costs of the unused links of the nodes in the second tree indicated after ‘/’ sign.
Figure 3. Each node transfers data with two channels.
Figure 4. Node C joins the multicast group.
Figure 5. Update cost after node C joins.
Repeat the above steps with the joining sequence: C,F,D,E, and B. We can get two disjoint Steiner trees as shown in Figure 6, after all nodes joining the two multicast trees. The cost of the first Steiner tree is 12, and the second one is 13, resulting in 25 of the total cost.
Figure 6. Two disjoint Steiner trees.
IV. PROTOCOL EVALUATION
In this section, we evaluate the performance of the proposed ST-MAODV routing protocol. We perform the simulation using NS-2 and compare the following four cases:
(C1) Video multicast with MDC and MAODV, (C2) Video multicast with MDC and two-channel MT-MAODV [6], (C3) Video multicast with MDC and ST-MAODV for one tree, and (C4) Video multicast with MDC and ST-MAODV for two disjoint trees. The NS-2 is modified to support MAODV routing protocol [9] and interface operation with multi-channels on each wireless node [10]. Four scenarios for different flow settings are evaluated.
A. Scenario 1
In the first scenario, all receivers join the multicast group per 5 seconds. Figure 7 shows the average delay time with different number of receivers. The average delay time is for data transfer from a sender to a receiver. We can see that our ST-MAODV protocol is better than others, because the link with less ETT means that it may need less time to transfer packets successfully.
Figure 7. Average delay time.
Figure 8. Quality of video frames.
Figure 8 gives the distribution of video frames according to their quality. With the MDC scheme, using multiple disjoint trees can significantly reduce the number of ‘bad’ frames (both descriptions of a particular frame are lost), as shown in case C2 and C4, because the probability of losing both video descriptions together is smaller. Different from the minimum hop-count path of MT-MAODV, our approach selects paths with higher link quality, and thus avoids local congestion so that the quantity of good frames (both descriptions are received)
and acceptable frames (one description is received, and one is lost) of C3 are better than C1.
B. Scenario 2
In scenario 1, there is just one video traffic flow in the simulation environment. Here we add one FTP flow to be the background traffic to make some interference. The FTP flow is between two nodes which were selected randomly, and the data rate is 500 kbps. With some background traffic, there might be more contention and traffic congestion. We can see from Figures 9 & 10 that both C3 and C4 perform better than C1 and C2, because with some interferences, our ST-MAODV can still build trees from those better quality links, and with two disjoint trees, the quality of C4 is superior to C3.
Figure 9. Average delay time.
Figure 10. Quality of video frames.
C. Scenario 3
Now we compare the two-channel MT-MAODV and ST-MAODV with different data rate. As shown as Figure 11 to Figure 14, only ten receivers join the multicast group at the same time. We compare the packet deliver ratio and average delay time with different data rate from 10 kbps to 11 Mbps. In Figures 11 and 12, the two-channel MT-MAODV is better than our ST-MAODV when the data rate is less than 100 kbps. This means that when lower network traffic load, the performance of two-channel MT-MAODV is better. However, with the increasing of traffic loading, our approach is more suitable for data transmission.
Figures 13 & 14 show the average delay time and the latency ratio between C2 and C4, respectively. When data rate increases, delay time also increases significantly. However,
ST-MAODV still has lower delay time. This shows that our approach is more suitable in the environment with higher network traffic load.
Figure 11. Compare PDR with different data rate.
Figure 12. PDR ratio of C2 and C4.
Figure 13. Compare average delay time with different data rate.
Figure 14. Latency ratio of C2 and C4.
V. CONCLUSION
In this paper, we present a ST-MAODV routing protocol for multi-interface wireless mesh networks. The main purpose is to enhance the throughput of multicasting the video streaming to the receivers in the multi-channel environment.
We refer to the Steiner tree concept to modify the MAODV
We refer to the Steiner tree concept to modify the MAODV