Finding Service Paths in an Overlay Media Service Proxy Network

1 downloads 512 Views 234KB Size Report
A SPY-Net is different from an overlay network for Application-Level Multicast ... First, a SPY-Net focuses on media service customization and delivery rather than ...
Finding Service Paths in an Overlay Media Service Proxy Network Dongyan Xu Department of Computer Sciences Purdue University [email protected]

Klara Nahrstedt Department of Computer Science University of Illinois at Urbana-Champaign [email protected]

Abstract An overlay media service proxy network is formed by a set of multimedia service proxies deployed at strategic locations in the underlying network. Proxies in this overlay network are able to provide applicationlevel media services, such as media data transcoding, analysis, repair, and protection. Therefore, end points of multimedia communication can connect to this network, and request a customized series of value-added media services delivered by one or more proxies in the overlay media service proxy network. In this paper, we study the problem of finding multimedia service paths in a media service proxy network. A service path connects a pair of communicating end points, with a chain of media service proxies between them. The proxies perform a series of media services on the media stream that flows from the source to the destination end point. We argue that service path finding is different from the problems of network-level QoS routing and application-level multicast; and that existing solutions to these problems are not readily applicable to service path computation. Our solution includes a novel mesh augmentation method and a resource-aware service path finding algorithm. The mesh augmentation method creates a highly connected mesh without increasing the bandwidth probing overhead. Based on the mesh, the service path finding algorithm computes the ‘safest’ service paths with respect to end-to-end resource availability and therefore, achieves high service path success rate. Both our simulation and analytical results demonstrate excellent performance of the mesh augmentation method and the service path finding algorithm.

1 Introduction To enable customized delivery of multimedia data, media service providers deploy media service proxies in local-area, metropolitan-area, or wide-area networks. A media Service ProxY (or SPY for the rest of the paper) accepts a media stream, performs one or more application-level media processing task(s), and forwards the stream. Examples of media services provided by a SPY include media data transcoding, image repair and analysis, error correction, and copyright protection. With SPYs deployed at different locations in the underlying network, an overlay media Service ProxY Network or SPY-Net, is formed, as shown in Figure 1. End points of multimedia communication will then 

Under invited submission to ACM Multimedia Systems Journal, Special Issue on Selected Papers in SPIE/ACM MMCN 2002.

1

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

2

be able to connect to the SPY-Net, and request a customized series of media services for the media stream between the end points. The media services are performed by a chain of SPYs in the SPY-Net, and we call this chain of SPYs between the communicating end points a service path, such as



in

Figure 11 . Examples of service paths include: (1) A video stream is first copy-right protected by a watermarking service, then it is summarized by a video summarization service, and finally, an object tracking service tracks the image of a certain object of interest in the video stream. (2) A low-quality video stream generated by a mobile camcorder is first enhanced by an image repair and enhancement service, and then mixed with background music by a music adaptation service. (3) A media stream is compressed by a data compression service before going on a low bandwidth network link such as a trans-pacific link; on the other side, the corresponding decompression service decompresses the media stream before forwarding it to the destination end point.

Pa





Pd SPY−Net

Ps

Underlying network

End points of multimedia communication Media service requested SPY Router or a domain of routers

Figure 1: The service path, SPY-Net, and underlying network A SPY-Net is different from an overlay network for Application-Level Multicast (ALM) in the following aspects. First, a SPY-Net focuses on media service customization and delivery rather than content/message distribution. In fact, a SPY-Net can be regarded as a service provisioning network on top of an ordinary 1

The concept of general service path was first introduced in the Ninja Project [9].

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

3

overlay network. Second, critical resources in a SPY-Net include not only the network resource but also the SPY processing capacity, while an overlay for ALM usually considers the network resource only. Finally, a SPY-Net is deployed by a media Service Provider to support many media service paths simultaneously, while an overlay for ALM is typically established dynamically for just one or a few multicast session(s). Challenges in finding service paths in a SPY-Net arise from the dynamic availability of network and SPY capacity resources. The goal is to find the ‘safest’ path with respect to resource availability for each service path request, so that the overall success rate is high for all service paths to accomplish their media services. More specifically, service path finding involves two tasks: (1) to map the requested media services to actual SPYs and (2) to route the media stream along appropriate SPYs in the SPY-Net. Note that a SPY on a service path may perform multiple media services. On the other hand, a SPY on a service path may just serve as a relay without performing any media service. Unfortunately, existing solutions to network-level QoS routing and application-level multicasting are not readily applicable to service path finding. In network-level QoS routing, the end-to-end path requires the same amount of bandwidth on every link on the path. Therefore, the task is to find a ‘pipe’ with uniform width. On the other hand, since a SPY may change the data rate of a media stream, the service path may require different amounts of bandwidth on different connections of the path. Furthermore, networklevel QoS routing does not involve application-level SPYs. Therefore, the resource of SPY capacity is not considered, and neither is the mapping of requested media services to actual SPYs. In application-level multicasting, the mapping of requested media services to SPYs is not considered either. Furthermore, the mesh of inter-node connections selected and probed by each node is for the construction of one (or just a few) multicast tree. Therefore, if used for service path finding, the mesh may not contain enough inter-SPY connections to support the many simultaneous service paths in the SPY-Net. In this paper, we propose our solution to resource-aware service path finding. The major contributions in our solution include: (1) A highly cost-effective mesh maintenance and augmentation method. Compared with the mesh maintenance mechanisms proposed for application-level multicast, our method results in meshes of higher connectivity, without increasing the bandwidth probing overhead. (2) A service path finding algorithm, which finds the ‘safest’ service paths with respect to end-to-end resource availability. The algorithm performs the dual tasks of SPY-Net routing and SPY mapping, and therefore achieves higher service path success rate than the shortest widest path algorithm proposed for network-level QoS routing.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

4

The rest of the paper is organized as follows. Section 2 provides a brief overview of our solution. Section 3 presents the SPY-Net mesh maintenance and augmentation method. Section 4 presents the service path finding algorithm. Section 5 presents performance evaluation based on both simulation and quantitative analysis. Section 6 compares our work with related work. Finally, Section 7 concludes this paper.

2 Solution Overview and Assumptions Our solution follows a scheme similar to link-state routing. Each SPY in the SPY-Net periodically probes (1) its own processing capacity and (2) the connection bandwidth from itself to a selected subset of other SPYs. The probing results are periodically propagated to all other SPYs in the SPY-Net. Therefore, each SPY is able to form a global view of the SPY-Net, represented as a mesh containing all SPYs and a subset of inter-SPY connections. By using our method of mesh augmentation, more connections can be added to the mesh without increasing the bandwidth probing overhead. Based on the (augmented) mesh, a SPY locally executes our service path finding algorithm to find a service path for each submitted request. Our solution avoids distributed service path search upon each request, at the cost of periodic propagation of resource probing results. To make this practical, we assume that the size of a SPY-Net is relatively small, with no more than tens of SPYs. We also assume that in a SPY-Net, each SPY knows the addresses of other SPYs via its bootstrapping information. Therefore, a SPY is able to join/re-join the SPY-Net after it starts/restarts. The bootstrapping information is provided to each SPY by the SPY-Net administrator. In addition, the SPY capacity and inter-SPY bandwidth are not necessarily reservation-enabled. The main goal of our solution is to achieve a high overall service path success rate via resource-aware service path selection. However, if the resources are reservation-enabled, then our solution will also guarantee the end-to-end resource availability for each individual service path.

