<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
<title>Spatially aware local communication in the RAUM system</title>
</head>

<body LINK="#0000ff" VLINK="#800080">
<b>

<p ALIGN="CENTER"><font FACE="TIMES" SIZE="4">&nbsp;</p>

<table border="0" cellpadding="5" cellspacing="10" width="100%">
  <tr>
    <td align="center" bgcolor="#CFCF9E"><font color="#000000" size="2"
    face="Arial, Helvetica"><a href="http://www.teco.edu/~michael/" style="color: rgb(0,0,0)"><strong>michaels
    home</strong></a></font></td>
    <td align="center" bgcolor="#CFCF9E"><a
    href="http://www.teco.uni-karlsruhe.de/~michael/publications.html"
    style="color: rgb(0,0,0)"><font color="#000000" size="2" face="Arial, Helvetica"><strong>publications</strong></font></a></td>
    <td align="center" bgcolor="#CFCF9E"><a href="http://ms-aic.teco.uni-karlsruhe.de"><font
    color="#000000" size="2" face="Arial, Helvetica"><strong>mib</strong></font></a></td>
    <td align="center" bgcolor="#CFCF9E"><a href="../../contact.html"><font color="#000000"
    size="2" face="Arial, Helvetica"><strong>contact me</strong></font></a></td>
  </tr>
  <tr>
    <td align="center" bgcolor="#CFCF9E"><a href="http://mediacup.teco.edu/"
    style="color: rgb(0,0,0)"><font color="#000000" size="2" face="Arial, Helvetica"><strong>mediacup</strong></font></a></td>
    <td align="center" bgcolor="#CFCF9E"><a href="http://ubicomp.teco.edu"
    style="color: rgb(0,0,0)"><font color="#000000" size="2" face="Arial, Helvetica"><strong>ubicomp</strong></font></a></td>
    <td align="center" bgcolor="#CFCF9E"><a href="http://handheld.teco.edu"
    style="color: rgb(0,0,0)"><font color="#000000" size="2" face="Arial, Helvetica"><strong>handheld
    virtual library</strong></font></a></td>
    <td align="center" bgcolor="#CFCF9E"><a href="../../pgpkey.asc"><font color="#000000"
    size="2" face="Arial, Helvetica"><strong>PGP</strong></font></a></td>
  </tr>
</table>
</font></b>

<p ALIGN="CENTER"><b><font FACE="TIMES" SIZE="4">Spatially aware local communication in <br>
the RAUM system</font></b></p>
<font FACE="TIMES" SIZE="2">

<p ALIGN="CENTER">Felix Hupfeld, Michael Beigl</p>
</font><div align="center"><center>

<address>
  Universität Karlsruhe, Telecooperation Office, 
</address>
</center></div><div align="center"><center>

<address>
  Vincenz-Prießnitz-Str. 1, D-76131 Karlsruhe, Germany 
</address>
</center></div><font FACE="Courier,Courier New" SIZE="1">

<p ALIGN="CENTER">{hupfeld, michael}@TecO.edu</font></p>
<font face="Verdana, Helvetica, Arial" size="2">

<p align="center"><i>Proceedings of the IDMS</i>, Enschede, Niederlande</font><font
face="Verdana, Helvetica, Arial" size="1">, </font><font face="Verdana, Helvetica, Arial"
size="2">October 17-20, 2000, pp 285-296, ISBN 3-540-41130-5</font> </p>

<dir>
  <dir>
    <font FACE="TIMES" SIZE="1"><b><p ALIGN="JUSTIFY">Abstract.</b> In this paper, we propose
    a new paradigm for local communication between devices in Ubiquitous Computing
    environments, assuming a multitude of computerized everyday appliances communicating with
    each other to solve tasks. This paradigm is based on the concept that the location of
    devices is central for the communication in such a scenario. Devices define their
    communication scope by spatial criteria. In our paradigm no explicit addressing or
    identification of communication partners is used. In comparison to traditional
    communication methods the approach eases routing and discovery problems and can be
    deployed in a highly dynamic environment without centralized services. We use the term
    local communication as inter-device communication in a physically restricted local area.
    This is well distinguish from the terms telecommunication as communication over distance
    where location information is explicitly hidden. The communication model (RAUM) introduced
    is based on the observation that humans structure their environment primarily spatially.
    We show that spatially aware communication, is an efficient method communication in
    ubiquitous computing environments. We relate the communication architecture of the OSI/ISO
    reference architecture. An exemplary implementation that realizes a context information
    system is described. Based on this system several applications (Smart Doorplate,
    Communication with peripheral devices) have been implemented and evaluated. </p>
  </dir>
</dir>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">Introduction</p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">In the vision of &quot;ubiquitous computing&quot; devices and humans
obtain access to any information everywhere [</font><a HREF="#Weiser">Weiser, 1991</a><font
FACE="TIMES" SIZE="2">]. This vision is implemented by many research projects like
Stanfords Interacive Workspace [</font><a HREF="#Fox">Fox et al., 2000</a><font
FACE="TIMES" SIZE="2">] or GMDs iLand [</font><a HREF="#Streitz">Streitz et al., 1998</a><font
FACE="TIMES" SIZE="2">]. A further class of systems is based on the idea that there are
services and information, that is not location bound, that should be ubiquitously
accessible, e.g. database access and web-pages. For example, in the ParcTab project [</font><a
HREF="#Want">Want et al., 1995</a><font FACE="TIMES" SIZE="2">] information in the
Internet, e.g. a text document or e-mail at your &quot;home server&quot;, are accessible
from everywhere around the world with the help of small devices. This prototype can be
considered as an ancestor of the upcoming WAP-enabled devices [</font><a HREF="#WAP">WAP</a><font
FACE="TIMES" SIZE="2">] or Internet enabled Personal Digital Assistants (PDAs) as 3COMs
PalmV, that allow Web-access or access to a virtual &quot;home base&quot; via Internet.</p>

<p ALIGN="JUSTIFY">Other ubiquitous computing systems provide local information for global
access. For instance in the Olivetti ActiveBadge project [</font><a HREF="#Harder">Harder
&amp; Hopper, 1995</a><font FACE="TIMES" SIZE="2">] stuff was wearing electronic badges.
These badges are tracked by a location system and the processed information is then
presented on the Web. Using the SmartBadge [</font><a HREF="#Beadle">Beadle et al., 1997</a><font
FACE="TIMES" SIZE="2">] even context information collected from sensors on the badge are
accessible to internet users. </p>

<p ALIGN="JUSTIFY">An example for a project addressing the research on context information
is Georgia Techs Aware Home project [</font><a HREF="#Kidd">Kidd et al., 1999</a><font
FACE="TIMES" SIZE="2">], where a house is equipped with context retrieving sensor systems.
A great part of such context information is not of interest for a user or machine outside
of a spatial scope, but builds the basis for &quot;local&quot; application. We have
identified location as the most important context for communication of computer-augmented
devices in ubiquitous computing [</font><a HREF="#Beigl">Beigl, 1999</a><font FACE="TIMES"
SIZE="2">]. This kind of local communication is different from telecommunication and will
be explained next. The architecture and experiments with the system will then give a
closer insight into the RAUM-system. </p>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">Types of Communication</p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">The challenges in telecommunication of the last decades were primarily
to enable people to communicate over great distances independently of their location. As
the prefix suggests, telecommunication is about remote communication. Telecommunication
system abstract from the location of the communication partners.</p>

<p ALIGN="JUSTIFY">The use of a telecommunication system arises from the need to
communicate with somebody or something who or which is not physically present at the
location of the caller. The communication partners (more precise the end-systems) are
chosen by their <b>identity</b>, e.g. if you pick up your phone, you want to call a
specific person whose identity is represented by her or his telephone number. The same
applies to device telecommunication, here using the Internet. The first criterion for
selecting the remote computer system is its identity represented by the IP address or the
DNS name and then choosing the service. As a consequence parameters as the <b>physical
location</b> of the partners are <b>hidden</b> from the user and from the end-system by
the telecommunication system. </p>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">Local Communication </p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">We regard communication between partners that are located in the same
physical space as <b>local communication.</b> We consider the same physical space as what
is perceived by a human as &quot;environmental&quot; [</font><a HREF="#Montello">Montello,
1993</a><font FACE="TIMES" SIZE="2">] or local to the device. Local communication is
carried out not only between humans but also between machines in <b>interactive rooms</b>.
Such interactive rooms are equipped with (invisible) computer systems everywhere in the
environment:</p>

<dir>
  <p ALIGN="JUSTIFY">Interactive rooms are places where the environment and many artifacts
  of the everyday live are extended with computer and communication technology. </p>
</dir>

<p ALIGN="JUSTIFY">Local communication supports this by providing a basic communication
that is easily understandable to the human and flexible in its use without administrative
overhead. In local communication partners (e.g. computerized artifacts) are selected
according to their spatial co-location and not based on their identity. This selection
process does not require any user interaction or administration. Services or information,
which are requested by one device, are retrieved through communication to devices nearby.
In this form of communication access to and from devices outside the local environment is
not supported. </p>
<b>

<p ALIGN="JUSTIFY">Spatially aware communication</p>
</b>

<p ALIGN="JUSTIFY">The importance of the spatial relationship is obvious in human
communication: If you want to talk to somebody, you stand in front of him. When
you&#146;re talking, you neither want to communicate with a person behind you nor with a
person in another room. Furthermore, the identity of the person you are talking with is of
less importance. Your scope of communication is the person next to you.</p>

<p ALIGN="JUSTIFY">This kind of spatial communication relationship is transferred to
communication of computerized devices. As with humans, the spatial relationship defines an
area of interest based on the spatial layout. As recent findings in cognitive science
suggest, that for humans space is central for the understanding of interaction and
communication [</font><a HREF="#Kirsh">Kirsh, 1995</a><font FACE="TIMES" SIZE="2">].
Considering the involvement of humans for local communication, human understanding of the
communication process is important. In interactive rooms application developers and users
will benefit from the human understanding of communication [</font><a HREF="#Brooks">Brooks,
1991</a><font FACE="TIMES" SIZE="2">]. Our research suggests that such an understandable
and efficient form of human-like communication is also efficient for device communication.</p>

