A context-sensitive middleware for dynamic integration of mobile devices with network infrastructures

Stephen S. Yau, Fariaz Karim
2004 Journal of Parallel and Distributed Computing  
Network infrastructures (NI), such as the Internet, grid, smart spaces, and enterprise computing environments usually consists of computing nodes that are stationary, provide the backbone for environment sensing and high performance computing and communication. NI, in addition, may have various types of application software for performing resource-intensive computation. On the other hand, recent advances in the embedded systems and wireless communication technologies have increased the
more » ... ty of using mobile devices for various practical applications. Mobile devices mostly execute application software that improves the personal productivity of the user. However, despite the rapid technology advances, mobile devices are expected to be always resource poor in comparison with the computing resources in the NIs. On the other hand, the computing resources in an NI cannot readily add the flexibility to individual users due to their fixed location and size. It is therefore desirable to combine the respective strengths of mobile devices and network infrastructures (NI) whenever possible. Dynamic integration is the process using which a mobile device can detect, communicate with, and use the required resources in nearby NIs in an application-transparent way. The benefit of dynamic integration is that the applications in both mobile device and NI can interoperate with each other as if a mobile device itself is an integral part of the NI or vice versa. In this paper, a context-sensitive middleware, called Reconfigurable Context-Sensitive Middleware (RCSM), is presented for addressing this dynamic integration problem. A novel feature of RCSM is that its dynamic integration mechanism is context-sensitive, and as such the integration between the application software in a mobile device and an NI can be restricted to specific contexts, such as a particular location or a particular time. RCSM, furthermore, provides transparency over the dynamic resource discovery and networking aspects so that application-level cohesion can be easily achieved. The integration process does not force any development-time restrictions on the application software in an NI. Our experimental results, based on the implementation of RCSM in integrated ad hoc and infrastructure-based IEEE 802.11 test bed environment, indicate that the integration process is lightweight and results in reasonably high performance in PDA-like devices and desktop PCs. ObjectBase Method invocation CA-IDL Compiler Application software in a computing node R-ORB Context-sensitive wireless communication Delegation Wired network 13 Note that Step 1) can be simplified if the developer does not need to restrict the dynamic integration in a specific context. Detailed information on using CA-IDL's specification method and the object skeleton generation was given in [18] . RCSM's Context-Sensitive Dynamic Integration Protocol: RKF Overview: Before presenting our integration process, we need to provide an overview of RCSM's RKF protocol. RKF is the principal component used in the integration process. It executes inside the R-ORB, and as such it functions as a main communication mechanism between a mobile device and an RCSM-gateway in an NI. In fact, we use the same protocol to facilitate context-sensitive communication between a pair of mobile devices as well. This uniformity enables the context-sensitive objects in mobile devices to seamlessly communicate with an application program irrespective of its execution platform, i.e. a computing node in an NI or a mobile device. Below, we describe the features of RKF that facilitate the DI process: C1) Interface and Method Pair (IM_PAIR) as Communication Endpoints: RKF sees an application program as one or more context-sensitive objects. Furthermore, it sees an object interface and each method of this object as a unique communication endpoint. We call such an endpoint an IM_PAIR. As such, an object may have many communication end points. We have chosen this because it enables an object to associate different contexts with its different methods, thereby adding more flexibility. Since an adapter inside an RCSM-gateway has a well-defined interface, it fits well to view an adapter as a collection of IM_PAIRs. C2) Incoming and Outgoing IM_PAIRs : Each IM_PAIR is considered as either incoming or outgoing. If a pair is incoming, it means that this particular IM_PAIR is not invoked until the data from a compatible and outgoing IM_PAIR is received first. From client-server point of view, the outgoing IM_PAIRs are similar to clients that initiate data communication, and the incoming IM_PAIRs are similar to servers that accept data communications. However, in RKF the incoming IM_PAIRs are not required to send a reply back to its incoming IM_PAIR. This allows for both unidirectional and bi-directional messages between a pair of mobile devices and a computing node in an NI. Since only one end point can initiate data communication, a valid communication through RCSM requires that when one communication end point is incoming, the other must be outgoing. C3) Transparent Inter-Object Data Communication: RKF supports both client-server and context-sensitive interaction semantics [18] among distributed objects. For its context-sensitive communication capabilities, we have
doi:10.1016/j.jpdc.2003.10.007 fatcat:xulecxbpjzaorifnen3e4q6zxm