3 SPY-Net Mesh Maintenance and Augmentation Each SPY maintains a mesh to keep track of the global resource availability in the SPY-Net. The mesh records resource probing results from this SPY as well as from other SPYs via periodic propagation. The mesh includes every SPY

in the SPY-Net. Let

 

denote

   contains a subset of all inter-SPY connections. An edge 

’s processing capacity. The mesh also

in the mesh corresponds to the connection

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt) from

to

 . Let     

denote the connection bandwidth probed and propagated by

5 . The mesh is

critical to the success of service paths, because the service path finding algorithm will be executed on the mesh. The usefulness of a mesh is determined by (1) the number of inter-SPY connections in the mesh and (2) the timeliness of probing results recorded in the mesh. SPY capacity can be probed either by querying the SPY operating system, or by running some benchmark program with pre-determined SPY capacity requirement. Inter-SPY bandwidth can be probed by injecting probing traffic of pre-determined data rates. For both resources, it is easier to estimate the observable amount of resource, rather than the absolute amount of available resource. Similar to [4], we also use a set of discrete values to indicate current observable SPY capacity as well as inter-SPY bandwidth. Inter-SPY bandwidth probing incurs non-trivial probing traffic and overhead. Therefore, it is critical to control the number of connections actively probed by each SPY. However, the number of inter-SPY connections in the mesh largely determines the success rate of service paths. To resolve this conflict, we first present our basic mesh maintenance method (Section 3.1), which is similar to existing mesh maintenance techniques for application-level multicast [2, 4, 5, 14]. Moreover, we present a new method: mesh augmentation via cold-connection jumpstarting (Section 3.2), which is not reported in [2, 4, 5, 14].

3.1 Basic Method for Mesh Maintenance For each SPY  denoted as 

, we impose an upper bound on the number of actively probed outbound connections,

  . We also denote the set of corresponding neighbor SPYs as     . Initially, the  is set by the SPY-Net administrator. At runtime, dynamically adjusts     membership of    according to the bandwidth probing results 2 . To maintain the mesh,

periodically performs the following

operations: (1) Probing and propagation During every neighbor-probing period  , to each SPY   

  , as well as the processing capacity of

At the end of every neighbor-probing period,

probes the connection from

.  is a configurable system parameter.

propagates the probing results to other SPYs in the SPY-Net.

(2) Mesh adjustment During every non-neighbor-probing period  (   ), tion from

to each SPY not in  

  .

probes the connec-

To keep the probing overhead low, the non-neighbor-probing

2 Since a SPY-Net is deployed by one provider, it is easier to deal with mesh partition due to  "!$# adjustment than in an application-level multicast overlay. For example, the administrator may simply select a minimum set of inter-SPY connections that will always stay in the mesh to make it connected. In addition, the mesh partition detection and repair techniques proposed in [2, 5] can also be readily applied to a SPY-Net.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

 

period is much longer than the neighbor-probing period: for example,    minutes. For each not in  

, decides if can be added to  

 



Let

   

from

 



to



  .

be the bandwidth from



via probing; and let    . If

  



’s neighbors is smaller than  

   ,

based on the current mesh of

Otherwise, if the number of



to

 





 

 

minutes and 

after the probing:

    , 

6







be the bandwidth

will not be added to

will be added to  



  .

 examines every SPY in  

, and identifies such a : In the mesh plus the  is removed, the end-to-end bandwidth from to will drop by edge from to , if edge  the least percentage, compared with the current . will be excluded from  

. Note Otherwise,

that the exclusion of

   



   





     . will not affect any on-going service paths which involve edge 

3.2 Mesh Augmentation via Cold Connection Jumpstarting The basic mesh maintenance method in Section 3.1 is similar to methods proposed for application-level multicast. However, the basic method alone is not sufficient for service path finding in SPY-Net due to the following problems. (1) In an overlay for application-level multicast, the mesh is maintained for the construction of only one  (or just a few) multicast tree. Therefore, even with a small value of   (i.e. each only probes a

 

small number of neighbors), the mesh will provide sufficient number of candidate edges to construct one multicast tree. However, in a SPY-Net, there may be a large number of service paths at the same time, and a service path may be between any pair of SPYs. Therefore, if the mesh is constructed using the basic method, it may not contain sufficient number of inter-SPY connections to route all these service paths. Consequently, the overall service path success rate will be affected. (2) In an application-level multicast tree built on the mesh, between the source and each destination, there may be a number of other participating nodes acting as re-distributors or relays. On the other hand, in a SPY-Net, it is desirable to have as few SPYs as possible on each service path, because each service path  , only connects two end points. However, if the service paths are computed on a mesh with a low  

 

they tend to involve an excessive number of SPYs, due to the limited choices of candidate edges to connect any pair of SPYs in the mesh.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

7

To alleviate the above problems using the basic mesh maintenance method, we need to have a large  . However, that will lead to a significant increase in bandwidth probing overhead, and therefore is  

 

not acceptable. We present a new method - mesh augmentation via cold-connection jumpstarting, which will be used together with the basic method by each SPY. The new method is both simple and highly cost-effective. It results in a highly connected mesh, without increasing the bandwidth probing overhead in the basic method. The key idea in mesh augmentation is to exploit the bandwidth probing results on the ‘cold’ connections, i.e. connections not currently in the mesh. The method involves the following operations: (1) Cold-connection jumpstarting Recall that in the ‘mesh adjustment’ operation of the basic method   (Section 3.1), if a ‘cold’ connection ( is not in  

) is not added to the mesh, its bandwidth

  

 

probing result will be discarded. With mesh augmentation however, we will give this cold connection a ‘jumpstart’, by including it in

’s mesh for one neighbor-probing period  . In addition, it will be included

in the next propagation to other SPYs, which will also include it in their meshes for one neighbor-probing period. (2) Passive connection monitoring If

  

is chosen by the service path finding algorithm before its

expiration time, it is jumpstarted and becomes a ‘warm’ connection. will then keep track of the highest $ data rate of the actual media streams going through - as a passive bandwidth measurement in ’s

  

mesh, as well as in the results propagated to other SPYs. The connection stays warm, until there is no  $ service path going through , or until a service path fails to maintain its data rate on .

  

  

By cold-connection jumpstarting, the mesh of each SPY is augmented with warm connections, i.e. connections that are passively monitored using the media streams going through them. Notice that the mesh augmentation method does not incur any additional active probing traffic. Yet it results in higher service path success rate and fewer number of SPYs on each service path, as shown in our simulation results in Section 5.

   , arrival rate of new service    , the easier it is to Intuitively, the lower the  

The effectiveness of mesh augmentation depends on parameters   path requests, and duration of service path sessions.

jumpstart a cold connection. Moreover, the higher the service path request arrival rate and session duration, the easier it is to jumpstart a connection and keep it warm. Because of these properties, mesh augmentation very well complements the basic method in maintaining a highly connected mesh. In Section 5.3, we will

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

