There is an increasing demand for middleware for nomadic computing applications. Owing to the inherent characteristics of such environments, these platforms have to address two fundamental issues: (i) device disconnections and the limitations of wireless networks may force users to experience short periods of service unavailability; and (ii) the complexity to design and develop next-generation mobile computing applications. This paper proposes the Esperanto Broker (EB), a communication platform that addresses mobility issues via an integrated approach, i.e. at data-link, network, and middleware levels. Decoupling interactions are achieved via a tuple-space underlying infrastructure. To support developers with advanced services, the EB enhances the distributed objects computing model providing the abstraction for the communication paradigms standardized by the W3C. Esperanto applications can be modeled as sets of objects that are distributed over mobile devices, which communicate via remote method invocations (RMIs). RMIs natively implement pull and push models, in both one-to-one and one-to-many multiplicity. The paper focuses on the EB design issues, essential aspects of the implementation, and performance evaluations of the implemented prototype.
INTRODUCTIONRecent advantages achieved in wireless and in low-power consumer electronics have lead to new computing paradigms, generally described as mobile computing. Nomadic computing (NC) is a form of mobile computing where the communication may take place during users' movements between different service locations such as their office, home, hotel, airport, car, and so on [1][2][3]. Nowadays, the interest in middleware for NC environments is still growing as such infrastructures are becoming increasingly widespread: suffice to say, telecom operators are competing to quickly interconnect different wireless networks (such as GSM, UMTS, and Wi-Fi) to make the Wireless Internet the cuttingedge market where new services can be provided at a huge profit.Focusing on distributed communication, NC middleware must deal with new challenging issues that are mainly the result of the inherent characteristics of wireless networks and mobile devices [4,5]. Weak connectivity or battery power constraints may lead users to experience short periods of service unavailability. Moreover, users may initiate a communication just before traveling from office to home. Even if the network connection is available both outdoor and indoor (e.g. via GSM and Wi-Fi) switching from one technology to another may lead to a disconnection. Therefore, the temporary unavailability of counterparts is the rule rather than the exception. If traditional communication mechanisms required both counterparts to be available during the interaction, mobile computing requires mechanisms to let users communicate in a loosely coupled fashion.From the software development perspective, the development of next-generation mobile computing applications needs to rely on high-level abstractions and advanced services. Mobile ...