240 likes | 362 Vues
This work explores the challenges of communication in ad-hoc networks characterized by frequent disconnections and network partitions. We present EMMA, a message-oriented middleware solution that adapts the Java Message Service (JMS) model for mobile environments. EMMA employs epidemic-style routing and prioritizes message delivery to enable communication among intermittently connected devices. Our evaluation, conducted through a prototype and simulations, demonstrates EMMA's effectiveness in various scenarios, addressing critical needs for robust communication in distributed applications.
E N D
Adapting Asynchronous Messaging Middlewareto Ad Hoc Networking Mirco Musolesi Cecilia Mascolo Stephen Hailes Dept. of Computer Science University College London MPAC’04
Outline • Motivation • Background • EMMA • Current research directions • A few ideas for a research roadmap
Motivation • Our research goals: • Enabling communication in ad hoc networks environments also in presence of disconnections is a hard problem • Providing support for the development of distributed applications in these environments • Not only a pure theoretical problem, but also practical • communication among disconnected communities in poor areas of the world • indoor communication • interplanetary communication
Motivation • In presence of disconnections, synchronous communication mechanisms are not sufficient • Asynchronous communication seems a suitable paradigm for mobile ad hoc network settings characterised by frequent disconnections and network partition
Challenges • Not only the classic issues of distributed environments but also: • Frequent disconnections • Limited resources • Topology changes • Temporary network partitions • Heterogeneous mobile devices • Different possible deployment scenarios (and consequently different requirements) • …
Middleware solutions for ad hoc environments • The use of middleware solutions is an effective choice since by adopting them it is possible: • to hide the complexity of the underlying networks • to deal with the increasing heterogeneity of the devices (laptops, mobile phones, PDAs, sensors, etc.) • to design a set of primitives for the adaptation and the configuration of the system
Message oriented middleware for ad hoc environments • Starting from these considerations, message oriented middleware based on asynchronous communication mechanism seems a good solution to provide a support for communication also in presence of intermittently connected clouds of hosts • Based on the same abstractions of systems for fixed networks, but many additional design issues
Existing middleware systems • Many examples of middleware for mobile computing for communication also in the case of intermittent disconnections: • Tuple based (i.e., LIME) • Sharing of complex data structures (i.e., XMIDDLE) • Message oriented middleware for mobile computing: • Academic projects: Pronto, Mobile JMS, STEAM, etc. • Industrial products: WebSphere MQ EveryPlace, Broadbeam ExpressQ, SoftWired IBus Mobile, etc. • However, they do not support pure ad hoc network environment with intermittent connectivity!
EMMA • Message oriented middleware for mobile ad hoc networks environments • Adaptation of JMS • Implementation of both point to point publish/subscribe models • Message delivery based on a pure epidemic routing protocol in case of disconnections • Based on a different levels of priority for a smart use of buffers
M M M M M M M M M M M M M M M M M M M M M M Epidemic-style routing
Point to point model • Queues positioned on a certain number of hosts • Queues advertised using the epidemic mechanism • If a host is in reach, the message is delivered immediately • If a host is not currently in reach, the epidemic style routing is used
Publish-subscribe model • Delivery mechanisms based on an epidemic style routing protocol in case of disconnections as in the point to point model • Single message with multiple recipients, instead of multiple messages with multiple recipients. • In order to delete the other possible replicas around the networks, we exploit acknowledgment messages • Adaptation of the semantics of durable and non durable subscriptions
Adaptation of the JMS Message Model • Implementation of a subset of the JMS Message Model specification with a different semantics • Definition of persistent and non persistent messages • Support for messages with different priorities • Expiration time used to free space in the buffers
Evaluation of EMMA • We have implemented a prototype of our platform using the J2ME Personal Profile • The size of the executable is about 250KB including the JMS 1.1 jar file • We have tested our prototype on HP IPaq PDAs running Linux and on a number of laptops with the same network interface interconnected with WaveLan. • We also evaluated the middleware platform using the OMNET++ discrete event simulator in order to have some simulation results considering scenario composed of a realistic number of hosts.
Simulation parameters • Number of hosts: 16/24/32 • Simulation area: 1 Km x 1 Km • Propagation model: free space • Antenna type: omni-directional • Transmission range (radius): 200 m • Mobility model: clustered random way point • Number of clouds: 4 • Cloud area: 200 m x 200 m • Node speed: 1-3 m/s (randomly generated) • Cloud speed: 1-2 m/s (randomly generated) • Number of messages sent: 100 • Number of recipients (pub/sub): 80% of the number of hosts • Max number of hops: 15 • Message buffer size: 10 to 100 • Routing table size: 20 entries • Max distance: 15 • Max allowed delay time: 4 minutes
EMMA performance Point to point model (scenario with 32 hosts): delivery ratio of persistent and non persistent messages vs buffer size. Point to point model (scenario with 32 hosts): delivery ratio of persistent and not persistent messages vs population density.
EMMA performance Publish-Subscribe model (scenario with 32 hosts: delivery ratio distribution of persistent messages with different priorities Publish-subscribe model (scenario with 32 hosts): delivery ratio distribution of persistent messages vs buffer size.
Limitations of EMMA • Epidemic algorithms are efficient in terms of delivery ratio and delay time but they are really expensive from a resource consumption point of view • Discovery process not optimised • Queues are not replicated • No adaptation • Limited set of primitives
Towards a new middleware platform • EMMA is our initial effort; we are currently working towards the definition of a new middleware • Substitution of the epidemic protocol with a more optimised and adaptive Context-Aware Routing protocol (CAR) • Definition of a new set of primitives • Support for geocasting
Context-aware middleware for ad hoc networking • Exploitation of context information for the optimisation of the delivery process in terms of resource consumption (memory, battery, etc.) • Design of prediction mechanisms based on the evaluation of the history of context information (mobility, co-location, battery level, etc.) • Replication mechanisms in accordance with the level of required reliability
Cross-layering • Current trend in mobile ad hoc networking • We think that it is possible to extend this methodology to the design of middleware and applications • Optimisation and adaptation of the system can be realised by the integration of the network level software components in the middleware platform.
A few ideas for a roadmap for ad hoc networks middleware research • Many open issues or problems not explored sufficiently in depth: • Design of adaptive and autonomic systems • Self-optimising systems • Self-healing systems • ... • Positioning and replication of data and entities • Auto-configuration • Exploitation of the properties of the underlying network • Cross-layering based design • Security
Conclusions • Cross-layering is a promising methodology for the design of middleware solutions for mobile ad hoc computing • EMMA is a first example of a platform for asynchronous messaging in ad hoc networks designed using a cross-layering approach • Necessity of new mechanisms for optimisation and context adaptation in such a dynamic environment
Questions Mirco Musolesi Dept. of Computer Science, UCL m.musolesi@cs.ucl.ac.uk http://www.cs.ucl.ac.uk/staff/m.musolesi