8

present a formal parameterization and quantitative analysis of mesh augmentation.

4 Service Path Finding Algorithm With a highly connected mesh, we still need a highly effective algorithm to find service paths in a SPY-Net. The service path finding algorithm will be executed by each SPY on its mesh.

4.1 Problem Definition For a pair of source and destination end points, let



and



be their ‘access points’ in the SPY-Net

(i.e. their nearest SPYs), respectively. We assume that the service path request is submitted from the source

 , and 

to

Let

will compute the service path.

denote the number of requested media services in a service path request. We can imagine each

requested media service as performed by a virtual SPY (VSPY), and the path. Let











For denotation convenience, let





VSPYs form a virtual service

denote the VSPYs, with the index indicating their logical service order.







and





be the source and destination end points (which are not

SPYs), respectively. Let  be the SPY processing capacity required by       

  be the bandwidth required between  and  ( ).









The dual tasks of our algorithm are to find: (1) a loop-free path mesh and (2) a mapping





from 

  (

) to SPYs on 





 

of SPYs on  ) be the SPYs on  . Especially, and  $ &% mapped to and , respectively, then we will have to the same SPY. The objective is to find 

and



3.



, such that



(

to

    (

. If  

 

)* 



Let

  &' ( 



from



and 



, i.e.





 

 , and

in the (augmented)

   ,  is the number   !#" (

and

is minimum.

)





) are

may be mapped

is a resource safety

function defined as follows:

 

)* 



 

/21 *  

%  ,+.- 0/21 *  

  /23 *    465 * 

is a resource safety function for SPY capacity. For each



on



(1) , we first compute

7

 

as the ratio between the aggregated required capacity and the available (or observable) capacity of



:

3 We assume that the SPY-Net administrator has installed the software for every media service in every SPY. Therefore, the SPYs are equal in functionality. However, they are not equal in processing capacity.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

7

  %  +.7

  *  

/1

We then have





 .

9

        

Function

respect to end-to-end SPY capacity: the higher the

/1

(2)

indicates how ‘safe’



and



are, with

  , the more likely that the service path

/ 1 *  

will fail due to insufficient SPY capacity.



Similarly,

 



mapping



 

/ 3 *   



on

is a resource safety function for inter-SPY bandwidth. For each connection       ("  is determined by the , suppose the required bandwidth is 

 



  

), we then have

/23

  *  

              %  ,+.    



 (3)

Note that if two or more VSPYs are mapped to the same SPY, then the required bandwidth between these VSPYs will not be used in the evaluation of /

3

with respect to end-to-end bandwidth: the higher the

. Function /

/ 3

3

indicates how ‘safe’  and 

are,

  *   , the more likely that the service path

will fail due to insufficient inter-SPY bandwidth.

 5 *  

is the number of underlying network domains 4 traversed (maybe repeatedly) by  .

To justify factor

5

* 

in function ) , consider both the SPY-Net and the underlying network in Figure 2. and 

        , suppose they have the same / 3  

 , because the former traverses fewer number of network hops (or 5

 ! 5 *   .  domains, if  is an abstract router representing a transit domain) than the latter, i.e. *

and /

1



   

  

For two service paths 

values. We should prefer 

to 

The problem definition above indicates that service path finding is different from network-level QoS routing. The first difference is that a service path may require different bandwidth on different connections in the path. Consider the two service path requests and the simple mesh in Figure 3. The required resources in the two requests and the available resources in the mesh are shown in the figure. Suppose that the two requests have the same



and

.

To determine the service paths for requests 1 and 2, if we still use the

‘shortest widest’ criterion [17] as in network-level QoS routing, we will first select path

  

 



4 Since the membership in a SPY-Net is quite static, it is feasible for the SPY-Net administrator to provide ‘the number of network domains between any pair of SPYs’ in the bootstrapping information.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

10

SPY−Net Pa

Pd

Ps

Pb Pa R2

Ps

Pd

R4 R3

R1

Pb

Underlying network SPY One transit domain

Figure 2: Two service paths with different network-level hop(domain)-counts for request 1, but then request 2 cannot be accepted. On the other hand, if we follow our ‘minimum criterion (assuming that



/1

for request 1, and path



and

5

  



are equal on both paths), we will be able to select path

   

)

   

’

for request 2. 5

8

Request 1:

2

vP 5

5

Request 2:

5

vP Mesh:

100 10

Pa

10

0

0

Ps

Pd 20

100

4

Pb

  ’ and ‘shortest widest’ criteria

Figure 3: Example comparing the ‘minimum )

The second difference between service path finding and network-level QoS routing is that a service path involves SPY mapping. Consider the two service path requests and the simple mesh (with only one

    

criterion, the SPY mapping for request 1 should be: request 2 should then be: for request 1 is not

     





         

connection) in Figure 4. Suppose that the two requests have the same



and

.

By the ‘minimum

)

’

 ; and the mapping for

. However, it is easy to verify that if the mapping

 , request 2 will not be accepted. Therefore, SPY mapping should be an integral part 

of service path finding.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt) Request 1:

10 10

5

vP 1 Request 2:

5

10

30

5

vP 2 10

5

vP 1 Mesh:

5

11

10

vP 2 20

10

Ps

Pd

Figure 4: Example showing the importance of SPY mapping We note that the definition of function

)

is not unique, and there exist more accurate and complex

definitions for it. Fortunately, our service path finding algorithm can be easily modified to reflect a new function definition.

4.2 Algorithm Our service path finding algorithm extends Dijkstra’s algorithm [6]. More specifically, we extend Dijkstra’s algorithm to perform the ‘try-out’ of different VSPY-to-SPY mapping options while exploring the



different routing options from

to

.

  , +.- % 0 / 1    / 3    , and 5  

Extended multi-stage estimates for functions )

In Dijkstra’s algorithm,

 . For each node in the mesh,     4 we extend this estimate to  *   estimates: )   /  , and 5  (  ). )  estimates in the graph is associated with a shortest-path estimate 

each node

the minimum value of function VSPYs.

/

 

and

5  

)

- among all paths from

maintain the corresponding



% +.- 0/ 1

to

and all possible mappings for the first

   /23  

and

5



values that result in )



 

,

respectively. Extended RELAX procedure We extend the RELAX procedure in Dijkstra’s algorithm to implement the progressive try-out of different VSPY-to-SPY mapping options. The procedure is for two nodes

 . RELAX tests the following VSPY-to-SPY   to  , can edge      lead to mapping option: with the first VSPYs already mapped to SPYs from          a smaller value of ) ( ), if we map the following  VSPYs to ? The pseudo-code of

and





in the (augmented) mesh with an edge from

extended RELAX is given in the Appendix.



to

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

12

Extended Dijkstra’s algorithm Finally, we extend Dijkstra’s algorithm. The major extension is an additional layer of loop outside the original algorithm. By the end of each iteration of this loop, we have computed a path





from

 



)*

such that





to

(in fact, to every SPY) as well as a mapping





for the first



VSPYs,

is minimum. Therefore, the VSPY-to-SPY mapping progresses by one VSPY after

