Agile Sensor Network Systems
Mohamed Eltoweissy, Denis Gracanin, Stephan Olariu and Mohamed Younis
Sensor networks are expected to bridge the gap between the digital and the physical worlds, providing invaluable temporally and spatially dense information. Typically, sensor nodes (sensors, for short) once deployed, self-organize into a sensor network configuration with permanent bindings. We argue that, for large deployment areas, permanent binding is neither efficient nor necessary. Instead, self-organization should be ephemeral and service-driven. Sensors are generally anonymous and may be deployed at different times by different entities. The deployment of sensors, the formation of the sensor networks, and the services offered depend upon the requirements of the environment, which may vary over multiple dimensions including time, location, events, and applications. In this paper, we promote a vision of an agile sensor network system, where sensors dynamically organize into a high-level system consisting of multiple sensor networks that cooperate to provide data, offer services and, generally, perform and control a multitude of functions in support of evolving requirements. We propose a service-driven design approach for the new sensor network system. Agility and service-driven design enable the sensor network system to operate in various modes and to transition between these modes as efficiently and seamlessly as possible, while providing a variety services in each mode. Two novel generic design constructs are introduced to address the challenges associated with realizing this vision. The first is a service-oriented architecture for operating, managing, and evolving the sensor network system. A sensor network, in this architecture, is viewed as a distributed service provider. Network services and their interfaces are formally defined to facilitate dynamic composition and federation of services and to enable interoperability and collaborative tasking of multiple, interconnected sensor networks. The second construct involves the establishment of a general-purpose virtual infrastructure that can be leveraged to efficiently support a diverse set of network protocols and application configurations and to enable rapid transition between various modes of operation.