Modeling and Evaluation of Overlay Generation Problem ... - CiteSeerX

0 downloads 0 Views 283KB Size Report
Razib Iqbal. 1. , Behnoosh ... In this paper, we consider the problem of overlay generation for video adaptation .... In Section 5, we describe the ... some of the prominent researches on ALM overlay streaming. ... multimedia environment makes adaptation procedures .... where a peer streams video to other peers on its left.
Modeling and Evaluation of Overlay Generation Problem for Peer-assisted Video Adaptation and Streaming 1

1,2

1

Razib Iqbal , Behnoosh Hariri , and Shervin Shirmohammadi 1

Distributed & Collaborative Virtual Environments Research Laboratory (DISCOVER Lab) School of Information Technology and Engineering, University of Ottawa 800 King Edward Ave., Ottawa, Ontario, K1N 6N5, Canada +1 613 562 5800 Ext. 6206

[riqbal | bhariri | shervin]@discover.uottawa.ca 2

Department of Electrical Engineering Sharif University of Technology, Tehran, Iran

[email protected] ABSTRACT In this paper, we consider the problem of overlay generation for video adaptation and streaming applications in a way to efficiently utilize the bandwidth and computing power of the participating peers. Therefore, the proposed architecture performs regular streaming functions as well as video adaptation functions, moving the video contents adaptation computation load away from dedicated media-streaming/adaptation servers to the participating peers. To verify the performance of our design, we followed an analytical approach based on 0-1 Integer Linear Programming method to model the system and to calculate the optimum overlay. The performance of our scheme is evaluated by simulations. Preliminary results demonstrate that our design performance nearly follows the optimal boundary in terms of resource utilization.

Categories and Subject Descriptors C.2.1 [Computer-Communication Networks]: Architecture and Design - Network topology.

Network

H.5.1 [Information Interfaces and Presentation]: Multimedia Information Systems – Video.

General Terms Design, Experimentation, Performance.

Keywords Overlay streaming, video adaptation.

1. INTRODUCTION Mobile use of the Internet is now a reality since small handheld devices like cell phones and portable entertainment Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. NOSSDAV ’08 Braunschweig, Germany Copyright 2008 ACM 978-1-60588-157-6/05/2008 ...$5.00.

systems (e.g. PSP, iPOD touch) are designed to handle multiple applications – video, games, photo, music and wireless connectivity. However, functional limitations of these hand-held devices due to limited memory, computing power and bandwidth etc. prevents them from becoming fully functional autonomous nodes in a Peer-to-Peer (P2P) system. Sometimes, it is even difficult to render and display streamed video on these devices like that of desktops. As a result, researchers have begun to emphasize on the adaptation of the streamed video that was originally intended for desktops. The basic idea behind P2P streaming is that users will upload video contents to other users while viewing it. In this paper, we introduce a variation in the above concept. Our contribution is to utilize the available computing power (CPU power) of the participating peers, to serve the peers requesting adapted videos, by adapting the video online. We assume that a participating node will share its bandwidth as well as CPU power in the presence of some incentives. The benefit of this approach is that it will help to avoid the deployment of dedicated adaptation server(s) in the streaming architecture. In our design, we follow a master-sender-driven approach. A tree controller is responsible for node joining and maintaining the multicast tree. The controller forms an Application Layer Multicasting (ALM) overlay which aims at maximizing the number of users and the system resource utilization over time. The tree controller keeps track of all the connected peers to the overlay. A set of peers, served by another peer, is determined by the tree controller based on a selection procedure. For every video stream, the controller forms a separate overlay. In this design, either a media server or a participating peer may initiate the streaming and form an overlay with the help of the tree controller. However, the initiator should be able to adapt the content and provide overall streaming service to the immediate receiver peers in the tree. An important issue is that streamed video content must have a corresponding metadata component in the form of MPEG21 generic Bitstream Syntax Description (gBSD) [1]. We also make use of the MPEG-21 Usage Environment Description (UED) Tools [1] to identify user requirements and device capability for adaptation requirement calculation. UED Tools include the description of terminal capabilities (e.g. codec capabilities), network descriptions (e.g. maximum or minimum bandwidth), user characteristics (e.g. personalized requirements)

