(c) Larry Ewing, Simon Budig, Garrett LeSage
Ó 1994 Ç.

Department of Computer Science

PetrSU | Software projects | AMICT | Staff | News archive | Contact | Search

A Framework for Composing Pervasive Applications

Oleg Davidyuk (Department of Electrical and Information Engineering, University of Oulu, Finland),
Ivan Sanchez (Department of Electrical and Information Engineering, University of Oulu, Finland),
Istvan Selek, (Department of Process and Environmental Engineering, University of Oulu, Finland)
Jon Imanol Duran (University of Basque Country, Spain School of Computer Engineering) and
Jukka Riekki (Department of Electrical and Information Engineering, University of Oulu, Finland)

Pervasive computing paradigm assumes that computation is integrated into various networking nodes in the environment [1, 2]. This paradigm therefore advocates an approach where applications are composed from components physically residing across multiple nodes. The approach provides a number of advantages which would not be otherwise available for solid (i.e., not component-based) applications. For instance, composite applications are able to aggregate device facilities across several resource-limited devices, thus adding to capacities of single devices by sharing their resources. Also, composite applications may combine and control inputs/outputs from multiple pervasive devices thus enabling so called multimodal interfaces. Moreover, composite applications permit distributing the computational load across multiple devices; this functionality is required by several computationally demanding application domains including content-based retrieval, data fusion and semantic search.

However, supporting dynamic composition of pervasive applications is not a simple task. The users in pervasive environments are mobile and therefore the system should enable run-time binding of the application components to the location-based network resources, such as wall projectors, cameras and interactive displays. Besides, even the same application may be realized using different sets of available resources because of changes in the situation; for example, the resource availability may decline over time or the user may change his/her preferences in the application cost/performance tradeoff.

In order to address these challenges, the system has to support an automated application adaptation and lifecycle management. Besides, the system has to take into the account non-functional requirements to model the application behavior and the resource availability. Furthermore, the application composition has to be performed using an abstract algorithm which should not be tailored to certain kind of applications with specific behavior properties. This algorithm has to determine optimal allocation of resources, especially when there are multiple ways to compose the same application across networking devices.

In this paper we present a general framework for composing pervasive applications. We introduce two algorithms based on evolutionary and genetic computing which support application composition by allocating the application components onto networking hosts accordingly to a given optimization criterion. These criteria may have multiple objectives, including, for example, minimizing the application hardware requirements or maximizing the application quality of service. We propose generic resource models which are not focused only on certain application type, thus aiming for the widespread usage of our approach. We also analyze performance and quality characteristics of the allocation algorithms. Besides, as the main contribution of this paper, we present concrete middleware implementation (where our algorithms are used) and initial usability and user experience studies.

  1. M. Satyanarayanan, .Pervasive computing: vision and challenges,. IEEE Pervasive Communication, Vol. 8, 4, 2001, pp. 10-17.
  2. M. Roman, C. Hess, R. Cerqueira, A. Ranganathan, R.H. Campbell, and K. Nahrstedt, .A middleware infrastructure for active spaces.., Pervasive Computing, IEEE, Vol. 1, 4, 2002. pp. 74-83.