Three key phenomena have been changing the nature of computing over the last few years. The first is the popularity of portable devices such as mobile telephones and Personal Digital Assistants (PDAs). Today, around 80% of the French adult population possess their own mobile phone and there is a large variety of smartphones on the market that integrate PDA functionality. The second phenomenon is the large number of embedded systems; these are everyday devices that have their own processor and memory. Estimates suggest that more than 98% of the world's processor's are in embedded system , thus facilitating the deployment of a variety of information systems that control physical objects. The third phenomena is the increasing variety of wireless networks available for personal and embedded devices, e.g., Bluetooth, Wifi, GPRS, etc.
The combination of these three phenomena has permitted the emergence of context-aware person-centric applications and collaborative personal environments. These services complement a person's physical ability to interact with her/his environment. They are tailored to the needs, preferences and location of each person carrying a device, and are continually available. Services range from critical, e.g., remote health monitoring , to utility, e.g., navigational help, etc. to value-added, e.g., virtual museum guides, smart home, etc.
The domain of person-centric computing is known in research circles as ambient computing , and several significant research challenges remain. First, to facilitate mobility, ambient computing services should require minimal device manipulation by the device owner. It is crucial that the computing device operate as an extension of the person rather than as a tool. Second, there must be a way of modeling the physical environment so that applications can seamlessly import data from the environment and modify the environment when possible. Third, applications must be able to adapt to the rather limited storage and processing capabilities of mobile devices, as well as to variable and intermittent wireless network coverage.
The Aces(Ambient Computing and Embedded Systems) group is addressing research from two angles:
System Support for Continuous Ambient Service Delivery. A user needs to be able to exploit ambient services as seamlessly as possible. In particular, he should be shielded from the effects of network breaks – something that can be quite common for wireless environments.
Programming Models for Ambient Computing. We have looked at ways of modeling the physical environment in the virtual environment of programs in order to facilitate ambient application development. The goal is to be able to write programs that address and navigate through objects in the physical world as elegantly as a program traditionally manipulates a computer's main memory.
This document overviews our activities in more detail. The section Scientific Foundationsgives some background to our work in person-centric computing. The section Application Domainsdescribes the importance of our research agenda through the presentation of several applications, some of which are being developed in our group. The group's recent results are presented in the section New Results.
The goal of ambient computing is to seamlessly merge virtual and real environments. A real environment is composed of objects from the physical world, e.g., people, places, machines. A virtual environment is any information system, e.g., the Web. The integration of these environments must permit people and their information systems to implicitly interact with their surrounding environment.
Ambient computing applications are able to evaluate the state of the real world through sensing technologies. This information can include the position of a person (caught with a localization system like GPS), the weather (captured using specialized sensors), etc. Sensing technologies enable applications to automatically update digital information about events or entities in the physical world. Further, interfaces can be used to act on the physical world based on information processed in the digital environment. For example, the windows of a car can be automatically closed when it is raining.
This real-world and virtual-world integration must permit people to implicitly interact with their surrounding environment. This means that manual device manipulation must be minimal since this constrains person mobility. In any case, the relative small size of personal devices can make them awkward to manipulate. In the near future, interaction must be possible without people being aware of the presence of neighbouring processors.
Information systems require tools to capturedata in its physical environment, and then to interpret, or process, this data. A context denotes all information that is pertinent to a person-centric application. There are three classes of context information:
The digital contextdefines all parameters related to the hardware and software configuration of the device. Examples include the presence (or absence) of a network, the available bandwidth, the connected peripherals (printer, screen), storage capacity, CPU power, available executables, etc.
The personal contextdefines all parameters related to the identity, preferences and location of the person who owns the device. This context is important for deciding the type of information that a personal device needs to acquire at any given moment.
The physical contextrelates to the person's environment; this includes climatic condition, noise level, luminosity, as well as date and time.
All three forms of context are fundamental to person-centric computing. Consider for instance a virtual museum guide service that is offered via a PDA. Each visitor has his own PDA that permits him to receive and visualise information about surrounding artworks. In this application, the pertinentcontext of the person is made up of the artworks situated near the person, the artworks that interest him as well as the degree of specialisation of the information, i.e., if the person is an art expert, he will desire more detail than the occasional museum visitor.
There are two approaches to organising data in a real to virtual world mapping: a so-called logicalapproach and a physicalapproach. The logical approach is the traditional way, and involves storing all data relevant to the physical world on a service platform such as a centralised database. Context information is sent to a person in response to a request containing the person's location co-ordinates and preferences. In the example of the virtual museum guide, a person's device transmits its location to the server, which replies with descriptions of neighbouring artworks.
The main drawbacks of this approach are scalability and complexity. Scalability is a problem since we are evolving towards a world with billions of embedded devices; complexity is a problem since the majority of physical objects are unrelated, and no management body can cater for the integration of their data into a service platform. Further, the model of the physical world must be up to date, so the more dynamic a system, the more updates are needed. The services platform quickly becomes a potential bottleneck if it must deliver services to all people.
The physical approach does not rely on a digital model of the physical world. The service is computed wherever the person is located. This is done by spreading data onto the devices in the physical environment; there are a sufficient number of embedded systems with wireless transceivers around to support this approach. Each device manages and stores the data of its associated object. In this way, data are physically linked to objects, and there is no need to update a positional database when physical objects move since the data physicallymoves with them.
With the physical approach, computations are done on the personal and available embedded devices. Devices interact when they are within communication range. The interactions constitute delivery of service to the person. Returning to the museum example, data is directly embedded in a painting's frame. When the visitor's guide meets (connects) to a painting's devices, it receives the information about the painting and displays it.
One of the major research efforts in Acesover the last few years has been the definition of the Spread programming model to cater for spacial context. The model is derived from the Linda tuple-space model. Each information item is a tuple, which is a sequence of typed data items. For example, <10, 'Peter', -3.14>is a tuple where the first element is the integer 10, the second is the string `"Peter" and the third is the real value -3.14. Information is addressed using patterns that match one or a set of tuples present in the tuple-space. An example pattern that matches the previous tuple is <int, 'Peter', float>. The tuple-space model has the advantage of allowing devices that meet for the first time to exchange data since there is no notion of names or addresses.
Data items are not only addressed by their type, but also by the physical space in which they reside. The size of the space is determined by the strength of the radio signal of the device. The important difference between Spread and other tuple-space systems (e.g., Sun's JavaSpaces , IBM's T-Space ) is that when a program issues a matching request, only the tuples filling the physical spaceof the requesting program are tested for matching. Thus, though SIS (Spatial Information Systems) applications are highly distributed by nature, they only rely on localised communications; they do not require access to a global communication infrastructure. Figure shows an example of a physical tuple space, made of tuples arranged in the space and occupying different spaces.
As an example of the power of this model, consider two of the applications that we have developed using it.
Ubi-busis a spatial information application whose role is to help blind and partially blind people use public transport. When taking a bus, a blind person uses his PDA to signal his intention to a device embedded in the bus stop; this device then contacts the bus on the person's behalf. This application illustrates how data is distributed over the objects of the physical world, and generally, how devices complement human means of communication.
Ubi-boardis a spatial information application designed for public electronic billboards. Travel hotspots like airports and major train stations have an international customer base, so bill-board announcements need to be made in several languages. In Ubi-bus, a billboard has an embedded device. When a person comes within communication range of the billboard, his device sends a request to the billboard asking it to print the message in the language of the person. In the case where several travellers are in proximity of the billboard, the board sends a translation of its information message to each person. The Ubi-board application illustrates personal context in use, i.e., the choice of natural language, and also how actions can be provoked in the physical world without explicit intervention by the person.
Integrity checking is an important concern in many activities, both in the real world and in the information society. The basic purpose is to verify that a set of objects, parts, components, people remains the same along some activity or process, or remains consistent against a given property (such as a part count).
In the real world, it is a common step in logistic: objects to be transported are usually checked by the sender (for their conformance to the recipient expectation), and at arrival by the recipient. When a school get a group of children to a museum, people responsible for the children will regularly check that no one is missing. Yet another common example is to check for our personal belongings when leaving a place, to avoid lost. While important, these verification are tedious, vulnerable to human errors, and often forgotten.
Because of these vulnerabilities, problems arise: E-commerce clients sometimes receive incomplete packages, valuable and important objects (notebook computers, passports etc.) get lost in airports, planes, trains, hotels, etc. with sometimes dramatic consequences.
While there are very few automatic solutions to improve the situation in the real world, integrity checking in the computing world is a basic and widely used mechanism: magnetic and optical storage devices, network communications are all using checksums and error checking code to detect information corruption, to name a few.
The emergence of ubiquitous computing and the rapid penetration of RFID devices enable similar integrity checking solutions to work for physical objects. We introduced the concept of coupled object, which offers simple yet powerful mechanisms to check and ensure integrity properties for set of physical objects.
Essentially, coupled objects are a set of physical objects which defines a logical group. An important feature is that the group information is self contained on the objects which allow to verify group properties, such as completeness, only with the objects. Said it another way, the physical objects can be seen as fragments of a composite object. A trivial example could be a group made of a person, his jacket, his mobile phone, his passport and his cardholder.
The important feature of the concept are its distributed, autonomous and anonymous nature: it allows the design and implementation of pervasive security applications without any database tracking or centralized information system support. This is a significant advantage of this approach given the strong privacy issues that affect pervasive computing.
In the line of our previous research in pervasive computing, we are working on spatial computing approaches in the context of RFID. Spatial computing consists in data structures and computing processes directly supported by physical objects. RFID is an attractive technology for supporting spatial computing, enabling any object to interact in a smart environment. Traditionnal RFID solutions use a logical model, where the RFID tags are simple identifiers referring to data in a remote information system. In our approach, we use the memory of the tags to build self-contained data structures and self-describing objects. While featuring interesting properties, such as autonomous operation and high scalability, this approach also raises difficult challenges: the memory capacity of the tags is very limited, requiring compact and efficient data structures. Some results have been achieved for security applications, where we contributed to efficient integrity checking solution for coupled objects. Integrity checking based on objects group can also be used to provide reliable inventory protocol for RFID, which current readers are lacking. A paper has just been submitted on this aspect.
An applicative project (see ) in the context of domestic waste management is broadly investivating the use of RFID at item level to provide early waste sorting, to avoid incompatible mix of waste and to prevent hazards. An ontology based system has been proposed to determine the possible interactions of tagged products based on their properties and the external conditions.
Integrity checking is an important concern in many activities, such as logistic, telecommunication or even day to day tasks such as checking for someone missing in a group. While the computing and telecommunication worlds commonly use digital integrity checking, many activities from the real world do not benefit from automatic integrity control mechanisms. RFID technology offers promising perspectives for facing this problem, but also raises strong privacy concerns as most of the RFID-based systems rely on global identification and tracking. Previously we have already designed Ubi-Check to provide an approach aiming at coupling physical objects and enabling integrity control built on local interactions, without the support of a global information system. Ubi-Check led to the development of various novel applications running quite on the same technology. Most of the partners showed a high interest in defining coupled object-based security solutions, but they were lacking the possibility of defining hierarchical couplings. This is that we have studied and implemented this year. We have designed the Ubi-Tree software which strives to deal with those new requirements.
Ubi-Tree is a new solution/software designed at INRIA aiming at setting-up and reading hierarchical couplings. It relies on a structure in which physical objects (also called fragments) are seen as external nodes of a tree that we call coupling tree. External nodes of a tree are called leaves. In the system, internal nodes are called coupling nodes. Each fragment embeds an RFID tag supporting coupling data. Coupling data stores the coupling tree. Each internal node can be checked, which means a lacking, illegally forged or corrupted node can be detected at any depth of a coupling. Ubi-Tree proposes a new API to create and check hierarchical couplings and an interactive editing GUI is under development.
New algorithms and structure to store and read hierarchical couplings trees in its leaves (RFID tags) have been developed, making it possible to use multiple coupling levels. Let's take an
example: given three physical objects
The key idea of the coupling structure is that coupling data are spread in a way that only descendant leaves of a coupling node are required to read it and process its integrity control.
This way,
Valid: the set of detected tags enabled to decode a structure in which the node has the children and the parent it is supposed to have.
Partial: same as the valid status except the node should have a parent that could not be read from detected tags.
Incomplete: the node is missing some of its children.
Today the management algorithms of graphs are located on the memory available RFID reading and writing. However, in the various applications envisaged, only a subset of RFID memory are
read / write, others are only accessible in read-only. Currently we are working on the development of our algorithms that take into account this kind of configuration. The other problem we
are working on today is the interface provided to users to be sure that the association between RFID tag and physical object is the one that is perceived by our coupling software. The idea is
to be able to identify in the right way the RFID tag associated to a physical object when we place one physical object
Pervasive computing involves tight links between real world activities and computing process. While the perception of the real world events can be handled entirely by the application, we think that ad hoc approaches have limitations, in particular the complexity and the difficulty to re-use the code between applications. Instead, we promote the use of system level abstraction that leverage on tangible structures and processes. Important properties of this approach is that applications are, by design, operating in an implicit way ("in the background" of physical processes). They also often exhibits simpler architectures, and "natural" scalability in the sense that being build upon existing real-world process, they are strongly distributed design that relies essentially on local interactions between physical entities. We are applying this approach to "Smart Homes". A Smart Home is a residence equipped with computing and information technology devices conceived to collaborate in order to anticipate and respond to the needs of the occupants, working to promote their comfort, convenience, security and entertainment while preserving their natural interaction with the environment.
In a classical "logical" approach, all the intelligence of the Smart Home is condensed in a single entity that takes care of every device in the house. The sensors distributed in the environment have to send back all the gathered data to the central entity, that takes all the burden of parsing the sensitive information and infer the policies to be implemented. Our architecture is instead focused on a physical approach, where every device carries a part of the global intelligence: every single entity can analyze the part of information sensitive for its goal, derive useful data, and communicate meaningful information to the other devices.
Our work is based on a four-layer model , as showed in Figure . The first layer of our system should be simply composed of sensors, but some constraints have to be fitted. In order to reduce the global system cost and to protect the inhabitants' privacy, the number of sensors dispatched in the environment has to be reduced as much as possible. However, a huge number of different sensors are required to sense context pieces and redundancy can significantly increase the reliability of the sources. With this idea in mind, the sensors are grouped in nodes. These nodes are able to preprocess the data with simple computation such as minimum, maximum and average. They also enable the sensors to communicate, using, for instance, 6LowPAN (IPv6 over LoW Power wireless Area Networks).
In the second layer, the raw data are processed to obtain more abstract data about context and occurring situations. It could be, for instance, a presence in a room, the number of people in this room or the posture of someone. The aggregation of raw data is realized thanks to a data fusion algorithm. The one we adopted is called the belief functions theory or theory of evidence .
The bridge between the second and the third layer is realized integrating the results of sensor data fusion into a context model called Context Spaces. This model uses geometrical metaphors to describe context and situations, relying on the following concepts: the context attributes, the application space, the situation spaces and the context state. The context attributes are information types that are relevant and obtainable by the system; in our case, the context attribute values are provided by the perception layer, together with a degree of confidence on them, needed to cope with the intrinsic uncertainty of sensing systems in real world scenarios. In the situation and context identification layer, the context state provided by the perception layer is analyzed to infer the ongoing situation spaces (representing real-life situations) and also produce a measure of confidence in their occurrence. As the same context state can correspond to several different situation spaces (and vice versa), reasoning techniques are needed to discern the actual ongoing real-life situations in spite of uncertainty .
The computations required by the second and the third layers to obtain abstract data and to analyze context and situations are too heavy for our nodes to be processed on. To remedy to this problem, more powerful nodes acting like sinks are used. These nodes are small "plug and play" computers called plug computers. Their role is to gather data from sensor nodes and to perform data fusion, required to produce the context attributes, and context space reasoning, used to identify ongoing situations.
The figure gives an overview of our system architecture. The latter has been demonstrated by ACES team at EDF R&D in November.
Partner : EDF - R&D
Starting: 01/06/2010, ending : 01/06/2013
The objective of this new 3 year project is to study the use of ambient computing principles for the management of electricity consumption in residential habitat. The objective is (1) to define scenarios based on home people activities, and (2) to propose an implementation of these scenarios using ambient computing mechanisms studied in the ACES project. The results are presented in section .
Partners: ACES (INRIA Rennes) and POPS (INRIA Lilles), Veolia Propreté, and Etineo (a start up company focused on M2M communications and ambient networking)
Starting: November 2010; ending: November 2013
Bin That Think is a research project funded by the ANR Ecotech program, which aims at sorting domestic waste at early stage in order to reduce costs and risks in waste sorting center, as well as helping citizens to adopt environment respectful. To this end, Bin That Think introduces a new system for (1) identifying the waste which involve a reject during waste collection, (2) detecting incompatible products and (3) implementing a reporting infrastructure enabling an efficient management/planning of the waste collecting process. Bin That Think will use RFID and embedded sensors to enable waste containers as an intelligent waste infrastructure and a network of smart sensors.
PC member for ANT-2011: 2nd Int. Conf. on Ambient Systems, Networks and Technologies, M. Banâtre.
PC member for SAHNS 2011: Third Int. Workshop on Specialized Ad Hoc Networks and Systems, M. Banâtre.
PC member for ruSMART 2011: The 4th conference on Smart Spaces (Aug 2011), M. Banâtre.
PC member for SASO 2011: 5th IEEE Int. Conf. On Self Adaptative and Self Organizing Systems (oct 2011), M. Banâtre.
PC member for the Fifth Int. Conf. on Mobile Ubiquitous Computing, Systems, Services and Technologies UBICOMM 201, M. Banâtre.
PC member for SCW 2011: Spatial Computing Workshop, Oct 2011, M. Banâtre.
PC member for the 8 th Int Conference on Intelligent environments - IE'12, Guanajuato, Mexico, June 2012. , M. Banâtre.
PC membre of the 14th International Symposium on Wireless Personal Multimedia Communications (WPMC'11), F. Weis.
Michel Banâtre is expert to the European Commission (FP7 program): reviewer member for SM4All and CONSERN projects.
Master : Ambient Computing and Distributed Operating Systems, M. Banâtre, P. Couderc and F. Weis, 18 hours, M2, University of Rennes - DIIC 3, France
Master : Ambient Computing and Mobile Communications, M. Banâtre and F. Weis, 6 hours, M2, university of Rennes, France
Master : Distributed Systems, M. Banâtre, 18 hours, M2, Ecole des mines de Nantes, France
Master : Wireless LANs, F. Weis, 4 hours, M2, Telecom Bretagne, France
Master : Mobile communications and ambient computing, M. Banâtre, 8 hours, M2, ENSEIRB Bordeaux, France
Master : Mobile communications and ambient computing, M. Banâtre, 4 hours, M1, Ecole Centrale de Paris, France
Master : Mobile communications and ambient computing, M. Banâtre and F. Weis, 6 hours, M2, Ecole Centrale de Paris, France
PhD in progress : M. Dominici, Context Management in Smart Homes, 01/11/09, M. Banâtre and F. Weis
PhD in progress : B. Pietropaoli, Proximate interactions and data fusion in Smart Homes, 01/10/10, M. Banâtre and F. Weis
PhD in progress : Minh Ho, Indoor localization mechanisms for ambient computing systems, 01/11/08, M. Banâtre and F. Weis
PhD in progress : Arnab Sinha, Pervasive control systems for smart waste management solutions, 14/12/10, M. Banâtre and P. Couderc