etc. We do not go into the details regarding metadata generation and adaptation approach in this paper; However, interested readers are referred to [2][3] for further details on gBSD-based adaptation of live video, and to [4] for UED tools and how they can assist in video streaming scenarios. Importantly, small handheld devices are out of scope of any adaptation operation and tree maintenance. They can join the overlay just to receive the adapted stream. In addition, it is optional to transmit gBSD to these devices since they are not able to adapt video. The problem of finding an optimum overlay satisfying the given constraints fall in to the category of combinational optimization problems [5]. In this paper, we model this problem as a Binary Linear Programming case. In order to define the optimization problem, an objective function has been derived from the problem description. The problem would then be solved by using the ILOG CPLEX optimization tool. Finally, we present some experimental evaluations supporting our proposed design concept and compare those with that of the mathematical model. We continue by providing a short literature review in Section 2. In Section 3, we present the 0-1 Integer Linear Programming and gBSD-based adaptation technique in brief. Section 4 provides the design of the proposed system. In Section 5, we describe the mathematical model to find the optimum overlay from the given constraints. Section 6 presents the simulation setup and performance evaluation of the system. Finally, we draw the conclusion in Section 7.

2. RELATED WORK During the course of our background study, we highlighted some of the prominent researches on ALM overlay streaming. PALS [6] is a receiver-driven approach for quality adaptive playback of layer encoded streaming media from a group of congestion controlled sender peers to a single receiver peer. In ZIGZAG [7], authors proposed an approach for clustering peers into a hierarchy with the new concept of head and associate head for each cluster. Readers are referred to [8] for a detailed review of the existing ALM protocols. Most recently, several other issues pertaining to the evolutionary dynamics, e.g., resource usage, stochastic optimization of content sharing in P2P/ALM systems have been examined [9][10]. However, we did not find any promising research entailing metadata-based transcoding and overlay streaming except the PAT system, proposed by Liu et al. [11], where the authors propose a peer assisted online transcoding scheme in P2P/overlay streaming. In PAT, authors suggest saving the intermediary transcoding results as metadata and re-use the metadata for a later transcoding request. The objective behind PAT and our work are similar; however, in contrast to PAT, our system does not need meta-data overlay due to the small transformation effort of gBSD to adapted gBSD compared to that of bitstream. Also, without the presence of a standard metadata support, the variety of adaptation approaches in a distributed multimedia environment makes adaptation procedures complicated, not scalable, and not interoperable. Finally, the presence of backup parents is not needed in our design because the tree controller re-assigns a parent when the current parent leaves the system. In PAT, authors report that meta-data takes up to 6% additional bandwidth and metadata size is 20-25% of the original video file size for frame rate transcoding. In contrast, our

gBSD approach takes up to only 2% of the compressed bitstream for temporal adaptation of the video. In this paper, the problem of determining a resource satisfied overlay is formulated as a 0-1 Integer Linear Programming. In the literature, combinational optimization problem has been considered as a way of finding the optimum solution towards multicast tree generation problem in general, e.g. [12][13]. However, our approach is different from the previous works regarding both modeling and optimization goal aspects.

3. BACKGROUND 3.1 0-1 Integer Linear Programming In an integer linear programming problem, a given linear function is maximized or minimized on the basis of a collection of linear inequalities on a number of integer variables. A binary (0-1) Integer Linear Programming (a.k.a. Pseudo-Boolean) problem is a special case of a linear integer-programming problem in which all variables are restricted to take values of either 0 or 1. In other words, a linear 0-1 term can either be maximized (or minimized) with respect to a set of linear constraints over 0-1 variables. In general, Pseudo-Boolean linear integer-programming problem can be written as follows, Maximize the objective function: CL, where C is the vector of coefficients and L is the vector of variables. (1) Subject to: a set of constraints S, where S is defined as: A.L ≤ b, Li ∈ {0,1}n , where A is a matrix of coefficients

