Efficient push-based packet scheduling for Peer-to ... - Springer Link

1 downloads 0 Views 824KB Size Report
May 1, 2013 - Efficient push-based packet scheduling for Peer-to-Peer live streaming. Ning Liu · Jinghan Yang · Huajie Cui · Guifeng Zheng ·. Hongbin Chen.
Cluster Comput (2013) 16:767–777 DOI 10.1007/s10586-013-0268-5

Efficient push-based packet scheduling for Peer-to-Peer live streaming Ning Liu · Jinghan Yang · Huajie Cui · Guifeng Zheng · Hongbin Chen

Received: 31 December 2012 / Accepted: 11 April 2013 / Published online: 1 May 2013 © Springer Science+Business Media New York 2013

Abstract Content scheduling is a key component of Peerto-Peer (P2P) networks. The problem is how to schedule the content delivery to the children peers with multiple parents to improve the overall performance of the systems. The challenge is to design a scheme with low delay and low bandwidth utilization. Most of recent works propose pull-based schemes, whose processes for periodically advertising and requesting on per-packet basic lead to long delay. However, long playback delay is undesirable for live streaming and TV shows. In this paper, we formulate the scheduling problems as to minimize the playback delay due to scheduling. To solve the problem and address the packet redundancy and disorder packet arrival issues, we propose a novel pushbased scheme. In our scheme, parents push packets to their children in a given interval pattern as soon as the packets are received, and children feed back network condition changes with an interval pattern when necessary. The scheme eliminates the processes of buffer advertising and packet requesting, and reduces control traffic, delivery delay and playback delay much more than the pull-based schemes. We provide an efficient scheduling algorithm and its implementation for N. Liu · J. Yang · H. Cui · G. Zheng () School of Software, Sun Yat-Sen University, Guangzhou 510006, China e-mail: [email protected] N. Liu e-mail: [email protected] J. Yang e-mail: [email protected] H. Cui e-mail: [email protected] H. Chen School of Information and Communication, Guilin University of Electronic Technology, Guilin 541004, China

simulation. The simulation results show that our scheme outperforms other pull-based schemes significantly. Keywords Peer-to-Peer · Live streaming · Playback delay · Push-based scheme · Packet scheduling algorithm 1 Introduction The number of subscribers to Internet television (IPTV) worldwide is expected to increase rapidly. Peer-to-Peer (P2P) delivery technology will replace client-server based content delivery in the coming years. With P2P technology, live media, e.g. Internet television (IPTV), can stream from a single source to a large number of peers over the Internet without any special support from the network. The cost for deploying IPTV solution will be greatly reduced while maintaining the same or even better quality of services. In P2P live media streaming networks [1–4], each peer independently selects some other peers as its parents, and retrieves streaming data from these parents. The key components of P2P streaming systems are overlay construction and data scheduling. However, in the literature most of the related research works focus on the overlay construction problem. There are few schemes addressing the scheduling problem [4–7]. In P2P media streaming systems, the overlays are often constructed on mesh or multiple tree structure. Each peer may receive media streams from multiple parent peers, which have different bandwidths, different available packets and different propagation delays to the children peer. As shown in Fig. 1, there are 3 parent peers streaming media to the children peer. The peers are all located somewhere in the Internet. The children peer includes several components: the receiver, the buffer, the scheduler, the decoder and the media player. The receiver puts the received packetized data into

768

Cluster Comput (2013) 16:767–777

Fig. 1 Architecture of content scheduling in children peer

the buffer, and the decoder reads packets from the buffer orderly to decode and feed the player. In the same time, the scheduler collects bandwidth and other information, decides the assignment of packets, and sends feedbacks or requests to parent peers, tells them which packets to stream to the children peer. As we know, every client of live TV show desires low playback delay. Long playback delay is unacceptable for live streaming. Therefore, given an overlay and a set of these parent peers, the problem is how to schedule content delivery to minimize the playback delays of the children peers. The challenge is to design a scheduling scheme with low delay and low bandwidth utilization, under consideration of the variational upstream bandwidth, heterogeneous propagation delay and the partially available content. Current research which works on content scheduling mainly focus on maximizing the throughput [4–7], they do not take the playback delay under consideration, and they are pull-based, i.e., the children pull packets from the parents and suffer long playback delay due to the advertising and requesting procedures. To tackle the scheduling problem in P2P live streaming systems, we propose a novel push-based scheme, where parents are pushing packets, and the children peers feed back only when the network condition changes. It’s not on the per-packet basic. There are no advertising and requesting procedures in push-based scheme. The parent will push its latest packets to its children peer once they are connected, so that the push-based scheme can reduce the queuing delay in the buffer much more than pull-based schemes. The scheme attempts to minimize the playback delay while efficiently utilizing the available bandwidth and considering different propagation delays from different parent peers. The issues in push-based scheduling are as following: • Packet redundancy: Because each parent is pushing packets without other parents’ information, some children peers with multiple parents will receive duplicated packets. In this work, we use an interval pattern to tell each

parent the interval to push packets, to ensure that different parents cooperate in harmony. Each parent is only allowed to push the designated packets to its children peers. And each packet is only allowed to be pushed by one parent. • Disorder packet arrival: Different parents may have different ranges of packets in the buffer, so that the packets which children got will be out of order. In our work, together with the interval pattern, we set a proper start packet for each parent to make the packets arrive contiguously in each children peer, although they are delivered from different parents. • Packet loss: Networks sometimes are unstable, and some packets delivered from parents may be lost during the propagation, so that the children peers suffer the problems of packet loss and buffer hole. In our work, the recovery mechanism recovers the missing packets with backup parents and maintains high quality of live streaming. In this work, we formulate the content scheduling as minimizing playback delay optimization problems. As the global problem with all peers is not practical to solve, we formulate a simpler local problem for each peer, and we present a push-based scheme to exactly solve it. We integrate push-based scheduling with our previous work on P2P media streaming system [2]. The playback delay of the pushbased scheduling is improved 20 % at least, comparing with the original pull-based schedulings while tested in our local area networks. The simulation results show that our scheme outperforms other pull-based schemes significantly. The remainder of this paper is organized as following. Section 2 introduces other related works on scheduling. Section 3 gives the formulation of scheduling problem on minimizing playback delay due to scheduling. Section 4 presents our push-based scheme and algorithm on scheduling in detail. Section 5 describes our simulations and evaluates the performance of our scheme, comparing with other pullbased schemes. Section 6 draws our conclusions and states some future works.

Cluster Comput (2013) 16:767–777

2 Related work There have been much studies on different aspects of P2P streaming system [8–11], including overlay construction, content scheduling, security problem, etc. Here, we focus on content scheduling, we roughly divide the scheduling strategies into three categories: pull-based, push-based and hybrid pull-push. For pull-based schemes, some of them didn’t consider the bandwidth factor. Chainsaw [6] uses a purely random strategy to decide which packets to request from neighbors. It does not consider the bandwidth variation, and the approach will lead to congestion on some peers with low upstream bandwidth. However, some of the schemes consider the bandwidth factor [7, 12]. Round-Robin method used in PALS [7] assigns packets to each parent proportionally by weighted Round-Robin strategy due to the bandwidths from the parents. These works do not consider the disorder packet arrival issue. On the other hand, some pull-based schemes consider bandwidth and rarity factors together [1, 4, 5]. Zhang, Xiong, etc. [5] model the scheduling problem as a classical min-cost network flow problem. They define different priorities for packets by rarity factor and emergency factor. The problem is to maximize the average priority sum of each node. This approach needs global information and has computational complexity. The rarest first method is not good for contiguous packet arrival, because new packets are always rarer than old ones. Other pull-based schemes focus on the resource sharing scheduling [13, 14]. Cai, Natarajan, etc. [13] introduce a shaking method on scheduling of P2P video services. Each client searches candidate servers and then sends requests to them. Given a set of server candidates, a client can contact them for their pending requests and try to find a new server for each of them. Other works [15–17] focus on the parent selection, and need more control traffic for buffer reporting and packet requesting or other processes. These works did not take the playback delay under consideration, while the playback delay issue is very important to live media streaming. As compared with the pull-based schemes, in our work, parents orderly push packets cooperatively by means of interval pattern, which can tackle the out of order issue quite well. Furthermore, there is no buffer advertising and requesting procedures, so that less control traffic is used, and bandwidth is used more efficiently. Therefore, playback delay can be significantly reduced. Generally, there are two types of push-based schemes: tree-push and mesh-push. In tree-push, the peers form one or more application-layer multicast trees [18–20]. Miguel Castro, Peter Druschel, etc. [18] propose a novel tree-based multicast system, SplitStream, which are robust to peer dynamics and achieves low overhead for forest construction and maintenance. In a following work, Vidhyashankar

769

