This article was published in an Elsevier journal. The attached copy is furnished to the author for non-commercial research and education use, including for instruction at the author’s institution, sharing with colleagues and providing to institution administration. Other uses, including reproduction and distribution, or selling or licensing copies, or posting to personal, institutional or third party websites are prohibited. In most cases authors are permitted to post their version of the article (e.g. in Word or Tex form) to their personal website or institutional repository. Authors requiring further information regarding Elsevier’s archiving and manuscript policies are encouraged to visit: http://www.elsevier.com/copyright

Author's personal copy

Computer Communications 30 (2007) 2191–2200 www.elsevier.com/locate/comcom

A multi-sender multicast algorithm for media streaming on peer-to-peer networks Mohammad Hamed Firooz a

a,*

, Keivan Ronasi a, Mohammad Reza Pakravan b, Alireza Nasiri Avanaki a

Electrical and Computer Engineering University of Tehran, Tehran, Iran b Sharif University of Technology, Tehran, Iran

Received 4 October 2006; received in revised form 3 May 2007; accepted 11 May 2007 Available online 29 May 2007

Abstract Unlike those on Internet, the media providers on P2P networks are ordinary nodes with limited shared resources such as bandwidth. Multi-sender methods are the best existing solutions to video streaming on P2P networks. In this paper, we propose use of a multicast method on the top of an arbitrary multi-sender method so that all requesting peers receive almost the same expected bit-rate. Experimental results, derived from implementation of the proposed algorithm on Pastry P2P network confirm our claim. Another advantage of our method over the existing methods is its scalability with the number of receivers. Ó 2007 Elsevier B.V. All rights reserved. Keywords: Peer-to-peer networks; Multi-sender; Overlay multicast; Multimedia streaming; Pastry environment

1. Introduction Increasing penetration of high-speed Internet access (e.g., ADSL) among the users of peer-to-peer (P2P) networks enables deployment of real-time multimedia delivery schemes over them, in addition to file sharing – their traditional application [1,2]. The main difference of real-time media streaming over P2P and the traditional streaming over IP is that the senders in P2P networks are ordinary nodes with limited bandwidth and availability. An example solution to media streaming over P2P is GnuStream [3,4] which uses multiple senders to stream a video to the receiver. GnuStream is, however, not robust to the changes in the network topology caused, for example, by some nodes leaving the network. This problem is solved in [5] by introduction of a central power peer responsible for sender selection and switching when one *

Corresponding author. Tel.: +98 9131161340. E-mail addresses: h.fi[email protected] (M.H. Firooz), k.ronasi@ ece.ut.ac.ir (K. Ronasi), [email protected] (M.R. Pakravan), nasiri@ ece.ut.ac.ir (A.N. Avanaki). 0140-3664/$ - see front matter Ó 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2007.05.008

goes offline. In many real-life scenarios, the assumption of an always-available central power node cannot be justified. Some proposed methods require the knowledge of the (properties of) network topology (e.g., link bandwidths or physical proximities of the neighbors of each node) [6,7]. In [6], the senders that are geometrically closer to the receiver are chosen. This approach decreases the initial streaming delay. However, by ignoring the availability of the nodes in sender selection, the quality of the received video may be sub-optimal. PROMISE [8,9] is one of the first algorithms tackling the multi-sender problem considering the network topology such as links bandwidths and their error rate as well as the peer characteristics such as their availability. PROMISE finds the set of the senders that maximize the reliable bit-rate offered to the receiver. The main problem with PROMISE is scalability: its computational complexity increases exponentially with the number of senders. This problem is solved in FastIPROMISE [10] which offers a better performance at a dramatically reduced computational cost.

Author's personal copy

2192

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

A major problem with all existing multi-sender algorithms is that they provide a solution for only one peer requesting the media at a time. That is, they try to provide the maximum expected bit-rate (EBR) to the first requesting node and when another peer requests the same media, the algorithm should be run again, but the expected bit-rate (EBR) provided to the second requesting node is most likely considerably lower (under the acceptable threshold). A natural solution to this problem is a multicast scheme providing media to several receivers without imposing hard constraints on the senders or the network. Many application level multicast protocols are proposed [11]. In [12], a method for media streaming to multiple receivers considering some P2P networks characteristics such as limited bandwidths of peers is proposed. The method requires a power sender which may not exist in many cases. Gridmedia [13], another example of application-level multicast protocols, assumes equal upload bandwidths for all nodes. Itaya and others exploit a combination of multi-sender and multicast to stream media from multiple senders to a number of receivers [14–16]. Their method is not practical because of the following (i) the assumption of unlimited bandwidths of all senders; (ii) the method is not scalable in the sense that the number of control packets communicated among the senders increases exponentially with the number of senders and receivers; and finally (iii) the method does not consider senders’ limited availability. In this paper, we propose a multi-sender multicast (MSMC) algorithm that maximizes the received bit-rate (almost near average EBR of the first receiver) for all requesting peers, thus overcomes all problems mentioned above. In contrast to [17], the proposed method is receiver-driven. That is, the receiver is in charge of media splitting and streaming control and knows which part is coming from which sender. Our contributions are summarized below. 1. By employing a multi-sender method, the limited bandwidths of the sender peers do not impose a serious restriction on streaming quality. In fact, MSMC can be integrated into any existing multi-sender scheme to provide a scalable multicast solution. Also, by considering the availability of senders, the quality of the streamed media is improved. 2. Another advantage of being receiver-driven is that the multicast trees are made in a distributed manner. Each receiver makes its multicast tree itself. Also in the proposed method, the joining operation is managed by previously joined receivers except for the first receiver which is managed by the senders. 3. By being a multicast scheme, a large number of receivers can receive multimedia from a limited number of senders without stressing the P2P substrate or the senders. 4. Using Pastry [18,19] leads to a simple algorithm in making multicast trees and easy distributed management of those. Neither the receivers nor the senders are involved in multicast tree management.

