Smart Spaces

As part of our ongoing work in integrating the physical and virtual worlds, the concept of Smart Spaces where the physical world is instrumented so that it can influence the virtual world, is becoming more central to our research focus.

This document records some of the ideas which are evolving in this space.

Smart Space Scenarios

When considering a smart space the range of features that it could possess is vast. This section identifies a number of scenarios which describe smart spaces, and their relevant features.

At Home

The Car

The Office

The Meeting Room

The Lecture Theatre

Brains for Smart Spaces

Smart spaces require computers to implement their intelligence. Traditional workstations/PC-style devices are too big to support the discovery of what happens when your coffee mug is "smart".

We're doing some preliminary investigation into the suitability of various platforms for our research. There are several attributes of interest:

Power
The electrical power requirements of a device determine it possible use -- must it be tethered to mains power? how long can it operate on battery power?

Some devices are able to operate using novel power sources -- for example, the IRX2.0 PIC board from MIT has been run using solar cells powered from flourescent lights.

In the more speculative realms, the use of body heat and motion (like watches) as means of generating power could be used, or at least suggested if we are unable to marshal the hardware resources to actually implement such devices.

Networking
While it is easy to suggest that your toaster has an IP address, this is not appropriate for many smaller devices. The overheads in terms of power consumption, buffer memory and even code size required to implement even just UDP/IP are significant.

Smaller devices are typically capable of support relatively slow-speed serial connections, using either wired or wireless (typically infra-red) links. The implemented protocols however tend to be very simple, with poor support for error handling, congestion, etc.

In order to empower the full range of devices in a typical space, we must have strategies for supporting both conventionally networked devices (wired or wireless TCP/IP) and simpler interfaces.

Memory
For smaller devices, the amount of available memory ranges from a few kilobytes upwards. This precludes the use of complex networking protocols, interpreted languages, and sometimes even compiled high-level languages.

Physical Size
In order to have things like books, coffee cups, etc participate in a smart space, the physical size and robustness of the devices is important. While we cannot achieve the scale possible using mass-consumption manufacturing techniques, we must ensure that the utility of the artifact is not impeded to a degree that alters its use.

It seems that a reasonable amount of processing, storage and power can be obtained cheaply in packages approximately 5x5x1cm (2x2x0.5"). Most devices at this scale use infra-red networking with limited capabilities, and are based on a RISC 8bit CPU with a few K of RAM/FLASH, running on standard 9v batteries. We can realistically expect these devices to shrink by a factor of five within 5 years, and using mass production manufacturing.

For want of a better term, I'll call this size device a pico-computer.

A second level of scaling can be utilised with devices around 10x10x5cm. The PC-104 standard provides a modified PC architecture in a robust physical package. A full range of functionality is available, with a typical system being a 486-class CPU, several MB of RAM, an ethernet card and a 20M FLASH disk. Such systems can also run a real OS, including several Open Source options.

Again, time and manufacturing technology will likely make these devices significantly smaller and more powerful within 5 years. I'll term these nano-computers.

PC and workstation machines are traditionally categorised as micro-computers. Their size will probably remain reasonably constant, being constrained by DVD ROM devices, expansion card standards, etc. Their power will increase by orders of magnitude.

Infrastructure Integration

We have several integration points between the smart spaces hardware and the rest of our information environment. Foremost amongst these is networking, but we also have a number of Palm Pilot devices, a number of Apple Newton devices, and we're likely to acquire some WinCE devices.

Palm Pilots

Integration with the Palm Pilot is basically a matter of networking. While the standard cradle provides a wired option, perhaps the best approach is to attempt a small add-on board which provides IR connectivity.

Newtons

Our current Newton devices use the Photonics Cooperative network. This is an infrared Appletalk-based system, where a number of base stations are wired (normally daisy-chained) to the backbone network via an ethernet bridge (GatorBox CS). The Newtons use a transceiver connected to their localtalk port, and can support both Appletalk and tunneled IP applications.

We have approximately 200 of these transceivers, but they are no longer manufactured. Support from the vendor is very limited.

Avenues of Investigation

A number of possible platforms are being investigated. This section will continue to grow as further work is done.

  1. The MIT-designed IRX-2.0 PIC board provides a very simple nano-scale platform. It is debugged, and the complete design is available for fabrication.

  2. The Photonics transceivers implement the Apple LocalTalk network hardware. LocalTalk uses the RS-422 physical layer (like RS-232, but with differential signalling) at a speed of 230.4Kbps.

    The link layer protocol LLAP must be implemented by the device. It requires some functionality which was implemented by Apple using the Zilog 8530 SCC chip. Zilog publishes an application note which describes such an implementation in some detail.

    To utilise the tranceivers on hand, one possible strategy would be to fabricate a small board (say 5x5cm) with a Zilog micro-controller, up to 1M RAM, a prototyping area with digital and analog I/O and a LocalTalk port for connection to the IR transceiver. Constrained by the size of the transceiver, such a device would be approximately 7x8x4cm (or 2.5x3.5x1.5 inches) in total (including batteries).

  3. Sun's ChorusOS is another option, although it is not clear what hardware is supported (some VME cards are, but they're not too useful!)

  4. Kadak is a small realtime OS, actually used by the Palm Pilot (underneath their Pilot APIs). It seems to support a wide range of hardware and tools.

  5. QNX is a widely respected, Intel-hardware microkernel OS with a full range of services including TCP stack, window systems, etc. It's main claims are flexible configuration and reliability.

    POSIX APIs are available.

  6. vxWorks is another commercial realtime OS.

  7. VSTa is a freeware realtime OS aimed at PC hardware.

  8. eCOS is a freeware realtime OS from Cygnus. Relatively new, it is suppported on a couple of embedded processors, but has a great set of development tools behind it. I expect this will grow fairly rapidly.