Venkataraman, Kaouru Yoshida etc. [19] presents a new unstructured P2P multicast protocol called Chunkyspread that is tree-based yet simple and robust. Under fine-grained control over member load, Chunkyspread reacts quickly to membership changes, scales well, and has low overhead. The experimental results show that Chunkyspread exhibits better control over transmit load than Splitstream, while exhibiting comparable or better latency and responsiveness to churn. While the previous two works focused on control overhead and peers dynamics, Luo [20] attempts to minimize the delay, and proposes algorithms to construct and maintain a multi-tree overlay, called SNowbAll multi-tree Pushing (SNAP). The scheduling policy guided by SNAP trees guarantees a minimum delay for continuous chunk streaming. As compared with tree-push, our scheme is not based on the multi-tree approach, each peer may have different number of parents and it does not require a certain minimum end-to-end bandwidth. For mesh-push, parents push packets without receiving explicit request from a child [21–24]. Anis Ouali, Brigitte Kerhervé, etc. [21] combine the low scheduling delays of push scheduling with the resiliency and multi-parent ability of mesh overlays. They propose a pure push scheduling strategy, PurePush, where parents of a node push a packet with a relaying probability in order to reduce redundancy. A similar work is R 2 [22], a random push strategy, using network coding to randomly code segments and push downstream. R 2 improves the performance of the live streaming by reducing bandwidth costs and delays. As compared with these work, our push-based scheme is much simpler to implement and has lower processing overhead. In addition, our approach has a lower packet waiting time, and hence, delay, due to its smaller scheduling block. In recent years, some pull-push schemes have been proposed. Li, Yu, etc. [25] propose a max-flow model for unifying the sub-stream scheduling problem and a min-cost flow model to combat peer heterogeneity in scheduling substreams. Alghazawy, Fujiata, etc. [26] propose a packet scheduling scheme for hybrid protocols based on “pseudo random sub-stream”. As the pseudo random sub-streams are dynamic and adaptive, each peer can request a set of chunks less than the set supported by each sub-stream and request different portions of chunks from different peers. Therefore, this scheme can effectively avoid a high concentration of requests to specific parents. However, using the pseudo random sub-stream may bring more control overhead to the streaming system. Zhang et al. [27] propose a pull-push hybrid protocol, which make use of pull-based protocol for multicast routing and tree-push scheme for packet delivery, attempting to break the tradeoff between control overhead and delay. The approach proposed is more robust to node dynamics. However, it has higher delay than the tree-push strategy because of the exchange of buffer bitmap and pull

770

mechanism. Huong Bui Thi Lan, Hoai Son Nguyen [28] present a low-delay push-pull based application layer multicast for live video streaming on P2P networks to optimize content delivery. This method reduces buffering time at each node and makes live video play back on time. But it doesn’t deal with the problem of packet loss. Chee, Poo, etc. [29] present a frame wise push-pull scheduling for P2P streaming that can heuristically select the optimal frame to be pushed. This scheduling algorithm aims to achieve low end-to-end delay and low frame miss-ratio. But the problem of frame redundancy isn’t considered by it. However, our algorithm solves this problem well. Above all, most existent works do not focus on the playback delay which is very important in live media streaming in P2P IPTV systems. Our scheduling scheme focuses on the delay issue, attempting to minimize the average delay of all peers under the constraints of available bandwidth and propagation delay. A preliminary version of this work [30] has been reported. In this paper, we formulate the scheduling problem and find the local optimal solution, which is simple to implement. Besides, we improve the recovery mechanism which recovers the missing packets with backup parents and maintains high quality of live streaming. In the end, we evaluate the performance of our proposed algorithm in different network conditions (different online peers, parents and loss rate), to show the low delays and robustness of our scheme.

3 Formulation of scheduling problem This section first describes the notations used in the paper, and then gives a global content scheduling problem formulation. Because the global problem is not practical to solve, we give a local problem at last subsection, the local problem is easier to solve. 3.1 Definition The notations are depicted in detail as follow. There are N peers in the overlay network. The media source peer 0 generates packets in size S one by one, and streams them to the overlay network. The streaming rate is R. Each packet has a unique increasing sequence number, denoted with variable z. Once a peer i joins the network, its parents in the parent set Pi will send the media packets to it. When the outbound bandwidth Bj i (t) of one parent peer j at time t is less than the streaming rate, multiple parents are needed to serve the children peer. The arrival time of packet z is denoted by Ai (z) at peer i. The playback time of packet z is defined as Vi (z) at peer i. We have Ai (z) ≤ Vi (z) obviously.

Cluster Comput (2013) 16:767–777

We define the end-to-end delay of a packet z from peer j to peer i as Ej i (z) = Ai (z)−Aj (z). It is the time going from the packet z’s reaching peer j to i. This delay includes the packet transmission delay S/Bj i (t), the propagation delay Gj i (t), and the queuing time Qj i (t) before delivery. We define the latest contiguous packet at peer i as a piecewise constant function of time t, i.e. Li (t). The latest contiguous packet of media source is a series of increasing segmented horizontal lines, i.e., L0 (t) = Rt/S, and Li (t), i = 1, 2, . . . , N are series of lines for other peers. We use Xj i (z) as decision variable for packet scheduling. When its value is 1, it means that packet z is scheduled to deliver from peer j to i. Denote T be a time period, during which M packets are generated in the source peer. Obviously we have M = RT /S. We define the global minimal average playback delay as D, and the local minimal playback delay as D(i) at peer i. 3.2 Global problem formulation According to the above definitions, if the scheduling Xj i is decided, the arrival time of packet z at peer i is equal to the arrival time at its parent j plus the end-to-end delay Ej i (z), i.e.,    Xj i (z) Aj (z) + Ej i (z) . (1) Ai (z) = j ∈Pi