The only limitation of our proposed method is that, similar to most of the existing P2P multicast schemes [11], we also require cooperation of some uninterested peers (playing application-layer routers) in distributed management and control of streaming. To be fair, such nodes are randomly selected. Therefore, our method must be implemented in a cooperative network in which nodes help each other to get services. MSMC can be deployed on any P2P substrate which maintains peers connectivity, manages peer membership and performs object lookup. We use FreePastry [18,19] because its code is well documented and easily portable, as well as its simple network management. The rest of the paper is organized as follows. In Section 2, the proposed method is described. Section 3 explains implementation of MSMC in FreePastry environment. The multi description coding and the buffering system we used are described in Section 4. Section 5 reports our simulation results. The paper is concluded in Section 6. 2. Proposed method If a receiver R requests a certain multimedia, a set of candidate senders (determined by a location protocol [20]) having the desired media, signal their readiness to transmit data to R. The receiver can simply connect directly to the senders and start downloading. However, as the download bandwidth of a typical node is considerably larger than its upload bandwidth (e.g., for ADSL the ratio is 8 to 1), the simple scheme of direct connection leads to selfish usage of the network resources: no other nodes can use the senders from which R is receiving the media. Also R cannot provide the media to any other receiver at the same bit-rate it is receiving the media. In fact, after a limited number of receivers, all senders will be busy and no other receiver can receive the media. Besides, as R selfishly tries to select the best set of senders, the other receiver (joining later) will have the worst quality of service. To overcome the above mentioned problems, R can connect to the senders via a few application-level virtual routers (a.k.a. forwarders [11]; Fig. 1). Determination of this topology is explained in Section 3. A multi-sender method (such as IPROMISE [21,10]) selects a subset S of all candidate senders (referred to as active senders), each offering R a bit-rate of ri, that minimizes the following. " # X E Di P ðDi Þ ð1Þ i2S

subject to X r i P Rr

ð2Þ

i2S

where Di is the amount of distortion caused by node i 2 S going offline or decreasing its bandwidth, and P(Di) is the

Author's personal copy

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

S1

S2

T1 Virtual Routers

S3

S4

T2

T4

T3

T5

R

Fig. 1. A sample multi-sender structure. Virtual routers (a.k.a. ‘‘forwarders’’ [11]) route data to the receiver over the P2P substrate.

probability of this event. Intuitively, the higher the node availability, the lower is P(Di). Rr indicates the minimum bit-rate required at the receiver. To each node, Pi, two parameters are associated: (Ai, Ri). Ai is the availability probability of Pi, an indication of how long Pi is online in the unit time interval. Ri is the amount of upload bandwidth Pi shares with the network. For simplicity, we assume that the bandwidth offered by each peer does not change while it is on the network. Thus, distortion happens if and only if an active sender leaves the network. Eq. (1) can be written as follows. " # X E ri ð1  Ai Þ ð3Þ

2193

if any. Such scheme is therefore not scalable with the number of receivers and cannot be used for streaming of popular media (e.g., soccer match broadcast). The proposed multicast method is illustrated in Fig. 2. Nodes S1 to S4 are active senders (i.e., have the media and are transmitting data to a receiver) to R1. Nodes T1 to T5, which are routing the stream in this topology, have a partial content of the streamed media. Our idea is to use these routers as temporary senders to forward copies of packets destined for R1 to another requesting node such as R2. Intuitively, one can observe that using this approach the EBR of R2 can be increased without pressuring the bandwidths of the primary senders. Moreover, by addition of each receiver to this topology, a number of new temporary senders appear that can serve even more new receivers. Thus, the proposed method is scalable with the number of receivers. After the receiver selects the senders, S, it should notify Pi, i 2 S, to begin transmission. The receiver is responsible for informing each sender which part of the media it should transmit. Synchronization and media buffering control are also receiver responsibilities (as mentioned before our algorithm is receiver-driven). First of all, receiver informs each sender about a number n defined as   X ri n¼ round ð5Þ rmin i2S where rmin ¼ minðri Þ. i2S

As defined in (5), n can be considered as the number of virtual senders with bit-rates rmin. That is, an actual sender with bit-rate ri, is ri/rmin virtual senders each with rmin bitrate grouped together. All actual active senders are informed of the number n and they divide the media stream into n blocks, a task which can performed using multiple

i2S

which is simplified to: " # " # X X X E ri  r i  A i ¼ Rr  E r i  Ai i2S

i2S

S1

S5

S2

S3

S4

ð4Þ

i2S