<p ALIGN="JUSTIFY">In spatially aware communication devices use location as their primary
attribute for selecting potential communication partners. Devices describe a scope of
interest in which they are willing to communicate depending on the current state of the
application running on the device. By doing so the communication simulates the
communication behavior of humans. Only communication from partners inside a scope is
accepted. At the end of the paper we describe some example applications, that are build
upon such communication paradigm. </p>
<b>

<p ALIGN="JUSTIFY">Service oriented local communication</p>
</b>

<p ALIGN="JUSTIFY">Location awareness is important for the communication of local devices
and applications, as it was shown in the examples above. Beside from building a new kind
of communication system we can achieve this goal by using existing communication
technology: a service-oriented telecommunication system enhanced with a lookup service or
an infrastructure as in Jini or T-Spaces. As we mentioned before, the location information
is hidden by these telecommunication systems. It has to be reintroduced and modeled
explicitly via a service. This service must be able to track the location of each device
and to select communication partners by spatial layout. See [</font><a HREF="#Maass">Maaß,
1997</a><font FACE="TIMES" SIZE="2">] for a system architecture of this kind.</p>

<p ALIGN="JUSTIFY">This solution has several drawbacks. First, the usage of a
telecommunication system introduces a first indirection. The devices are mobile, thus a
dynamic mapping between the device identifier and its position has to be made for routing
packets. The network has to know in which subnetwork the device is located in order to
forward the packets there. The central property of local communication, the device
location, is hidden at first and then reintroduced explicitly through a service. This
introduces (apart from the overhead caused by the lookup) a second indirection. A device
position is mapped to a network address, which has to be mapped back to a position (i.e.
routing information) for delivery. This makes the system inefficient and depends on
dynamic mappings, which have to be set up and kept up-to-date. [</font><a HREF="#Beigl">Beigl,
1999</a><font FACE="TIMES" SIZE="2">] shows that the more devices take part in such a
system and the more complex the system is (in terms of communication scope extension), the
overhead introduced this way is rising against the spatially depended communication system
we present here.</p>

<p ALIGN="JUSTIFY">Additionally, the reintroduction of the location in a telecommunication
system requires a service rendered by a central server in current systems which introduces
the problems of service discovery, configuration/administration and availability. </p>

<p ALIGN="JUSTIFY">Using telecommunication systems for local communication introduces a
large overhead. A genuine location-centric local communication system foregoes the problem
of routing packets to mobile devices due to the fact that the message identifies the
position of the targets. Thus no techniques such as mobile IP, stemming from implicated
locality of the IP address system, need to be employed to be able to route the flow of
information to a device in a constantly changing network topology. It does not depend on a
central service to define the spatial communication scopes, which introduces the problems
of service discovery, automatic configuration and availability.</p>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">RAUM-Architecture</p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">The RAUM-architecture describes the communication stack and the
protocol for artifacts and optional communication infrastructure. The RAUM-system
presented here is based on the RAUM-architecture and allows artifacts in interactive rooms
to communicate either with or without infrastructure in an ad-hoc manner. The
RAUM-architecture is modeled after the abstract concept of spatially dependent
communication [</font><a HREF="#Beigl">Beigl, 1999</a><font FACE="TIMES" SIZE="2">].</p>

<p ALIGN="JUSTIFY">The RAUM-concept describes the communication of devices according to
their spatial relationship in the physical world. Devices define regions of interest in
which they communicate (RAUMs). Such RAUMs describe a congruent geometric space in the
physical world; the geometric space is defined as a envelop over all points defining the
RAUM. Because the communication order in the RAUM-concept is bound to the physical
location of the objects taking part in the communication, objects that are inside the
space of interest are also inside the communication scope of the object defining the RAUM.
Every device that is physically located inside the envelop of a RAUM (or more precisely:
where the location is related to the set of points in the physical space) is then a member
of the RAUM. </p>
</font><div align="center"><center>

<table BORDER="1" CELLSPACING="2" BORDERCOLOR="#808080" CELLPADDING="4" WIDTH="444">
  <tr>
    <td WIDTH="19%" VALIGN="TOP"><p ALIGN="CENTER"><font FACE="TIMES" SIZE="2"><b>OSI/ISO No.</b></font></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="TIMES" SIZE="2"><b>RAUM System Layers</b></font></td>
    <td WIDTH="50%" VALIGN="TOP"><font FACE="TIMES" SIZE="2"><b>Functionality</b></font></td>
  </tr>
  <tr>
    <td WIDTH="19%" VALIGN="TOP"><font FACE="TIMES" SIZE="2"><p ALIGN="CENTER">7</font></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">Application Layer</font></td>
    <td WIDTH="50%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">Application</font></td>
  </tr>
  <tr>
    <td WIDTH="19%" VALIGN="TOP"><font FACE="TIMES" SIZE="2"><p ALIGN="CENTER">4-6</font></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">RAUM Event-Layer</font></td>
    <td WIDTH="50%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">Reliable service, world modeling,
    abstract presentation of packets for application</font></td>
  </tr>
  <tr>
    <td WIDTH="19%" VALIGN="TOP"><font FACE="TIMES" SIZE="2"><p ALIGN="CENTER">3</font></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">RAUM-Layer</font></td>
    <td WIDTH="50%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">Implements the core functionality
    of the RAUM system</font></td>
  </tr>
  <tr>
    <td WIDTH="19%" VALIGN="TOP"><font FACE="TIMES" SIZE="2"><p ALIGN="CENTER">2/1</font></td>
    <td WIDTH="31%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">RAUM Communication-Layer</font></td>
    <td WIDTH="50%" VALIGN="TOP"><font FACE="TIMES" SIZE="2">Non-reliable packet broadcast and
    physical transport</font></td>
  </tr>