each iteration. The pseudo-code of algorithm EXTENDED-DIJKSTRA can be found in the Appendix. 2

5

Request:

2

vP 1 Mesh:

F 0 = inf F 1 = inf F 2 = inf

Pa

5

2

vP 2

Pc

10

5

F 0 = 0.5*1 F 1 = 0.5*1 F 2 = 1.4*1

F 0 = inf F 1 = inf F 2 = inf

10

Ps

5

Pd

5

10

5

F 0 = 0.0*0 F1

5

= 0.2*0

F 0 = inf F 1 = inf F 2 = inf

10

F 2 = 0.7*0 10

Ps

5

5

F 0 = 0.0*0 F 1 = 0.2*0 F 2 = 0.7*0

5

F 2 = 1.4*2 Pb

F 0 = 0.5*2 F 1 = 0.2*2 F 2 = 0.5*2

10

5

5

10

Pb

Pd

Ps

5

10

F 0 = 1.0*2 F 1 = 0.4*2 2 F

10

Pa

10

= 1.0*2

F 0 = 0.0*0 F 1 = 0.2*0 F 2 = 0.7*0

5 5

Pd

5

5 5

10 10

F 0 = 1.0*1 F 1 = 0.4*1 F 2 = 0.5*1

(c) After the second iteration

10

5

F 0 = 0.5*2 F 1 = 0.2*2 F 2 = 0.5*2

Pc

10

10 F 0 = 0.0*0 F 1 = 0.2*0 F 2 = 0.7*0

F 0 = 0.5*1 F 1 = 0.2*1 F 2 = 1.0*1

5 5

F 0 = 1.0*1 F 1 = 1.0*1 F 2 = 1.0*1

(b) After the first iteration

10 Ps

F 0 = 1.0*2 F 1 = 1.0*2

10 10

Pc

10

5

Pd

5

10

(a) After initialization

Pa

10

5

F 0 = inf F 1 = inf F 2 = inf

Pb

F 0 = 0.5*1 F 1 = 0.2*1 F 2 = 1.0*1

10

5

F 0 = 0.5*2 F 1 = 0.5*2 F 2 = 0.7*2

Pc

10

5

10

Pa

Pb

F 0 = 1.0*2 F 1 = 0.4*2 F 2 = 0.5*2

F 0 = 1.0*1 F 1 = 0.4*1 F 2 = 0.5*1

(d) After the third iteration

Figure 5: Example illustrating the execution of EXTENDED-DIJKSTRA Figure 5 shows the execution of EXTENDED-DIJKSTRA. The service path request is shown in Figure 5(a). For simplicity, the number of network-level hops for each edge is one. Figure 5(a) shows the initial state of the mesh; while Figures 5(b), 5(c), and 5(d) show the state of the mesh after the first, second, and third iteration, respectively. The darkened edges form the paths from



to other nodes. For each node

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

13



 : the first factor in )   (   ) is the value    5   of / , while the second factor is the value of . Notice that during the first iteration, ) ) , and , we show the resultant

)



)

    ) , and )



are all updated by our extended RELAX procedure. At the end of the first iteration,



During the second iteration, only third iteration, only for the request is  and 

   

)

.

)



and

)

may be updated, and

  





)

)

may be updated, and



)



is finalized.

is finalized at the end. During the

is finalized at the end. Finally, the service path computed

   , and the SPY mapping (not shown in the figure) is    

The computational complexity of EXTENDED-DIJKSTRA is VSPYs in the service path request;



 *





is the number of SPYs in the mesh; and



 

.



is the number of

is the number of edges in

the mesh. The correctness of our algorithm is stated in Theorem 1. Its proof is given in the Appendix. Theorem 1 If EXTENDED-DIJKSTRA is executed on the mesh. When it terminates, for any mesh, let



and



  free; and )* 

be the computed service path and VSPY-to-SPY mapping, respectively. Then

)

 

is minimum, among all paths from



to



in the is loop-

and all mapping options for the

VSPYs.

5 Performance Evaluation In this section, we first evaluate the performance of our mesh maintenance method and service path finding algorithm using extensive simulation results. We then present a quantitative analysis of the mesh augmentation method.

5.1 Simulation Setup The simulations are conducted using a SPY-Net simulator we have developed. The simulated SPYNet and underlying network are shown in Figure 6. The inter-SPY connections in Figure 6 only represent the initial set of (bi-directional) edges in the mesh maintained by each SPY. The mesh will grow and be  augmented dynamically during the simulation. In different runs of the simulation, we set different  (i.e. the maximum number of neighbors for each SPY) in the SPY-Net. The initial capacity of each SPY is randomly chosen between 2500 units and 10000 units, while the initial bandwidth of each underlying network link is randomly chosen between 400 units and 1600 units. Also at the network-level, routing between the SPYs follows the shortest path (with respect to network-level hop-count) criterion.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

14

SPY−Net

SPY One transit domain

Underlying network

Figure 6: The simulated SPY-Net and underlying network During each 3-hour run of the simulation, service path requests are generated according to a Poisson





process. We use different average request arrival rate

  in different runs. The

quest (

The service path session duration is exponentially



) are randomly selected from all SPYs.

and

of each re-

distributed, with an average duration of 20 minutes. The virtual service path in each request contains 3 VSPYs. The SPY capacity required by each VSPY is randomly chosen between 4 units and 8 units, while the required bandwidth between the VSPYS is randomly chosen from 1, 2, 4, or 8 units. In addition to service path sessions, we also introduce background traffic between the SPYs and background processing load in the SPYs. The background traffic/load will always preempt the on-going service path sessions, if the resources are not sufficient to accommodate both. Unless otherwise specified, for each SPY, the neighbor-probing period  is 5 minutes, while the nonneighbor probing period  is 30 minutes. Each bandwidth probing lasts 30 seconds, and consumes 8 units of bandwidth itself. For the simulation results we present next, we will use the following notation for algorithms and their configurations:

!

!

algorithm name  ( with or without mesh augmentation  ,  



,  ,  )

For example, ‘SPF(w/, 3, 5, 30)’ represents: ‘using our service path finding algorithm together with   ;  5 minutes; and  30 minutes’. In addition, a wildcard mesh augmentation method;   form ‘SPF(w/)’ will also be used.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

15

5.2 Simulation Results (1) Success rate of service paths A service path is successful, if and only if during the entire service path session, the resources it requires are always available. We compare the following algorithms/configurations:



CG(-): our service path finding algorithm, with the mesh being a complete graph, i.e.  





in

our simulated SPY-Net with 16 SPYs.



SPF(w/): our service path finding algorithm, with the mesh jointly maintained by the basic method and the mesh augmentation method.



SPF(w/o): our service path finding algorithm. The mesh is maintained by the basic method without mesh augmentation.



SW(w/o): the shortest widest path algorithm. The algorithm first computes the shortest widest path



from



minimum.

to

/21

, and then determines the VSPY-to-SPY mapping 

on



, such that

 

/ 1 *  

is

is the resource safety function for SPY capacity, defined in Section 4.1.

