On Construction of Service Multicast Trees

4 downloads 33613 Views 121KB Size Report
In the Akamai solution [9], multimedia data, such as CNN news videos, are first reliably transferred to Akamai's thousands of streaming servers located close to ...
ICC2003, ANCHORAGE, ALASKA, MAY/2003

1

On Construction of Service Multicast Trees Jingwen Jin Klara Nahrstedt Dept. of Computer Science University of Illinois at Urbana-Champaign jjin1, klara  @cs.uiuc.edu

Abstract— Internet heterogeneity has been a major problem in multimedia data delivery. To deal with the problem, overlay proxy networks as well as distributed and composable services across these overlay networks are being deployed. This solution however, implies that the overlay networks must support not only data multicast for data delivery to a group of destinations, but also service multicast (incorporate services in the distribution tree) for semantic data transformations in order to deal with Internet heterogeneity. This paper presents challenges and solutions for building service multicast trees. We compare two groups of algorithms, the shortest-service-path-tree (SSPT) algorithm and the longest-match (LM) algorithm. Simulation results show trade-offs between complexity and overall tree performance, as well as cost differences when further refinements of the LM approach are considered.

I. I NTRODUCTION

n0 5

7

5

3

n1

n2

4

3

9

n1

(a)

4 n4

7 3

2

5

n3

n0

n3 f1

w

n2

2

5

3

9

f2

n4

(b)

Fig. 1. Data multicast  service multicast ( is the source;  and  are two group members): (a) a data multicast tree; (b) a service multicast tree.

different functionalities to data according to their service capability; (2) service dependency aspect - in service routing, services have to be applied following their dependency relations. In summary, while data multicast is solely based on network connectivities, service multicast depends on network connectivities and service requirements (service capability and service dependency).

In the past few years, Internet heterogeneity (e.g., in network connections and machines) has more and more become a problem, especially in multimedia scenarios. One of the approaches to solving the heterogeneity problem is to adopt media proxies so that data can be transformed according to the en-to-end requirements. Based on the distributed, composable service model in Internet overlay networks, service routing has emerged as a way of dynamically customizing and transforming end-to-end multimedia data to achieve matching between server’s output and client’s input in multimedia scenarios. In such a service model, services, which may be widely distributed in media proxies across the Internet overlay networks, can be applied in a chain to accomplish more complex tasks [1], [2]. Given such a scenario, a challenging problem lies in how to maximize service sharing by integrating service routing with multicast. We call such a problem service multicast routing. Compared to service unicast [3], [4], [5], [6], service multicast is desirable because it helps to save both network bandwidth and computation at proxies. Unlike data multicast, where the tree links carry homogeneous data, in service multicast, data traversing the tree links is heterogeneous due to the fact that services are transformational. We argue that the conventional data multicast routing protocols (e.g., DVMRP, MOSPF, and PIM) are not readily applicable to service multicast routing, because they lack to deal with the following aspects that are key to service multicast routing: (1) service capability aspect - in data multicast, all network nodes have one single function - to forward data, while in service multicast, proxy nodes may apply

We take this challenging problem in this paper and devise several algorithms for building service multicast trees. The remainder of this paper will be structured as follows. In Section II, we discuss the motivation of this paper and related work. Section III describes models, assumptions, and the service multicast routing problem. In Section IV, we present several service multicast routing algorithms. Section V is devoted to studying the performances of the algorithms. Section VI provides some concluding remarks of this paper.

This work was supported by the DARPA grant, F30602-97-2-0121, NSF grants CCR-9988199 and EIA 99-72884 EQ, and NASA grant NAG2-1406. Jingwen Jin is also supported by CAPES/Brazil.

Hereafter, we assume all proxies have the forwarding functionality without explicitly stating.

Figure 1(a) shows a network topology where all nodes are deemed equal in the sense that their major task is to forward data. A data multicast tree is highlighted in bold lines. However, in a proxy topology, nodes may be heterogeneous in terms of their service capabilities. For example, in Figure 1(b), and  do not contain any transformation services except forwarding1 ,  contains a watermarking service -  , and  and  contain two different filtering services -   and  , respectively. If the end-to-end path from  to  requires  (note the dependency relation between the two services) , and the endto-end path from  to  requires  , then a feasible service multicast tree is shown in bold lines. Note that with the same network connectivities, the constructed service multicast tree can be dramatically different from the data multicast tree.

ICC2003, ANCHORAGE, ALASKA, MAY/2003

II. M OTIVATION

AND

2

III. M ODELS , A SSUMPTIONS , D ESCRIPTION

R ELATED W ORK