Here the end-to-end delay Ej i (z) is related to the transmission delay, the propagation delay and the queuing delay, i.e., S (2) + Gj i (z) + Qj i (z). Ej i (z) = Bj i (t) Suppose the overlay is given, so that the bandwidth Bj i (t) and the propagation delay Gj i (z) are out of control by the scheduler. Furthermore, the transmission delay and the propagation delay are much lower than the queuing delay because of high hardware transmission speed and low computing speed. For example, the data propagation speed can be as fast as 0.59 or 0.77 light speed, so we consider that the data propagation practically takes no time. Suppose there are M packets generated by source during a time period T , we formulate the packet scheduling problem as finding a scheduling Xj i to minimize the average queuing delay of packet delivery, i.e.,  N M  1   D = min Xj i (z)Qj i (z) , (3) Xj i MN i=1 z=1 j ∈Pi

s.t. Xj i (z) ∈ {0, 1}, for 1 ≤ i ≤ N, 1 ≤ z ≤ M,  Xj i (z) = 1, for 1 ≤ i ≤ N, 1 ≤ z ≤ M,

(4) (5)

j ∈Pi M  z=1

Xj i (z)S ≤

 t∈T

Bj i (t),

for 1 ≤ i ≤ N, j ∈ Pi .(6)

Cluster Comput (2013) 16:767–777

771

Constraint (4) and (5) ensure that each packet should be fetched from at most one parent and each packet should be assigned to at least one parent. Constraint (6) ensures that the scheduling should satisfy the outbound bandwidths of parents. 3.3 Local problem formulation The global optimization problem (3) formulated above is not practical to solve, because it is a nonconvex optimization. Although there are a lot of methods, such as Lagrangian relaxations, subgradient method and so on, to find good, but not necessarily optimal, feasible points. The cost is too high to use in live streaming. In addition, P2P networks are often decentralized, where each peer is independently running without other peers’ information. However, any parent peer’s scheduling decide its available packets, which will affect the children peers’ scheduling, that is to say, any peer’s optimal scheduling depends on its parents’ scheduling. Hence, a greedy algorithm can be used to find a local optimal feasible point. We attempt to formulate a simpler local optimization problem as finding a scheduling Xj i at peer i to minimize its playback delay due to scheduling, i.e.,  M  1   D(i) = min Xj i (z)Qj i (z) , (7) Xj i M z=1 j ∈Pi

with the same Constraint (4)–(6) for global problem. This local scheduling problem is simpler than the global one, and can be solved at children peers without global information of the whole P2P overlay. Furthermore, the average of all peers’ solutions must be not less than the global optimal solution, i.e., D≤

N 1  D(i). N

(8)

i=1

However, the children peers can achieve the practically minimal playback delay by solving the local problem. The push-based scheme reduces the queuing delay much more than pull-based schemes, so that it can solve the local problem. It is presented in detail in the following section.

4 Push-based scheduling scheme Given an overlay, the bandwidth and the propagation delay are out of control by the scheduler. A good scheduling scheme can efficiently utilize the bandwidth, select proper parents to balance the propagation delays and make the packets arrive in order, so that the minimal scheduling delay is achieved. Our scheme promises the slowest parent pushes a packet immediately when it receives the packet. Because packets

delivered from it suffer the longest delay, the delays of other packets delivered from other faster parents must be lower. If the longest delay is lower, the overall average delay must be lowest. Zeroing the queuing delay at the slowest parent is a solution. Furthermore, to make the packet arrival in order, packet sorting is used in our scheme. This section describes the solution for the local scheduling problem formulated above in detail, and presents an efficient algorithm on scheduling. 4.1 Solution For a given P2P network overlay, we assume that during a time period T , each peer’s bandwidth is stable and the aggregation is enough for live media. If not, new parents should be chosen and do scheduling again. The scheduler resides in a children peer. At every decision point when the aggregate available bandwidth or parent peers changes, the children peer will invoke the scheduling process and predict a future schedule bit mapping to feed back all its parents. The schedule bit mapping consists of a start sequence number and a certain number of bits, telling which packets to send first and the interval to push next packets. For those peers served by a single parent, the packet scheduling can forward the packet immediately when the single parent receives it. For those peers served by multiple parents, the situation is a little complicated. Under Leaky-Bucket constraint, the children peer receives varied incoming media streams, removes the duplicated packets, and sorts them to a smooth packet stream to feed the media player. In this case, we aim to schedule and get a smooth packet stream which has no duplicated or missing packets, and all the packets come in order. At the children peer, the curve of packet arrival time Ai (z) may be fluctuated, so does the latest contiguous packet Li (t). To play the media smoothly, the curve of playback time of packets, Vi (z), must be a straight line below Ai (z). Its slope is S/R. In detail of multiple parents case, the minimal value of packet playback time Vi (z) of children peer i, is equal to the maximal value of its parents’ packet arrival time plus the minimal delay to peer i, i.e.,   S Vi (z) ≥ max Aj (z) + + Gj i (z) . (9) j ∈Pi Bj i (t) Here we set the minimal delay to the transmission delay plus the propagation delay only, ignoring the queuing delay, which means that the parents push packets to children immediately when they gets the packets. The parent with value of the right hand side of Eq. (9) must be the slowest parent. The packets delivered from it