</table>
</center></div><font FACE="TIMES" SIZE="1"><b>

<p ALIGN="JUSTIFY">Fig. 1.</b> Stack architecture of the RAUM system</p>
</font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">The architecture of the RAUM system is layered and can be related to
the one defined in the ISO/OSI model. The major functional operations for communication
within the RAUM model are concentrated on layer 3, the RAUM-Layer.</p>

<p ALIGN="JUSTIFY">The complete stack of the RAUM-System consists of 4 layers (see Fig.
1). The lowest layer is called &quot;RAUM-Communication-Layer&quot; and groups the
physical and the DLL layer (ISO/OSI layers 1&amp;2). The current definition of the
RAUM-architecture does not specify this layer. Instead existing implementations of DLL and
physical layer are used. The RAUM-Layer is responsible for the creation and dissolution of
communication relationships, for device location and routing of packets. Communication
relationships in the RAUM-system are created according to the definition of a spatial
area, the RAUM. Note that these RAUMs are not restricted to the physical broadcast space
of the medium.</p>

<p ALIGN="JUSTIFY">The next layer, the RAUM Event-Layer, spans the layers 4 to 6 providing
reliable communication and eventually offering abstract event communication services to
the application, that resides at layer 7. The rest of this section will focus on the RAUM
and RAUM-Event-Layer, but first the run of the RAUM-system is explained in more detail.</p>
</font>

<p ALIGN="CENTER"><img SRC="Image28.gif" WIDTH="377" HEIGHT="152"></p>
<font FACE="TIMES" SIZE="1"><b>

<p ALIGN="CENTER">Fig. 2.</b> Example of RAUM communication</p>
</font><font FACE="TIMES" SIZE="2"><b>

<p ALIGN="JUSTIFY">Run of a RAUM-communication</p>
</b>

<p ALIGN="JUSTIFY">The communication of the RAUM-system is datagram oriented. Applications
running on the devices send datagram packets to every RAUM they belong to. At the
application and RAUM Event-Layer these packets are called <b>events</b>. Figure 2 shows an
example run: A doorplate defines a RAUM where it wants to receive events from. After
definition it gets all events from the two cups (left) inside the RAUM. As one of the cups
leaves the RAUM (right), only the remaining cup keeps sending events to the doorplate. </p>

<p ALIGN="JUSTIFY">As it is not possible to technically prevent the doorplate from hearing
also events from cup 2, the RAUM protocol has to shield the application from these
unwanted events. Therefore every object keeps a list of RAUMs which he is belonging to,
and a list of all RAUMs it has defined. According to this list the RAUM-Layer decides if a
packet has to be ignored or to be processed. </p>

<p ALIGN="JUSTIFY">To allow a flexible handling of events adopted to the application needs
we had defined three kind of RAUMs:</p>

<ul>
  <li>Listener-RAUMs: With this kind of RAUM only the object that has defined the RAUM
    receives all events from all objects inside the RAUM. In the above example the doorplate
    defines such a Listener-RAUM</li>
  <li>Speaker-RAUMs: If an object defines a Speaker-RAUM all objects inside the RAUM receive
    all events from the speaker (the defining object). An example of a Speaker-RAUM is a
    Location-Beacon that constantly sends its location into a certain area.</li>
  <li>Discussion-RAUM: In the Discussion-RAUM every object inside the RAUM receives every
    event from all objects in the RAUM. This kind of RAUM is needed to allow negotiation with
    devices in an unknown environment.</li>
</ul>
<b>

<p ALIGN="JUSTIFY">RAUM-Layer</p>
</b>

<p ALIGN="JUSTIFY">The purpose of the RAUM-Layer is to decide whether a received datagram
is to be passed on for the user application or to be discarded, according to the RAUM
model. As defined in the previous section, RAUM packets are accepted if the potential
receiving device and the datagram packet itself are located inside the same RAUM. This is
a purely geometric requirement. </p>

<p ALIGN="JUSTIFY">To allow such a test, every packet sent must be mapable to a geometric
position and every device has to know its own position in space and be aware of the
defined RAUMs it is located in. Our devices have a built-in facility to detect their
geometric location via a location system (e.g. our IR-Beacons), so they know their
location and can tag broadcasted datagram packets with their current position. Device
position information is handled by a subsystem called the<i> Locator service</i> whose
instances communicate with the RAUM Location Protocol (RLP).</p>

