Opportunistic Communication Management ProtocolMany wireless network technologies are in use today. However, each technology has to make a difficult but unavoidable tradeoff between the area covered by a single access point and the capacity available to an individual user. Fortunately, current and future mobile devices are likely to come equipped with multiple wireless interfaces that can be used either singly or in parallel. By opportunistically using these multiple wireless interfaces a mobile device can mitigate the coverage-capacity tradeoff of the underlying networks, and also intelligently switch between different networks to enhance the battery life of mobile devices, and provide the most cost effective means of communication. However, actually using multiple interfaces-- requiring sessions to be maintained across interface switches, disconnections, and device shutdowns--is complex. Consequently, to be useful in practice, we believe that application writers need to be shielded from these details, while still exercising fine-grained control over network usage policies. In this paper we describe a system that allows applications running on a mobile device to seamlessly exploit multiple heterogeneous wireless networks. We have designed, implemented, and evaluated the performance of an Opportunistic Connection Management Protocol (OCMP) that allows such applications to opportunistically communicate on multiple network interfaces, switch across interfaces, aggregate their bandwidths, remain disconnected or powered off for arbitrarily long periods, package and move their state across devices, and interoperate with legacy applications and servers. The implementation is in J2ME so that it can be run on any Java-based mobile device. Extensive policy control for interface selection is also provided to applications, along with a very simple API for application developers. This paper explains the design, architecture, and implementation of OCMP, and illustrates its benefits through both analysis and field experiments. Our results are encouraging and suggest that application support for multi-network opportunistic communication is both achievable in current systems, and of significant practical value.
|
![]() |

