jwebdust: A Java-based Generic Application Environment for Wireless Sensor Networks

Similar documents
Wireless Sensor Networks --- Concepts and Challenges

Wireless Sensor Networks --- Concepts and Challenges

Outline. CS5984 Mobile Computing. Dr. Ayman Abdel-Hamid, CS5984. Wireless Sensor Networks 1/2. Wireless Sensor Networks 2/2

Lecture 8 Wireless Sensor Networks: Overview

Analysis of Cluster-Based Energy-Dynamic Routing Protocols in WSN

WSN Routing Protocols

Reliable Time Synchronization Protocol for Wireless Sensor Networks

CHAPTER 2 WIRELESS SENSOR NETWORKS AND NEED OF TOPOLOGY CONTROL

References. The vision of ambient intelligence. The missing component...

Web Interface for Habitat Monitoring using Wireless Sensor Network

Introduction to Mobile Ad hoc Networks (MANETs)

Comparison of TDMA based Routing Protocols for Wireless Sensor Networks-A Survey

SUMMERY, CONCLUSIONS AND FUTURE WORK

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

Mobile Agent Driven Time Synchronized Energy Efficient WSN

CROSS LAYER PROTOCOL (APTEEN) USING WSN FOR REAL TIME APPLICATION

Routing protocols in WSN

Course Algorithmic Foundations of Sensor Networks Lecture 1: Introduction / Data propagation algorithms I

Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS Institute of Information Technology. Mobile Communication

ROUTING ALGORITHMS Part 1: Data centric and hierarchical protocols

Time Synchronization in Wireless Sensor Networks: CCTS

MultiHop Routing for Delay Minimization in WSN

AN EFFICIENT MAC PROTOCOL FOR SUPPORTING QOS IN WIRELESS SENSOR NETWORKS

An Efficient Data-Centric Routing Approach for Wireless Sensor Networks using Edrina

Wireless Embedded Systems ( x) Ad hoc and Sensor Networks

International Journal of Scientific & Engineering Research Volume 8, Issue 5, May ISSN

WSN NETWORK ARCHITECTURES AND PROTOCOL STACK

Scalable Data Collection Protocols for Wireless Sensor Networks with Multiple Mobile Sinks

ENERGY SAVING IN WIRELESS SENSOR NETWORK WITH SPIN PROTOCOL

Mobile Wireless Sensor Network enables convergence of ubiquitous sensor services

Self-Organization in Autonomous Sensor/Actuator Networks [SelfOrg]

Research Article MFT-MAC: A Duty-Cycle MAC Protocol Using Multiframe Transmission for Wireless Sensor Networks

Study on Wireless Sensor Networks Challenges and Routing Protocols

ALL ABOUT DATA AGGREGATION IN WIRELESS SENSOR NETWORKS

Part I. Wireless Communication

Reservation Packet Medium Access Control for Wireless Sensor Networks

State-Based Synchronization Protocol in Sensor Networks

Wireless Sensor Networks: Clustering, Routing, Localization, Time Synchronization

CSC8223 Wireless Sensor Networks. Chapter 3 Network Architecture

Z-SEP: Zonal-Stable Election Protocol for Wireless Sensor Networks

Fault Tolerant, Energy Saving Method for Reliable Information Propagation in Sensor Network

TinyDB and TASK. Sensor Network in a Box SMARTER SENSORS IN SILICON 1

The Flooding Time Synchronization Protocol

3. Evaluation of Selected Tree and Mesh based Routing Protocols

The Emergence of Networking Abstractions and Techniques in TinyOS

A Mobile-Sink Based Distributed Energy-Efficient Clustering Algorithm for WSNs

Ad hoc and Sensor Networks Chapter 3: Network architecture

A METHOD FOR DETECTING FALSE POSITIVE AND FALSE NEGATIVE ATTACKS USING SIMULATION MODELS IN STATISTICAL EN- ROUTE FILTERING BASED WSNS

