An Intersection-Based Multipath Routing Scheme

We consider the problem of choosing multiple paths across an overlay network in order to provide applications with high-throughput data transfer. Approaches based on traditional (link state) routing algorithms involve a substantial (quadratic) overhead for exchange of state information in fully-connected overlays. Moreover, in the absence of coordination, an apparently "good" link may be selected by multiple sessions simultaneously, causing it to become congested. The simple solution—more frequent exchange of state information—only exacerbates the overhead problem. We present an alternative algorithm that uses a lazy approach to collect link state information, and computes paths by finding the intersection of sets of candidate intermediate hops. Results from experiments show that this intersection-based approach produces paths that provide better performance, has significantly lower overhead, and distributes load more evenly through the network than link-state alternatives. I. INTRODUCTION A growing number of applications have turned to overlay networks to achieve higher performance than IP's shortest path routing can offer. By identifying multiple overlay paths between a source and destination, applications can select the path with the best performance or can utilize multiple paths simultaneously (i.e., the aggregated performance of all paths). Example applications include grid (scientific) applications that transfer massive data sets, remote visualization applications that transmits high-bandwidth continuous media streams, col- laborative virtual reality applications and distributed gaming applications that require both high bandwidth channels and low latency channels, content distribution networks that regu- larly distribute large files, and other large-file transfer or real- time data streaming applications. In this paper we consider the problem of efficiently select- ing multiple paths across an overlay network to maximize throughput. Unlike conventional routing protocols that ex- change reachability information that changes slowly, identify- ing paths with the best throughput requires frequent exchange of available bandwidth information. Consequently, the main challenge of a multipath routing algorithm is obtaining and distributing timely information about the current state of the network (i.e., all overlay links). Unfortunately, exchanging information about all overlay links does not scale. Because overlays are typically con- structed above the network layer, (virtual) links exist between all participating overlay nodes (i.e., the overlay is a fully- connected graph). Applying traditional link-state style routing- protocols to the path selection problem (as used, for example, in RON (1)) does not scale to large overlay networks because the overhead of continually exchanging link information grows quadratically with the size of the network. Moreover, as soon as one overlay session selects a "good" link and begins using it, the link may cease to be a "good" choice because the bandwidth is no longer available. If the change is not propagated immediately, multiple overlay sessions will select this "good" link only to find that it has now become heavily overloaded. In this paper, we present a scalable intersection-based approach to the problem of multipath selection in an overlay network. Scalability is achieved by significantly reducing the amount of state information that is exchanged (as compared to link state approaches). To compensate for the reduced amount of information available, the algorithm uses highly up-to-date information monitored locally and collected on-demand. Our simulation and Planetlab results show that our simple intersection-based algorithm, with its low overhead, not only performs as well as conventional link state approaches, but actually out-performs them. Because our intersection-based approach uses up-to-date link information, it can react more quickly to changes in available bandwidth. Moreover, because each node selects its paths based on partial information, each node selects the best paths it knows about, rather than competing with all nodes for the globally best links. The result is a more evenly distributed load across the network. The remainder of this paper is organized as follows. In the next section, we present our proposed approach. Section III shows the experiment results. In Section IV, we discuss related work. Finally, Section V concludes the paper.