Supporting Mobile Computing in Object-Oriented Middleware Architectures
TCD-CS-2005-55.pdf (PDF) 1.593Mb
The distributed object paradigm is now widely accepted as a suitable abstraction for building distributed applications. Numerous system architectures based on the paradigm have been proposed, and software frameworks implementing such architectures have been widely adopted for the development and operation of distributed applications. These frameworks constitute middleware: services and protocols that reside 'in the middle,' in a layer above the operating system and networking software and below domain-specific applications. Although object-oriented middleware may incur a considerable runtime overhead, it can significantly simplify the development of applications for distributed, heterogenous environments.
In parallel, advances in technology are now making it possible to embed computational power and wireless communication capabilities in an increasing range of devices, including mobile devices. Such devices range from mobile telephones, personal digital assistants and laptop computers to the computers currently being embedded in cars, stereos, refrigerators and other everyday appliances. The mobile environment formed by such devices communicating with each other and with fixed computational infrastructure is both highly distributed and very heterogenous, and therefore a natural candidate for application support via object-oriented middleware.
Previous research into middleware providing mobility support has taken one of two approaches: the development of new middleware architectures or the adaptation of existing middleware architectures for use in mobile environments. A significant body of work exists in the former category, and the challenges faced by applications operating in mobile environments are therefore generally well understood. Different types of mobile middleware have been proposed and a number of existing mechanisms commonly used with distributed object architectures been adapted for use in mobile environments. Examples are events, tuple spaces and remote procedure call (RPC). The other approach has been to adapt existing distributed object architectures for use in mobile environments. Research in this category has generally focused on supporting a single distributed object architecture rather than finding generic solutions that are applicable across architectures. While such efforts have addressed problems of heterogeneity and limited resources in terms of network bandwidth and processing power and to some extent also address migration, other problems such as short-term loss of connectivity, long-term disconnection have typically been left either to the transport or application layer. Although this may be suitable for some applications, transport-layer solutions tend to limit application flexibility (e.g., by hiding state related to mobility and connectivity) while application-layer solutions increase application complexity. Consequently, mobility support in current distributed object architectures is partial and architecture-specific.
This thesis also addresses the adaptation of object-oriented middleware for use in mobile environments. It is based on the assumption that current middleware architectures for distributed object computing are basically sound but only solve a portion of the problems caused by the mobile environment, and that the solutions tend to be architecture-specific.
The main contribution of the thesis is the definition of an architecture that allows mobility support to be added to any object-oriented middleware framework that supports a set of minimal requirements. The architecture itself is captured in a set of modular, reusable components that can be used to instantiate the architecture for different object-oriented middleware frameworks. Such modified frameworks have the attractive feature that mobility support remains completely transparent for those portions of distributed applications that do not reside on mobile hardware, while portions that do reside on mobile hardware can be aware or unaware of mobility as required for the application in question. Also, modified frameworks retain interoperability with unmodified frameworks implementing the same architecture.
The thesis describes the principles on which the architecture is based and presents in detail an instantiation of the architecture for one middleware framework. An instantiation of the architecture for one other middleware framework is outlined to show that the architecture is indeed generally applicable and does provide the desired level of transparency. Because the architecture allows support for mobility to be added to existing object-oriented middleware frameworks in a general and transparent manner, the architecture serves as a demonstration of what can be done in terms of mobility support within the confinements of existing models for distributed object computing.
Author: HAAHR, MADS
Availability:Full text available