Fig. 2: Architecture of sensor node

Sink Mobility Protocols for Data Collection in Wireless Sensor Networks

Event Driven Routing Protocols For Wireless Sensor Networks

Evaluation of Communication Overheads in Wireless Sensor Networks

An Energy-Efficient Hierarchical Routing for Wireless Sensor Networks

Performance Analysis of MANET Routing Protocols OLSR and AODV

Energy Efficient Routing Using Sleep Scheduling and Clustering Approach for Wireless Sensor Network

Ad hoc and Sensor Networks Chapter 3: Network architecture

Ad hoc and Sensor Networks Chapter 3: Network architecture

TAG: A TINY AGGREGATION SERVICE FOR AD-HOC SENSOR NETWORKS

European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105

Challenges, Technologies and Components of Wireless Sensor Networks

Sabareesan M, Srinivasan S*,John Deva Prasanna D S

CHAPTER 5 PROPAGATION DELAY

Fault-tolerant and efficient data propagation in wireless sensor networks using local, additional network information

TRANSMISSION OF MULTIPLE EMERGENCY INFORMATION WITH THE COORDINATION OF NEIGHBORING ROUTERS IN WIRELESS SENSOR NETWORKS

Wireless Sensor Networks (WSN)

Performance Analysis of IEEE based Sensor Networks for Large Scale Tree Topology

Virtual Sensors: Abstracting Data from Physical Sensors

TOSSIM simulation of wireless sensor network serving as hardware platform for Hopfield neural net configured for max independent set

A Study of Open Middleware for Wireless Sensor Networks

Ad Hoc Networks: Introduction

Outline. Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler. Motivation. Applications. Mate.

A Review on Wireless Sensor Networks

An Energy Efficient Cluster based Load Balance Routing for Wireless Sensor Network

ROUTING ALGORITHMS Part 2: Data centric and hierarchical protocols

Finding Optimal Tour Length of Mobile Agent in Wireless Sensor Network

Research Directions in Low-Power Wireless Networks

Energy and Memory Efficient Clone Detection in Wireless Sensor Networks

An Energy Consumption Analytic Model for A Wireless Sensor MAC Protocol

Wireless Sensor Networks

Mesh Networking Principles

Data Management in Sensor Networks

A Plexos International Network Operating Technology May 2006

Rumor Routing Algorithm

International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: Issue 2, Volume 2 (February 2015)

Agent based System Architecture for Wireless Sensor Networks

Wireless Sensor Architecture GENERAL PRINCIPLES AND ARCHITECTURES FOR PUTTING SENSOR NODES TOGETHER TO

Maximizing the Lifetime of Clustered Wireless Sensor Network VIA Cooperative Communication

System Software for Sensor Networks

A Comparative and Performance Study of On Demand Multicast Routing Protocols for Ad Hoc Networks

Part I: Introduction to Wireless Sensor Networks. Xenofon Fafoutis

Time Synchronization in Wireless Networks

CLUSTER BASED ROUTING PROTOCOL FOR WIRELESS SENSOR NETWORKS

Low Energy Adaptive Clustering Hierarchy based routing Protocols Comparison for Wireless Sensor Networks

Implementation of an Adaptive MAC Protocol in WSN using Network Simulator-2

ViTAMin: A Virtual Backbone Tree Algorithm for Minimal Energy Consumption in Wireless Sensor Network Routing

Overview of Sensor Network Routing Protocols. WeeSan Lee 11/1/04

Remote Health Monitoring for an Embedded System

Impact of Black Hole and Sink Hole Attacks on Routing Protocols for WSN

Impact of IEEE MAC Packet Size on Performance of Wireless Sensor Networks

Energy-Efficient Self-Organization for Wireless Sensor Networks

Transcription:

