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.
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.
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 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
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;
Oxygen core team)
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)
(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)
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)