(2)

Example: Maximize: c1l1 + c2l2 + c3l3 Subject to: a11l1 + a12l2 + a13l3 ≤ b1 The basic idea of solving Pseudo-Boolean constraints with 01 Integer Linear Programming is to solve first an integer relaxation of the original problem where variables are allowed to take more values instead of being restricted only to Boolean values. A pure cutting plane algorithm can be used to reformulate the problem until the relaxation of the problem is sufficiently strong and solves the original problem [18]. This procedure therefore implies reformulating a set of constraints until 0-1 satisfiability becomes easily decidable. As an example, given a polytope and a real-valued function f(x1, x2, ..., xn) defined on this polytope, the goal is to find a point on the polytope where this function has the largest (or smallest) value. In the above case, replacing the condition Li ∈ {0,1}n by Li ∈ [0,1] n is a linear programming relaxation where L can be placed on the polytope. In literature, several methods have been used to find a solution based on the relaxation and satisfying the 0-1 constraint, e.g. Branch and bound [14], Branch and cut [15], Generalized Davis Putnam (GDP) [16], Simplex method [19] etc. Each of these methods is useful for one specific class of problems. For example, GDP method is suitable for problems with less number of variables and more constraints.

3.2 gBSD-based Video Adaptation In the MPEG-21 framework, a generic Bitstream Syntax Schema (gBS Schema) is specified which provides semantically

meaningful marking of syntactical elements and hierarchical descriptions of the bitstream. A description conforming to this schema is called a generic Bitstream Syntax Description (gBSD). gBSD, in XML format, is used to represent the video bitstream syntax. In the adaptation engine, adaptation mechanism works on how to use adaptation decision parameters to alter the structure of the original bitstream. Therefore, in a gBSD-based adaptation system, it initiates the engine to retain, delete or update gBSD units based on adaptation decision parameters. Consequently, to reflect the desired adaptation, gBSD is transformed first, and then an adapted version of the bitstream is generated based on the adapted gBSD. For example, for temporal adaptation, given the available bandwidth and frame size, the frame rate of the video can be computed and an adapted gBSD will be generated. Finally, the adapted bitstream is the result of discarding the gBSD portions corresponding to the specific frames and updating necessary dependencies. This approach not only eliminates the need for a codec at intermediate nodes, but it has also been shown to yield faster adaptation, by an order of magnitude, compared to simple transcoding techniques (cascaded decoding and re-encoding), with the one-time trade-off of slower original encoding [20]. To perform compressed domain adaptation in an intermediary node, compressed video needs to be transmitted along with its gBSD. From our previous experience of adaptation system development [2], we have found that on average gBSD usually takes up to 2% of the compressed video file size from frame rate adaptation. In the intermediary node, gBSD is transformed to adapted gBSD based on the adaptation requirements, and an adaptation engine generates transformed/adapted video based on the adapted gBSD.

4. PROPOSED SYSTEM MODEL To join a multicast streaming session, a node passes the device requirements, network characteristics and personal preferences in the form of UED descriptions to the controller. The essential information includes upload/download bandwidth, and CPU power computation factors. If a peer wants to share a stream, then it also informs the stream availability to the controller. As mentioned in the introduction, a media resource server or a participating peer may initiate a streaming session. The controller forms a separate overlay for each stream. If there is no preference provided by the peer, then from the UED description, the controller computes the adaptation requirements. Otherwise, it attempts to serve the node according to its preference.

The tree controller attempts to connect an incoming node requesting certain video quality directly to one of the existing subtrees (if any). If it fails, then a suitable node is chosen, which can perform necessary adaptation, to serve the new peer. Tree controller can decide on incoming node's parental eligibility by computing its upload bandwidth, i.e. Out-degree, and CPUPower, as defined below. 

Out-degree=upload-Bandwidth/b, where b=application or stream specific bandwidth requirement.



CPU-Power = ∑wi×Fi where i={1…n}. wi is the weighted value for different factors (Fi) to assess the computing power (e.g. bus speed, L2 cache, memory, clock rate), where ∑wi=1 and Fi is normalized so that value of CPUP remains between 0 and 1.

Figure 1 shows the conceptual design of the system model, where a peer streams video to other peers on its left. A downward arrow implies the adaptation operation to serve a peer requesting a low quality video. The number of stream qualities determines the number of layers. For example, for temporal adaptation, the system can have maximum 30 layers (framerate 1 to 30fps).

4.1 Tree Refinement The tree controller advocates tree refinement in case that the end-to-end delay exceeds certain limit for a particular stream. Controller checks the aptitude of the available nodes, i.e. outdegree, CPU-power, delay from the controller and share ratio of a peer. Afterwards it refines the tree by placing the nodes that are more capable in the upper layer of the (sub) trees. For example, consider the case in which ‘p’ and ‘q’ are two existing peers and ‘c’ is the stream starter, where, ‘p’ is connected to ‘c’, and ‘q’ is connected to ‘p’. Suppose that the delay of a new incoming peer ‘s’ will exceed its threshold if it is served by the first available serving peer ‘p’. Therefore, the tree controller will replace ‘p’ with ‘s’, satisfying the following conditions (otherwise ‘p’ will serve ‘s’) 1. out-degree(c) > 1 2. out-degree(s) ≥ out-degree(p) 3. CPU-power(s) ≥ CPU-power(p) 4. delay(c,s) < delay(c,p) 5. share-ratio(s) > share-ratio(p) Condition ‘1’ above ensures that ‘c’ can serve ‘s’ without starving ‘p’. Once the node ‘c’ and ‘s’ is connected, tree controller instructs ‘p’ to connect to ‘s’.

5. FINDING THE OPTIMUM OVERLAY What we have seen so far is that there is a centralized node, denoted as tree controller, which gathers all the information from peers and decides on the overlay. Therefore, peers send the amount of their upload and download bandwidth as well as the amount of processing power that they can share (or they may need) to the controller at joining time. Now, based on the given conditions we want to find an optimum overlay based on a Figure 1. Conceptual Design

mathematical model and compare the optimal solution with our proposed design.

5.1 Problem formulation In a network where the total number of peers is n, cross connections can be defined in a form of a matrix P, where P:=(pij)n×n. Each of the entries in P is a Boolean value, which determines the existence of a connection between two arbitrary nodes i and j as shown in Figure 2. P 1,2 P 1,3 0   P 2,1 0 P 2,3  M M M   P n,1 P n,2 P n,3 

L L L L

P 1,n  0 1 0   P 2,n  1 0 0  →  M  M M  0 0 0 0   

L L L L

0 1 M 0

      

Figure 2. Connection Matrix, P In the above matrix, the diagonal entries represent the state of connection between a node and itself. Therefore, we can remove these all one entries from the connection matrix, which will result in a total of (n-1)2 number of connection variables. The problem of optimum overlay generation can then be redefined as finding the best values for pij variables so that the overlay can take the best advantage from available resources to serve the peers. The controller checks the availability of a specific amount of required download bandwidth and processing power in the system from an existing node to service a new peer request. In order to simplify the problem, we further assume that the incoming peers are either fully serviced or rejected from being serviced. However, if rejected, the new peer may reduce its demand and place a new service request. In Table 1, we summarize the variables describing the problem parameters.

Our problem is to choose an optimum overlay in a way to maximize the total service provided in the network as previously described in (4). The problem can be further redefined as a combinational optimization problem of finding the values of P matrix elements in order to maximize the total service as the cost function. The problem format is defined in eq. (5)-(9). Maximize

∑i∑jpij(dbj+cpj) where i=1…n, j=1…n and i≠j

(5)

Subject to

∑i pij ≤ 1

(6)

∑j pij dbj ≤ ubi

(7)

∑j pij cpj ≤ api

(8)

pij ∈ {0,1}

(9)

n