jwebdust: A Java-based Generic Application Environment for Wireless Sensor Networks Ioannis Chatzigiannakis 1, Georgios Mylonas 2, and Sotiris Nikoletseas 1 1 Research Academic Computer Technology Institute, P.O. Box 1122, 26110 Patras, Greece, {ichatz,nikole}@cti.gr 2 Dept of Computer Engineering and Informatics, University of Patras, 26500, Patras, Greece, mylonasg@ceid.upatras.gr Abstract. Wireless sensor networks can be very useful in applications that require the detection of crucial events, in physical environments subjected to critical conditions, and the propagation of data reporting their realization to a control center. In this paper we propose jwebdust, a generic and modular application environment for developing and managing applications that are based on wireless sensor networks. Our software architecture provides a range of services that allow to create customized applications with minimum implementation effort that are easy to administrate. We move beyond the networking-centric view of sensor network research and focus on how the end user (administrator, control center supervisor, etc.) will visualize and interact with the system. We here present its open architecture, the most important design decisions, and discuss its distinct features and functionalities. jwebdust allows heterogeneous components to interoperate (real world sensor networks will rarely be homogeneous) and allows the integrated management and control of multiple such networks by also defining web-based mechanisms to visualize the network state, the results of queries, and a means to inject queries in the network. The architecture also illustrates how existing protocols for various services can interoperate in a bigger framework - such as the tree construction, query routing, etc. 1 Introduction Wireless sensor networks are very large collections of small in size, low-power, lowcost sensor devices that collect and disseminate quite detailed information about the physical environment. Large numbers of sensor devices can be deployed in areas of interest (such as inaccessible terrains or disaster places) and use self-organization and collaborative methods to form a sensor network. The flexibility, fault tolerance, high sensing fidelity, low-cost and rapid deployment characteristics of sensor networks help to create many new and exciting application areas for remote sensing. This wide range of applications is based on the use of various sensor types (i.e. thermal, visual, seismic, acoustic, radar, magnetic, etc.) in order to monitor a wide variety of This work has been partially supported by the IST / FET Programme of the European Union under contract numbers IST-2004-001907 (DELIS) and the Programme PYTHAGORAS under the European Social Fund (ESF) and Operational Program for Educational and Vocational Training II (EPEAEK II).

2 conditions (e.g. temperature, object presence and movement, humidity, pressure, noise levels etc.) and report them to a (fixed or mobile) control center. Thus, sensor networks can be used for important applications, including (a) military (like forces and equipment monitoring, battlefield surveillance, targeting, nuclear, biological and chemical attack detection), (b) environmental applications (such as fire detection, flood detection, precision agriculture), (c) health applications (like telemonitoring of human physiological data) and (d) home applications (e.g. smart environments). For an excellent survey of wireless sensor networks see [1]. Another possible categorization of the applications for wireless sensor networks is based on the notification strategy of the authorities, i.e. the way that the authorities are updated on the monitoring state. For example, in a museum, it is important to report only when emergency situations arise, such as an incendiary fire. On the other hand, in habitat monitoring for instance, continuous monitoring of the physical environment is required so that information is gathered over a long period of time. Therefore, depending on the actual application, the following services are required [3]: (i) Periodic Sensing (the sensor devices constantly monitor the physical environment and periodically report their sensors measurements to a control center), (ii) Event driven (to reduce energy consumption, sensor devices monitor the environment and send reports only when certain events are realized) and (iii) Query based (sensor devices respond to queries made by a supervising control center). In the light of the above categories of applications and services, we present jweb- Dust, a software environment that allows the implementation of customized applications for wireless sensor network that can (i) provide a wide range of services, (ii) minimize the overall implementation effort and (iii) considerably reduce the needs for network administration. jwebdust is modular and extendable as the application implementor can use a selected set of features, modify some of them and provide new ones that best suit his needs; in this sense, jwebdust is able to deal with several kinds of applications (size, functionality, etc.). jwebdust differentiates the system into two main groups: the networked sensor devices (from now on referred as motes) that operate using TinyOS and the rest of the network (e.g. control centers, database server, etc.) that is capable of executing Java code. Both system groups use an open architecture implementing the emerging componentbased architecture. The standardized component interface and the exchange of data over broadly used protocols provide increased portability. This implies that the system can be used over different machine architectures as well as OS and server technologies. We define and implement the Mote Discovery Service that reduces significantly the overall network administration needed in applications for wireless sensor networks. More specifically, this novel service keeps track of the motes that participate in the wireless sensor network and their technical characteristics (e.g. type of sensors attached to each device, available power, etc.). During the setup phase of the network, the motes report to the control center of the network and get registered in jwebdust s database without any further human interaction. In this sense, the time required by the administrator to register the devices that make up the network and their hardware characteristics is greatly reduced, especially in the case where the network is comprised of heterogeneous devices [5, 8]. Furthermore, in some cases, it is possible to redeploy additional

3 Fig. 1. Multiple wireless sensor networks form a single, unified, virtual sensor network motes in order to extend the lifetime of the network and/or increase the area of surveillance while the network is in operation [1, 5]. In such cases, the discovery service improves the scalability of the applications that are based on jwebdust, since the need for network administration is unaffected as the size of the sensor networks increases. A distinct feature of jwebdust is its ability to manage multiple wireless sensor networks, each with a different control center, under a common installation (e.g. see Fig. 1). This is done by introducing the notion of a virtual sensor network that somehow, hides the actual network topology and allows the user to control the motes as if they were deployed under a single, unified, sensor network. This abstraction significantly reduces the overhead of administering multiple networks. Furthermore, the idea of a unified, virtual sensor network allows the integration of totally heterogeneous sensor networks, i.e. not only regarding different kind of sensors attached to the motes of the network, but also different kind of CPU architectures and communication units. In jwebdust, the information collected by the control center of each operating sensor network is stored in a single, central, relational database. Based on this database server, jwebdust provides a web-based, user-friendly interface that targets both to scientific as well as other less technically-trained personnel. This user interface is customizable and allows the designer to present the information in different ways and offers extendable statistics based on the needs of the application. The component-based architecture that is used in designing jwebdust provides high adaptability. The software under development provides an open interface through which added functionality can be implemented and integrated at later stages, probably carried out by the final application implementor. Although wireless sensor networks have attracted a lot of attention from researchers at all levels of the system hierarchy (from the physical layer up to the application layer), generic application environments that provide all the necessary tools and operations to allow the implementation of a wide range of applications are few [1]. To the best of our knowledge, there are only two such environments: TinyDB [11] and Mote-VIEW [9]. TinyDB is an application that allows multiple concurrent queries, event-based queries and time synchronization through an extensible framework that supports adding new sensor types and event types. The central idea of TinyDB is to provide an SQL-like

4 interface to the programmer that makes the wireless sensor network look like a DBMS. A tree based routing scheme is used for multi-hop communication inside the network. In addition, TASK [10] (Tiny Application Sensor Kit) is built on top of TinyDB in order to further simplify application deployment and development. The kit includes a server that acts as a proxy for the sensor network on the internet, a relational database where readings from the sensor network are stored, and a frontend that help to choose, record and visualize motes metadata. In contrast to the database schema used in TASK, our approach is more detailed and can be easily extended to the final application s functionality needs (e.g. adding new sensor types, mote types, etc.). Mote-VIEW [9] is an application that provides tools to the user to visualize results from a sensor network, combined with a data logger that runs on the sensor network gateway. The data logger constantly listens to readings arriving from the network through a control center attached to the gateway and stores them in a relational database. The motes in the sensor network poll their sensors for readings at a sampling rate specified by the user and send them to the gateway using a multi-hop protocol. The user can check readings from the motes sensors on the fly, see a visualization of the network s topology, produce graphs from selected motes readings, and check their status. 2 The Architecture of jwebdust jwebdust is designed on a component-based architecture with several and diverse design goals as a guide that emphasizes on autonomy, reliability, and availability. At a high-level, the components of jwebdust are organized, using the N-tier application model, as follows: (i) the Sensor Tier that consists of one or more wireless sensor networks deployed to areas of interest, (ii) the Control Tier that corresponds to the control centers where the wireless sensor networks report the realization of events, (iii) the Data Tier responsible for storing the information extracted from the wireless sensor network(s), (iv) the Middle Tier that is responsible for processing the data to generate statistics and other meaningful information and (v) the Presentation Tier that interfaces the information with the final user in an easy way based on the capabilities of the user s machine. The five tiers that make up jwebdust are shown in Fig. 2. The Sensor Tier. Naturally, the sensor tier is the foundation of any application based on wireless sensor networks. The motes are usually scattered in the area of interest and form one or more sensor networks. Each of these scattered motes has the capability to collect data and route data back to the control center and the end users. Data are routed to the control center by a multi-hop architecture (described in greater details in Sec. 3) and then the control center communicates with the other tiers of the system possibly via internet. The jwebdust firmware, executed by the motes, is based on the TinyOS operating system and implements a mote discovery protocol for reporting their sensing and processing characteristics to the control center and a query dissemination protocol for distributing queries in the sensor network and disseminating the data matching these queries back to the control center; these protocols are defined more formally in Sec. 3. The Control Tier. The Control Tier consists of the control centers of each sensor network. Control centers are responsible for the gathering of all the readings coming from

5 Fig. 2. N-tier Architecture the sensor networks and the forwarding of the queries from the data tier to the motes; in other words, they act as gateways between the sensor tier and the data tier. On the hardware level, a typical control center consists of one mote connected to a desktop PC or laptop along with a network connection to the database server. The mote attached to the control tier is necessary to communicate with the sensor network. Alternatively, an embedded platform can be used (e.g. Stargate [9]). One important feature of the control tier is the ability to operate even when there is no connection to the data tier for sustained periods of time. The importance of this feature is outlined by the fact that control centers themselves may have a wireless connection to the data tier and uninterrupted communication is not guaranteed. During such a disconnected period, any new queries made will not be forwarded to the sensor network (since the control center cannot be informed about these queries), while sensor readings received will not be sent to the data tier but will be stored locally. As soon as the control center establishes a connection with the data tier, all locally stored readings are forwarded to the data tier and the new queries are forwarded to the network. Another jwebdust s feature is the support of multiple sensor networks in a way that they are seen as a single virtual sensor network. For each sensor network a unique ID is given to its respective control center. This sensor network ID helps to distinguish one mote from another, when they have they same mote ID but belong to different sensor networks, thus making it possible to manage different networks in a unified way. The Data Tier. The components at the data tier are based on the relational database system and the functionality and methods provided are related to the services required by the middle tier and the control tier. Our database schema consists of ten tables that can be organized in three categories: (i) Mote related tables. The information related to the hardware characteristics of the motes that comprise the wireless sensor networks are organized in this category with the use of five tables. The database scheme supports heterogeneous sensor networks, i.e. networks that consist of different kinds of motes (e.g. Telos, MicaZ

6 motes etc.), which in turn may have different kinds of sensors attached to them (e.g. light, pressure, humidity, temperature etc.). (ii) Query related tables. This group of tables holds information regarding the queries that are made on the network that may possibly address multiple sensors and/or multiple sensor types (for more information see Sec. 3). (iii) Sensor readings table. All the information received from the sensor networks that match a specific query is stored in this table. Each record represents a reading coming from a specific mote in the network concerning a single sensor. The Middle Tier. The Middle tier is comprised by all the components that make up the jwebdust logic and are responsible for delivering structures and data to the presentation tier. The components of the middle tier can be considered as applications that run on a server without a face (also referred to as servlets). These components have autotelic functionality that is executed independently in order to process certain data structures and produce specified output. In this extent, components contribute to a simpler distribution of workload and allow easy development of the presentation tier services. In jwebdust the components of the presentation tier and the middle tier can operate simultaneously and independently. Components are formulated based on the data structures available and the operations required by each entity. For example, the management of queries is handled by a single component and the methods implemented perform actions such as createquery, deletequery, updatequery, etc. All these methods accept parameters given by the presentation tier. The logic of the creation of a new query (i.e. check if a similar query already exists or if the mote provides the sensors specified in the query) is standardized through a single component. The query component just described, along with other similar components that are part of the jwebdust system are also referred to as the executants. The executants provide a specified interface to the other components; thus if modifications to jwebdust logic are carried out, the implementation of this interface can be modified. As long as the interface remains unaffected, components that use the executants will not notice any change and will not require any further change. The Presentation Tier. The presentation tier is basically the user interface; it is the layer most available to the end users, responsible for the collection of input and presentation of the information collected from the sensor network. The components that make up the presentation tier are based on different technologies. The terms thin client and rich client are used to describe the capabilities of the presentation tier given the available resources. We characterize as rich clients the components of the presentation tier that are rich of functionality. The support of thinner clients will ensure the interoperability of the system through the various available machine architectures. The end users are allowed to choose among the available client solution in order to maximize the available resources. The open architecture of jwebdust system allows new components to be introduced at later stages that will cope with these issues. 3 Sensor Network Services and Protocols Mote Discovery Service. One of jwebdust s features is that every mote is able to register itself and its distinct features to the system, thus giving a clear view of the