772

Cluster Comput (2013) 16:767–777

suffer the longest delay, while the delays of packets delivered from other parents will be lower. Under the contiguous packet constraint, if the packets’ scheduling delays on that parent increase, the other packets’ delays on other parents must increase too. So our scheme tries to minimize the scheduling delay on the slowest parent. According to Eq. (9), we present a scheduling algorithm that addresses the local scheduling problem to minimize the playback delay for each peer, s.t.   S + Gj i (z) . Vi (z) = max Aj (z) + (10) j ∈Pi Bj i (t) Furthermore, the algorithm sorts scheduled packets to make packets arrive in order. We will provide the algorithm in the following subsection. 4.2 Scheduling algorithm For each peer i, the scheduling algorithm as following will be executed at children peers when network conditions changes. We choose a time period T = max j

S , Bj i

(11)

during which the parent with the lowest bandwidth can deliver at least one packet. According to the latest contiguous packet received, the bandwidth and the delay information, the scheduler picks a range of packets that the peer will receive during a future period T . The number of packets in this set should be M. Suppose the schedule Xj i for the picked packets are all true, and multiple packets for one parent are delivered one by one in order of sequence numbers, then the delivery delay time can be figured out according to cj (z)S/Bj i (t) + Gj i (z), here cj (z) is the order number of packet picked at same peer j started from 1. Note that the delivery delay time for the packet from the lowest bandwidth parent should be T . We sort all picked packets in order of their delivery delay time. If delays are the same, packets from higher bandwidth parent go first. After sorted, we get the sequence number f (x), and the relative parent id p(x), here x is the index of the sorted list. Then decide which packets to pick from each parent during T , by   g(k) = k + min f (x) − x . (12) x

At last, the peer generates schedule bit mapping for each parent, the size of which is M. All bits are zeros by default. Set the kth bit of parent p(g(k)) to be 1, for k = 1, 2, . . . , M. Then feed back each parent with updated schedule bit mapping. Furthermore, an example for scheduling is shown in Fig. 2. Suppose there are 3 parents with identity number of 1,

2 or 3, and a children peer with id of 4. At decision point t0 , their latest contiguous packets of parents are L1 (t0 ) = 11, L2 (t0 ) = 8, and L3 (t0 ) = 10. Their outbound bandwidths detected by children peer are B14 (t0 ) = 500, B24 (t0 ) = 125, and B34 (t0 ) = 375. The aggregate bandwidth is equal to the video streaming rate R = 1000. Suppose packet size S = 1000, then according to our algorithm, we get T = 8 with Eq. (11), and get M = RT /S = 8. During T , parent 1 can forward 4 packets {8, 9, 10, 11} to peer 4, and from parent 2 and 3, the range are {8} or {8, 9, 10} respectively. For simplification, we ignore the propagation delay here, then the delays for packets {8, 9, 10, 11} from parent 4 are {T/4, T/2, 3T/4, T}, and {T/3, 2T/3, T} for parent 3’s packets {8, 9, 10}, {T} for parent 2’s packet {8}. After sorting, we get a result set of packets, which is g(x) shown in Fig. 2. From p(x) we get the scheduling result: assigning packets {1, 3, 5, 6} to parent 1, packet {8} to parent 2, and packets {2, 4, 7} to parent 3. Converted to bit mapping, they are 10101100, 00000001 and 01010010 respectively.

5 Illustrative simulation results We integrate our scheme with our previous work on P2P media streaming system [2], which is originally using pullbased method in multiple parents scheduling. And we use four different groups of network condition parameters in the simulation to compare the performances of three methods. The playback delay of the new scheduling method is improved 20 % at least, while tested in our simulative networks. Furthermore, to evaluate the performance of our proposed algorithm and compare it with several pull-based schemes, we setup an illustrative simulation system with event-driven C++. The simulation configuration, metrics used and results are discussed as following. 5.1 Simulation environments and metrics The simulation uses a randomly generated topology, where the link delays are randomly generated, the outbound bandwidths for links are randomly chosen from 1,000 Kbps to 2,500 Kbps. A Token Bucket is implemented in each peer to limit the outgoing bandwidth. In our simulation, we suppose that the aggregate bandwidth is larger than the streaming rate. The media streaming rate is set to be 500 Kbps, and the packet size is 1,000 bytes. For pull-based scheduling, the time interval for the buffer advertising is set to be 0.2 second, and the requesting interval is 0.2 second. We use the following baseline parameters: 100 online peers, 5 parent peers and 8 % loss rate, for comparing schemes in multiple parents case. Furthermore, we also test the schemes in other