<p ALIGN="JUSTIFY">The RAUMs themselves are named and defined geometrically by a sets of
points. Currently, unions of spherical and cubic shapes are possible. The RAUMs are either
stationary or moving with the device that is defining that RAUM. The interface to layer 3
provides upper layers with functions to open and close RAUMs. New or updated RAUM control
information is broadcasted to all other devices via the RAUM Information Protocol (RIP).
RAUM management is done by a subsystem called the <i>RAUM service</i>. Data is exchanged
via the RAUM Data Protocol (RDP).</p>
<b>

<p ALIGN="JUSTIFY">Routing</p>
</b>

<p ALIGN="JUSTIFY">If devices use different media for communication or the broadcast area
of the medium does not allow direct communication between devices coupling of network
segments is needed. This coupling enables for example a PDA with infrared communication to
interact with an ordinary network printer or an application running on a desktop computer.</p>

<p ALIGN="JUSTIFY">Every medium with its limitations forms something like a logical Local
Area Network (LAN). This is not exactly the original LAN concept, but every range-limited
medium can be thought of as a network in a local area. For example, the infrared (IR)
communication in a room form a LAN, as all IR transmitter-equipped devices in the room can
communicate, but no information reaches other rooms. Low power radio frequency (RF)
transmission and especially cable networks like Ethernet are other examples. Each LAN
covers a specific geometric area, for example the room the wireless transceiver is in or
the spots where devices are connected to the Ethernet. The regions covered by these LANs
can overlap, and thus a certain area in a room can be supplied by several media (Figure
4).</p>
</font>

<dir>
  <dir>
    <p ALIGN="CENTER"><img SRC="Image29.gif" WIDTH="280" HEIGHT="148"></p>
    <dir>
      <dir>
        <font FACE="TIMES" SIZE="1"><b><p ALIGN="CENTER">Fig. 4.</b> Infrared and Ethernet
        networking</p>
      </dir>
    </dir>
  </dir>
</dir>
</font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">To allow the inter-medium communication mentioned above, these LANs
have to be coupled with devices connected to some type of infrastructure giving them
access to the other LANs. This coupling is similar to inter-LAN communication in
telecommunication systems. Because there is no explicit addressing in RAUM communication
location information of the communication packets is used for routing. The location
information paired with the RAUM definition results in an addressing concept where the
location is congruent to the address in local communication and which can be used for
routing decisions. Such a router caches all communicated RAUM definitions of adjoining
LANs. Furthermore the component knows the physical dimension of theses LANs, too. Using
this information and the fact that RAUMs are geometrical objects it can be decided which
packets from one network interface should be forwarded on the other. RAUM packets are of
interest to a LAN if the described RAUM intersects with the area the LAN covers, so they
must be forwarded in this case. Packets must be forwarded into a LAN when any of the
devices there should receive it, for example when a RAUM covers the geometrical areas of
both LANs. So the communication stack has to check all RAUMs in this LAN to see whether
the packet is inside. Position information of a distinct device is needed in a LAN when a
packet from it has to be routed. Therefore location information has to be associated with
every packet send.</p>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">4 Application examples</p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">The RAUM system is currently used for inter-device communication in our
research in Ubiquitous Computing. The RAUM stack runs on desktop computers, Palm Pilots
and PIC microcontrollers [PIC]. Several routers couple the different media with an
infrastructure of infrared, radio frequency, CAN and Ethernet transceivers. There are
several LANs with numerous IR spots, RF areas and an Ethernet in several rooms. We built
several applications, some of them are used to yield context information for applications
in human computer interaction. We describe here two of them, more can be found in [</font><a
HREF="#BeiglGellersen">Beigl &amp;Gellersen, 1999</a><font FACE="TIMES" SIZE="2">] and in
[</font><a HREF="#Beigl">Beigl, 1999</a><font FACE="TIMES" SIZE="2">].</p>
<b>

<p ALIGN="JUSTIFY">4.1 The Context-Aware Doorplate</p>
</b>

<p ALIGN="JUSTIFY">The context-aware doorplate (SmartDoorPlate) displays the name of the
room, the names of the people working in that room, or events taking place there (e.g a
meeting is in progress in this room). The information for recognizing a meeting in
progress is inferred from the context established by MediaCups [</font><a
HREF="#Beigl2000">Beigl et al., 2000</a><font FACE="TIMES" SIZE="2">]. The MediaCup is a
computer-augmented coffee cup with infrared communication, which distributes status
information such as temperature and usage in specific time intervals. </p>

<p ALIGN="JUSTIFY">The doorplate application defines a RAUM with the same shape as the
room it is related to. In our set-up the plate is mounted next to the door and waits for
context information emitted in events by MediaCups. These events get packed into RAUM
datagrams and sent out via the infrared link. Every other infrared device within range,
i.e. every other device in this LAN, receives the packets. The router device, which has a
transceiver in every LAN, receives them, checks for the extension of the defined RAUMs and
routes them to the appropriate LANs, here the Ethernet. The communication stack of the
doorplate application receives them and puts them into the recognized &quot;world&quot;, a
storage space where the RAUM Event-Layer puts all information of interest into. Events of
interest are expressed with the receive operator. The doorplate is able to track the
presence of MediaCups in the room this way, and thus can infer from this context to an
ongoing meeting. </p>

<p ALIGN="JUSTIFY">Writing an application using the spatial awareness feature based on
local context can be done easily in a natural way, because the communication stack holds
all important information for it. When setting up this application using the RAUM system,
the doorplates define a RAUM with the same spatial dimensions as the conference room they
are monitoring. The cups in turn are set up to emit their data as messages sent to this
RAUM. With this simple setup, using just one RAUM per conference room, it is possible to
implement this application; the pseudo code of the smart doorplate is shown below:</p>

<p ALIGN="JUSTIFY">&nbsp;</p>
</font><font FACE="Courier New" SIZE="2">

<p>&nbsp;</font><font FACE="Courier New">MyRoomShape := Sphere (x,y,z,r)<br>
initializeRAUM (myRaumName, myRoomShape) <br>
world = receive (&quot;Cup, hot, *&quot;)<br>
while TRUE<br>
int rec_cups := 0<br>
rec_cups := count_known_objects(world)<br>
if rec_cups &gt; 2 then printLCD <br>
(&quot;Meeting&quot;)</p>
</font><font FACE="Courier New" SIZE="2">

<p>&nbsp;</p>
</font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">&nbsp;<b>4.2 Communication with peripheral devices</p>

<p><img SRC="Image30.gif" WIDTH="143" HEIGHT="189" ALIGN="LEFT" HSPACE="9"> </b></p>

<p ALIGN="JUSTIFY">A common scenario in local communication is the wireless connection
between an appliance and a peripheral device. For example, a digital photo camera has to
communicate with a printer or a storage medium on user&#146;s request, input devices as a
mouse or a keyboard have to be bound to a computer. We built a wireless computer keyboard
(AwareKeyboard) which can be used to input text on Palm Pilots. The connection between the
keyboard and the Palm Pilot is location sensitive: if you put the Palm Pilot next to the
keyboard, you can use it to enter text.</p>

<p ALIGN="JUSTIFY">The Palm Pilot defines a RAUM of circular shape around his current
location and filters for keyboard event messages. On keypress, the keyboard puts an event
in the RAUM system, which, when the Palm Pilot is near enough and thus the keyboard is
inside its RAUM, is received by the Palm Pilot:</p>
</font>

<dir>
  <font FACE="Courier,Courier New" SIZE="2"><p>initializeRAUM (PilotRAUMName, Circle (0.5
  m)) <br>
  events = receive (&quot;Keyboard, KeyRelease, *&quot;) <br>
  while TRUE<br>
  inject_into_input_queue( events )</p>
</dir>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">5 Related Work</p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">The idea of using a telecommunication system paired with a lookup
service to do local communication can be found in other systems. Some of them enable
devices to select their communication partner by spatial criteria, others simply pass
location information to the application. The introduction of location information in a
telecommunication environment is usually managed by a central location service, few
systems use decentralized facilities. Leonhardt [</font><a HREF="#LeonhardtMagee">Leonhardt
&amp; Magee, 1998</a><font FACE="TIMES" SIZE="2">] provides an architecture for
acquisition of location information from divers sources. [</font><a HREF="#Leonhardt">Leonhardt,
1998</a><font FACE="TIMES" SIZE="2">] covers the aspects of location-aware
telecommunication.</p>

<p ALIGN="JUSTIFY">Jini [</font><a HREF="#Jini">Jini</a><font FACE="TIMES" SIZE="2">] of
Sun Microsystems is an object-oriented distributed system for inter-device communication.
Jini-enabled devices register with a central lookup service where other devices can find
them and thus select their partner. Physical location plays no role in this selection
process, its focus lies on service compatibility.</p>

<p ALIGN="JUSTIFY">[</font><a HREF="#Maass">Maas, 1997</a><font FACE="TIMES" SIZE="2">]
describes an architecture which is similar in functionality to the RAUM system. Location
information is introduced in a telecommunication system via a central location component,
a directory service. The directory service allows clients to retrieve communication
partners by several different spatially dependent criteria such as distance, type and
special conditions, devices can be located and clients can get notified when given devices
meet or enter an area. Hive [</font><a HREF="#Minar">Minar et al., 1999</a><font
FACE="TIMES" SIZE="2">] of the Massachusetts Institute of Technology is a system for
device communication modeled after the Agent paradigm. No central services are used.
Devices are modeled as cells, their functionality is bundled in so-called shadows. Active
Agents move between those cells and are enabled to do location dependant communication
tasks by semantic models. </p>

<p ALIGN="JUSTIFY">The routing in the RAUM system between the interconnected LANs is based
on this &quot;location addressing&quot;. The aspect of using location information in the
addressing scheme in WANs (wide area networks) is studied in [</font><a HREF="#Navas">Navas
&amp; Imielinski, 1997</a><font FACE="TIMES" SIZE="2">]. Here, IPv6 addressing is combined
with geographical information from GPS (global positioning system) to aid in routing. [</font><a
HREF="#Ko">Ko &amp; Vaidya, 1998</a><font FACE="TIMES" SIZE="2">] describes a routing
scheme which uses location information as an aid in routing, too.</p>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">6 Conclusion and future work</p>
</b></font><font FACE="TIMES" SIZE="2">