7 Fig. 3. GUI windows displaying sensor readings reported by the sensor network that match sample queries made by the user to specific motes, regarding different type of sensor devices network and removing the need to initiate a mote discovery process periodically. The mote discovery service provides the user with a detailed view of the properties of each mote inside the (possibly heterogeneous) sensor network. Other existing applications do not provide such detailed information and thus do not cope well with the case of having motes with different sensors attached to them. As an example, consider the case where we want to have motes collecting temperature readings on the one side of the sensor network and on the other side motes with a different kind of sensor board collecting humidity readings. The use of different kinds of sensor boards could also be justified in terms of cost or because we want to take advantage of older equipment. The operation of the discovery service relies on the correct programming of the motes; when installing the application firmware on the mote, the actual hardware characteristics are passed as parameters to the service. Each sensor type available to each mote and its mote type are represented by an integer, in correspondence to the integer IDs used in the data tier concerning the mote and sensor types (see Sec. 2). Based on this information, the discovery and registration of every mote in the network is achieved using a simple protocol. Essentially, when a mote is powered on, and after its startup and initialization phase completes, the mote sends out to the control center a short message containing the mote s ID, type and a list of available sensors. By sending this message, the mote registers itself in jwebdust s data tier along with an amount of useful information when the control center receives the message. Note that after sending the message, the mote waits for an acknowledgement message from the control center. This is done to make sure that the registration message will reach the control center within a certain time period. If such an acknowledgment message is not received within the given time period (that can be adjusted depending on the expected network size and communication medium parameters), the mote sends another registration message. This process is repeated until an acknowledgement is properly received. Time Synchronization Service. Time synchronization of the motes is a significant part of any sensor network as applications need some kind of collaboration between the