Figure 7 shows the service path success rate achieved by the above algorithms, under request arrival rates ranging from 20 requests/minute to 200 requests/minute. Each sub-figure shows the results under a different  . Algorithm SPF(w/) constantly achieves almost the same success rate as CG, and higher success    , the rate than SPF(w/o), thanks to the highly connected mesh by mesh augmentation. The lower the  greater the effect of mesh augmentation and therefore, the larger the difference in success rate between SPF(w/) and SPF(w/o). On the other hand, even without mesh augmentation, SPF(w/o) constantly achieves higher success rate than SW(w/o). And the difference in success rate between SPF(w/o) and SW(w/o) does  . This demonstrates the fundamental advantage of SPF over SW, not get narrower, with the increase of   and therefore justifies the importance of integrated SPY routing and SPY mapping in SPF. More importantly, we observe that SPF(w/) already achieves the same high success rate as CG, when

 



is only 3. This means that SPF(w/) is highly cost-effective, because the active bandwidth probing   is relatively low, compared with    4, 6, and 8. In fact, this is due to a very overhead when    , the more cold connections to be jumpstarted and nice property of mesh augmentation: the lower the  added to the mesh. The property will be confirmed by both our simulation and analytical results shortly.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

120

120 CG(-, 15, 5, 30) SPF(w/, 3, 5, 30) SPF(w/o, 3, 5, 30) SW(w/o, 3, 5, 30)

CG(-, 15, 5, 30) SPF(w/, 4, 5, 30) SPF(w/o, 4, 5, 30) SW(w/o, 4, 5, 30) 100

Service path success rate (%)

Service path success rate (%)

100

80

60

40

20

80

60

40

20

0

0 20

40

60

80

100

120

140

160

180

200

20

40

60

80

Request arrival rate (req.s/min)

100

120

140

160

180

200

Request arrival rate (req.s/min)

(a) 

(b)  

120

120 CG(-, 15, 5, 30) SPF(w/, 6, 5, 30) SPF(w/o, 6, 5, 30) SW(w/o, 6, 5, 30)

CG(-, 15, 5, 30) SPF(w/, 8, 5, 30) SPF(w/o, 8, 5, 30) SW(w/o, 8, 5, 30) 100

Service path success rate (%)

100

Service path success rate (%)

16

80

60

40

20

80

60

40

20

0

0 20

40

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

20

40

60

(c)  

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

(d)   

Figure 7: Service path success rate under different request arrival rate (2) Cost-effectiveness of mesh maintenance We evaluate the cost-effectiveness of a mesh maintenance method by the ratio between the total number of service path successes and the number of active bandwidth probes (to both neighbors and non-neighbors) performed by each SPY. In other words, the cost-effectiveness is indicated by the number of successes yielded by each probe of a SPY. Figure 8 compares the cost-effectiveness of mesh maintenance - with (Figure 8(a)) and without (Figure  , the cost-effectiveness is much better with mesh augmentation 8(b)) mesh augmentation. For a fixed   than without mesh augmentation (by comparing the two sub-figures), because they incur the same number of probes, but the former yields many more service path successes. Furthermore, with mesh augmentation  , the better the cost-effectiveness. This is because when    is lower, (Figure 8(a)), the lower the  

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

CG(-, 15, 5, 30) SPF(w/, 3, 5, 30) SPF(w/, 4, 5, 30) SPF(w/, 6, 5, 30) SPF(w/, 8, 5, 30)

CG(-, 15, 5, 30) SPF(w/o, 3, 5, 30) SPF(w/o, 4, 5, 30) SPF(w/o, 6, 5, 30) SPF(w/o, 8, 5, 30)

140

120

Number of successes per bandwidth probe

Number of successes per bandwidth probe

140

100

80

60

40

20

17

120

100

80

60

40

20

0

0 20

40

60

80

100

120

140

160

180

200

20

40

60

80

Request arrival rate (req.s/min)

100

120

140

160

180

200

Request arrival rate (req.s/min)

(a) With mesh augmentation

(b) Without mesh augmentation

Figure 8: Cost-effectiveness measured by number of successes yielded by each bandwidth probe of a SPY the number of probes is lower; but the number of successes are almost the same for different  



, as

previously shown in Figure 7. We also show the cost-effectiveness of maintaining a complete-graph mesh. Its cost-effectiveness turns out to be the worst, although it results in equally high success rate as SPF(w/). (3) Number of SPYs on a service path It is desirable that there be as few SPYs as possible on a service path (without compromising resource safety, of course). This is because a service path only connects two communicating end points, and too many SPYs will introduce long delay and many potential points of failure. 4

4 CG(-, 15, 5, 30) SPF(w/, 3, 5, 30) SPF(w/o, 3, 5, 30)

CG(-, 15, 5, 30) SPF(w/, 8, 5, 30) SPF(w/o, 8, 5, 30) 3.5 Average number of SPYs on a service path

Average number of SPYs on a service path

3.5

3

2.5

2

1.5

1

0.5

3

2.5

2

1.5

1

0.5

0

0 20

40

60

80

100 120 140 Request arrival rate (req.s/min)

(a)  

160

180

200

20

40

60

80

100 120 140 Request arrival rate (req.s/min)

(b)   

Figure 9: Average number of SPYs on a service path

160

180

200

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

18

Figure 9 compares the average number of SPYs on a service path, achieved by CG, SPF(w/), and   (Figure 9(a)), SPY(w/o) leads to approximately one more SPY SPF(w/o), respectively. When   in each service path than SPY(w/): this is a big difference considering there are only 3 VSPYs in each service path request. This is due to the fewer number of edges to connect any pair of SPYs in the mesh generated in SPF(w/o). The difference between SPF(w/) and CG is smaller than 0.5, because of the highly  connected mesh generated in SPF(w/) (although it is not fully connected as in CG). When  (Fig-



ure 9(b)), the difference between SPF(w/o) and SPF(w/) significantly narrows, at the cost of more active  . By comparing the two sub-figures, we also notice that when    , probes incurred by the higher    SPY(w/) results in almost the same average number of SPYs per service path as it does when   ,



with only a very small difference. This once again demonstrates the effectiveness of mesh augmentation  is small. when   (4) Network-level hop stretch factor From the perspective of the underlying network, it is desirable that a service path involves as few network links as possible. Otherwise, the service paths may generate excessive network traffic, due to the lack of full knowledge about the underlying network topology. We use a network-level hop stretch factor to evaluate such impact: the hop stretch factor is defined as the increase (in percentage) of hops on a service path, compared with the hop-count on the direct connection between its



and

.

140

140 CG(-, 15, 5, 30) SPF(w/, 3, 5, 30) SPF(w/o, 3, 5, 30) SPF-OH(w/o, 3, 5, 30)

120

Network-level hop stretch factor (%)

Network-level hop stretch factor (%)

120

CG(-, 15, 5, 30) SPF(w/, 8, 5, 30) SPF(w/o, 8, 5, 30) SPF-OH(w/o, 8, 5, 30)

100

80

60

40

20

100

80

60

40

20

0

0 20

40

60

80

100 120 140 Request arrival rate (req.s/min)

(a)  

160

180

200

20

40

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

(b)   

Figure 10: Network-level hop stretch factor Figure 10 compares the hop stretch factor achieved by CG, SPF(w/), SPF(w/o), and SPF-OH(w/o),

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

