he phenomenal growth in cellular telephony over the past several years has demonstrated the value people place on mobile voice communications. The goal of next-generation wireless systems is to enable mobile users to access, manipulate, and distribute voice, video, and data anywhere, anytime. As the demand for mobile multimedia services grows, high-speed wireless extensions to existing broadband and Internet technologies will be required to support the seamless delivery of voice, video, and data to mobile devices with sustained high quality. New wireless services will include Internet access to interactive multimedia, video conferencing, and real-time data, as well as traditional services such as voice, e-mail, and Web access. The wireless and mobile environment presents a number of technical challenges to this vision. First, physical-layer impairments contribute toward time-varying error characteristics and time-varying channel capacity as observed by mobile devices. We describe the quality index maintained across the wireless channel as wireless quality of service (QoS). Second, user mobility can trigger rapid degradation in the quality of the delivered signal. This can lead to transient service outages resulting in handoff dropping in broadband cellular networks when a new access point is unable to accommodate a new mobile device at its current level of service. As a result, mobile applications can experience unwarranted delays, packet losses, or loss of service. We describe the quality index maintained during handoff between access points as mobile QoS. There is growing consensus that adaptive techniques [1] present a viable approach to countering time-varying QoS impairments found in wireless and mobile networking environments. However, providing systemwide (i.e., end-system and network) adaptive QoS support for mobile multimedia communications is complex to realize in practice and not well understood by the community [2] . Recently, a number of adaptive mobile systems [3] [4] [5] [6] [7] [8] have been proposed in the literature; however, few experimental systems exist today to assess the viability of the adaptive approach. We believe that there is a need to build adaptive mobile networking testbeds, study their behavior, and learn from these experiments in building more scalable adaptive mobile systems. We believe that there is a need to take a hands-on systems approach coupled with the analysis of well-founded adaptive QoS models to investigate the viability of the approach and utility of adaptive mobile networking to mobile users. To address these challenges, we have built an open [9] and active [10] programmable mobile network [11, 12] that is controlled by a software middleware toolkit called mobiware [13]. Mobiware extends earlier work by the COMET Group on programmable broadband networks [14] to the mobile and wireless domain. By open, we mean that there is a need to "open up" hardware devices (e.g., mobile devices, access points, and mobile-capable switches and routers) for implementation of new mobile signaling, transport,and adaptive QoS management algorithms. At the lowest level of programmability, mobiware abstracts hardware devices and represents them as distributed computing objects based on Common Object Request Broker Architecture (CORBA) technology [15] . These objects (e.g., an access point object) can be programmed via a set of open programmable network interfaces to support adaptive QoS assurances. By programmable, we mean that these programmable network interfaces are high-level enough to allow new adaptive services to be built using distributed object computing technology. By active, we mean that adaptive QoS algorithms can be represented as active transport objects based on Java objects and injected on the fly into mobile devices, access points, and mobile-capable network switches/routers to provide valueadded QoS support when and where needed. In this article, we present an overview of mobiware followed by a detailed discussion of the design, implementation and evaluation of the mobiware programmable mobile network layer. The source code distribution for mobiware v. 1.0 can be freely downloaded from [13]  Existing mobile systems (e.g., mobile IP, mobile ATM, and third-generation cellular systems) lack the intrinsic architectural flexibility to deal with the complexity of supporting adaptive mobile applications in wireless and mobile environments. We believe that there is a need to develop alternative network architectures from the existing ones to deal with the tremendous demands placed on underlying mobile signaling, adaptation management, and wireless transport systems in support of new mobile services (e.g., interactive multimedia and Web access). In this article we present the design, implementation, and evaluation of mobiware, a mobile middleware toolkit that enables adaptive mobile services to dynamically exploit the intrinsic scalable properties of mobile multimedia applications in response to time-varying mobile network conditions. The mobiware toolkit is software-intensive (comet.columbia.edu/mobiware) and is built on CORBA and Java distributed object technology. Based on an open programmable paradigm developed by the COMET Group, mobiware runs on mobile devices, wireless access points, and mobile-capable switch/routers providing a set of open programmable interfaces and algorithms for adaptive mobile networking.
However, the adaptation strategy in Odyssey is not suitable for Internet-based hosts and the approach is towards passive measurements rather than active Mobiware REF , which is based on CORBA and Java distributed object technology, and is a middleware toolkit that supports the adaptation of applications to varying mobile network conditions.
The Mobiware Toolkit: Programmable Support for Adaptive Mobile Networking
IEEE Personal Communications
Computer Science