8 motes in the network, which in turn means some kind of acceptable time synchronization. jwebdust uses a time synchronization scheme that follows an approach similar to TPSN [7]. Our method provides accurate time synchronization as it performs pairwise time synchronization between motes using the structure established by the communication protocol (see below). Every mote maintains a local clock that is synchronized with respect to a reference mote (e.g. the control center). In order to avoid collisions in the medium access level, at the beginning of the synchronization process, each mote decides to initiate time synchronization, individually, after a random period of time following the reception of a time-sync message. Sensor Network Communication Protocol. Communication in wireless sensor networks presents many distinctive characteristics, which render the conventional and most ad-hoc routing approaches inadequate for use in these networks. Many routing schemes have been proposed specifically for sensor networks [4, 6], however only a few of them have been implemented in TinyOS. Routing protocols for TinyOS can be divided into two categories, based on the number of possible routing destinations. The communication protocol used in jwebdust is based on the multi-hop treebased routing protocol included in the TinyOS distribution, called MultiHopRouter, with an extension that aims towards reducing the energy dissipation of the motes. More specifically, we implement an extension that uses a mechanism for varying the transmission range [2] on top of MultiHopRouter. The implementation of such a mechanism is based on the ability of TinyOS to adjust the transmission range of the motes, e.g. in the MICA platform via the Potentiometer component. The main idea is to periodically check whether a satisfactory number of nearby motes is active. This done by periodically broadcasting hello messages from the control center and flooding the network. If motes maintain network connectivity, this message will reach all the motes of the network, at a certain time point. By maintaining a flag in each mote, which should be up if any neighbors have sent hello messages over some period of time and down if no such message has been received, motes can decide on whether to modify their transmission range in order to overcome network connectivity issues or not. The concept of a varying transmission range protocol (VTRP) and a study of ways of modifying the transmission range are described in [2]. Sensor Query and Data Dissemination Protocol. The queries supported in jwebdust are categorized using two criteria; (i) the motes they are targeted to and (ii) the way information regarding the queries are reported to the control center. The first category includes mote-specific and attribute-based queries, while the second category includes periodic sensing, event driven and query based queries. These two categories are overlapping and the actual sensor queries are combinations of these categories. jwebdust gives the users the capability to send to the sensor network all these types of queries. In the case of a Mote-based query, we are interested in targeting specific motes by using their IDs; the protocol will send one packet per each mote included in the query. On the other hand, attribute-based queries are not targeted to specific sensors but instead to the whole sensor network; the protocol will flood the network with the query and only those motes that match the specific attribute will respond to the query. Periodic-update queries pose another time constraint along with the start and stop time constraints, regarding the time of reporting to the sink. They specify an interval

9 time period between successive query reports. Event-driven queries instead of posing specific time constraints, use the notion of events in order to define the time to report back to the sink. Examples of possible queries to a sensor network include give me the temperature and humidity readings from motes where light reading is over 200 starting from 10:15 till 13:30 and give me the light readings from mote 4 when temperature reaches 30 C. Thus, we have four types of possible queries, (i) attribute-based periodic update, (ii) attribute-based event-driven, (iii) mote-specific periodic update, and (iv) motespecific event-driven queries. The standard packet size in TinyOS is 34 bytes, leaving 29 bytes when using standard single hop communication and less when using multihop protocols. The space left suffices to send all types of queries. Timestamps occupy 5 bytes, while mote IDs occupy 2 bytes and sensor type IDs 1 byte. Events and attribute constraints can be expressed in the same way, occupying 4 bytes, 1 byte for the type of sensor ID, 1 byte for the relation used (equal, greater than, etc.) and 2 bytes for the value used in the constraint. Because of the fact that a query can poll many sensors in the same mote and one packet might not be sufficient for sending the readings from all the requested sensors, more than one packets can be sent by motes answering a query back to the sink. The sequential messages will contain the readings that didn t fit in the previous ones. Finally, the protocol supports the possibility of cancelling a query that is currently active. The user is able to dispatch a special cancel-query message that contains one or more IDs referring to the queries that are to be cancelled. Note that if the query that needs to be cancelled is mote-based, the message is sent directly to the mote involved; if it is an attribute-based the message needs to flood the whole network. 4 Concluding Remarks We have presented the architecture and the design of the main components of jweb- Dust, and discussed several distinct features along with their implementation and functionality. The main strengths of jwebdust are: 1. Provides an environment to package and manage the plethora of lower level protocols with minimum implementation and administration effort. 2. Allows to implement new functionality that can be easily integrated with the rest of the architecture at all levels of the hierarchy (i.e. sensor level, control centers level, database level, user-interface level) to best suit the application needs. 3. Supports multiple/separate sensor networks (i.e. physically separated) with multiple/separate control centers and allows to handle them as a single virtual sensor network, even if more than one sensor share the same ID. 4. Handles sensor networks comprised of devices with heterogeneous characteristics. Real world sensor networks will rarely be homogeneous, motes-only deployments. 5. Supports Disconnected/Mobile Control Centers by taking special care of long disconnections of the control centers, and the sensor networks attached to these centers, from the upper parts of the architecture (i.e. database, web, etc.), so that information is not lost.

