Support document for sensor networks prototype from dissertation work of Bhanu Pisupati

The objective of this exercise is to use filesystem abstractions to enable implementation of data and event based applications in the sensor domain, as also programming sensors nodes using common file operations. The sensor network model universally used in this work is cluster based, meaning that the entire sensor network is divided into one or more clusters of sensors that are in close proximity (within radio communication range) to one another. Typically in such a model, each cluster is managed by a cluster head node, which has superior computational and networking resources as compared to lightweight sensor nodes constituting the cluster. A cluster head class device from Crossbow known as Stargate, is based on a 400 MHz Intel XScale processor that has 64MB of RAM at its disposal. Individual sensor nodes - such as motes - have more limited computational, memory and communication resources available on board.

While my dissertation presents the high level motivation for this work, this writeup is meant to serve as a guide to setup and operate the associated prototypes. Due to constraints on available software, for the purposes of this prototype, a cluster is defined by a workstation with a set of sensor nodes in close proximity. The workstation fulfills the role of a cluster head, by executing appropriate software. It communicated with the various sensor nodes within its cluster through a 'base station node' connected to it through USB. The layout is illustrated in the figure below. As shown, a network may consist of multiple clusters, which are accessed and programmed remotely.

The system consists of software executing at three levels - within the sensor nodes, at the cluster head level and at the workstation level. The sensor nodes execute software implementing a sensor filesystem (SFS). The cluster head (a workstation in our case) utilizes the SFS exported from various sensor nodes to implement a cluster filesystem. The various cluster filesystems are mounted locally at the workstation level, which allows sensor network applications to interact with the sensor nodes through conventional file operations.

Data and Event Based Applications

The first application demonstrates use of file abstractions to access sensor data and configure network events from applications common file operations. Specifically, the application shall demonstrate use of the filesystem to:

Step 1: setting up sensor nodes

The first step in setting up the prototype is to program one or more sensor nodes and to get them running. The steps for achieving this are outlined below: