RelayCast: A Middleware for Application-level Multicast ... - CiteSeerX

2 downloads 0 Views 151KB Size Report
Abstract. Application-level multicast (ALM) is being increasingly recognized as a solution to support multipoint applications without the need for a network layer ...
RelayCast: A Middleware for Application-level Multicast Services Nodoka Mimura

Kiyohide Nakauchi

Hiroyuki Morikawa

Tomonori Aoyama

School of Engineering, The University of Tokyo {mimura, nakauchi, mori, aoyama}@mlab.t.u-tokyo.ac.jp Abstract Application-level multicast (ALM) is being increasingly recognized as a solution to support multipoint applications without the need for a network layer multicast protocol. Though several ALM systems have been proposed, all the multicast functions are independently developed and integrated into individual applications. However, we can find out the common functions of ALM among the existing systems. Our goal is to abstract the common functions and incorporate them in the middleware called RelayCast. RelayCast meets the fundamental requirements of various applications by combining several components of ALM functions. In this paper, we firstly present the architecture and implementation of RelayCast. Then, we present the multipath routing mechanism as a component. The multi-path routing achieves fast tree rebuilding at the time of tree partition caused by end-host’s leave or failure.

1 Introduction An efficient and scalable multicast communication is indispensable for multipoint applications, such as large-scale file distribution, video-on-demand, and video conferencing. Multicast could be achieved either in a network layer (switches and routers) or in an application layer (end-hosts). The former is called “IP multicast” and the latter is called “Application-level multicast (ALM)”. The concept of IP multicast is accepted widely, and its functionality is currently implemented in most routers. However, IP multicast has many fundamental issues inherent in its original architecture, including inter-domain routing, group management, multicast address assignment, reliability, congestion control, flow control, security, and lack of business model [8]. These issues have prevented the deployment of IP multicast in the Internet. While there are attempts to partially address some of these issues, they complicate a network layer more and more. On the other hand, the rapid growth of computation and network resources for end-hosts has enabled peer-to-peer (P2P) computing and networking, and multipoint communication using ALM [4–7,10–13,15,16,19,21–24,26] is being increasingly recognized. In ALM, an application layer provides multicast functionality, i.e., packet duplication, multicast routing, group management, and so on. End-hosts self-

organize into an overlay network, and transfer data along the overlay network using unicast transport services. An ALM operation consists of three fundamental functions: 1) end-host discovery, 2) overlay network construction, 3) multicast routing. Existing works observe overlay network construction and multicast routing, and propose algorithms for these functions. For example, End System Multicast [7] constructs a mesh overlay network adaptive to end-to-end delay with NARADA protocol, and builds multicast tree using shortest widest path algorithm. In Gossamer protocol at Scattercast [6], a mesh overlay network is constructed according to delay and link stress, and DVMRP-like multicast routing protocol runs on the overlay network. Recently, many papers on ALM have been published, and most algorithms to meet the fundamental requirements of various applications have been proposed. We believe that, in the future, it is necessary to consider how ALM is applied from the practical viewpoint. However, it is redundant and time-consuming that all the multicast functions are independently developed and integrated into individual applications. Our key observation is that it is possible to find out the minimum and fundamental functions of ALM among the existing systems. The minimum and fundamental functions are “overlay network construction” and “multicast routing”. From this observation we believe that it is possible to abstract common functions and provide them as a middleware. Our goal is to incorporate minimum and fundamental functions in a middleware and to provide the functions for applications. We call this middleware RelayCast. Other functions required of multipoint applications, such as video and audio capture, codec, and multi-windows, are implemented at an application side. RelayCast enables to shift existing unicast applications to ALM applications seamlessly. Moreover, we expect RelayCast to help development of ALM applications on it. The middleware needs to support the mechanisms which meet the fundamental requirements of various applications, and needs to easily support additional mechanisms. Our approach is to support various applications’ requirements by arbitrary combination of the components, which are constituents of ALM functions. That is, we make individual mechanisms into components in each function, and realize ALM systems by selecting and combining the components.

Such an approach is also used in Building Block (BB) for reliable multicast discussed in IETF RMT WG [1]. The whole reliable multicast is actualized by the combination of some functional blocks. For example, bulk-data reliable multicast transport is composed of blocks for data reliability, congestion control, security, group membership, session management, and tree configuration. Note that each block has variations with various algorithms. In this paper, we firstly present the RelayCast architecture. We decide the functional units which compose RelayCast by subdividing the minimum and fundamental functions of ALM and summarizing common functions, and define API for each functional unit. Then, we present the multi-path routing algorithm as the additional component of multicast routing. The multi-path routing achieves fast tree rebuilding at the time of multicast tree partition caused by end-host’s leave or failure. Finally, we present the implementation of RelayCast and its experimental results. Currently, we assume that the target application is live stream distribution, like video conferencing. Since live stream distribution does not need retransmission and caching mechanisms, the components required by applications can be simplified. Of course, we believe that it is possible to realize reliable multicast or more complicated multicast services at ALM by incorporating components for retransmission, caching, and so on. The main contributions of this paper are as follows. • The RelayCast architecture to provide minimum and fundamental functions of ALM for applications. • The multi-path routing algorithm for the purpose of fast tree rebuilding. The rest of this paper is organized as follows. In section 2, we abstract ALM functionality and discuss minimum components for each function. In section 3, we present the RelayCast architecture. In section 4, we explain multi-path routing algorithm. In section 5, we describe the implementation and evaluation of RelayCast. In section 6, we discuss related work, and we present our conclusion in section 7.

2 Abstracting ALM Functionality As mentioned above, the minimum and fundamental functions of ALM are overlay network construction and multicast routing. In this section, we explain the operation of these functions and the basic components to meet the fundamental requirements of applications.

End-host H1 RTT1 H2

H1

RTT4

Suggest Documents