Date Added: May 2009
Finding the right abstractions to design middleware for the provision of dependable distributed applications on mobile devices is still a big challenge. New technical and scientific challenges emerge due to the mobility of users and of their devices, or due to the massive scale of uncontrolled devices that constantly connect/disconnect, and fail. To handle those systems' dynamics, cooperation-based approaches 'a la peer-to-peer seem attractive. Since Java provides no specific support for ad hoc networking, a specific package for handling multiple WiFi interfaces was implemented. This package supports both UDP broadcasting and TCP unicasting. It handles indexing, chopping and unchoping of arbitrary size messages and deals with typed messages. For many applications for mobile nodes, and especially for cooperation-based applications, a node needs to interact with its neighbors. Furthermore, the quality of service that may be provided by a given component can vary according to the vicinity, e.g. the quantity of neighbors, their density, etc. A middleware architecture has been presented for dependable ubiquitous mobile applications that provides new building blocks based on cooperative approaches. Those building blocks will provide useful abstractions in the context of future emerging applications in the future mobiquitous society. A critical data backup service, a trust and cooperation oracle, a proximity map, all this provisions have been looked up in the details.