next up previous contents
Next: Kitchens Up: Infrastructure for an Intelligent Previous: List of Figures

Subsections

   
Introduction

The Author
Photo credit: Peter Menzel

Distributed networks of ``Things That Think''[#!ttt!#] are far too rare. Things That Think is used as a term to include essentially anything with computation, sensing or actuation capability. Typically, however, it implies items that have embedded computation, sensing, or actuation that are not normally thought of as computational or thinking devices. Networks of these things are not common, despite the growing presence of the things themselves. Distributed software networks are ubiquitous. Distributed networks of things, however, are not.

Domestic environments provide a rich domain in which networked systems of things can be built. The kitchen in particular is an area ripe with devices that could be networked together in a useful manner. Specifically, a kitchen capable of aiding in the execution of a recipe, particularly in the planning, instruction, and sequencing of activities would be very useful. Further, a natural extension of such a system would include inventory management to allow questions like ``What can I make with what I've got?'' to be readily answerable.

There are a number of problems associated with building a distributed network of things, in the kitchen or otherwise, that are not addressed by either disconnected things or most existing distributed software systems. One such problem is a wider range of capabilities of components of the system. In most distributed software systems, while there may be some heterogeneity, most of the participants are similar computers. In a network of things, capabilities are much more variable. Another problem is that the description of the components of the system is not necessarily limited to the capabilities accessible through an API.

This work will focus on issues of managing a range of heterogeneous devices, semantic labeling of those devices, and building a recipe assistant for the kitchen using this infrastructure. Some of the other issues that are particular to distributed networks of things will also be discussed.

Approach

Nelson Minar
A software system and application test bed to ease the construction of these networks has been built. This system, called Hive[#!hiveweb!#], has been developed within the Media Lab by Matthew Gray, Nelson Minar, Oliver Roup and Raffi Krikorian. Hive is intended to be a flexible, powerful standard architecture to provide connectivity for distributed networks of things that think. A system for solving the above problems will be built into Hive.

Using the Hive system, a networked kitchen was built, and the ``recipe assistant'' scenario implemented. Construction of this system highlighted the strengths and weaknesses of the Hive architecture. Particularly, the kitchen provided a good test bed for utilization of Hive's semantic labeling system.

Further deployments of Hive within the MIT Media Laboratory, and development of other applications altogether, such as the new ``Honey, I Shrunk the CDs'' system1 (a jukebox demo), has allowed evaluation of the utility of the Hive system.

Organization

Oliver Roup
Photo credit: Webb Chappell
This work will cover the background that has led to the exploration of the networked kitchen and background in distributed computing systems. It will then describe the Hive system which was developed, and then how it was applied to the kitchen. Other applications of the same infrastructure will also be discussed, followed by an analysis of the effectiveness of Hive at addressing the problems associated with building complex systems of ``things that think''.

Background

A brief discussion of prior work in the domain of networked kitchens appears in Section 2. This includes prior work at the Media Lab, commercial development work, and work on the ``Universal Kitchen'' project at the Rhode Island School of Design. A description of other distributed systems that were examined and share qualities with Hive appears in Section 3.

Hive and semantic labeling

Section 4 describes the architecture of the Hive system, including details on cells, agents and shadows. It also covers the specifics of the implementation. Section 5 covers the semantic labeling system used in Hive, where it comes from, and how it is applied.

Kitchen demonstration system

In Section 6, details of the kitchen demonstration system are covered. The architecture and design of the system, and details of the implementation are covered. A comparison to prior work in the area is made, and the effectiveness of Hive is evaluated for this application.

Other scenarios

Hive has been applied in a number of other scenarios, and some of these are covered in Section 7. The scenarios discussed include ``Honey, I Shrunk the CDs'', an RF based location system, and the Hive demonstration system.

Jini

While Hive shares many qualities with other distributed systems, it is more similar to Jini than any other. These similarities warrant particular attention. Section 8 discusses the similarities, differences, and how these systems can interact.

Analysis

Section 9 analyzes the overall effectiveness of Hive, and identifies lessons learned, and suggests areas for future work.


next up previous contents
Next: Kitchens Up: Infrastructure for an Intelligent Previous: List of Figures
Matthew K Gray
1999-05-14