Author :
Nguyen, Huan X. ; Figueiredo, Daniel R. ; Grossglauser, Matthias ; Thiran, Patrick
Abstract :
Due to the increased usage of NAT boxes and firewalls, it has become harder for applications to establish direct connections seamlessly among two end-hosts. A recently adopted proposal to mitigate this problem is to use relay nodes, end-hosts that act as intermediary points to bridge connections. Efficiently selecting a relay node is not a trivial problem, specially in a large-scale unstructured overlay system where end-hosts are heterogeneous. In such environment, heterogeneity among the relay nodes comes from the inherent differences in their capacities and from the way overlay networks are constructed. Despite this fact, good relay selection algorithms should effectively balance the aggregate load across the set of relay nodes. In this paper, we address this problem using algorithms based on the two random choices method. We first prove that the classic load-based algorithm can effectively balance the load even when relays are heterogeneous, and that its performance depends directly on relay heterogeneity. Second, we propose an utilization-based random choice algorithm to distribute load in order to balance relay utilization. Numerical evaluations through simulations illustrate the effectiveness of this algorithm, indicating that it might also yield provable performance (which we conjecture). Finally, we support our theoretical findings through simulations of various large-scale scenarios, with realistic relay heterogeneity.
Keywords :
computer networks; probability; resource allocation; trees (mathematics); balanced relay allocation; heterogeneous unstructured overlay networks; load-based algorithm; probability; relay selection algorithms; utilization-based random choice algorithm; witness tree; Application software; Bridges; Communications Society; Internet; Large-scale systems; Network address translation; Numerical simulation; Peer to peer computing; Proposals; Relays;