<p ALIGN="JUSTIFY">We introduced the term local communication, contrasted it to
telecommunication and showed that location-based communication is more suitable to human
needs and to local communication topics. Such location-based communication is best suited
for interactive rooms where a multitude of computerized artifacts are communicating with
each other to carry out tasks mostly without direct user interaction.</p>

<p ALIGN="JUSTIFY">The presented RAUM system is an example of such a location-based
communication system. The architecture of the RAUM system is layered and can be related to
the one defined in the ISO/OSI model. The major functional operations for communication
within the RAUM model are concentrated on layer 3, the RAUM-Layer. In this layer delivery
and reception of packets according to spatial areas (RAUMs) and routing of packets is
handled. </p>

<p ALIGN="JUSTIFY">The RAUM system and applications implemented on top of the system are
in usage in an everyday environment since September 1999. The experiences collected with
the RAUM system and with the applications indicate that the chosen communication paradigm
is efficient in the given environment and allow us to identify areas of further work:
Human-Computer Interaction (HCI), Appliance (Hard- and Software) design and networks. In
interactive rooms HCI issues are very critical: In Appliance design the focus is on energy
safe design. Energy saving protocols (e.g. <em>[</em></font><a HREF="#Tsaoussidis">Tsaoussidis
et al., 1999</a><font FACE="TIMES" SIZE="2"><em>]) make an important contribution in that
area. </p>
</em>

<p ALIGN="JUSTIFY">Our current setup shows the advantage of using location-based
communication for local applications. Further work will investigate how location-based and
telecommunication can be assembled to provide the appropriate communication basis for
different application tasks. Also the routing algorithm will be extended to allow for more
flexible routing and load balancing. Work on the RAUM architecture will research on the
lifetime of events in RAUM-communication and on supporting applications with a rule-based
language to describe situation-reaction pairs. </p>
</font><font FACE="TIMES"><b>

<p ALIGN="JUSTIFY">7 References</p>
</b></font>