19

respectively. SPF-OH is the same algorithm as SPF, except that in its resource safety function

)

, each

inter-SPY connection in the mesh is counted as one hop. Both sub-figures show that CG achieves the lowest hop stretch factor, due to both its fully connected mesh and its hop-count awareness (reflected by the factor

* 

5

in function

)

). On the other hand, SPF-OH(w/o) results in the highest hop stretch factor, due to its

unawareness of network-level hop-counts between SPYs. However, we note that in our simulation, the mesh connectivity plays a more significant role than hopcount awareness, in reducing hop stretch factor. This is illustrated by the large difference between SPF(w/)   (Figure 10(a)): the number of hops on a service path has a 100 and SPF(w/o), especially when   increase (i.e. doubling the hop-count on the direct connection between its compared with only 30



and

) using SPF(w/o),

increase using SPF(w/).

(5) Impact of  and  The neighbor and non-neighbor probing periods determine the accuracy and timeliness of resource probing results. Therefore, we study the impact of  and  on the service path success rate, by setting 

3, 5, 8, and 10 minutes (with  fixed as 30 minutes) and setting    . 45, 60, and 75 minutes (with  fixed as 5 minutes). In all these runs, we fix  120

120 SPF(w/, 3, 3, 30) SPF(w/, 3, 5, 30) SPF(w/, 3, 8, 30) SPF(w/, 3, 10, 30)

SPF(w/, 3, 5, 15) SPF(w/, 3, 5, 30) SPF(w/, 3, 5, 45) SPF(w/, 3, 5, 60) SPF(w/, 3, 5, 75)

100

Service path success rate (%)

100

Service path success rate (%)

15, 30,

80

60

40

20

80

60

40

20

0

0 20

40

60

80

100 120 140 Request arrival rate (req.s/min)

(a) Impact of  (with fixed  )

160

180

200

20

40

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

(b) Impact of  (with fixed  )

Figure 11: Impact of  and  on service path success rate Figure 11 shows the impact of  (Figure 11(a)) and  (Figure 11(b)) on the service path success rate. Figure 11(a) shows (somewhat surprisingly) that the impact of  is very minor. From 



3 minutes to

10 minutes, there is almost no degradation in service path success rate. Compared with  , the impact

of  is more observable but still not substantial. One reason is that our simulation does not create a highly

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

20

fluctuating environment with respect to resource availability. Therefore, SPF is able to compute reasonably ‘safe’ service paths, even without the most updated resource probing results. However, we also realize that with mesh augmentation, the mesh will become highly connected; and the degree of augmentation depends more on the non-neighbor probing period  . With a highly connected mesh, SPF will have many routing and SPY-mapping options, and therefore become less sensitive to changes in resource availability. (6) Number of warm connections (per SPY) via cold-connection jumpstarting To study the impact  and  on mesh augmentation, we show the average number of warm connections out of each SPY of   in the mesh at any time during the simulation. Warm connections are those not actively probed, but passively monitored based on the service path sessions going through them. They are the augmented portion of the mesh.

SPF(w/, 3, 5, 30) SPF(w/, 4, 5, 30) SPF(w/, 6, 5, 30) SPF(w/, 8, 5, 30)

SPF(w/, 3, 5, 60) SPF(w/, 4, 5, 60) SPF(w/, 6, 5, 60) SPF(w/, 8, 5, 60)

14

Average number of warm connections per SPY

Average number of warm connections per SPY

14

12

10

8

6

4

2

12

10

8

6

4

2

0

0 20

40

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

(a)     minutes

20

40

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

(b)     minutes

Figure 12: Average number of warm connections out of each SPY in the mesh Figure 12 shows the average number of warm connections per SPY under different request arrival rates,  , and different  . We notice that from low request arrival rate to high request arrival rate, different   the number of warm connections first increases and then stabilizes. By comparing Figures 12(a) and 12(b),  , there are more warm connections out of each SPY when  30 we can see that for the same  



minutes than when 

60 minutes. This confirms our earlier results on the impact of  in Figure 11(b).  , the more warm connections out of Furthermore, within each sub-figure, we notice that the lower the    under the same arrival rate, the sums of    and the corresponding each SPY. In fact, for different   number of warm connections are more or less the same.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

21

In summary, our simulation results show that the service path finding algorithm, together with the mesh augmentation method, achieves high service path success rate with low active probing cost. In addition, with mesh augmentation, the number of SPYs on each service path is smaller and the network hop stretch factor for each service path is lower - than without mesh augmentation.

5.3 Analysis of Mesh Augmentation Method To better parameterize the mesh augmentation method, we present a quantitative analysis based on the following definitions and assumptions.



 , the number of non-neighbors be the number of SPYs in the SPY-Net. Then for a given      of each SPY is . We assume that during each period  , the SPY probes a non-

Let 



  neighbor every fixed interval of 

 , and each non-neighbor is probed exactly once during each

period  .



The arrival of service path requests is Poisson, with an average arrival rate



and



(



 . We assume that the

) of each service path request are both randomly selected from all SPYs in the

SPY-Net.

 

The duration of each service path session is an exponential distributed random variable with mean

  .

For each SPY, let





be the number of warm connections at time .



may be any integer in interval

 . Therefore, we have a state transition diagram for    , as shown in Figure 13. λ0 0

λ1 1

λ n−1

µ0

2 µ1

........

n−1

n µ n−1

Figure 13: State transition diagram for the number of warm connections out of each SPY We first determine the transition rate 



in the diagram. For a warm connection, when the service path

session that goes through it terminates, it becomes cold and the SPY loses a warm connection. In state





,

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)



there are









 



22

warm connections, each with mean duration  . Therefore, the transition rate 



from state

to is:

      

     4     





We then determine the transition rate

(4)



in the diagram. For the SPY in state , in order to have one

more warm connection, the following events should all happen: (1) A service path request arrives; (2) There is a non-neighbor probing result that has not expired - recall that a non-neighbor probing result expires after  (Section 3.2); (3) The connection from the SPY to the non-neighbor is currently cold; and (4) The     connections: connection is selected by the service path finding algorithm for this request, among    actively probed connections,  currently warm connections, and the cold connection itself. Therefore,  





the transition rate





from state to



  4

 +







is:



     4

  

 4



 

   

          

(5)

 is the overall request arrival

The first factor in (5) is the request arrival rate at the SPY (recall that

rate). The second factor is the probability that there is a not-yet-expired non-neighbor probing result. The third factor is the probability that the connection to this non-neighbor is not among the



warm connec-

tions. The last factor is the probability that the connection is selected by our algorithm for the request. For     connections has the same probability to be selected. simplicity, we assume that each of the   Let 



(

 





) be the steady state probability of state . We will have the following balance equations

for the state transition diagram:

 4   Since



  





  , we can solve   as: 



 





 



      

 4     

  64





     

       

 



         



(6)



   

Finally, the average number of warm connections out of each SPY can be computed as:

(7) (8)

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)



   



 

 4  



23

4                 

         

              

4





4

(9)