Cluster Comput (2013) 16:767–777

773

Fig. 2 Sample solution of multiple parents scheduling

environments for comparing different results caused by varied network conditions, such as 100 online peers, 1 parent peer, 8 % loss rate for comparing schemes in single parent case; 300 online peers, 5 parent peers, 8 % loss rate for comparing schemes in large numbers of online peers case and 100 online peers, 5 parent peers, 16 % loss rate for comparing schemes in high loss rate case. The schemes we are comparing are Random [6] and Round-Robin [7] methods. They are all pull-based and briefly described in Sect. 2. On observing some metrics for P2P streaming, we focus on the following metrics. • Average playback delay: The playback delay of a peer is defined as the maximum time delay of all packets delivered from its parents to it in a set time period. It is important in P2P IPTV, especially for live TV programs. The playback delay should maintain stable to play smoothly. • Playback delay distribution: The playback delay distribution is defined as the rate of peers with playback delays less than the time limits. Higher rate of low playback delay peers provides more peers with smooth playback. • Average residual loss rate: A good packet scheduling scheme provides packet loss recovery mechanism to

achieve better playback quality by recovering the lost packets and making the peers receive continuity packets smoothly and timely. To evaluate the ability of packet loss recovery, we define the residual loss rate as the percentage of packets that cannot be successfully received after packet loss recovery in a set time period. • Average control overhead: Data traffic consists of media data traffic and control message data traffic. The control overhead is defined as the control message data rate. 5.2 Illustrative results After running simulation on a 1,000 peers’ topology with different numbers of online peers for 80 seconds, we get some significant results and plot them at the 70th second, as shown in Figs. 3, 4, 5 and 6. Figure 3 shows the comparisons of the three schemes’ playback delay in different network conditions. It’s obvious that our scheme performs significantly lower and more stable average playback delay. The playback delay of our scheme is nearly reduced by half when compared to the other two schemes. In Fig. 4, under the comparisons of the playback delay distribution of the three schemes, we can see that our scheme

774

Cluster Comput (2013) 16:767–777

Fig. 3 Schemes’ comparisons of playback delay in different network conditions

Fig. 4 Schemes’ comparisons of playback delay distribution in different network conditions

achieves lower playback delays than the other two schemes in most of the peers. These results confirms that the pushbased scheme provides live streaming with low playback delay by eliminating buffer advertising and packet requesting processes. On the other hand, Fig. 5 compares the residual packet loss rate of the three schemes. Although the residual loss rates for all schemes are low, our scheme gets the lowest residual loss rate, because the packet loss recovery mechanism in it works efficiently. Furthermore, the residual loss rate of our scheme stay low in complex and unstable network environments, while the residual loss rates of other schemes increase. At last, we show in Fig. 6 the control overhead of the schemes in different network conditions. It illustrates that

our scheme’s control overhead traffic is significantly lower. Our scheme only needs a little control traffic to update the schedule bit mapping when needed. While the pull-based schemes need extra traffic for the peers to periodically tell their neighbors which exact packets they have, and request those exact packets afterward. When the aggregate bandwidth is enough, the schemes do not need to fully use the bandwidth, and our scheme uses bandwidth most effectively. According to Figs. 3, 4, 5 and 6, we can summarize that the push-based scheme outperforms the pull-based schemes in both single parent and multiple parents cases. Our scheme using less bandwidth achieves lower playback delay than the others in different network conditions. Besides, it gives a good performance of missing packet retransmission with low control overhead traffic even if the network becomes

Cluster Comput (2013) 16:767–777

775

Fig. 5 Schemes’ comparisons of residual packet loss rate in different network conditions

Fig. 6 Schemes’ comparisons of control overhead in different network conditions

complex or unstable. Therefore, our scheme has more profound research significance and higher application value than other schemes.

6 Conclusions As IPTV services are deployed around the world, the networking infrastructure is scaled to serve an increasing number of customers. To provide better quality, we investigate the packet scheduling problems in P2P live media streaming systems and propose a novel push-based scheduling scheme with multiple parents. We formulate the content scheduling as the problem of minimizing the scheduling delay. We