10 6. Many users can simultaneously query, monitor, and visualize the execution of the wireless sensor network through a Web-based user interface. 7. Offers an Extended Query Language that supports (i) multiple queries per sensor device, (ii) concurrent queries through out the network, (iii) monitoring of the active network queries, (iv) mechanisms to cancel a query. We plan to continue the development of jwebdust by improving its features and introducing new ones. We plan to extend the Sensor Query and Data Dissemination Protocol by employing data aggregation techniques that can considerably reduce the communication overhead and improve the lifetime of the network. Also, we wish to consider investigate alternate architectures that can allow multiple control centers per sensor network; e.g. a JVM-equipped handheld that is carried by the administrator. To this end, we are considering the use of a many-to-many routing scheme within the sensor tier. References 1. I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, Wireless sensor networks: a survey, Journal of Computer Networks 38 (2002), 393 422. 2. T. Antoniou, A. Boukerche, I. Chatzigiannakis, G. Mylonas, and S. Nikoletseas, A new energy efficient and fault-tolerant protocol for data propagation in smart dust networks using varying transmission range, 37th Annual Simulation Symposium (ANSS 2004), 2004, IEEE Press, pp. 43 52. 3. A. Boukerche, R.W.N. Pazzi, and R.B. Araujo, A supporting protocol to periodic, eventdriven and query-based application scenarios for critical conditions surveillance, 1st International Workshop on Algorithmic Aspects of Wireless Sensor Networks (ALGOSENSORS 2004), Springer-Verlag, 2004, Lecture Notes in Computer Science, LNCS 3121, pp. 137 146. 4. I. Chatzigiannakis, T. Dimitriou, S. Nikoletseas, and P. Spirakis, A probabilistic forwarding protocol for efficient data propagation in sensor networks, 5th European Wireless Conference on Mobile and Wireless Systems beyond 3G (EW 2004), 2004, pp. 344 350. 5. I. Chatzigiannakis, A. Kinalis, and S. Nikoletseas, Power conservation schemes for energy efficient data propagation in heterogeneous wireless sensor networks, 38th Annual Simulation Symposium (ANSS 2005), 2005, IEEE Press. 6. I. Chatzigiannakis, S. Nikoletseas, and P. Spirakis, Efficient and robust protocols for local detection and propagation in smart dust networks, Journal of Mobile Networks and Applications 10 (2005), no. 1, 133 149, Special Issue on Algorithmic Solutions for Wireless, Mobile, Ad Hoc and Sensor Networks. 7. S. Ganeriwal, R. Kumar, and M. Srivastava, Timingsync protocol for sensor networks, 1st ACM International Conference On Embedded Networked Sensor Systems (SenSys 2003) (Los Angeles, CA, USA), 2003, pp. 138 146. 8. Exploratory research: Heterogeneous sensor networks, Intel Technology Journal: Research & Development at Intel (2004), http://www.intel.com/research/exploratory/heterogeneous.htm. 9. Mote-VIEW monitoring software, Crossbow Technology Inc., http://www.xbow.com/products/productsdetails.aspx?sid=88. 10. Tiny application sensor kit (TASK), Intel Research, Berkeley, http://berkeley.intel-research.net/task/. 11. TinyDB: A declarative database for sensor networks, http://telegraph.cs.berkeley.edu/tinydb/.