
Olivier Liechti

David Johannot
(1380) Managing Wireless Sensor Networks with Java
Work-in-Progress
Wednesday, 2007-06-27, 12:10 - 12:50, Arena 5
- Olivier Liechti - University of Applied Sciences / HEIG-VD (speaker)
- David Johannot - University of Applied Sciences / HEIG-VD (co-speaker)
- Pierre Métrailler
- Stephan Robert
- Karl Baumgartner
Topics
Abstract
In this session, we report on the progress of a project, which aims to develop
an end-to-end management platform for wireless sensor networks in Java. This
project is a joint effort between Shockfish SA and the University of Applied
Sciences Western Switzerland (HEIG-VD). It is supported by the Swiss
Confederations Innovation Promotion Agency (CTI).
After a brief introduction to wireless sensor networks, we explain how Java
technologies have been used throughout the entire system: from the wireless
nodes (Java ME), through the middleware layer and up to the management console
(Java EE). The open source components (frameworks, graphical libraries, tools,
etc.) that provide a foundation for the system are also described.
During the presentation, we cover a number of themes, including 1) the overall
system architecture, 2) the features and design of the middleware layer (remote
communication, event management, logging, security, etc.), 3) the management
console (remote operations and notifications, data extraction, visualization
techniques, etc.).
The talk is illustrated with the presentation of TinyNode, which is a wireless
sensor network platform suited for both academic projects and industrial
applications. TinyNode is designed and produced by Shockfish SA, a start-up
company based in Lausanne, Switzerland.
Participants interested in the field of wireless sensor networks will receive
all the information they need to get started with their own projects.
4. OBJECTIVES
-------------
- introduce the field of wireless sensor networks to the audience
- provide the information required to get started on a wireless sensor network
project
- describe the architecture of a management platform for wireless sensor
networks
- show how Java technologies and open source frameworks (AppFuse, Spring,
Hibernate) have been used to build the management platform
5. TARGET AUDIENCE
------------------
- people interested in wireless sensor networks and more generally in ubiquitous
computing
- people interested to see how popular application frameworks have been used to
build a distributed management system
- people interested in data visualization
5. AGENDA
---------
A. Introduction to wireless sensor networks
A.1. Definitions
A.2. Application domains
B. The TinyNode Platform
B.1. Design goals
B.2. Architecture and features
C. The Wireless Sensor Network Management Platform
C.1. System architecture
C.1. Embedded software components (Java ME)
C.2. Middleware layer (communication management, event management, logging,
etc.)
C.3. Management console (submission of commands, data analysis, information
visualization, etc.)
D. Future work & conclusions
4. SUMMARY
----------
4.1. Wireless Sensor Networks
-----------------------------
Since a couple of years, the term "Internet of Things" is used to
describe the increasingly seamless interactions between the physical and the
digital world. A wide range of technologies have been developed to transform
this vision into reality. Radio Frequency IDentification (RFID) is a good
example and has received a lot of attention from the media. In this talk, we
look at another very promising technology: wireless sensor networks.
Wireless sensor networks are distributed systems, in which autonomous devices
collect environmental data (location, speed, temperature, humidity, sound level,
etc.). The data is collected across the network, aggregated and fed into
business applications. Sensor networks are an enabler for very different
applications: environmental monitoring, agricultural monitoring, medical
monitoring, habitat monitoring, military surveillance, etc.
4.2. The Architecture of a Wireless Sensor Network Deployment
-------------------------------------------------------------
The architecture of a wireless sensor network deployment essentially consists of
the following components:
1) The sensor nodes. They are autonomous hardware modules with embedded software
components. A sensor node is equipped with various sensors (depending on the
application) and is able to forward the collected data up to one of the control
nodes (using its peers as relays). Power consumption on sensor nodes is
critical. For this reason, sensor nodes only have local conversations and do not
have direct connection with the Internet.
2) The control nodes. They are also hardware modules. However, they have more
energy at their disposal and can have conversations across mobile networks (SMS,
GPRS, etc.). Hence, they provide the interface between the wireless sensor
network and the Internet. Their first function is to gather and consolidate the
data collected by surrounding sensor nodes, before forwarding it to back-end
systems. Their second function is to receive commands from back-end systems and
to relay them to the sensor nodes.
3) The middleware layer. Wireless sensor networks need to be managed remotely.
The amount of collected information, the dynamic nature of the network, the
occurrence of temporary and lasting failures are some of the challenges that
need to be addressed by the supporting middleware. The facilities that have to
be provided include the management of communication, the management of events
(filtering, aggregation, correlation, routing), the logging and auditing of
activity, the security, etc.
4) The management console. The characteristics of wireless sensor networks
described above also have implications at the user interface level. The role of
the management console is to allow end-users to interact with the sensor network
(send commands, query status, etc.). Another function of the console is to
support the analysis of the sensor data, by providing extraction and
visualization features.
5) The business applications. Whatever the application domain, the reason for
deploying a sensor network is to process the collected data according to some
business logic. The business logic is defined in an external system (that we
call here a "business application"). Sometimes, this application
already exists (e.g. it is the ERP used by a logistics company). Hence, what
needs to be provided by the middleware layer is a mechanism to forward
information and events from the sensor network to the business application.
4.3. Using Java to Manage a Wireless Sensor Network
---------------------------------------------------
Shockfish SA has designed a wireless sensor network platform, with the goal to
support both academic and industrial projects. This platform is called
"TinyNode" and provides both sensor nodes (TinyNode 584) and control
nodes (MamaBoard). The building blocks can be used to create sensor networks,
with basic management capabilities. Initially, the tool set made it possible to
send commands to a control node via Short Message Service (SMS), and to receive
data over GPRS.
The goal of the project, that we present in this session, was to build a more
sophisticated management infrastructure. Hence, it was to implement the
middleware layer and the management console described in the previous paragraph.
This work has been done in collaboration between Shockfish and the University of
Applied Sciences Western Switzerlnd (HEIG-VD).
Java technology has been used throughout the entire system. The control nodes
provide a Java Micro Edition (Java ME) runtime environment. Some components have
been implemented and deployed in this environment. On the back-end system,
several open source frameworks have been integrated to create the middleware
layer and the management console. Specialized libraries have also been used to
develop the data visualization features.