Eq. (6) above describes the fact that a requesting peer j can only be serviced by a single node i. Eq (7) is describing the constraint that the total bandwidth provided by peer i cannot exceed its total upload bandwidth, and Eq. (8) defines that the total serviced CPU power of peer i cannot exceed its total shared processing power. To formulate the problem in a general form described in eq. (1)-(2), we use the following notations: L = {Pij | i∈{1…n}, j∈{1…n}, i≠j}

(10)

where, the vector L includes all variables of the optimization problem. C = {cj | cj = dbj Mod n + cpj Mod n , j∈{1…n(n-1)}}

(11)

A(3n × n(n-1)) = {aij | i∈{1…3n}, j∈{n…(n-1)}}

(12)

Table 1. Summary of notations n

Total number of peers in the P2P streaming network

ubi

ith peer’s total upload bandwith, i∈{1…n}

dbi

ith peer’s required (normalized) download bandwidth for a video stream, i∈{1…n}

api

ith peer’s available processing power, i∈{1…n}

cpi

ith peer’s consuming (normalized) processing power, i∈{1…n}

where ,

In connection matrix, P, pij = 1 iff node j is served by node i otherwise pij = 0. i∈{1…n}, j∈{1…n}, i≠j Now, for a certain node, i, the service that it provides its descendants can be defined as the sum of bandwidth and processing power over all nodes j that are serviced by i. Therefore, it can be described as below: Si=∑j pij(dbj+cpj)

j=1…n , i≠j

(3)

Hence, the total overlay service provided by the participating nodes can be found as the summation of all single node services as defined in eq. (4) S=∑ Si =∑i∑jpij(dbj+cpj) i=1…n, j=1…n , i≠j

(4)

db j Mod n  aij = cp j Mod n  1

j = n...(n − 1), i = 1...n j = n...(n − 1), i = (n + 1)...2n j = n...(n − 1), i = (2n + 1) ... 3n

b = {bi | i ∈ {1… 3n}}

(13)

where, ubi i = 1...n  bi = api i = n + 1..2n 1 i = 2n + 1...3n 

5.2 Finding the Solution According to [17], optimizing a linear Pseudo-Boolean term CL, subject to a set of linear Pseudo-Boolean inequalities S, can be done by solving a sequence of Pseudo-Boolean satisfiability problems. Here, we consider the problem of maximizing CL, so the goal is to find a solution α of S such that α(CL) ≥ α′(CL) for all solutions α′of S. We try to find such an assignment by solving a sequence of satisfiability problems of the form Si = S ∪ {CL ≥ maxi} where only maxi differs from problem to problem. Suppose, max0 is in

such a state that CL ≥ max0 is a tautology. Solving S0 yields a solution α0 of S0 and eventually of S. A lower bound of the optimum then is α0(CL). We define maxi+1:= maxi+1. Afterwards, if Si is satisfiable and Si+1 are unsatisfiable, then αi (CL) is the desired optimum. The problem defined in (10)-(13), is in the form of a general 0-1 Integer Linear Programming problem. To solve this problem, Generalized Davis Putnam (GDP) method can be used. Basically, in GDP, variables are iteratively chosen and removed by resolving every clause in which the variable is contained positively with any clause in which the variable is negated. However, GDP is not good for problems with large number of variables and few constraints in terms of run-time. In contrast, CPLEX solves this problem in much smaller run-time using the simplex method.

reveal the benefit of the tree refinement operations. In Figure 3, we see that the tree refinement operations have increased the overall node joining success rate by 7.6% on average for 10-runs. From the simulation results, we have also found that cumulative delay of some peers is more than the threshold because the tree controller could not satisfy the refinement conditions. Therefore, no replacement operations took place. Another important observation from the simulation result is that, on average 6% of the connected peers had to reduce their requirements to get served. Basically, a peer needs to reduce its requirements when there is not enough upload bandwidth and/or CPU power in the system to serve that particular peer. We have computed the peer stretch for the overlay, where, Peer stretch = (Delay along the ALM path)/(Unicast delay) Peer stretch is computed during the new node joining state.

