Check out the new USENIX Web site. next up previous
Next: Solutions Up: Smart Office Spaces Previous: What is a Smart

Challenges

We see four broad challenges to creating effective smart spaces in an office environment. All four challenges involve eliminating dependencies that hinder flexibility. In a smart space, with a potentially large number of components, even a modest failure rate can lead to a system where the inability to do work is chronic. One way to avoid this problem is to reduce failure rates (which is often hard). Another approach, which we are pursuing, is to vigorously avoid creating dependencies.

The four challenges (all forms of dependencies) that concern us are:

Power dependencies:
Power is obviously a pressing concern in smart spaces. With dozens of devices cooperating, the likelihood (with today's technology) that one of them will have a battery running low or will need to be plugged in, is high. Another way to think of this problem is that fully untethered dynamic computing requires us to get rid of two wires: the communications wire and the power wire. Embedded wireless gets rid of the communications wire. We still need to worry about power.
Network dependencies:
A lot of problems in smart spaces get easier if you assume that a smart device is constantly attached to the wider Internet. In particular, it is easy to assume that smart devices are configured by means of a network device configuration protocol such as the Dynamic Host Configuration Protocol (DHCP). Furthermore, if a device lacks some piece of information (an applet, some data, or a name-to-address binding) it is often convenient to assume that this information can be retrieved from some repository. Authentication of a user or a device may require an authentication certificate to be downloaded from a certificate authority.

But there are a number of environments where devices may not be connected to the Internet, or may have only intermittent connectivity. In our view, it is unacceptable to design a system that requires Internet connectivity to function correctly.

Peripheral dependencies:
It is very easy to build in dependencies on certain types of peripherals. The most obvious example is the keyboard. Many applications unnecessarily assume the user has a keyboard. Any input device (mouse, voice input, or keyboard) should suffice, especially if the user wants to do something simple like deleting a slide from a presentation.

Application dependencies:
The major reason many people haul PCs around is that the PC contains the code for all the applications they use. If we are really going to make smart spaces work, we need to solve the problem of the tight coupling between applications and the files they produce or maintain.

An example may help to illustrate this point. Suppose you are going to give a presentation. In the ultimate smart space, all that should be required is a self-reading diskette cartridge that contains a copy of the presentation, a projection device such as a flat screen or projector and some mechanism, such as a button, to advance the slides. But in today's world, this configuration isn't sufficient. You'll also need the software that generated the presentation and knows how to read and display the presentation file. We think that's undesirable: it creates a situation in which it appears to the user (who can see the diskette, projector and button) that she has everything necessary to give the presentation, but in fact it is not possible.


next up previous
Next: Solutions Up: Smart Office Spaces Previous: What is a Smart
Alden W. Jackson
1999-03-19