provide an efficient distributed solution to address the local scheduling problem with a novel push-based scheduling scheme, and propose an efficient scheduling algorithm. Furthermore, we implement the push-based scheme integrated with our previous work on P2P streaming system, and implement an illustrative simulation system to evaluate the performance. The simulation results show that our scheme achieves much better improvement comparing with pull-based schemes. It’s mainly because the new scheme is designed for P2P live media streaming, without the packet advertising and requesting procedures. Future works on scheduling should focus on more efficient missing packet recovery mechanism, and consider

776

more complex and unstable network, such as more unreliable transmission which may cause higher packet loss rate or larger number of online peers which may cause longer delay. The playback delay consideration in our push-based scheme may be helpful for the overlay optimization.

References 1. Liao, X., Jin, H., Liu, Y., Ni, L.M., Deng, D.: Anysee: peer-to-peer live streaming. In: Proc. of IEEE Infocom (2006) 2. Jin, X., Cheng, K.-L., Chan, S.-H.G.: SIM: scalable island multicast for peer-to-peer media streaming. In: Proc. of IEEE International Conference on Multimedia Expo (ICME), Toronto, Canada, July 2006, pp. 913–916 (2006) 3. Yiu, W.-P.K., Jin, X., Chan, S.-H.G.: Challenges and approaches in large-scale peer-to-peer media streaming. IEEE Multimed. 14(2), 50–59 (2007) 4. Zhang, X., Liu, J., Li, B., Yum, T.-S.P.: CoolStreaming/DONet: a data-driven overlay network for live media streaming. In: Proc. of IEEE INFOCOM, Miami, FL, USA, March 2005, pp. 2102– 2111 (2005) 5. Zhang, M., Xiong, Y., Zhang, Q.: On the optimal scheduling for media streaming in data-driven overlay networks. In: Proc. of IEEE GLOBECOM, New York, November 2006 6. Pai, V., Kumar, K., Tamilmani, K., Sambamurthy, V., Mohr, A.E.: Chainsaw: eliminating trees from overlay multicast. In: IEEE Infocom, Conell, US, February 2005 7. Agarwal, V., Rejaie, R.: Adaptive multi-source streaming in heterogeneous peer-to-peer networks. In: Multimedia Computing and Networking (MMCN), San Jose, CA, USA, January 2005 8. Wanga, Y., Nakao, A., Vasilakos, A.V., Ma, J.: P2P soft security: on evolutionary dynamics of P2P incentive mechanism. Comput. Commun. 34(3), 241–249 (2011) 9. Zhou, L., Chao, H.-C., Vasilakos, A.V.: Joint forensics-scheduling strategy for delay-sensitive multimedia applications over heterogeneous networks. IEEE J. Sel. Areas Commun. 29(7), 1358–1367 (2011) 10. Shen, Z., Luo, J., Zimmermann, R., Vasilakos, A.V.: Peer-to-Peer Media Streaming: Insights and New Developments. Proc. IEEE 99(12), 2089–2109 (2011) 11. Zhou, L., Zhang, Y., Song, K., Jing, W., Vasilakos, A.V.: Distributed media services in P2P-based vehicular networks. IEEE Trans. Veh. Technol. 60(2), 692–703 (2011) 12. Wah Yim, A.K., Buyya, R.: Decentralized media streaming infrastructure (demsi): an adaptive and high-performance peer-to-peer content delivery network. J. Syst. Archit. 52(12), 737–772 (2006) 13. Cai, Y., Natarajan, A., Wong, J.: On scheduling of peer-to-peer video services. IEEE J. Sel. Areas Commun. 25(1), 140–145 (2007) 14. Wei, C., Kai, S., Sen, S., Fangchun, Y.: A heuristic chunk scheduling algorithm reducing delay for mesh-pull P2P live streaming. In: 2nd IEEE International Conference on Broadband Network and Multimedia Technology, pp. 706–710 (2009) 15. Ouali, A., Kerherve, B., Jaumard, B.: Toward improving scheduling strategies in pull-based live P2P streaming systems. In: 6th IEEE Consumer Communications and Networking Conference (CCNC), pp. 1–5 (2009) 16. Yao, J., Bhuyan, L.: “Distributed packet processing in P2P networks. In: IEEE Global Telecommunications Conference (GLOBECOM), pp. 142–147 (2005) 17. Kim, E., Liu, J.C.L.: Design of hd-quality streaming networks for real-time content distribution. IEEE Trans. Consum. Electron. 52(2), 392–401 (2006)