6. SIMULATION AND EVALUATION OF RESULTS In this section, we present the simulation and its results in two parts. In the first part, we present the performance of our proposed design by comparing the two schemes – tree-refinement and no tree-refinement. Afterwards, we compare total system resource (i.e. bandwidth and CPU power) utilization with that of the optimal result found from the mathematical model. To compute the optimum overlay, we used the ILOG CPLEX Linear Optimization tool. Simulation setup: For the first part of our evaluation, we simulate our proposed design over a topology of 500 nodes. For the second part, we compare our results for 150 nodes with the mathematical model. In both the cases, the participating peers are heterogeneous (in terms of available bandwidth) and demonstrate random behavior (in terms of arrival, departure and streaming/adaptation requirements). In an area of 108 sq. kilometers, all peers are placed randomly. Peer-to-Peer delay is measured computing the Euclidean distance between peers and assigning a fixed delay per unit distance. For ease of implementation, we assume throughout this simulation that delay between any two peers is symmetric. For this simulation, we consider only one stream-starter capable of both streaming and adapting to its immediate peers. The node arrival and departure process is random with a minimum and maximum alive time of 1-time unit and 1000-time units respectively for each node upon successful connection. The CPU constraint of nodes is randomly distributed from 0 units to 1 unit, where a peer needs 0.2 unit of CPU power to perform an adaptation. The upload and download bandwidth for a peer varies from 1Kbps to 1Mbps and 8Kbps to 7Mbps respectively, which is based on the experimental conditions used in [21]. The temporal video quality is computed automatically based on the download bandwidth of an incoming peer if no preference is given, otherwise, the controller attempts to serve the request according to the given preference. In case of service denial due to insufficient resources, the peer may reduce its demand and attempts to connect again. We also assume that on average it requires 6Kbps of bandwidth per video frame (about 180 Kbps for a video at 30 fps) regardless of the video motion and frame type. Evaluation of tree refinement: For this evaluation, end-toend delay threshold was set to 300ms. Figure 3 and Figure 4

Figure 3. Node joining success rate

Figure 4. Average stretch In Figure 4, we can see that considering the overlay size, the peer stretch of the proposed design is quite promising, especially when we need to consider both streaming and adaptation requirements. Comparison with the optimal result: We compare the total available resource utilization of the proposed system with that of the optimal overlay found from CPLEX solution. In Figure 5 and Figure 6, we show the percentage of total system bandwidth and percentage of CPU power used to serve heterogeneous peers. Since we consider that a peer is served by only one parent, system resources are not efficiently utilized. However, we can see that our proposed design’s performance closely follows the optimal boundary in terms of bandwidth utilization and CPU power utilization.

8. REFERENCES [1] ISO/IEC 21000-7:2004, Information Technology Multimedia Framework Part 7: Digital Item Adaptation.

[2] R. Iqbal, S. Shirmohammadi, and A. El Saddik, “A Framework for MPEG-21 DIA Based Adaptation and Perceptual Encryption of H.264 Video”, in Proc. of MMCN, 2007, Article 650403.

[3] R. Iqbal, S. Shirmohammadi, and C. Joslin, “MPEG-21 Based Temporal Adaptation of Live H.264 Video”, in Proc. of ISM, 2006, pp. 457 – 464.

[4] J. Nam, Y. M. Ro, Y. Huh, and M. Kim, “Visual content adaptation according to user perception characteristics", IEEE Trans. on MM, Vol.7, Issue: 3, 2005, pp. 435 - 445.

[5] E. Lawler, “Combinational Optimization”, ISBN: 0486414531, Figure 5. Percentage of Total Bandwidth Usage

Dover Publications Inc., 2003.

[6] R. Rejaie, and A. Ortega, “PALS: Peer-to-Peer Adaptive Layered Streaming”, in Proc. of NOSSDAV, 2003, pp. 153 - 161.

[7] D.A. Tran, K.A. Hua, and T.T. Do, “A peer-to-peer architecture for media streaming”, IEEE Journal Communications, 2004, pp. 121 - 133.

on

Selected

Areas

in

