A distributed dynamic reconfigurable system for ambient intelligence L.Marcenaro, L.Marchesotti, F.Cella and C.S.Regazzoni DIBE, Department of Biophysical and Electronic Engineering University of Genova, Via All’Opera Pia 11, Genova, Italy e-mail: carlo@dibe.unige.it Abstract: The concept of Ambient Intelligence has been developed during a series of ISTAG (Information Societies Technology Advisory Group) and other meetings as a guiding vision to give an overall direction to Europe’s Information Societies Technology program. Ambient Intelligence is essentially an elaboration of Mark Weiser’s vision of Ubiquitous but Calm Computing which stresses the importance of social and human factors as well as developing the base technologies on which aspects of the vision are founded. Although Ambient Intelligence covers a large range of concerns, both human and technical, there are some technologies which might be excluded. They are characterised by Mark Weiser’s statement about Ubiquitous computing: “Ubiquitous computing is roughly the opposite of virtual reality. Where virtual reality puts people inside a computer- generated world, ubiquitous computing forces the computer to live out here in the world with people.”. Seen in this light, Ambient Intelligence is the limit of a process which introduces the technology into people’s lives in such a way that the introduction never feels like a conscious learning curve: no special interface is needed because human experience is already a rich ‘Manual’ of ways of interfacing to changing systems and services. Somehow, we need to create technology that leverages this powerful human resource rather than trying to suppress it by requiring humans to participate in inflexible interaction protocols of the sort supported by current call center technology. A distributed system for ambient intelligence needs to solve several problems, the main one being task allocation and resource management. In particular, one can suppose to subdivide a wide area monitoring system in several elementary logical tasks to be allocated to physical processors that can be constituted by standard PCs, but also intelligent sensors or embedded processors. This paper analyses the problem of distribution of intelligence in detail and proposes a novel technique for dynamic task allocation and reconfiguration in a distributed system. A formalization of task allocation problem is proposed and a system that is able to automatically download and run logical modules onto physical processors is described. Proposed results demonstrate the validity of this approach. 1 Introduction Machine vision applications are nowadays going in the direction of pervasive, multisensor systems [1] with augmented functionalities and abilities. In particular these kind of systems have not only to process video data, but also to react to “stimula” coming from the real word. In this sense such kind of system has to instantiate customized communications with humans in order to interact with them showing some degree of intelligence. These architectures go under the name of Ambient Intelligence systems. In [2] a more formal definition of Ambient intelligence (AmI) can be found; it points out as such systems have to integrate technologies to support human interactions and to surround the users with intelligent sensors and interfaces. In the development of such systems a variety of different issues arises involving both algorithm and architectural level. In particular the duty of collecting heterogeneous data from a network of sensors and the need of processing decentralization make the multisensor approach and the distribution of processing load, key features of such architectures. The architecture of an AmI system can be described at the logical level with a hierarchical decomposition of the whole logical process into a set of basic processing tasks; in this sense a task is a well-defined set of operations involved in the image information processing (i.e., digital frame acquisition is a processing task necessary to derive a digital signal representation from an analog one). In [3] the concept of “Dynamic Task Allocation” for distributed computing systems (DCS) is formalized stating