The numerical results using (9) are shown in Figure 14. They match the simulation results in Figure 12 reasonably well, although the numerical results are more conservative. This is because in our analysis, we only consider the jumpstarting of a cold connection by the SPY at the starting end of the cold connection. In a real SPY-Net however, since the non-neighbor probing results are also propagated to other SPYs, the connection can be jumpstarted by any SPY, resulting in more warm connections in the mesh.

SPF(w/, 3, 5, 30) SPF(w/, 4, 5, 30) SPF(w/, 6, 5, 30) SPF(w/, 8, 5, 30)

SPF(w/, 3, 5, 60) SPF(w/, 4, 5, 60) SPF(w/, 6, 5, 60) SPF(w/, 8, 5, 60)

14

Average number of warm connections per SPY

Average number of warm connections per SPY

14

12

10

8

6

4

2

12

10

8

6

4

2

0

0 20

40

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

20

40

(a)     minutes

60

80

100 120 140 Request arrival rate (req.s/min)

160

180

200

(b)     minutes

Figure 14: Average number of warm connections per SPY in the mesh, computed using Equation (9) However, our analysis also reveals the limited scalability of the mesh augmentation method, with respect to the total number of SPYs. To achieve a highly connected mesh, we need to have a sufficiently large request arrival rate maintain  minimum example, 

   . Let  be the total number of SPYs, each curve in Figure 15 shows the minimum  to

4%

warm connections per SPY, with  





4



. With the increase of  , the required

  grows rapidly. Therefore, mesh augmentation works well when 

!

 ). However, for a large 

highly-connected mesh.

is relatively small (for

, the request arrival rate may not be high enough to maintain a

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

12000

24

x=10% x=20% x=30%

Minimum request arrival rate

10000

8000

6000

4000

2000

0 20

30

40

50

60

70

80

90

100

Number of SPYs

Figure 15: Minimum request arrival rate to maintain warm connections

6 Related Work The general concept of service path and its applications have been proposed in [7, 9, 13]. In the Ninja Project[9], a service path is defined as a sequence of application-level service operators and connectors. Ninja focuses on the specification, instantiation, and protocol translation issues in service path provisioning. It does not address the problem of resource-aware service path selection with the presence of multiple service proxies. The CANS framework [7] is proposed for the composition and adaptation of service delivery over the Internet. It highlights dynamic QoS adaptation along different service delivery paths, under different resource conditions. However, within each service delivery path, the participating proxies are assumed to be fixed. In [13], a programming framework is presented for the construction of network services to access media data. The focus is the programming model as well as open signaling between media-playing objects. In [8], an integrated path and media server selection technique is proposed for dynamic distributed environments. However, it is intended for the client-server communication pattern. Therefore, it does not consider multiple proxy services and the mapping of services to proxies. Recently, several architectures for application-level multicast have been proposed [2, 4, 5, 10, 11, 14, 16]. In these architectures, an application-level overlay network is formed to support a multicast session without IP-multicast capability. Some application-level multicast architectures aim at supporting large scale content distribution [2, 10, 11], while others specialize in small-to-medium scale group communications such as video conferencing [4, 5, 14]. Our SPY-Net architecture shares the same design principle of maintaining an overlay network, monitoring resource and performance at application-level, and planning data transmission

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

25

paths according to resource probing and monitoring results. However, the SPY-Net is different from overlays for application-level multicast in mesh maintenance method and in routing (service path finding) algorithm. In the aspect of mesh maintenance, due to the many simultaneous service paths in the SPY-Net, we need to create meshes of higher connectivity. However, the mesh maintenance mechanisms proposed in [2, 4, 5, 14] are not able to maintain a highly-connected mesh while in the meantime keep the bandwidth probing overhead low (as shown in Section 5). In a Resilient Overlay Network (RON) [1] with  RON node probes all its 



nodes, each

connections to other RON nodes. This may incur excessively large probing

overhead - especially for bandwidth probing, which takes more time and probing bandwidth compared with probes for node reachability or round-trip-time. In the aspect of routing algorithm, none of the algorithms in [2, 4, 5, 14] consider the dual tasks of routing and proxy mapping. In addition, the SPY-Net uses a link-state-like approach for finding service paths; while in application-level multicast routing [2, 4, 5], a distance-vector-based approach is used. We do not choose the distance-vector-based approach because of the different nature of the service path finding problem. Each service path request involves different media services with varying SPY capacity and bandwidth requirements. Given our problem definition (Section 4.1), it is impossible to find a unique metric of ‘distance’ to be estimated and propagated by the SPYs. In fact, the ‘distance’ is specific to each individual service path request, and can only be determined upon its arrival. This is also the reason why it may be difficult for the SPY-Net to adopt the service path pre-computation approach proposed in [15], although the SPY-Net does share the link-state-based scheme as in [15]. One interesting possibility is the integration of SPY-Net and the application-level multicast architectures. In such an integrated system, both one-to-one service paths and many-to-many multicast sessions can benefit from the highly connected mesh, and the probing cost will be further amortized. Finally, there have been numerous results in network-level QoS routing [3, 17]. As discussed earlier, solutions in network-level QoS routing are not readily applicable to service path finding. However, since service paths require both SPY capacity and inter-SPY bandwidth, it is possible to extend our service path finding algorithm, by leveraging results in multi-constrained QoS routing [12, 18]. In that case, the resource safety of SPY capacity and inter-SPY bandwidth will be evaluated separately, instead of being combined in one resource safety function5 . 5

The design and analysis of such a multi-constrained service path finding algorithm is our on-going work.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

26

7 Conclusion The SPY-Net enables the setup of media service paths between end-points of multimedia communication. Different from application-level multicast, SPYs on a service path perform a customized series of media services on the media stream between two communicating end points. In this paper, we study the problem of finding service paths in the SPY-Net, and argue that existing solutions to network-level QoS routing and application-level multicast are not sufficient to solve the problem. Our solution includes (1) a highly cost-effective mesh maintenance and augmentation method and (2) a resource-aware service path finding algorithm. Compared with mesh maintenance mechanisms in application-level multicast, our mesh augmentation method results in meshes of higher connectivity, without increasing the bandwidth probing overhead. Compared with network-level QoS routing algorithms, our service path finding algorithm performs the dual tasks of SPY-Net routing and SPY mapping, and therefore achieves higher service path success rate. The simulation and analytical results both demonstrate the soundness of our solution.

References [1] D. Andersen, H. Balakrishnan, M. F. Kaashoek, and R. Morris. Resilient Overlay Networks. Proceedings of ACM SOSP 2001, October 2001. [2] Y. Chawathe. Scattercast: an Architecture for Internet Broadcast Distribution as an Infrastructure Service. PhD Thesis, University of California at Berkeley, 2000. [3] S. Chen and K. Nahrstedt. An Overview of Quality-of-Service Routing for the Next Generation HighSpeed Networks: Problems and Solutions. IEEE Network Magazine, 12(6), 1998. [4] Y. Chu, S. Rao, S. Seshan, and H. Zhang. Enabling Conferencing Applications on the Internet Using an Overlay Multicast Architecture. Proceedings of ACM SIGCOMM 2001, August 2001. [5] Y. Chu, S. Rao, and H. Zhang. A Case for End System Multicast. Proceedings of ACM SIGMETRICS 2000, June 2000. [6] T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithms. MIT Press/McGraw Hill, 1990. [7] X. Fu, W. Shi, A. Akkerman, and V. Karamcheti. CANS: Composable, Adaptive Network Services Infrastructure. Proceedings of USENIX Symposium on Internet Technologies and Systems (USITS’01), March 2001. [8] Z. Fu and N. Venkatasubramanian. Combined Path and Server Selection in Dynamic Multimedia Environments. Proceedings of ACM Multimedia’99, November 1999. [9] S. Gribble, M. Welsh, R. von Behren, E. Brewer, D. Culler, N. Borisov, S. Czerwinski, R. Gummadi, J. Hill, A. Joseph, R. Katz, Z. Mao, S. Ross, and B. Zhao. The Ninja Architecture for Robust InternetScale Systems and Services. Computer Networks, Special Issue on Pervasive Computing, 2001.

Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt)

27

[10] Inktomi. Inktomi Content Networking Solutions. http://www.inktomi.com/products/cns. [11] J. Jannotti, D. Gifford, K. Johnson, F. Kaashoek, and Jr. J. O’Toole. Overcast: Reliable Multicasting with an Overlay Network. Proceedings of USENIX Symposium on OS Design and Implementation (OSDI2000), October 2000. [12] T. Korkmaz and M. Krunz. Multi-Constrained Optimal Path Selection. Proceedings of IEEE INFOCOM 2001, April 2001. [13] A. Nakao, A. Bavier, and L. Peterson. Constructing End-to-End Paths for Playing Media Objects. Proceedings of IEEE OPENARCH 2001, April 2001. [14] D. Pendarakis, S. Shi, D. Verma, and M. Waldvogel. ALMI: An Application Level Multicast Infrastructure. Proceedings of USENIX Symposium on Internet Technologies and Systems (USITS’01), March 2001. [15] A. Shaikh, J. Rexford, and K. Shin. Efficient Precomputation of Quality of Service Routes. Proceedings of International Workshop on Network and OS Support for Digital Audio and Video (NOSSDAV’98), July 1998. [16] S. Shi, J. Turner, and M. Waldvogel. Dimensioning Server Access Bandwidth and Multicast Routing in Overlay Network. Proceedings of International Workshop on Network and OS Support for Digital Audio and Video (NOSSDAV’01), June 2001. [17] Z. Wang and J. Crowcroft. Bandwidth-Delay Based Routing Algorithms. Proceedings of IEEE Globecom’95, November 1995. [18] X. Yuan. Heuristic Algorithms for Multi-Constrained Quality of Service Routing. IEEE/ACM Transaction on Networking, in press, 2002.

8 Appendix: Pseudo-code of Service Path Finding Algorithm and Proof of Theorem 1 The pseudo-code of the extended RELAX procedure is shown in Figure 16. We also need an extended INITIALIZE procedure, shown in Figure 17. With the two extended procedures, the pseudo-code of EXTENDED-DIJKSTRA is given in Figure 18. After the execution of EXTENDED-DIJKSTRA, the resultant   service path can be identified by travers- back to  : the predecessor of is   ing from    , and the VSPYs which are mapped   to  can be determined as the VSPYs with index numbers to . Next, if we let , then   the predecessor  , and the VSPYs  mapped to   are the VSPYs with index numbers   of to    , isand so on... from until we reach .    We are now ready to prove Theorem 1. Theorem 1 If EXTENDED-DIJKSTRA is executed on the mesh. When it terminates, for any in the mesh, let  and  be the computed service path and VSPY-to-SPY mapping, respectively. Then  is loop is minimum, among all paths from  to and all mapping options for the free; and ) *  ) VSPYs.  Proof. We use induction on . We will proof that the following statement holds: after each iteration of     to and ...)’ loop, for each in the mesh, let  be the computed path from the ‘for (       be the corresponding mapping for the first VSPYs. Then ) *  ) is minimum among











  



 



Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt) RELAX(  for

%

      



to

                 3          1  ; 3 1

)



% &+. - 0/ 5    number of underlying network hops (domains) between  % 4' !    if   ) % 4'   )    % 5  ;  ' /    ;    ; ; ;    -  5    -  5     ;  '

and

28

 ;





Figure 16: Extended RELAX procedure



INITIALIZE(mesh, ) for each node in mesh  for   to )   5 ;   ; /      5 ; -



for





 )



  /  





       1

to

;

1

 



 ;



;

;

Figure 17: Extended INITIALIZE procedure





all paths from to and all mappings for the first VSPYs. This statement will immediately lead to the correctness of our algorithm.  (1) Basis For , no VSPY-to-SPY mapping decisions are made. This iteration proceeds as the normal Dijkstra’s algorithm (except the RELAX procedure). After the iteration, for each and its computed  path  , we will have:           %   465 

  ) *  &) ,+.* (10)   



 





       

  





 



 According to the original Dijkstra’s algorithm, ) * is minimum.  (2) Induction Now assume that the statement is true for 0, 1...  k. To prove that it also holds for  ,    we will show that for each SPY , we have ) * is minimum, when is inserted  )  into set  (see Figure 18).     To create a contradiction, let be the first SPY such that )  )   . )   is the minimum (    value of function ) among all paths from to and all corresponding mappings for the first     VSPYs. Let be the time instance when the insertion of occurs. On the other hand, the path and













Finding Service Paths in an Overlay Media Service Proxy Network (D. Xu and K. Nahrstedt) EXTENDED-DIJKSTRA(mesh,  INITIALIZE (mesh, );  for  to  5  ; ;  +

29

)

         for to    while  do  EXTRACT-MIN(  );         ;   for each edge   is not on  -  5   and    //loop checking if

      ); RELAX(  Figure 18: Extended DIJKSTRA’s algorithm





              







and  , respectively. mapping which do achieve )  must exist, and we denote them as              . Let  . We claim that  Let’s !     to study ! (‘ ’ is defined on  ). Otherwise, if  , then from   % ,

  %   !     , RELAX( , at most VSPYs are resolved. Suppose at time instance ) has just       )   is minimum. been executed. Based on our induction hypothesis, at , )         at  . From the Therefore we have ) )      . )     denotes the value of )  )   . However, this contradicts our earlier logic of RELAX, we  have )       )  assumption that ) &)  !     )   .     !     , when

 We further claim that  . Then at  . Otherwise, if         the RELAX procedure between and )        .   completes,  we have  )   On the hand, )  )   &)  . Hence we have )  other    !     ) ) . However, this contradicts the logic of EXTENDED-DIJKSTRA that at   )        ,) is the smallest among SPYs not in  . We repeat this inference along the reverse of         until the first in  have  we meet we     either   which   at , or . If the   is already former  is! the  case, ) &)       )   )   . If the    &)    &)     )     latter is the case, we have )   !     )  ) . In either case, it contradicts the logic of EXTENDED-DIJKSTRA that at ,)  is the smallest among SPYs not in  . By now, we have used contradiction to prove that the statement is  true for  . Q.E.D.







 





  











  



     



     





     

   















 



                                 







          



      

Suggest Documents