This research has been supported by the National Science Foundation under award numbers 0331707 and 0331690,
by the US Office of Naval Research under MURI research contract N00014-02-1-0715,
and by the Generalitat de Catalunya, the Patronat of Escola Politecnica Superior at the Universitat de Girona, and the Balsells Program at UCI through a Girona fellowship.
Keywords: Mobile Agents, Wireless Sensor Networks.
Abstract:
Fast, reliable, and flexible, Multi Mobile Agent (MMA) systems provide quick
response, reliability and flexibility for tomorrow's wireless sensor network
(WSN) applications. Unlike regular programs, mobile agents are programs that
can execute special migration instructions that move both code and state
from one node to another, thereby allowing them to control their execution
context. By having multiple mobile agents collect the sensed information in
parallel, larger regions of the WSN can be covered with less time. In
addition, mobile agents provide a higher degree of reliability since they
can be programmed to intelligently adapt to unexpected situations like
changes in the network topology. Moreover, they are flexible in that agents
can be dynamically injected into a pre-existing network, meaning the network
can be reprogrammed and multiple programs can run simultaneously.
Traditional mobile agent middleware is not suited for deploying MMAs in a WSN because they uniquely consist of thousands of deeply embedded resource-constrained devices that utilize weak unreliable low-bandwidth wireless ad hoc links. Unlike other networks where resources are plentiful, WSNs are extremely resource constrained. Thus, the way in which MMAs are deployed for collecting sensor data must be carefully planned. We propose a two-step algorithm for achieving the collection of the sensed information in an energy-efficient way and with real-time guarantees. First, a genetic algorithm plans the number of agents needed and their parallel routes. Second, each agent dynamically adapts its route responding to network failures and topology changes.
We implemented the genetic algorithm and mobile agents using Java in combination with a middleware for MICA2 and MICAz motes called Agilla. Agilla enables remote users to inject mobile agents into the network via Java RMI. It supports up to four agents on each node, and utilizes local Linda-like tuple spaces and acquaintance lists for inter-agent coordination. Our Java application implements the genetic algorithm and decides the number of agents needed to efficiently visit every node and the paths they must follow to achieve real-time deadlines. It utilizes Java RMI to inject the agents into the WSN. Through experiments on a 5x5 node WSN, we have determined that our genetic algorithm achieves its stated goals.
We are currently working on expanding our scenario to include larger networks and multiple mobile base stations. We are also running simulations and experiments, the conclusions of which are to be retrospectively inputted on our on-going formal analysis of the problem and its optimal solution.
Our work promises to gain critical insight for enabling fast, reliable, flexible and energy efficient applications that provide real-time guarantees for the WSNs of tomorrow.
Documentation:
Presentations: