MIT Project Oxygen H21: Mobile Devices

Person-centered devices provide universal personal appliances that are inexpensive and can be carried and used anywhere. They are equipped with perceptual transducers such as a microphone, speaker, video camera, and display. In response to speech commands, they can reconfigure themselves through software into many useful appliances such as a two-way radios, cell phones, geographical positioning systems, and personal digital assistants, thereby replacing the many dedicated devices we usually carry with us, reducing overall weight, and conserving power.

Handheld devices, called H21s, provide flexibility in a lightweight design. They are anonymous devices that do not carry a large amount of permanent local state. Instead, they configure themselves through software to be used in a wide range of environments for a wide variety of purposes. For example, when a user picks up an anonymous H21, the H21 will customize itself to the user's preferred configuration. The H21s contain board-level antennas that enable them to couple with a wireless N21 network, embedded E21 devices, or nearby H21s to form collaborative regions.


H21s, like E21s, are universal communication and computation appliances. They leverage the same hardware components as the E21s so that the same software can run on both devices. H21s differ from E21s mainly in

  • their connections to the physical world,
  • the computational power they provide, and
  • the policies adopted by the software that runs on the devices.

Connections to the physical world
Because handheld devices must be small, lightweight, and power efficient, H21s come equipped with only a few perceptual and communication transducers, plus a low-power network to extend the I/O devices to which it can connect. In particular, H21s are not equipped with keyboards and large displays, although they may be connected to such devices. Through the N21 network, an H21 can connect unobtrusively to nearby, more powerful E21s, which provide additional connections to the physical world. The H21 contains multiple antennas for multiple communications protocols that depend on the transmission range, for example, building-wide, campus wide, or point-to-point.

Computational power
H21s provide less computational power than E21s, because they are smaller and use batteries as a source of power. Initial prototypes are based on StrongArm processors. Later prototypes will use stream-efficient Raw microprocessors to provide better performance and to make more efficient use of power.

Software policies
Software enables an H21 to be a power efficient, universal personal appliance. Software provides functionality often provided by dedicated hardware (e.g., for the signal processing used in wireless communication), thereby increasing flexibility. H21s maximize performance and minimize power consumption through software (and, later, through Raw's software-reconfigurability) that adapts to current operating conditions.

Software on the H21 determines the device's current location and orientation, discovers the extant communication protocols within the environment, and locates and downloads the appropriate communication and signal processing software (e.g., for AMPS or CDMA), when necessary, from other nearby H21s or E21s. Likewise, when a user asks an H21 to become a radio or television, bootstrapping software on the H21 locates and downloads the appropriate communication and signal processing software.

An H21 uses local or downloaded software to reconfigure itself into particular communication devices (e.g., cell phones or radios). It receives input from its antenna, processes the input in software (or in software-configured hardware), and outputs sound from its speakers. Apart from a broadband A/D converter attached to an antenna, all signal processing takes place entirely in software, thereby minimizing the need for special-purpose DSP or ASIC hardware. H21s also serve as dynamically adaptable universal network interfaces: download-and-play coding and modulation modules enable them to incorporate new protocols and transmission methods on the fly. Adaptation enables smooth vertical hand-offs to different communication protocols, not just horizontal hand-offs to different transmitters using the same protocol.

Software allows high-level protocols to adapt flexibly to changing channel conditions, as well as to changing application demands. When a transmitter notices low noise on a channel (for example, when it receives few requests for retransmission), software may reduce transmission power to conserve energy, or it may negotiate a change in modulation techniques (e.g., to use a larger constellation size) to increase the transmission bit-rate. When a receiver experiences high noise on a channel, software may choose to increase the number of filter taps and clean up the signal, to drop data that won't be missed (e.g., a millisecond of voice data), to request transmission of the corrupted data, or to request a change in transmission power or modulation format.

Software helps conserve power in other ways by trading off computation and communication among portable and high-power stationary devices. H21s can off-load expensive computations on nearby E21s. Similarly, since transmission power varies with distance, H21s can relay wireless transmissions through nearby E21s, thereby shifting energy consumption from battery-powered to wired devices.

Oxygen Today

Handy-21 prototype
iPAQ with BackPAQ A prototype H21 for Project Oxygen is based on a handheld Compaq iPaq with a 200Mhz StrongArm processor, extended by a custom BackPAQ sleeve developed with the aid of Project Oxygen and its partners. The BackPAQ contains a digital CMOS camera, an accelerometer, a FPGA, an audio codec and headset jack, and two PCMCIA slots (for wireless connectivity and disk storage). Oxygen software runs under Linux on the H21. (Jamey Hicks, Hewlett Packard Cambridge Research Laboratory; Ken Steele, Oxygen core team)

Emerging hardware architectures
The Raw Architecture Workstation (Raw) is a simple, wire-efficient architecture that scales with increasing VLSI gate densities. Raw seeks to gain the energy and performance advantages of application-specific integrated circuits (ASICs), while retaining the programmability of a general-purpose computer. Raw fully exposes low-level hardware details to software, which can determine and implement the best allocation of resources for each application. (Anant Agarwal, Computer Architecture Group)

Scale (Software-Controlled Architectures for Low Energy) is a new energy-aware VLSI architecture for future embedded systems, in which power consumption will be the primary constraint on system performance, cost, and size. Scale gives software fine-grain control over system energy consumption, exploiting compile-time knowledge to reduce run-time energy dissipation. (Krste Asanovic, Computer Architecture Group)

Support for multimedia applications
StreamIt is a language and high-performance compiler for streaming applications such as software radios and televisions, intelligent software routers, and cell phone base stations. It presents a higher level of abstraction than MIT's earlier SpectrumWare software architecture, yet improves performance by a factor of two for an FM radio. StreamIt is portable across machines that are well suited for stream processing, including those like Raw with communication-exposed architectures. (Saman Amarasinghe, Computer Architecture Group)