Active-DTN is a DTN where bundles have an active routing behaviour. Instead of being data wrappers only, active bundles can carry software code for routing purposes. That is, each bundle can carry its own routing algorithm. And thus, Active-DTN allow at the same time application specific routing algorithms and diversity among them as several applications can run at the same time using different routing algorithms for their bundles. Another advantage is that when a new application intends to use the network, no network reconfiguration or deployment is required in order to incorporate its routing needs, as those can be included in their bundles.
In order to be compatible with existing DTN implementations, Active-DTN satisfies BP and defines a Metadata Extension Block (MEB) to specify how software code must be carried by bundles. The following Figure is a graphical representation of Active-DTN as DTN extension including related work.
Notice that whenever an active bundle arrives to a non Active-DTN node, the routing code included in the active bundle will be ignored, however, the bundle will be forwarded anyway using the node's default forwarding algorithm.
The following figure represents Mobile-code Metadata Extension Block (MMEB) that is the new Metadata Extension Block (MEB) created with the necessary fields for the inclusion of software code in a bundle as a MEB.
A data structure is defined in order to allow data to be shared among Active-DTN nodes and, thus, increase the number of opportunities for the definition of new routing algorithms to be carried by bundles and run in nodes. We call this data structure Routing Information Tree (RIT). As shown in the following Figure, a RIT is a tree structure with data accessible through paths from the root.
The RIT illustrated above contains local data form the node, for instance its GPS position, and other data set from the routing algorithms included in bundles by their applications. In this case, there is data from a triageApp, messagingApp and envSensingApp. They correspond to three apps deployed in a disaster scenario that we describe in the following.
Active-DTN in action
A DTN network can be deployed in disaster scenarios using mobile devices carried by the members of the rescue team and sensor devices deployed at the Emergency Coordination Centre (ECC) and along the disaster area as illustrated above. Mobile and sensor devices are the nodes that form the intermittently-connected network that use opportunistic contacts among nodes to allow bundles to jump node to node from source towards the destination.
The image bellow represents a disaster scenario with victims spread around and the rescue team performing the triage (classifying victims by health danger level). The ECC is already deployed as well as some portable devices. The rescue team members are carrying mobile devices. Outer circles around each of them represent wireless ranges. There are three groups of team members: medical (yellow), firemen (red) and policemen (blue).
Active-DTN provides a better solution to emergency scenarios than DTN. It engages all kind of rescue team members to participate in the network with application diversity. We envisage many useful applications ranging from internal messaging to environmental sensing applications. The coexistence of all these applications using the same network decreases the global deploying cost and time. Furthermore, it increases the frequency of node contacts as more users would be willing to contribute to establish the network using their devices.
In emergency scenarios there is a need for several applications to coexist, for example triage applications, internal messaging, and environmental sensing. However, there is no single routing algorithm suitable for all kind of applications. The most suitable routing algorithm for triage application is based on the fact that, for security reasons, MED members must notify to the emergency coordinator the expected time to return (TTR) to the ECC. The neighbour nodes with soonest TTR are then selected by the forwarding algorithm as the next hop. Algorithm 4 represents this forwarding algorithm.
In contrast to the triage application, a probabilistic algorithm is more suitable for internal messaging in order to take advantage of the fact that some rescue team members meet more often than others. Similarly, this happens with environmental sensing applications. Those applications use epidemic algorithms in order to rapidly spread alarms when danger is detected. In Active-DTN, many forwarding algorithms can coexist being very rapid to deploy as a set of MMEB. And similarly happens for other kind of routing algorithms as for instance bundle lifetime control and priority algorithms.
The first Active-DTN implementation is denoted by aDTN and it is available at the aDTN section of this site. A complete description of the implementation is provided as well as a link to the project repository with the whole source code.