[8] M. Hosseini, D.T. Ahmed, S. Shirmohammadi, and N.D. Georganas, “A Survey of Application-Layer Multicast Protocols”, IEEE Comm. Surveys and Tutorials, Vol. 9, Issue. 3, 2007, pp. 58 – 74.

[9] A. Ali, A. Mathur, and H. Zhang, “Measurement of commercial peer-to-peer live video streaming,” in Proc. of Recent Adv. in PeerTo-Peer Streaming, 2006.

[10] M. van der Schaar, D.S. Turaga, R. Sood, "Stochastic Optimization for Content Sharing in P2P Systems", IEEE Trans. on MM, Vol. 10, Issue: 1, 2008, pp. 132-144.

Figure 6. Percentage of Total CPU Power usage

7. CONCLUSIONS AND FUTURE WORK

[11] D. Liu, E. Setton, B. Shen, and S. Chen, “PAT: Peer-Assisted Transcoding for Overlay Streaming to Heterogeneous Devices", in Proc. of NOSSDAV, 2007.

In this paper, we have addressed the problem of overlay generation for video adaptation and streaming applications. Our goal was to utilize the bandwidth and computing power of the participating peers efficiently. A 0-1 Integer Linear Programming problem has been formulated to find the optimum overlay and to compare it with our design, which closely follows the optimum solution. For real time adaptation, we have suggested utilizing the MPEG-21 gBSD so that adaptation of video can be performed in any intermediary node having necessary computing power.

[12] C. A. S. Oliveira, P. M. Pardalos, "A survey of combinatorial

Practical impact of the proposed technique might be limited if the stakeholders are reluctant to adopt the MPEG-21 multimedia framework. So far, we have tried to keep our design simple and straightforward. We do not allow a peer to communicate with all the existing peers except the tree controller to maintain scalability of the overlay. Instead of using fixed outdegree for each node, we have computed out-degree dynamically based on the sending throughput which gives a better indication of resource availability and also makes our architecture realistic. From the simulation results, it is quite evident that the difference in the performance of our proposed mechanism and the optimal solution is tightly bounded. Currently, we are working on the multi-sender case, where a peer will get served by many peers. Surely, the multi-sender case will increase the load on the tree controller; however, we believe that it will also increase the efficient use of the online resources.

[16] Davis, Martin; Putnam, Hillary, “A Computing Procedure for

optimization problems in multicast routing", Computers and Operations Research, Vol. 32, Issue 8, Aug. 2005.

[13] C. Hu,

E. Hsiao-Kuang, G. Chen, "Bandwidth-satisfied multicast trees in MANETs", in Proc. of WiMob, 2005.

[14] J. Clausen, “Branch and bound algorithms principles and examples”, Dept. of Comp. Sc., University of Copenhagen, Denmark, 1999.

[15] J. E. Mitchell, "Integer programming: Branch-and-cut algorithms", in the Encyclopedia of Optimization, Vol. II, 2001. pp. 519-525. Quantification Theory”, JACM, Vol. 7, Issue 3, 1960, pp. 201–215.

[17] P. Barth, “A Davis-Putnam Based Enumeration Algorithm for Linear Pseudo-Boolean Optimization”, Technical Report, MPI-I-952-003, Max-Planck-Institut für Informatik, 1995.

[18] P. Barth, “Logic-Based 0-1 Constraint Programming”, ISBN: 0792396634, Kluwer Academic Publishers, 1996.

[19] G. Sierksma, "Linear and Integer Programming: Theory and Practice", ISBN: 0824706730, CRC Press, 2002.

[20] R. Iqbal, S. Shirmohammadi, A. El Saddik, and J. Zhao, “Compressed Domain Video Processing for Adaptation, Encryption, and Authentication”, IEEE Multimedia, to appear, 2008.

[21] K. Sripanidkulchai, A. Ganjam, B. Maggs, and H. Zhang, “The feasibility of supporting large-scale live streaming applications with dynamic application endpoints”, in Proc. of SIGCOMM, 2004.

Suggest Documents