<dir>
  <font FACE="TIMES" SIZE="1"><p ALIGN="JUSTIFY"><a NAME="Beadle">[Beadle et al., 1997</a>]
  H. W. P. Beadle, G. O. Maguire Jr., M. T. Smith. Location Based Personal Mobile Computing
  and Communication<i>. Proceedings of EEE/IEEE International Conference on Information,
  Communications and Signal Processing (ICICS) '97</i>, September 1997.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Beigl">Beigl, 1999</a>] Beigl, Michael. </font><a
  HREF="http://www.teco.edu/~michael/publication/huchtml/">Using spatial Co-location for
  Coordination in Ubiquitous Computing Envirnonments</a><font FACE="TIMES" SIZE="1">. <i>Handheld
  and Ubiquitous Computing, First International Symposium</i>, HUC'99, Karlsruhe.</p>
  <p ALIGN="JUSTIFY">[<a NAME="BeiglGellersen">Beigl </a>&amp; Gellersen, 1999] Michael
  Beigl, Hans-Werner Gellersen. </font><a
  HREF="http://www.teco.edu/~michael/publication/change.pdf">Ambient Telepresence</a><font
  FACE="TIMES" SIZE="1"><em>. </em><i>Proceedings of the Workshop on Changing Places</i>.
  London, UK, April 1999</p>
  <p ALIGN="JUSTIFY">[<a NAME="Beigl2000">Beigl </a>et al., 2000] Michael Beigl, Hans-Werner
  Gellersen, Albrecht Schmidt. MediaCups: Experience with Design and Use of
  Computer-Augmented Everyday Objects, Computer Networks, Special Issue on Pervasive
  Computing, Elsevier, 2000</p>
  <p ALIGN="JUSTIFY">[<a NAME="Brooks">Brooks</a>, 1991] R.A. Brooks. Intelligence without
  representation. <i>Artificial InteIligence</i>, 47, 1991, 139-159.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Fox">Fox </a>et al., 2000] Armando Fox, Brad Johanson, Pat
  Hanrahan, and Terry Winograd, Integrating Information Appliances into an Interactive
  Workspace, IEEE CG&amp;A, May/June 2000</p>
  <p ALIGN="JUSTIFY">[<a NAME="Harder">Harder </a>&amp; Hopper, 1994] Andy Harter, Andy
  Hopper. A Distributed Location System for the Active Office<i>.</i> <i>IEEE Network</i>,
  8(1), Januar 1994</p>
  <p ALIGN="JUSTIFY">[<a NAME="Jini">Jini</a>] </font><a HREF="http://www.sun.com/jini/">http://www.sun.com/jini/</a></p>
  <font FACE="TIMES" SIZE="1"><p ALIGN="JUSTIFY">[<a NAME="Kidd">Kidd </a>et al., 1999]
  Kidd, Cory D., Robert J. Orr, Gregory D. Abowd, Christopher G. Atkeson, Irfan A. Essa,
  Blair MacIntyre, Elizabeth Mynatt, Thad E. Starner and Wendy Newstetter. The Aware Home: A
  Living Laboratory for Ubiquitous Computing Research&quot; <i>Proceedings of the Second
  International Workshop on Cooperative Buildings</i>, October 1999. </p>
  <p ALIGN="JUSTIFY">[<a NAME="Kirsh">Kirsh</a>, 1995] David Kirsh. The intelligent use of
  space. <i>Artificial Intelligence</i> 73(1-2), 1995, pages 31-68.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Ko">Ko </a>&amp; Vaidya, 1998] Young-Bae Ko and Nitin H.
  Vaidya: &quot;Location-Aided Routing (LAR) in Mobile Ad Hoc Networks&quot;, MobiCom
  &#146;98, <i>The fourth annual ACM/IEEE international conference on Mobile computing and
  networking.</p>
  </i><p ALIGN="JUSTIFY">[<a NAME="LeonhardtMagee">Leonhardt </a>&amp; Magee, 1996]
  Leonhardt, Ulf and Magee, Jeff. Towards a general location service for mobile
  environments. <i>Proceedings of the Third IEEE Workshop on Services in Distributed and
  Networked Environments</i>, pages 43-50, June 1996.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Leonhardt">Leonhardt</a>, 1998] Leonhardt, Ulf. <i>Supporting
  Location-Awareness in Open Distributed Systems</i>. Doctor&#146;s thesis, Department of
  Computing, Imperial College of Science, Technology and Medicine, University of London.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Maass">Maaß</a>, 1997] Maaß, Henning. Location-aware mobile
  applications based on directory services. MobiCOM &#146;97, <i>Proceedings of the third
  annual ACM/IEEE international conference on Mobile computing and networking.</p>
  </i><p ALIGN="JUSTIFY">[<a NAME="Minar">Minar </a>et al., 1999] Nelson Minar, Matthew
  Gray, Oliver Roup, Raffi Krikorian, Pattie Maes. Hive: Distributed Agents for Networking
  Things. <i>Proceedings of ASA/MA'99, the First International Symposium on Agent Systems
  and Applications and Third International Symposium on Mobile Agents,</i> 1999.
  http://hive.media.mit.edu/.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Montello">Montello</a>, 1993] D.R. Montello. Scale and
  Multiple Psychologies of Space. Lecture Notes in <i>Computer Science 716</i>, 1993, Seite
  312-321.</p>
  <p ALIGN="JUSTIFY">[<a NAME="Navas">Navas </a>&amp; Imielinski, 1997] Julio C. Navas and
  Tomasz Imielinski. GeoCast - geographic addressing and routing. MobiCOM &#146;97, <i>Proceedings
  of the third annual ACM/IEEE international conference on Mobile computing and networking</i>,
  1997</p>
  <p ALIGN="JUSTIFY">[<a NAME="PIC">PIC</a></font><a
  HREF="http://www.microchip.com/10/Lit/PICmicro/index.htm">]
  http://www.microchip.com/10/Lit/PICmicro/index.htm</a></p>
  <font FACE="TIMES" SIZE="1"><p ALIGN="JUSTIFY">[<a NAME="Streitz">Streitz </a>et al.,
  1998] N.A. Streitz, V. Hartkopf, H. Ishii, S. Kaplan, T. Moran. Cooperative Buildings:
  Integrating Information, Organization, and Architecture. <i>Proceedings of CoBuild '98</i>,
  Darmstadt, Germany, Lecture Notes in Computer Science 1370. Springer-Verlag, Heidelberg,
  ISBN 3-540-64237-4, 1998, 267 Seiten</p>
  <em><p ALIGN="JUSTIFY">[<a NAME="Tsaoussidis">Tsaoussidis </a>et al., 1999] V.
  Tsaoussidis, H. Badr, R. Verma</em>. Wave and Wait Protocol (WWP): An Energy Saving
  Protocol for Mobile IP-Devices, <i>Proc. of the 7th International Conference on Network
  Protocols</i>, Toronto, Canada, 1999</p>
  <p ALIGN="JUSTIFY">[<a NAME="Want">Want </a>et al., 1995] <a NAME="_Ref440723008">Roy
  Want, Bill N. Schilit, Norman I. Adams, Rich Gold, Karin Petersen, David Goldberg, John R
  Ellis, Mark Weiser. An overview of the PARCTAB Ubiquitous Computing experiment.<em> IEEE
  Personal Communications</em>, 2(6), 1995</a>, Seite 28-43.</p>
  <p ALIGN="JUSTIFY">[<a NAME="WAP">WAP</a>] </font><a HREF="http://www.wapforum.org/">http://www.wapforum.org</a></p>
  <font FACE="TIMES" SIZE="1"><p ALIGN="JUSTIFY">[<a NAME="Weiser">Weiser</a>, 1991] Mark
  Weiser. The computer for the 21st century. <i>Scientific American</i>, September 1991, p.
  94-104</p>
</dir>
</font>
</body>
</html>
