Middleware for Ad-Hoc Peer-to-Peer Ubicomp Systems

Rovers-logo.gif
The ROVERS project is funded by Polish Ministry of Science and Information Society Technologies,
project no. 3 T11D 011 28.
The project starts June 2005.
The project ends November 2006.


The ROVERS project description


The aim of the ROVERS project is to develop a middleware for ubiquitous computing applications. Ubiquitous computing (ubicomp) is the art and science of creating applications (services) that (a) take advantage of the current state of the user and the environment (context-awareness) and (b) do not require the user to interact with them (ideally, the user can forget that a ubicomp service exists). Most ubicomp applications are distributed. ROVERS applications run on numerous cooperating intelligent nodes equipped with processing capability, sensors, actuators, and wireless connectivity. The nodes are tiny and embedded into everyday objects, e.g., lamps, refrigerators, digital thermometers, thermostats.

An important factor constituting the ROVERS project is a very strict constraint imposed on energy consumption. A node should run for a long time, possibly years, on a single battery. Techniques used in larger systems where energy is less critical (e.g., mobile phones, PDA's, personal computers) cannot be used.

The ROVERS middleware will enable a node to make its resources available to peers. More specifically, a ROVERS-based application running on a given node will be able to conveniently take advantage of resources (primarily sensors and actuators, but also memory, processing power, user interface devices, WAN connectivity) contributed by other nodes. The opportunistic computing approach to application functionality will be adopted. By using to the fullest all resources that happen to be available in a given environment, the application can offer better service to the user.

Some other basic assumptions guiding the development of the ROVERS middleware are the following.

  • The nodes collaborate in a peer-to-peer fashion.
  • No specific node configuration or infrastructure is assumed (ad-hoc collaboration).
  • A multi-node system forms an open platform for running applications. It should be possible to inject and start new applications at any time.


The overall problem to be addressed by the ROVERS project is (a) to design a middleware layer following the above principles, (b) to prove its feasibility, and (c) to validate it. As part of feasibility analysis and validation, an operational proof-of-concept system based on tiny, energy-constrained nodes will be produced.

Specific research and development tasks are the following.

  • To develop the architecture of the ROVERS middleware.
  • To define an API exposing ROVERS middleware services to the application layer.
  • To develop methods to systematically describe resources contributed by collaborating nodes.
  • To specify internal middleware modules and their interfaces.
  • To develop middleware algorithms and protocols.
  • To implement the ROVERS middleware. The proof-of-concept implementation will be based on the TinyOS operating system.
  • To validate the concept by experimenting with the TinyOS-based implementation


The ROVERS publications

Tree-Based Anycast for Wireless Sensor Actuator Networks

Michal Koziuk, Jaroslaw Domaszewicz

The 9th International Conference on Distributed Computing and Networking (ICDCN 2008) 5-8 January 2008 To appear in: Proceedings of 9th International Conference on Distributed Computing and Networking, Springer LNCS series.


Abstract:

This paper presents a tree-based anycast (TBA) protocol designed for wireless sensor/actuator networks. Contrary to existing work, TBA allows forming an anycast address from multiple attributes which describe the destination node. TBA uses spanning trees for query propagation. The usefulness of such a solution is validated by simulations, which show that under certain conditions significant energy gain compared to flooding can be expected..


Opportunistic Pervasive Computing with Domain-oriented Virtual Machines

J. Domaszewicz, M. Rój, A. Pruszkowski

9th EUROMICRO Conference on DIGITAL SYSTEM DESIGN Architectures, Methods and Tools (DSD 2006) in English


Abstract:

The paper targets heterogeneous sensor-actuator networks, in which nodes differ as to resources (sensors and actuators) they are equipped with. Each node contributes its specific sensors and actuators to be used by applications. The key assumption of "opportunistic pervasive computing" is that the actual mix of nodes (and that of available resources) is not known in advance to the programmer. An opportunistic pervasive computing application is supposed to take the best advantage of whatever sensors and actuators happen to be available in the network. The paper presents a technique that can be used in middleware layers supporting such applications. The technique uses virtual machines to orderly expose sensor and actuator resources of a node to the programmer. The virtual machines are domain-oriented, node specific, and able to work with the resources at multiple levels of abstraction. They can be implemented on severely constrained nodes (e.g., of the TinyOS class).


ROVERS: Pervasive Computing Platform for Heterogeneous Sensor-Actuator Networks

J. Domaszewicz, M. Rój, A. Pruszkowski, M.Golański, and K. Kacperski

4th International Workshop on Mobile Distributed Computing (MDC'06) in English


Abstract:

The paper presents a programming model for a new pervasive computing middleware. The middleware, called ROVERS, targets an environment composed of tiny, resource-constrained, wirelessly communicating nodes embedded into everyday objects. The environment is heterogeneous in that each node is equipped with a unique set of sensors and actuators, depending on the object it is embedded in. The nodes establish an ad-hoc network and contribute their specific resources. The ROVERS layer transforms the network into a distributed pervasive computing platform ready for applications. The ROVERS application is an evolving tree of cooperating, mobile micro-agents. The tree adapts to available resources and the current context. It is largely decoupled from the concept of the physical node. ROVERS provides the programmer with implicit resource discovery, inter-agent communications with a logical addressing scheme, minimization of application-generated traffic, ontology-driven representation of sensor and actuator resources, as well as support for component-based programming. The programming model lends itself to an implementation for a miniature operating system, like TinyOS.


Lightweight Ontology-Driven Representations in Pervasive Computing

J. Domaszewicz, M. Rój

IFIP International Symposium on Network-Centric Ubiquitous Systems (NCUS 2005) in English


Abstract:

A clearly specified representation of diverse entities is needed to refer to them in pervasive computing applications. Examples of such entities include physical objects, operations, sensor and actuator resources, or logical locations. We propose a novel way to systematically generate representations of entities for programmable pervasive computing platforms made of tiny embedded nodes. Our original idea is to generate a very lightweight, though semantically-rich, representation from a possibly complex ontological specification. At the platform development phase, a domain ontology is used to describe the target environment. A preprocessing tool produces the ontology-driven, lightweight representation, which comes in two flavors: a human-readable one, to be used for programming, and a binary one, to be used at runtime. Our approach makes it possible to take advantage of all the benefits of ontology-based modeling and, at the same time, to obtain a representation light enough to be embedded in even the tiniest nodes.