packet is then routed to a base station either directly, if one is in radio range or ... bear this notice and the full citation on the first page. To copy otherwise, to ... In order to maximize its life-span, the node should be put to sleep as much as ... the distance of the sensor point i to (x, y) and Ti is the temperature at that sensor point.
Intelligent Agents for Wireless Sensor Networks Richard Tynan, David Marsh, Donal O’Kane and G.M.P. O’Hare Adaptive Information Cluster, Smart Media Institute Department of Computer Science, University College Dublin Belfield, Dublin 4, Ireland E-mail: {richard.tynan, david.marsh, donal.okane, gregory.ohare}@ucd.ie ABSTRACT Interpolation is a technique used to estimate the value of a function at a given location, assuming that the values of the function are known for surrounding locations. A Wireless Sensor Network (WSN) is a spatially distributed set of sensor platforms usually with a range of sensory modalities e.g. temperature or light intensity. Interpolation can be used to intelligently activate nodes of a WSN for power conservation. In this paper we argue that this can form the basis for a distributed agent-based power management scheme and we propose an algorithm for achieving this. As a corollary to this approach we will also demonstrate the feasibility of using distributed, intelligent agents on computationally challenged devices such as the sensor nodes.
1.
Figure 1: Two Berkeley Motes, the Mica2 (top left) and the Mica2Dot (bottom right)
INTRODUCTION
A Wireless Sensor Network (WSN) is a spatially distributed set of sensor platforms usually with a range of sensory modalities e.g. temperature or light intensity. The individual platforms are typified by low processing and memory capabilities along with limited power resources. They usually operate by sampling their senses and constructing a packet containing these sampled values. This packet is then routed to a base station either directly, if one is in radio range or indirectly through intermediate nodes. The base station can process this information and send appropriate commands back down to a given node requesting it to increase its sampling frequency for example. A typical WSN node is shown in figure 1 [1]. Interpolation is a mathematical technique for estimating the value of a function between known values of that function. This is not to be confused with extrapolation, which attempts to guess the value of the function outside the known points. In the context of WSNs, temporal extrapolation could be used for example to estimate sensory data before the network went online or used to predict future values. Many interpolation models exist for differing domains [4, 2]. These can be of varying complexity and accuracy. Some of the most common are Kriging and Weighted Average techniques. In this paper we will be focussing on a Weighted Average approach
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. AAMAS’05, July 25-29, 2005, Utrecht, Netherlands. Copyright 2005 ACM 1-59593-094-9/05/0007 ...$5.00.
1179
for our temperature interpolation. We propose to use this interpolation to intelligently activate nodes in the network.
2.
WHY INTELLIGENT AGENTS?
The more active a given node is, the shorter its lifetime will be. In order to maximize its life-span, the node should be put to sleep as much as possible. In sleep mode no radio activity can occur, which is the single biggest drain on the power of a node. Unfortunately this means we cannot receive sensory data from a node that is asleep. The opportunistic activation of the nodes for power conservation could initially be achieved by performing the interpolation at the base-station of the WSN, which is where each node could periodically relay its sensed data. There are a number of reasons why this approach is unsuitable. First is the delay between the time the values are sensed and the time the base station receives them. Secondly the commands issued from the base station to outlying nodes could potentially take an unacceptable amount of time to reach their target. A third problem is the power consumption of the multiple hops when relaying the sensed values back to the base station for processing. From this it is evident that WSNs could benefit a great deal from the distributed, intelligent decision making process offered by agents. When we discuss intelligent agents in the context of WSNs we currently refer to the weak notion of agency [5]. It is unclear, however, whether it is in fact possible to accommodate an intentional BDI style agent on a device as computationally challenged as a WSN node.
3.
INTELLIGENT POWER MANAGEMENT
In order to decide whether a given node should be put to sleep we adopt the following criteria: a node is redundant if the remaining
nodes of the network can interpolate the temperature at its location to a specified accuracy. Its redundancy is due to the networks ability to operate without it. Should a client of the network require the sensor value for the node, it can be interpolated and the application is assured that the interpolated value will be within the required threshold. We use the following equation for the interpolated values: PN di Ti T (x, y) = Pi=1 N i=1 di
(1)
where T(x, y) is the interpolated temperature at point (x, y), di is the distance of the sensor point i to (x, y) and Ti is the temperature at that sensor point. This is called a Weighted Average algorithm, details of which can be found in [4, 3]. Simply put, this function implies that the further away a sensor is from the interpolated location the less impact it will have on the interpolated value. To take advantage of the combined processing power of the entire network of sensors we need to distribute the computational burden of this calculation to each device as much as possible. Other advantages to the distributed agent-based approach have been detailed previously. We propose DARWIN: a Distributed, Autonomic, Reconfigurable WIreless Network as an instrument to achieving this. The steps in our algorithm are similar to that used in the SMA implementation [3] for interpolation, however we do not build a tree for the nodes. It is also similar to the Contract Net Protocol specified by FIPA. The steps are as follows: 1. An agent is appointed to be the coordinator of the algorithm according to some capability function. This is responsible for the aggregation of the calculations performed by the other agents and the decision on whether a node should be deactivated. 2. The coordinator sends a request to all other agents (or perhaps a subset of the agents) to calculate the two components of the interpolation function, namely Ti and di in (1) at one of the agents locations. 3. Upon receipt of the request, and using the agents own location, each agent calculates the two components and informs the coordinator of its result. 4. The coordinator then calculates the summations (including its own temperature and distance to the required point) to work out the interpolated temperature. 5. The coordinator requests the temperature from the appropriate agent. If the difference between the two is within the given error tolerance, this node is requested to enter hibernation. This is repeated for all the agents in the network and periodically each agent will wake up to verify that it is still redundant. This mechanism of course, is not bound to temperature interpolation. It can be used for any domain where the sensed values decay the further away a point is from the maximum value. Replacing T with say the concentration of a gaseous acid our interpolation would still hold. Maintaining a concentrated plume of this acid would result in a high concentration at the point of introduction, which would reduce the further away a point was from the center. Additionally it might not prove sufficient to consider interpolation error as the sole determinant of a nodes suitability for hibernation. Factors such as remaining battery power or other duties to be
1180
performed on the node may need to be factored into the deliberation. In such a case the agent may or may not choose to honor the request from the coordinator to sleep or wake up and a negotiation process must ensue between the two agents to decide on the most appropriate action. Within our interpolation, the capability function used in step 1 was based upon the remaining battery power of the nodes. The coordinator was chosen by virtue of the amount of battery power remaining on the node it resides on. Obviously a range of options exist for coordinator selection. An alternative selection strategy might use the processing power of the node or the number of tasks currently active/pending on the node. On a global scale, the coordinator might be nominated according to its proximity to the candidate agents location. As a further power saving technique only a subset of the agents, in the coordinators locality could be chosen to perform the interpolation. Its locality then is defined either based on a minimum number of nodes or minimum distance from its location [4]. By dividing the network up into subnets, each one would be responsible for interpolating points within its catchment area. Should the entire network be required for the interpolation of an agents location, the base station could flood the network with the location to interpolate, each agent performs its calculation as before but then relays its result to the base station where the aggregation (and subsequent decision making) could occur.
4.
CONCLUSIONS AND FUTURE WORK
In this paper we detailed some of the potential benefits that could be achieved from using intelligent agents on a Wireless Sensor Network. We also presented DARWIN, an agent-based power management scheme for WSNs and described how this could be used by agents residing on the nodes to intelligently manage the power consumed by the network. This autonomic behavior will underpin large deployments of WSNs due to the inherent scale of such networks. In the future we plan to examine the precise energy savings afforded from using the distributed approach verses the centralized base-station approach. We would also like to consider the various other factors which could potentially be involved in the decision to hibernate a node and an appropriate negotiating process for deciding which factor to use.
5.
ACKNOWLEDGEMENTS
This material is based on works supported by the Science Foundation Ireland under Grant No. 03/IN.3/I361. The authors would also like to acknowledge the support of The Irish Research Council for Science, Engineering and Technology.
6.
REFERENCES
[1] J. Hill. System Architecture for Wireless Sensor Networks. PhD thesis, UC Berkeley, 2003. [2] E. Meijering. A Chronology of Interpolation: From Ancient Astronomy to Modern Signal and Image Processing. Proceedings of the IEEE, 90(3):319–342, March 2002. [3] M. Sharifzadeh and C. Shahabi. Supporting Spatial Aggregation in Sensor Network Databases. In 12th Annual ACM International Workshop on Geographic Information Systems, pages 166–175, 2004. [4] D. Shepard. A two-dimensional interpolation function for irregularly-spaced data. 23rd ACM National Conference, 1968. [5] M. Wooldridge and N. Jennings. Intelligent agents: Theory and practic. Knowledge Engineering Review, 1995.