in which, the second term gives the bit-rate provided to the receiver (by active senders). Rr, as mentioned before is the receiver’s intended play back rate and is fixed. Thus, minimization of (3) is equivalent to maximization of P E½ i2S ri  Ai , the expected bit-rate offered to the receiver. Our proposed method (MSMC) assumes that a multisender algorithm has already determined the subset S offering the maximum EBR for the first receiver R (i.e., the multi-sender algorithm minimized (1) subject to (2)), and for each node Pi in S, ri is the bit-rate transmitted to the receiver. As mentioned before, if the same set of senders are used to serve a second receiver R 0 , almost certainly the EBR provided to R 0 will be unacceptably low as almost all of the limited upload bandwidths of the senders are already committed to streaming of media to R (Section 5). Either that, or R 0 has to resort to less qualified senders,

T6 T1

T2

T3

T8 T7 T10

T4

T5

T9 T13

R

T11

R’ T12

Fig. 2. Virtual routers can be used as temporary senders to provide the stream to the new receiver.

Author's personal copy

2194

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

description coding (MDC; briefly described in Section 4) [22,23] or multiple layered coding (MLC) [6]. Followed by n, {rmin, j} are also given to each sender, in which j denotes the number of the first virtual sender in each actual sender. That is, Pi, the ith actual sender, must transmit data on behalf of the virtual sender j to j + round(ri/rmin)  1. In other words, Pi sends media blocks with indices hi = nd + Ji in which J i ¼ ðj; j þ 1; . . . ; j þ roundðri =rmin Þ  1Þ and d ¼ 0; 1; 2; 3; . . . : For example, suppose senders P1 to P4 transmit data to the receiver with bit-rates 100, 200, 500, and 200 kbps. The media is divided among 10 virtual senders. Blocks 0, 10, 20, . . . are sent by P1. For P4, j = 8, and it sends blocks with indices 8, 9, 18, 19, 28, 29, . . . The ith section is defined as the ith sender and the routers on its path to the receiver. Media packets with indices nd + Ji are available in the ith section. If Rij is bit-rate of node jth over ith section, the number n 0 is defined as follows. 0 1 X R ij A n0 ¼ ð6Þ round@ minðRij Þ ¼ Ri;min j j

Analogous to sender Pi, node Pij (although it is a temporary sender, we call it a sender) is equivalent to Rij/Ri,min virtual senders with Ri,min as their bit-rate. The second receiver, R 0 , should send to each of the nodes (Pi and all temporary senders) {n 0 , k, Ri,min} in which k denotes the first virtual sender on that section. Therefore, Pij should forward packets with indices hij = n 0 d + Kij among all packets on the ith section. In fact, from R 0 perspective, each virtual routerPis a sender which should be given {rmin, j}. If j Rij < Ri , then Pi and all temporary senders on its 0 section cannot P forward all packets on this section to R . i Rhide ¼ Ri  j Rij is defined as the amount of bit-rate not forwarded to the second receiver. In thisPcase, a multi-sender algorithm should be run to provide i Rihide bit-rate for R0. Similar to other multicast applications, our method is developed for live video streaming: if a receiver joins the network 5 min late, it can either enjoy the rest of the broadcast with the rest of the receivers at high quality, or start watching the media from the beginning at a lower quality by running the multi-sender algorithm alone (i.e., without benefiting from the multicast scheme).

128-bit ID which is the value of a hash function for its IP address. Each content has an ID which can be, for example, the value of the hash function for its descriptive text. A pointer to content is placed in the node with the closest ID to the content ID. 128-bit IDs are divided into b-bit digits ranging from 0 to B  1; B = 2b (b is typically 4). In order to find a particular content having its ID, one should find the node with the closest ID to the target ID. For this purpose, each Pastry node (X) keeps three tables (Fig. 3). (1) Routing table (R) with LogNB rows and B  1 columns. The entry at row i and column j is the IP address of the closest available node whose ID’s first i  1 digits is equal to that of node X and the ith digit is j not equal to that of the present node. If such node is not found, the corresponding entry is left empty. (2) Leaf set (L): it has L entries in which the IP addresses of L numerically nearest available IDs (L/2 smaller + L/2 larger than the present node) are contained. Typically, L = B. (3) Neighborhood set (M): it contains the IP addresses of M physically nearest nodes to the present node. This table is not used for routing and is used to maintain locality. Typically, M = 2B. We briefly explain content location using the routing table (see [19] for details). To find a specific content, given its ID the node checks if the ID of the desired content lies within its leaf table. If so, the location request is passed to that node in the leaf set with the closest ID to the desired content. If not, the node considers in how many digits its ID is the same as the target node’s. Then it searches the considered row of its routing table, trying to make the next digit equal to the target by browsing the appropriate column. The request is sent to the entry found in this way. If this entry was empty, it finds the nearest node by

3. Implementation of the proposed method in Pastry 3.1. An introduction to Pastry Pastry is a scalable, decentralized, fault-tolerant, selforganizing, structured network used in very large networks overlaid on Internet. Content location. Each node has a

Fig. 3. Pastry table for a conceptual node: 4-byte IDs are used for simplicity.

Author's personal copy

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

searching all its three tables and sends the location request to it. The location process is continued by the new node who received the location request. In this way, a request travels through the Pastry nodes, getting closer to the target in each step. That is because the number of common digits increases in each step until the desired content is reached. The pseudo code of the above mentioned algorithm is given in Fig. 4 when key D arrives at a node with node ID A. Following notations are used: Ril : The entry in the routing table R at column i and row j. Li: The ith closest node ID in the leaf set L. Dl: The value of the lth digit in the key D shl(A, B): The length of the prefix shared among A and B, in digits.

