Today's average household consists of several electronic systems such as televisions, refrigerators, personal computers, personal digital assistants and music systems. All these devices operate independently from each other. In the vision of the networked home environment, these devices can communicate with each other in an intelligent manner. In such a futuristic home, for example, the refrigerator may communicate with the TV to warn the viewer that the door has been left open. Another example is that the ambient lighting might change automatically for movie watching. Several challenges have been hampering development in intelligent networked home environments, such as lack of interoperability between different manufacturers' equipment and the lack of compelling user services.
Amigo provides a platform and building blocks for technologically advanced home environments. This platform gets all networkable devices and services in the home to communicate with each other. It overcomes interoperability issues by using a service-oriented architecture, Web services and protocols such as Universal Plug and Play (UPnP). Semantic interoperability is ensured through ontology definitions that enable a common understanding between the interacting devices.
The Amigo architecture contains a base middleware layer, an intelligent user services layer, Amigo-aware applications, and a programming and deployment framework. The middleware layer and the user services layer provide the functionalities needed for a networked environment and an ambient in-home network, respectively. Amigo-aware applications and services form the top-layer of the architecture, and the programming and deployment framework allows developers to create applications and services. The interoperable middleware operates across different application domains and across different homes and environments. This flexibility of the architecture ensures that the system can grow, as and when new devices and applications are added. Furthermore, the Amigo software is open source, which encourages further development of the system.
The Amigo service-oriented architecture enables the development of software as services that are delivered and consumed on demand. Existing protocols for discovery and communication are supported in an interoperable way. This allows programmers to select the protocol of their choice while they can still access the functionality of services that are using different methods.
A suite of applications on top of the Amigo platform shows the potential for end-users and the benefits of the architecture for application developers. These include a comfort management system that maintains environmental conditions adapted to user profiles, different zones in the home, and the time of the day. Another example is a health management system that offers people in-home health monitoring and coaching. Using a personal device - a mobile - in somebody else's home network for using the services in one's own home is another possibility.
Amigo applications show the way ahead towards realization of a future where homes adapt to user behaviour. For example, doors are locked when someone leaves, and relatives or emergency services are contacted when someone is ill. The applications also allow sharing of information and experiences in an extended home environment, thereby enabling the use of tele-presence applications to communicate and interact socially. These applications use standard protocols that are widely used, such as Wi-Fi, Ethernet, and UPnP. Most of the applications are web-based, that is, any device with a web browser can connect to the Amigo network and users can easily interact with the home devices.