Cluster Comput (2013) 16:767–777 18. Castro, M., Druschel, P., Kermarrec, A.-M., Nandi, A., Rowstron, A., Singh, A.: SplitStream: high-bandwidth multicast in cooperative environments. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles, The Sagamore, Bolton Landing, Lake George, New York, Oct. 2003, pp. 298–313 (2003) 19. Venkataraman, V., Yoshida, K., Francis, P.: Chunkyspread: heterogeneous unstructured tree-based peer-to-peer multicast. In: Proceedings of the 2006 14th IEEE International Conference on Network Protocols, pp. 2–11 (2006) 20. Luo, J.: Practical algorithm for minimum delay peer-to-peer media streaming. In: 2010 IEEE International Conference on Multimedia and Expo (ICME), pp. 986–991 (2010) 21. Ouali, A., Kerhervé, B., Jaumard, B.: A packet-loss resilient push scheduling for mesh overlays. In: 2011 IEEE Consumer Communications and Networking Conference (CCNC), pp. 611–615 (2011) 22. Wang, M., Li, B.: R2: random push with random network coding in live peer-to-peer streaming. IEEE J. Sel. Areas Commun. 25(9), 1655–1666 (2007) 23. Bracciale, L., Lo Piccolo, F., Luzzi, D., Salsano, S., Bianchi, G., Blefari-Melazzi, N.: A push-based scheduling algorithm for large scale P2P live streaming. In: 2008 4th International Telecommunication Networking Workshop on QoS in Multiservice IP Networks, pp. 1–7 (2008) 24. Cui, L., Jiang, Y., Wu, J.: Optimizing push scheduling algorithm based on network coding for mesh peer-to-peer live streaming. In: 2012 IEEE International Conference on Communications (ICC), pp. 2075–2080 (2012) 25. Li, Z., Yu, Y., Hei, X., Tsang, D.H.-K.: A unified framework for sub-stream scheduling in P2P hybrid streaming systems and how to do better? In: Proc. of NETWORKING, pp. 728–741 (2009) 26. Alghazawy, B.A., Fujiata, S.: Probabilistic packet scheduling scheme for hybrid pull-push P2P live streaming protocols. In: 2011 Second International Conference on Networking and Computing, pp. 248–251 (2011) 27. Zhang, M., Zhang, Q., Sun, L., Yang, S.: Understanding the power of pull-based streaming protocol: can we do better? IEEE J. Sel. Areas Commun. 25(9), 1678–1694 (2007) 28. Bui, H., Lan, T., Nguyen, H.S.: A low-delay push-pull based application layer multicast for P2P live video streaming. In: 2011 Third International Conference on Knowledge and Systems Engineering, pp. 104–111 (2011) 29. Keong, C.Y., Hoong, P.K„ Ting, C.-Y.: Efficient hybrid push-pull based P2P media streaming system. In: 2011 IEEE 17th International Conference on Parallel and Distributed Systems, pp. 735– 740 (2011) 30. Zheng, G., Chan, S.-H.G., Luo, X., Begen, A.C.: Pattern-push: a low-delay mesh-push scheduling for live peer-to-peer streaming. In: Proc. of IEEE Int. Conf. on Multimedia and Expo (ICME), New York, 28 June–3 July 2009, pp. 1158–1161 (2009) Ning Liu received his B.S. degree in computational mathematics and its application software from the Northwest University in 1996 and the Ph.D. degree in computer science from Sun Yat-sen University in 2004. He is now an associate professor at Yat-Sen University. His research interests include computer vision, p2p networks and machine learning algorithms. E-mail contact: [email protected]. cn

Cluster Comput (2013) 16:767–777

777

Jinghan Yang was born in Guangdong, China, in 1987. He received his B.E. degree in software engineering from Sun Yat-Sen University, Guangdong, China. He is currently a graduate student in School of Software of Sun Yat-Sen University. His current research interests is Peer-to-Peer live streaming media. E-mail contact: jinghanyoung@ hotmail.com

Guifeng Zheng received his Ph.D. degree from Sun Yat-sen University in 2005. He is currently an assistant professor in School of Software, Sun Yat-Sen University. His research interests span the areas of multimedia networking, peer-topeer live streaming. E-mail contact: [email protected]. edu.cn

Huajie Cui was born in Guangdong China, in 1988. He received his B.E. degree in software engineering from Sun Yat-Sen University. He is now a graduate student in School of Software of Sun Yat-Sen University. His current research interests is Peer-toPeer live streaming media. E-mail contact: destiny.cui@gmail. com

Hongbin Chen was born in Hunan Province, China in 1981. He received the B.Eng. degree in electronic and information engineering from Nanjing University of Posts and Telecommunications, China, in 2004; and the Ph.D. degree in circuits and systems from South China University of Technology, China, in 2009 (won Distinguished Ph.D. Thesis of South China University of Technology). He is presently an Associate Professor in the School of Information and Communication, Guilin University of Electronic Technology, China. From October 2006 to May 2008, he was a Research Assistant in the Department of Electronic and Information Engineering, Hong Kong Polytechnic University, China. His research interests lie in cooperative, cognitive and green communications. He has published about 20 papers in renowned international journals including IEEE Transactions. He is serving as an Editor for IET Wireless Sensor Systems and Ad Hoc & Sensor Wireless Networks.

Suggest Documents