Since the early days of the Web, server-side executable content
has been an important Ingredient of server technology. It has
turned simple hypertext retrieval into real applications. Not
surprisingly, the idea of remotely controlling devices through
the Web1, 2 has always seemed near at hand. Because hypertext
user interfaces can run on any Web browser, UI development boils
down to Web content creation. Furthermore, thanks to the HTTP
standard's smart and scalable nature, we can fit embedded servers
into simple 8-bit microcontrollers with only a few Kbytes of RAM
and ROM
Ever since
we started integrating hypertext browsers into mobile phones,
people have proposed using mobile phones as remote controls. Now,
with the provision of short-range wireless connectivity- for example,
through Bluetooth mobile phones and other handhelds might substantially
change the way people interact with electronic devices. Here,
we report on our effort to create a low-power wireless microserver
with a very small form factor and connect it to mobile devices
using standard consumer technology.
EMBEDDING SERVERS INTO DEVICES
There are
several ways to make things visible on the Web. In the simplest
case, a server hosts an item's Web presence without a physical
connection to the item. A handheld device reads links between
the item and its Web presence, connects to the respective URL,
and retrieves information about the item. A well-known example
for this approach is the Cooltown Museum, 1 where small infrared
transceivers are located close to the pictures. When coming close,
the visitor's PDAs receive Web links that point to the information
pages for the particular picture. Unfortunately, interacting with
the item itself is impossible. Interaction with a device would
be possible if the device had a wireless control interface to
its internal logic. For example, the mobile terminal could download
a device-specific user interface application from the Web and
use it to control the device through a device-dependent protocol
(see Figure A1). This approach might become feasible when we can
download Java applications into mobile terminals with access to
Bluetooth APIs.
Accessing
the device immediately and locally without an Internet connection
would be possible only if the device contained an embedded Web
server (see Figure A2). An execution environment, such as serverside
scripting, would be required to interact with the device's logic.
Short-range connectivity seems to be an obstacle, but it empowers
location-aware applications through the wireless link's limited
reach. If a user wants to adjust a microserver-equipped TV's volume, he
or she does not want to accidentally interact with somebody else's
TV. Therefore, short-range wireless radio links, preferably using
unlicensed bands, are well suited for networking things and people.