A. Data Multicast Routing Data multicast has been one of the major techniques used to save network resources, and can be implemented at the IP layer [7] or application layer [8]. The limitation of data multicast is that it only helps to alleviate the Internet scalability problem, but not the ever-growing Internet heterogeneity problem. Although ad-hoc improvements can be made on top of data multicast to deal with the heterogeneity problem, e.g., [9], [10], those solutions are far from sufficient for the ever-changing, heterogeneous multimedia environments. In the Akamai solution [9], multimedia data, such as CNN news videos, are first reliably transferred to Akamai’s thousands of streaming servers located close to end users, and then transformed there according to clients’ needs. Such a static solution only solves the client heterogeneity problem in a very limited scale, because the number of services needed to be manually managed increases together with the Internet diversity. In [10], packet dropping mechanisms are introduced into overlay nodes to deal with bandwidth heterogeneity. However, Internet heterogeneity of multimedia scenarios generally has a much broader meaning. Although services can get actively installed in proxies whenever and wherever needed (active services), once an optimal data multicast tree has been established, to get active services widely accepted is not easy, because most system administrators may not allow dynamic installations of software in their systems due to security concerns in the first place. The limitation of data multicast and the above solutions call for the need of integrating service finding process with the multicast tree building process (service multicast routing).

B. Service Multicast Routing Service multicast routing has been proposed and investigated in our previous work [11], where proxies maintain only partial knowledge of the service topology, and the developed protocol adopts a distributed approach to constructing service multicast trees, under the loosely defined service dependency model. In this paper, we adopt the tightly defined service dependency model (to be explained better in Section III) as used in [4], [5]. Such a tight service dependency model allows us to compute optimal unicast service paths, based on which service multicast routing algorithms can be devised. In this paper, we assume each proxy has full knowledge of the service topology, so that service paths/trees can be computed quickly at a single node. The motivation of this paper and our previous work also stems from work done by other researchers on unicast service routing [4], [6], [5], in which a service path between two communicating ends is discovered independently of other existing ones. Such an approach may waste both network bandwidths and computation at proxies if the scenario involves a group of receivers. Taking the example in Figure 1, if service unicast is to be adopted, then watermarking at  will be executed twice, and the same data will be sent from  to  twice through two different connections.

AND

P ROBLEM

We assume a distributed, composable service model, where multiple services can be applied in a sequence (e.g.,      ) to deliver a more complex service. We assume that when two communicating ends require a set of services, then which service is to be applied before/after which service is well defined [4], [5]. A service path request will be written as        to mean that the service path should start at source proxy  and end at destination proxy  , and should include a service sequence        . The cost of a service path will be the sum of the network communication cost and the service execution cost. The problem of finding an end-to-end service path for a request      

  amounts to mapping  to the service overlay, such that the service path cost is minimized. The resulting mapped service path may have the form     ! "    !  , where #"$ means service  is to be mapped onto proxy % . Note that a service path is represented as a string, and the order in the string represents the functional ordering. A media service overlay can be modeled as a weighted, connected graph &(')+*-,./ "01./ 235476 28 "6 98:?>@ "6 98: &  with com-

mon service sequence 6



      !8 and graftable

ICC2003, ANCHORAGE, ALASKA, MAY/2003

r1’s shortest service path

r2’s shortest service path

SSPT tree

p0

p0

p0

4

shortest service path for

LM tree

p0 s1/p1

s1/p1

s1/p1

−/p6

s2/p0

−/p6

s2/p0

s2/p5

s3/p0

s2/p5

s3/p0

s1/p1

p0

p5

9 s4/p3 0

6

s1/p1

p3

s3/p0 7 s4/p4

3

p0

−/p6 s2/p5

p0

−/p6

shortest service path for p5 graftable node

s2/p5

s1/p4

s2/p5

s1/p4

s2/p5 network distance

s5/p5

s3/p0

s5/p5

s3/p0

s2/p1

s3/p6

s2/p1

s3/p6

p5

−/p2

p5

−/p2

p1

−/p7

p1

−/p7

5

s5/p5 p5

−/p4

−/p4

s5/p5

s4/p3 p3

(a.1)

p3

(a.2)

(a.3)

(b.1)

(a)

s4/p3

s4/p3

p3

p3

(b.2)

(b)

t

3

p3

4

s4/p3

p5

w

xz

(b.3)

s4/p2

s4/p2

p2

p2

(c.1)

(c.2)

(c)

|

| | c| z  t s w x z | | s | | |cz     s    ; (a.2) shortest Fig. 4. (a) SSPT: (a.1) shortest service path for service combination t wy x z | path | s for | |z         ; (a.3) thewy x z | | of |cz the        ; (b.2) shortest service path for      ; two service paths - a shortest service path tree; (b) LM: (b.1) shortest service path for (b.3) the combination of the two service paths - an LM service tree; (c) selecting a graftable node in the LM approach (note that this figure is not related to (a) and (b).

proxy !f! . A concrete service path