Moving routing protocols to the user space in MANET middleware ?
Mobile Ad Hoc Network (MANET) middleware must be aware of the underlying multi-hop topology to self-adapt and to improve its communication efficiency. For this reason, many approaches rely on specific cross-layer communications to interact with the network protocols in the kernel space. But these solutions break the strict layering of the network stack and hinder the portability of middleware and applications. The main argument of this paper is to move the routing protocols to the user space to simplify the development, testing, deployment and portability of middleware and applications. If routing is just another software component in the user space, cross-layering can be elegantly solved using advanced software engineering techniques like component frameworks and explicit APIs. As a consequence, a slight performance cost must be paid to achieve portability and easy deployment. But we will demonstrate that the performance obtained by a user-space routing protocol is satisfactory for a wide range of applications. We have implemented the unicast MANET OLSR protocol in Java (jOLSR) and, on top of it, we have created a novel overlay multicast protocol (OMOLSR). We have then integrated both routing protocols (jOLSR, OMOLSR) as software components in a well-known group communication toolkit (JGroups). Modifying the JGroups toolkit, we have devised a topology-aware group communication middleware for MANETs (MChannel). In our MChannel middleware, group membership is obtained directly from OMOLSR multicast trees and failure detection is obtained from jOLSR active probing. We have validated our approach in several real testbeds to demonstrate the feasibility and efficiency of our middleware.
routing protocols middleware mobile ad hoc networks group communication