3.2. Implementation details We used Pastry API (Table 1) with some functions modified as described below. The following notation is used. By {q} 2 msg, it is meant that msg contains q. The function

2195

names are in Italic. When a piece of information, such as Inf, is added to a specific message, it is shown as: newmsg = msg [ {Inf}. Content X in a node is converted to a 160-bit number using a hash function (HF). In FreePastry, each node is identified by a 20-byte number. Then the node sends a pointer containing the node’s ID to node T with the ID closest to HF(X). routeMsgðHFðXÞ; msg; cred; optÞ; fHFðXÞ; node IDg 2 msg

For more information about cred and opt arguments of routeMsg refer to [24]. Each node has a table with hash numbers close to its ID and the IDs of nodes that can provide the content. When a receiver is seeking senders with the desired content, it should run function Search which returns the IDs of the nodes that contain a specific media. Search can be implemented as follows. nodeIDArr = Search(String name) { routeMsg(HF(name),msg,. . .); rmsg = SearchResultReceived(HF(name)); return getHosts(rmsg); } SearchResultReceived is blocked until search result (rmsg), containing nodes’ ID having desired media, comes back from the node having ID close to the ID of desired node. It is worth noting that rmsg is sent by a node with an ID close to HF(name) and contains IDs of all nodes (extracted by GetHosts) that can provide X. Node R, interested in X, sends a message to each of these nodes and asks them to send it their characteristic parameters such as bitrate and availability: for j = 0 and j < length(nodeIDArr), routeMsg(nodeIDArr(j), msg, cred, opt); {receiverNodeID} 2 msg Each sender, P, sends it’s Ap and Rp to the receiver:

Fig. 4. Pseudo-code for Pastry routing algorithm [19].

// In each sender: routeMsg(receiverNodeID, msg, cred, opt); {Ap, Rp} 2 msg

Table 1 Useful functions of FreePastry API Returns

Function prototype

Description

Boolean

EnrouteMessage (Message msg, Id key, NodeHandle nextHop, SendOptions opt) messageForAppl(Message msg) routeMSG (Id key, Message msg, Credentials cred, SendOptions opt)

Called by pastry when a message is enroute and is passing through this node Called by pastray when a message arrives for this application Route a message to the live node D with node ID numerically closest to key.

Void Void

Author's personal copy

2196

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

Each intermediate node responsible for routing msg from candidate senders to the receiver should add its characters to the msg. When a message is received by a router node, Pastry calls enrouteMessage function, which should be changed as follows: //In each router enrouteMessage(Message msg, Id key, NodeHandle nextHop, SendOptions opt) { . . . newmsg = msg [{routerID, availability, bitrate}; routeMSG(receiverNodeID,. . .);} After receiving messages from the senders, the receiver constructs its multi-sender tree. Using a multi-sender algorithm, the receiver selects k active senders (using a multisender algorithm) and informs them to start transmission. As mentioned before, each sender should be informed of {rmin, j} as well. For node ID 2 activeSenderSet do routeMsg(node ID, msg, cred, opt); {n, rmin, j} 2 msg The receiver should also make a multicast tree table which determines intermediate routers between the receiver and each sender. The next receiver should first run the Search function to find candidate senders. Then it has to send messages to each sender to request their characteristics. In addition to transmitting Ap and Rp, the active senders give the IDs of the current receivers, which are queried by the new receiver for getting their multicast tree tables. Using all collected information, the new receiver generates its multi-sender multicast tree. It is worth noting that we do not consider the network topology in the proposed algorithm. In fact, MSMC is completely run at the application level. Topology considerations are required and used by the multi-sender algorithm. For example, in FastIPROMISE [10], the multi-sender algorithm we employed, chooses a set of active senders due to the senders’ characteristics and the network specifications.

rary ones = routers), the multi-sender algorithm should replace the failed sender by a stand-by candidate sender. Consider the structure shown in Fig. 5. Suppose receiver R is receiving data from S. Virtual router Y, on the path from S to R, gets the stream from Z and routes it to R. Y is temporary sender for T1, T2, . . . , Tk. We call X, the successor of Y, which is the father of X as well as T1, T2, . . . , Tk. Y’s father, Z, is the grandfather of X. T1, T2, . . . , Tk are the children of Y. Note that a successor receives the whole data which has been passed to its father. That is while a node may (and usually does) send only a portion of its received data to its children. X contains all information about T1, T2, . . . , Tk IDs as well as the portion of the stream each child takes from the father Y. X also knows its grandfather’s ID. If X receives no data from Y within a certain period, it assumes that Y is dead and sends a message to its grandfather. This message is routed by Pastry. As it is mentioned in Sections 3.1 and 3.2, a new node such as Y 0 becomes father (i.e., Z transmits data to X through Y 0 ). If more than one router is added to the path between X and Z, the grandfather ID in X should be corrected. X informs Y 0 about its newly adopted children and their portions. Thus, failure of Y is dealt with in a distributed manner. If Y 0 has less upload bandwidth than Y, its children should look for new resources. In the case of simultaneous death of X and Y, c, successor of X (not shown in Fig. 5), who cannot reach its grandfather (Y), tells R that it is an orphan. Upon receiving such message, R makes a new path to S and updates its routing table, which is also sent to the receivers that used the routers on the path from S to R as their temporary senders.

