Servizio Comunitario di Informazione in materia di Ricerca e Sviluppo - CORDIS

CrossROAD prototype

CrossROAD represents an optimised p2p system for ad hoc networks, based on the Pastry overlay network model. Specifically it exploits a cross-layer architecture, using network routing table information in order to maintain a correspondence between the physical network topology and the logical address space, where nodes and data are mapped. In order to have a complete and updated knowledge of the network topology, a proactive routing protocol is needed, and for this reason we selected an open source implementation of OLSR (Unik-OLSR v.0.4.8) that allows the definition of libraries dynamically loaded by the routing daemon at the startup, in order to export routing information to other applications, or to define additional information to be sent on the network through the proactive flooding of routing packets. These libraries are called plugins. In our prototype a plugin, called XL-plugin, has been defined in order to encapsulate additional information in routing packets. This information is represented by services identifiers, used to associate to each node the list of services locally provided.

When OLSR receives a routing message containing this additional information, it passes the contents to XL-plugin that provides to store services identifiers of other nodes in its local data structures. For this reason XL-plugin maintains two local data structures: LocalService Table and GlobalService Table. Specifically, the LocalService Table maintains the list of services provided by the local node, while the GlobalService Table maintains, for each service present in the network and currently running on CrossROAD, the list of nodes providing it. All entries are timed out in order to preserve the consistency of the service information.

In this way, when a node starts running an application on top of CrossROAD, it declares its service identifier and CrossROAD directly establishes a local connection to the plugin in order to receive the list of nodes taking part to that specific overlay. Then, when the local application sends a message with a specified key value, CrossROAD first checks the consistency of its internal data structures with the list provided by the plugin, then it determines the best destination for that key and directly sends the message to it. More details on software architecture of CrossROAD and XL-plugin can be found in deliverable D13.

Reported by

Institute for Informatics and Telematics (IIT)
Via G. Moruzzi 1
56124 PISA
See on map