3.3. Distributed management As mentioned before, we use some nodes as application layer routers to deliver data to the receivers. As nodes of a P2P network, these temporary senders may leave the network at any time. In this section, we discuss recovery of the multicast tree from such failures. Note that in the case of the failure of an original sender (as opposed to tempo-

Fig. 5. A part of MSMC structure.

Author's personal copy

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

Although this reconstruction process may take long, low probability of the deaths of both a father and its successor justifies the method in practice. 4. MDC and buffering This section explains a media splitting method which is an essential task for any multi-sender scheme. An important concept in media streaming over network is buffering time, t0, during which the media is received and buffered by the media player before starting playback. If Rb denotes the stream bit-rate, RbÆt0 is the player’s buffer size. The larger the amount of t0, the more robust is playing in events of network problems such as jitter, death of a sender, etc. The drawbacks of a large t0 are the large buffer size and the longer delay in playback. Thus, finding the optimum t0 for given network conditions is an important problem. Here, for simplicity, t0 = 1, thus the bit-rate is equal to the buffer size. Let us assume that the senders are using a standard video codec such as MPEG2. The output of such codec consists of a number of layers. The first layer (‘‘the base layer’’) is crucial for decoding while the others increase the quality of multimedia at the expense of a higher bit-rate. Suppose M layers are sent to the receiver at a predetermined Rb (Fig. 6). Ri is the bit-rate required for playing layers 0 till i. For every k bits of data, one can generate n  k parity bits such that for correct decoding only k bits of the n transmitted bits (and their positions) are required, using Reed–Solomon codes [25]. Because of their importance in the quality of decoded media, the lower layers of stream should be encoded more robustly. To this end, the ith layer is divided into i + 1 partitions and RS(n, n  i  1) is computed for each partition [23]. Thus, each layer is converted to n parts, i + 1 parts carry the data and the rest are recovery information (Fig. 8). One can easily verify that the data rate is

Fig. 6. M-layer video stream. The layers are in the order of decreasing importance in the quality of decoded media (layer 0, the base layer, being the most important).

Rt ¼

N1 X

2197

a j Rj

j¼0 N where aj ¼ ðj1Þðj2Þ ; aN1 ¼ 1 Rt is the total bit-rate that the senders should provide, so that the receiver can play the media at Rb. By receiving i descriptions, the playback quality is equivalent to layer i (i.e., the more descriptions, the higher the quality of video). At a higher bit-rate, more descriptions can be delivered to the receiver, and the video quality is improved. Therefore, for simplicity, we plot the received bit-rate as an equivalent measure of quality. Every sender has n buffers, each with size of Rt (assuming t0 = 1). Each of the mentioned n descriptors is fed to a specific buffer. For sender i, descriptions in buffers numbered Ji are transmitted at rate of ri. For the second receiver, the contents of buffers Ji of ith sender are put together and the above algorithm is run again to create n 0 descriptions that are fed to a new set of buffers. Then Pij sends the contents of buffers numbered Kj (Fig. 7). Note that by increasing the number of receivers, Rt for the last receiver increases as well. This is because of RS coding which sends parity for each description of the last receiver, even for its parity named as FEC (Forward Error Coding) in Fig. 8. Although such increase only linearly depends on the number of receivers, the network may be

Fig. 8. Generation of n equal descriptions from a multi-layer video stream.

Fig. 7. Our buffering system which guarantees unique transmission of media descriptions.

Author's personal copy

2198

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

overloaded in the case of a popular broadcast. To work around this problem, we may stop sending recovery information after joining of the first few receivers. EBR (Kbit/s)

In our experiments, a FreePastry P2P network with 80 nodes is simulated on a single 3 GHz Intel PC using JVM (Java Virtual Machine) technology. Upload bandwidths (in kbps) are samples of U(300, 600). Each node has an availability probability sampled from U(0, 1) and its download bandwidth (in kbps) is a sample of U(300, 800). U(X, Y) denotes the uniform distribution in [X, Y]. The experimental results reported by Bhagwan and others [26] showed that the availability of nodes in a short period of time (e.g., 10 hours) is uniformly distributed between [1]. Since video clips are usually much shorter than 10 hours, it is reasonable to assume that the probability of server availability is uniformly distributed between zero and one. Each receiver uses FastIPROMISE [10] to choose the best set among all candidate senders. In Fig. 9, the bit-rate provided to the second receiver over time using the proposed method (MSMC) is compared to that provided using the pure multi-sender algorithm of [8] run twice when 16 senders are contributing. It is observed that MSMC improves EBR of the second receiver by 30%, rendering the same service quality as that given to the first receiver (Section 4). Moreover, the bit-rate fluctuates less by using MSMC. The effect of increasing the number of senders is shown in Fig. 10. Offered EBR to the second receiver in both algorithms is increased with the increased number of senders. MSMC outperforms MS again. In Fig. 11a and b the histograms of the received bit-rate for the first three receivers are shown when MSMC algorithm and pure multi-sender algorithm of [8] are employed.

MSMC Pure MS

1000

800

600

400

200

0 0

200

400

600

800

1000

Time (s) Fig. 10. The bit-rate provided to the second receiver when the number of senders is 32.

a

0.12

1st Receiver 2nd Receiver 3rd Receiver

0.1

0.08

pdf

5. Simulation results

1200

0.06

0.04

0.02

0 0

200

400

600

800

1000

800

1000

EBR (Kbit/s) 1200

MSMC

b

Pure MS

1st Receiver 2nd Receiver 3rd Receiver

0.1

800

0.08

600

pdf

EBR (Kbit.s)

1000

0.12

0.06

400

0.04

200

0.02

0

0

0

200

400

600

800

1000

Time (s) Fig. 9. The bit-rate offered to the second receiver using MSMC and multisender alone for 16 senders.

0

200

400

600

EBR (Kbit/s)

Fig. 11. Histogram of bit-rate provided to the first three receivers (a) using MSMC method (b) using pure PROMISE multi-sender algorithm.

Author's personal copy

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200 Table 2 Ru values for different number of receivers using MSMC method Number of receivers

2

3

4

5

Ru

1.95

2.85

3.8

4.77

It is observed that all three receivers get EBRs about 900 Kbit/s, when the proposed method is used. That is while, EBR is both reduced and spread (i.e., more likely to have EBRs considerably higher or lower than the average) for the second or the third receiver, using multi-sender only: the average EBR for the third receiver is less than half of the desired bit-rate. Suppose n receivers exist. We define Ru, the reuse parameter, as follows: P BRi P Ru ¼ i:receivers rs

2199

der algorithm. This is achieved at a minimal control overhead for the network. Currently, the proposed method is transparent to the underlying multi-sender algorithm. Ideally, however, the proposed method can generate a shorter multicast tree (i.e., shorter delivery delay), should it collaborate with the multi-sender algorithm. Also, the proposed method does not consider the availabilities and bit-rates of the virtual routers in sender selection. Developing a multi-sender algorithm which considers temporary senders characteristics is another avenue of future research. Acknowledgement The authors would like to thank Professor Mohsen Shiva for his kind support and accommodating us in the digital signal and image processing lab.

s:senders

in which rs is bit-rate provided by each active sender and BRi is the bit-rate received by receiver P i. To interpret the concept of reuse parameter, note that s:senders rs is the total bit-rate of all source P nodes (a network resource) consumed by all receivers. i:receivers BRi is the amount of bit-rate provided to all receivers by all senders. Hence, Ru is an indication of network resource reuse. For example suppose two receivers with desired rates of 1 Mbps. By using a pure MS (multi-sender only), for each receivers, we should supply some senders giving a total of 1 Mbps, giving Ru = 2 Mbps/2 Mbps = 1. By application of our MSMC method to the same problem, the second receiver is able to get all its data from virtual routers, making Ru = 2 Mbps/1 Mbps = 2. And a higher Ru means better usage of network resources. Table 2 provides Ru measured values for different number of receivers in using MSMC method. Note that using a pure MS, Ru is always 1. 6. Conclusions All existing multi-sender methods maximize the bit-rate provided to the first requesting node. When another node requests the media from the same senders, the algorithm must be run again. Since the limited senders’ bandwidths are already committed to the first receiver, the bit-rates offered to the next receivers are likely to be unacceptably low. A multi-sender algorithm tries to maximize the quality for a single receiver, and to that end, it uses up all good sources. In this paper, we proposed a method that overcomes this problem by using temporary senders – the peers between the senders and the receivers that inevitably have parts of the streamed media. Our simulation results demonstrate that, using the proposed method, the bit-rate offered to the second peer is almost the same as that offered to the first receiver that is maximized by the underlying multi-sen-

References [1] E.K. Lua, J. Crowcroft, M. Pas, et al., A survey and comparison of peer-to-peer overlay network scheme, IEEE Communication Survey and Tutorial 7 (2) (2005) 72–93, 2nd Quarter. [2] S. Androutsellis, D. Spinellis, A survey of peer-to-peer content distributed technologies, ACM Computing Survey (2004) 335–371. [3] X. Jiang, Y. Dong, B. Bhargava, GNUSTREAM: a P2P media streaming prototype, Proceedings of ICME’03 2 (2003) 325–328. [4] http://www.cs.purdue.edu/homes/jiangx/GnuStream. [5] Y. Guo, K. Suh, J. Kurose, D. Towsley, Peer-to-peer on demand streaming service and its performance evaluation, Proceedings of ICME’03 2 (2003) 649–652. [6] R. Kumar, D. Rubenstein, Optimizing the quality of scalable video streams on P2P networks, IEEE Global Telecommunication Conference 2 (2004) 953–959. [7] L.J. Latecki, T. Jin, J. Mulik, A two-stream approach for adaptive rate control in multimedia applications, Proceeding of ICME04 1 (2004) 173–176. [8] M. Hefeeda, A. Habib, B. Botev, D. Xu, B. Bhargava, PROMISE: peer-to-peer media streaming using collectcast, Proceedings of the 11th ACM International Conference on Multimedia (2003). [9] A. Habib, J. Chuang, Incentive mechanism for peer-to-peer media streaming, IEEE Transaction on Multimedia 2 (3) (2006) 610–621. [10] M.H. Firooz, K. Ronasi, M.R. Pakravan, A.R. Nasiri-Avanaki, A fast and reliable multi-sender algorithm for peer-to-peer networks, IEEE/ ACM Transaction on Networking, submitted for publication, 2007. [11] M. Castro, P. Druschel, A.M. Kermarrec, A. Rowstron, SCRIBE: a large scale and decentralized application level multicast infrastructure, IEEE Journal on Selected Area in Communication 20 (8) (2002). [12] D.A. Tran, K.A. Hua, T.T. Do, A peer-to-peer architecture for media streaming, IEEE Journal on Selected Areas in Communication 22 (1) (2004). [13] M. Zhang, Y. Tang, L. Zhao, J.G. Luo, S.Q. Yang, GRIDMEDIA: a multi-sender based peer-to-peer multicast system for video streaming, IEEE International Conference on Multimedai and Expo (2005) 614– 617. [14] S. Itaya, T. Enokido, M. Takizawa, A scalable multimedia streaming based-on multi-source streaming concept, Proceedings of 11th International Conference on Parallel and Distributed Systems 1 (2005) 15– 21, 20-22. [15] M. Sasabe, N. Wakamiya, M. Murata, H. Miyahara, Scalable and continuous media streaming on peer-to-peer networks, Proceedings of Third International Conference on Peer-to-Peer Computing (2003) 92–99, 1–3.

Author's personal copy

2200

M.H. Firooz et al. / Computer Communications 30 (2007) 2191–2200

[16] S. Itaya, T. Enokido, M. Takizawa, A high performance multimedia streaming model on multi-source streaming aproach in peer-to-peer networks, 19th International Conference on Advanced Information Networking and Applications 1 (2005) 27–32, 28–30. [17] S. Kulkami, J. Markham, Splite and merge multicast: live media streaming with application level multicast, IEEE International Conference on Communication 2 (2005) 1292–1298, 16-20. [18] http://www.cs.rice.edu/CS/Systems/Pastry/FreePastry. [19] A. Rowstron, P. Druschel, Pastry: scalable, distributed object location and routing for large-scale peer-to-peer systems, in: Proceedings of IFIP/ACM Middleware 2001, Heidelberg, Germany, November 2001. [20] K. Ronasi, M.H. Firooz, M.R. Pakravan, A.R. Nasiri-Avanaki, An enhanced random-walk method for content locating in P2P networks, 4th IEEE International Workshop on Wireless Ad-hoc and Sensor Networks (WWASN07), Toronto, June 2007. [21] M.H. Firooz, K. Ronasi, M.R. Pakravan, A.N. Avanaki, IPROMISE: reliable multi-sender algorithm for peer-to-peer networks, IEEE 2nd International Conference on Communication System Software and Middleware (COMSWARE07) Bangalore, India, January 2007. [22] M. Zink, A. Mauthe, P2P streaming using multiple description coded video, Proceeding of 30th Euromicro Conference, pp. 240–247, January 2004. [23] R. Puri, K. Ramchandran, Multiple description source coding using forward error codes, Conference Record of the Thirty-Third Asilomar Conference on Signals Systems and Computers (1) (1999) 342– 346. [24] http://freepastry.org/FreePastry/javadoc20/index.html. [25] S. Lin, D.J. Costello, Error control coding: fundamentals and applications, second ed., Prentice Hall, Englewood Cliffs, NJ, 2004. [26] R. Bhagwan, S. Savage, G.M. Voelker, Understanding availability, in: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS ’03), Berkeley, CA, February 2003.

Mohammad Hamed Firooz received the BSc degree in Electrical Engineering from Isfahan University of Technology, Isfahan, Iran, in 2004, the MSc degree in Communication systems from the University of Tehran, Tehran, Iran, in 2007. His current research interest is Wireless Communications, Peer-to-Peer networks, and network management for ad-hoc and sensor networks. He is a student member of IEEE.

Keivan Ronasi received the BSc degree in Electrical Engineering from Isfahan University of Technology, Isfahan, Iran, in 2004, the MSc degree in Communication systems from the University of Tehran, Tehran, Iran, in 2007. His current research interest is Wireless Communications, Peer-to-Peer networks, and network management for ad-hoc and sensor networks. He is a student member of IEEE.

Mohammad Reza Pakravan graduated as a top ranking BSc student from University of Tehran in 1990. He obtained his MSc and PhD degree from University of Ottawa in 1994 and 2000 respectively. He worked in Nortel Networks for more than three years as a member of scientific staff. Dr. Pakravan joined Faculty of Electrical Engineering at Sharif University of Technology in 2001. His research interests are in the area of data networking protocols and algorithms, broadband wireless and wireline communications and applications of signal processing in telecommunication systems.

Alireza Nasiri Avanaki received his BS and MS in electronics and communication systems from Sharif University of Technology, Tehran, Iran, in 1995 and 1997. In 2004, he received his PhD in signal and image processing from University of British Columbia, Vancouver, Canada. Currently, he is an assistant professor at the ECE department of the University of Tehran, Tehran, Iran. His research interests include applied multimedia processing.

This article was published in an Elsevier journal. The ...

1 Mbps. By using a pure MS (multi-sender only), for each receivers, we should .... Software and Middleware (COMSWARE07) Bangalore, India, Jan- uary 2007.

962KB Sizes 1 Downloads 19 Views

Recommend Documents

This article was published in an Elsevier journal. The ...
and noiseless EEG data [10]. To overcome the drawbacks above, .... data were recorded on a laptop computer and stored for later off-line analysis using MatLab ...

This article was published in an Elsevier journal. The ...
crown scorch may easily recover their canopy (e.g. Pausas,. 1997). Thus ... presents data on cork oak mortality as a function of bark age in. Algeria, showing only ...

This article was published in an Elsevier journal. The ...
Aug 16, 2007 - regarding Elsevier's archiving and manuscript policies are encouraged to visit: ..... and neutral moods [24], in these data both happy and.

This article was published in an Elsevier journal. The ...
It was presented during a random time ranging between 600 and 800 ms, then .... amplitude from 250 to 450 ms over fronto-central electrodes (FC1/C1//FCz/Cz.

This article was published in an Elsevier journal. The ...
tool in the synthesis of various and important fluorine- ... fax: +86 21 66133380. E-mail address: ... affected by the electronic effect of the substituent group R2 on.

This article was published in an Elsevier journal. The ...
May 10, 2007 - natural recovery or removing. ... recovery and death can be ignored. ... In the standard network SI model, each individual is represented by a ...

This article was published in an Elsevier journal. The ...
E-mail address: [email protected] (A. Catenazzi). ... March 1998 (http://www.imarpe.gob.pe/argen/nina/premota/premota.html). ... In order to establish a link between geckos (which feed on arthropods) and their primary source of energy.

This article was published in an Elsevier journal. The attached copy is ...
websites are prohibited. In most cases authors ... article (e.g. in Word or Tex form) to their personal website or ..... Stock solutions (1.00 mM) of metal per- chlorate ...

This article was published in an Elsevier journal. The ...
Sep 17, 2007 - a Cercia, School of Computer Science, The University of Birmingham, Birmingham B15 ..... is, to some degree, a window on cortical processes.

This article was published in an Elsevier journal. The ...
article (e.g. in Word or Tex form) to their personal website or .... Specific and social phobias ... ences and so not all people undergoing the same learning.

This article was published in an Elsevier journal. The ...
Available online 31 December 2007. Abstract ... characterized by a singular hydrographical system com- posed of .... information on 18 large gastropod species, all previously ..... Bachelor Thesis, Universidad de la Repu´blica, Montevideo.

This article was published in an Elsevier journal. The ...
education use, including for instruction at the author's institution, sharing with colleagues and ... article (e.g. in Word or Tex form) to their personal website or institutional repository. ...... Technology 10 (3) (2005) 372–375. [9] Y.J. Yin, I

This article was published in an Elsevier journal. The ...
Careful analysis of the reaction data revealed that the best conditions for the ... entry 8) led to recovery of the vinyl bromide starting mate- rial and the ..... (b) E. Vedejs, S.C. Fields, R. Hayashi, S.R. Hitchcock, D.R. Powell,. M.R. Schrimpf, J

This article was published in an Elsevier journal. The ...
{xn} to x. Let E be a real Banach space and T be a mapping with domain D(T) and range R(T) in E. T is called non- ... Does the Mann iteration process always converge for continuous ..... [15] W.R. Mann, Mean value methods in iteration, Proc.

This article was published in an Elsevier journal. The ...
is that anxiety becomes conditioned to these CSs and the more intense the panic attack, the more robust the condition- ing will be (Forsyth, Eifert, & Canna, ...

This article was published in an Elsevier journal. The ...
better data and methods for addressing a number of medical needs effectively. ... clinical management and 2D cephalometric analysis. We have developed an ..... graphical, clinical tool for research purposes in orthodon- tics. It is becoming ...

This article was published in an Elsevier journal. The ...
Effects of exotic conifer plantations on the biodiversity of understory plants, epigeal .... 2.1. Study area. The study was conducted in Nahuel Huapi National Park.

This article was published in an Elsevier journal. The ...
aerobic exercises and walking along different directions. ...... 3, Biloxi, MS, USA, 2002, pp. ... degree from Laval University in Computer Science in 2003.

This article was published in an Elsevier journal. The ...
The entire system acts as a notification broker, so that notification publishers and subscribers outside the network can achieve loosely coupled communication through a decentralized, scalable service, by interacting with any of the broker peers. Sel

This article was published in an Elsevier journal. The ...
and a Sony DXC-970MD camera (Brain Institute, University of Florida core ..... Fire, A., Xu, S., Montgomery, M.K., Kostas, S.A., Driver, S.E., Mello, C.C.,. 1998.

This article was published in an Elsevier journal. The ...
Sep 17, 2007 - a Cercia, School of Computer Science, The University of Birmingham, Birmingham B15 .... Considering the chaotic and non-stationary nature of EEG data, an ... (Bandt and Pompe, 2002) to map a continuous time series onto a.

This article was published in an Elsevier journal. The ...
Oct 9, 2006 - retrospective and prospective retrieval in hippocampal regions. CA3 and ... recall activity found in experimental data from hippocampal regions.

This article was published in an Elsevier journal. The ...
websites are prohibited. ... reactions to threatening social stimuli (angry faces) in human ... motivational network that involves various brain regions (see. LeDoux ...

This article was published in an Elsevier journal. The ...
synchronization of two coupled electromechanical devices .... The mechanical part is composed of a mobile beam with mass m ..... found wide application in the construction of various vibro-technical devices. ..... He expresses special thanks to the S