=Paper= {{Paper |id=Vol-149/paper-6 |storemode=property |title=xLink: Context Management Solution for Commodity Ubiquitous Computing Environments |pdfUrl=https://ceur-ws.org/Vol-149/paper06.pdf |volume=Vol-149 |dblpUrl=https://dblp.org/rec/conf/ubipcmm/SadiM05 }} ==xLink: Context Management Solution for Commodity Ubiquitous Computing Environments== https://ceur-ws.org/Vol-149/paper06.pdf
ubiPCMM 2005                                                                                                                                  35




                  xLink: Context Management Solution for
                    Commodity Ubiquitous Computing
                               Environments
                                                         Sajid H. Sadi and Pattie Maes


                                                                              this capability. Weiser also noted that the acceptance of the
   Abstract—In this position paper, we present xLink, a system for            vision of Ubicomp depended, perhaps more than other areas, on
managing context information and marshalling service queries                  reaching a critical mass, or in other words, on the technology
and data flow. The repeated re-invention of context management                becoming commodity. By “commodity technology” we mean
systems remains a perennial phenomenon in context aware and
ubiquitous computing. Often, these systems are integrated into
                                                                              that the technologies are commonly available at the consumer
applications to accommodate the low level requirements of the                 level, much as cellular phones or televisions are today.
underlying devices. We hope to address this issue by providing a              Additionally, we imply high accessibility by the general public,
framework that allows a clean, API-based separation of device,                and low initial and recurring cost, such that individuals may use
context, and service management functionalities without                       them not as luxuries, but as part of their daily lives. This implies
curtailing the capabilities of any segment. xLink is designed to              that devices must be low cost, interchangeable, and easily
allow commodity ubiquitous computing devices, particularly
devices with highly constrained computational capabilities, to
                                                                              duplicated, manufactured, and used. These constraints in turn
interface directly at a low level to the context management                   bound what can be expected of these devices in terms of
framework, while still providing a clean and versatile service                processing power, memory, reliability, and adherence to
Application Programming Interface (API) that allows                           protocols.
applications maximum expressive freedom. We also present a                    In looking at the history of ubiquitous computing, it is clear that
usage scenario for technologies based on xLink, and discuss the               researchers have often been forced to develop special purpose
strengths and shortcomings of our approach in relation to other
context and information flow management strategies.
                                                                              context management systems to address their needs [1, 2, 6, 11].
                                                                              In many instances, the low level integration of the application
  Index Terms—context management,                   context    modeling,      to the physical devices has essentially led to applications which
ubiquitous computing, interoperability.                                       have context management embedded, thus limiting the
                                                                              applicability as a commodity technology. We believe that this
                                                                              situation is a side effect of the fact that no uniform and
                          I. INTRODUCTION                                     expressive API exists to provide a clean separation between
                                                                              device, service, and information flow management.
U    biquitous computing (Ubicomp) presents a compelling
     vision of environments, objects, and even people
augmented with technological and computational resources for
                                                                                 In this paper, we present an implementation of this claim:
                                                                              xLink, a system of context management that offers a general
providing information “just-in-time”, or when and where the                   purpose environment which is capable of handling the needs of
information is needed and best applied [1, 11]. In introducing                special purpose, low-capability devices without sacrificing a
this area of investigation, Mark Weiser of Xerox Parc also                    uniform service model. xLink is designed to support both
suggested some critical areas in need of investigation. One of                continuously-running and on-demand applications in a
the primary technological challenges noted by Weiser is the                   seamless way, thus allowing application development
context management problem, that is, the need for methods of                  independent of the context and device management models.
managing and coordinating the flow of information between                     The system helps bridge the gap between general purpose data
the nodes and services available in the augmented environment                 flow management systems and low level “drivers” that allow
[11]. The omnipresent interface envisioned by Ubicomp                         simple devices to interact with such systems. xLink is designed
requires that devices act concertedly to support the user’s                   to be “close to the hardware,” and provides APIs for low level
current actions [3], and context management forms the basis of                interfaces to be built directly above the flexible information
                                                                              routing core. This feature allows us to integrate commodity
Manuscript received June 14, 2005.                                            hardware directly into the context management backend
S. Sadi is a graduate student at the MIT Media Lab, Cambridge, MA 02142       without intermediary layers, while allowing services to interact
USA (phone: 617.253.9706; e-mail: sajid@ media.mit.edu).                      uniformly with devices without sacrificing low-level access.
P. Maes is an associate professor with the Media Arts and Sciences Program,
MIT Media Lab, MIT, Cambridge, MA 02142 USA (e-mail:                          Finally, the xLink system incorporates implicit and explicit
pattie@media.mit.edu).                                                        invocation of services, which allows for autonomous behavior
Sajid H. Sadi and Pattie Maes                                                                                                       36

while still allowing the user control over the interaction and        C. The InConcert Middleware Layer
information flow. We have designed xLink to be a “room                 The InConcert middleware layer was produced by the
operating system” — a context management solution which can         Microsoft Research Labs to serve, among other things, as a
be configured to support the specific purposes of an area,          middleware layer for the EasyLiving Project [2]. It is, by design,
allowing shared infrastructure between disparate services,          highly specialized for automation and control of living spaces.
while retaining the freedom of design and expressivity required     Like UPnP, it is a protocol based system using XML message
by particular applications.                                         schemas. As with JINI, a directory node within an augmented
                                                                    physical location is used to register and track all other nodes [2].
                                                                    As a result, the system is more centralized, with a central unit
                       II. RELATED WORK
                                                                    coordinating inter-device communication, though the actual
   As mentioned previously, there is a great deal of                communication takes place via asynchronous message passing
fragmentation in the area of context management, with many          between individual devices [2]. Like xLink, InConcert provides
systems existing only as parts of applications. This section        high level lateral linkage support, but depends on a relatively
provides a non-comprehensive sampling of stand-alone context        “heavy-weight” protocol (XML over IP) that hinders use in
and device management systems in order to present and               low-capability devices without the use of additional hardware
contrast some other approaches to context management.               and software resources. One interesting feature of InConcert is
  A. Universal Plug and Play                                        its internal topological model of the environment [2]. This
                                                                    highly specialized extension improves upon its intended
   Universal Plug and Play (UPnP) is a discovery-based
                                                                    functionality, which is bound to home automation and control,
protocol for connecting devices originally developed by an
                                                                    but at the cost of generality. Nonetheless, the intrinsic
industrial consortium led by Microsoft Corporation. It is meant
                                                                    understanding of device relationships at the lowest level allows
for spontaneous discovery and configuration of
                                                                    for interesting possibilities that are more difficult with the more
network-connected devices [10]. The communication protocol
                                                                    generic device model of xLink.
uses IP as a transport layer, which is generally a complex and
resource-intensive protocol to implement with minimal                  D. The Dartmouth “Solar” System
hardware. Additionally, message passing and discovery is done           The “Solar” system is a message simplification scheme
with XML messages [10], which provides high generality but          based on directed acyclic graphs. The graph is used to route
also high latency and resource cost. As such, it is more            events to graph operators that incrementally reduced messages
appropriately considered for sharing pieces of context, as          to a form which can be consumed by applications [3].
opposed to a system for actual management of context, since         Applications use a context-sensitive subscription model to
devices retain their own context information. While meant for       acquire data [3]. One of the primary problems with ubiquitous
the commodity market, it is too resource intensive for the          computing, evident from its earliest [11] days, is the sheer
lowest level devices that the xLink project is designed for.        volume of data produced [4]. The Solar system efficiently
Additionally, the peer-to-peer structure, in contrast to the star   compresses this volume by applying aggregating services to
topology of xLink, makes implementation of flow policies            incrementally refine information. The high data resolution at
highly client-dependent. However, it remains well suited for        the leaves [3] can also lead to performance issues, since the
interfacing devices with greater computational capacity.            structures are currently geared towards a scenario where
  B. JINI Extensible Remote Invocation System                       subscribing application have information pushed to them. Also,
                                                                    the collaboration of various devices, and additionally the
   JINI, an analogue to UPnP created by Sun Microsystems for
                                                                    sharing of information between services which operate in
the Java platform, is also a discovery-based service [10].
                                                                    parallel (lateral linkage within the data flow graph) is
Unlike UPnP, JINI does use a lookup service to mediate the
                                                                    ill-defined. In contrast, xLink features well-defined lateral
discovery process, and the actual discovery involves finding
                                                                    linkage between devices and services at the same level in the
the service in the first place. All subsequent calls are made via
                                                                    overall hierarchy, but does not focus on data aggregation, thus
Remote Method Invocation (RMI) and serialized Java objects,
                                                                    allowing easier inter-device and inter-service collaboration
which is understandable given the tight platform bindings. Due
                                                                    capabilities at the cost of scalability.
to the requirements of the Java Virtual Machine, JINI is by
definition a relatively demanding protocol-oriented method of         E. The EventHeap Model
managing context. The design is tightly bound to a client-server       The EventHeap model is a middleware layer designed for the
model of interaction that considerably limits its expressive        Stanford iRoom, and allows the multiple input and output
capability. However, the ability to push code from a server to a    surfaces of the room to function as a ubiquitous computing
client is clearly a very powerful capability enabled by the         environment [7]. It is based on an API model, though internally
homogenous execution environment, which allows JINI to              the implementation does use a protocol to communicate
support greater low-level interaction between devices than          between targets. The API model differs from the xLink model
UPnP and to achieve some of the low-level interface                 in that it is meant for programming devices themselves, and not
capabilities of xLink.                                              links to devices. This suggests a level of capability with is
ubiPCMM 2005                                                                                                                      37

easily available within the iRoom, but cannot be presumed for        allows a coordinated privacy policy to be implemented, even
the scope of xLink. The message passing strategies of both           though multiple systems are used, so Rodger only has to
systems are also similar, though unlike xLink, EventHeap tends       authorize the system to allow access from a single location.
to treat devices and services essentially as peers, since within     Lastly, the output of the system is seamlessly transformed and
the EventHeap’s scope devices and services are generally             routed to output devices, including the headset, the terminal,
intertwined.                                                         and the receipt printer at the counter, as needed. Input is also
                                                                     gathered from multiple devices to feed services such as the buy
                                                                     service, which requires an additional signature input. With this
                  III. SCENARIO AND CASE STUDY                       scenario in mind, we shall outline the design choices that
   In order to motivate the system design, we would first like to    support this interaction.
present a short scenario. Though this is a fictitious usage
scenario, the devices and technologies discussed are the
outcome of research projects completed by our group using                                   IV. SYSTEM DESIGN
xLink as the context management system.                                 A central goal of the xLink system is to provide a local-scale
   Scenario — “Rodger walks into the local bookstore, hoping         generalized framework for connecting commodity devices. As
to find a good book on yoga. The bookstore is enabled for his        such, we chose to create a system which is based on an
ReachBand — a wireless Radio Frequency Identifier (RFID)             API-based plug-in design instead of protocols, so as to ensure
and gesture sensor worn on the wrist [5] — and headset, and he       overall generality and “instant-on” capability for new device
quickly scans the placard at the entrance to enable his devices.     types. In exchange, the system gained the ability to have highly
The store had already detected the wristband, and by reading         device-specific behaviors that allow for easy modifications and
the RFID tag on the placard, Rodger gives explicit permission        additions at the interface without requiring changes to the
for the store system to interact with his devices. As he walks       internal workings of the core software. In a protocol based
around, a book catches his eyes, and he picks it up. As he is        system, for example, the store system would have had to
flipping though the book, the ReachBand scans the tag on the         communicate with the wristband via some standard protocol,
book, and he hears a slight audio notification on his headset that   which would also then have to accommodate all similar devices,
information of that book is available. He finds the book             or suffer from myriad parallel protocols catering to different
outwardly interesting, so he makes a slight gesture of his wrist,    systems. Instead, by supporting a pluggable interface, we are
which accesses the list of services. The system has retrieved his    able to support a very minimal communication system between
profile from his phone, and knows he likes the New York              the ReachBand and xLink, while retaining flexibility for the
Times reviews when possible, so when he selects reviews, the         services. As Cohen points out [4], this is an important goal in
system checks and tells him that there is a New York Times           creating a system which can survive unanticipated
book review available. He chooses to listen to the review. The       requirements, and the API-based interface also supports this
review plays over the headset as he continues to flip through the    easily. If, in the next year, a different model wristband becomes
book. He then chooses to listen to the Ambient Semantics [9]         common, it is simple to install another pluggable module and
service, which tells Rodger that several of his friends are          necessary transceiver to support the new device without
interested in getting into yoga exercises, opening the possibility   requiring modifications to the core xLink system.
for working out together. He also notices that a review selected        The principal purpose of the system is to mediate interaction
by the system recommends a different book for beginners.             between input and output devices, which may physically be
Rodger is in a rush, so after finding the other book, he scans the   instantiated as objects, rooms, or even conventional computer
tag on a public access display, which shows the menu he had          displays, and services. To this end, we designed the internal
been listening to. He quickly accesses and scans the review,         representation of the input of devices and the output of services
and chooses to buy the new book. He simply selects the buy           to attain flexibility, and focused on allowing a high level of
option, and authorizes use of the card he has in his profile. He     adaptability for interfacing physical devices to the system. This
signs the store receipt on-screen, but if he had not been at the     can be seen in the seamless transitions between display and
terminal, the clerk would simply have had the receipt ready for      interaction modes, which reflect the flexibility of the internal
him at the counter. The security system has been made aware          representation. It is important to note that though it is often
that the book now belongs to Rodger, and automatically               handled within the realm of context management, the
disarms the security tag as he walks out.”                           management of object identity and metadata is implemented as
   Within the above scenario, the xLink instance for the store       regular services within our system, and is accessed like any
has coordinated the experience so that the sensor and output         other service as needed.
devices that Rodger brought with him, and embedded systems
and services within the store work in coordination to produce a
seamless experience. The system invokes both local services,
such as services to buy books, detect gestures, disarm a security
tag, and read back information as well as remote services, such
as the New York Times book review search. The system also
Sajid H. Sadi and Pattie Maes                                                                                                          38


  Tuple-Set::ReachBand                                                  detail ordered by depth. This is a “soft” requirement, which
  name       values
                                                                        may be ignored if necessary. For example, if there is some
  device      ReachBand                                                 minute detail of high interest, it may be placed at a higher level.
  id          17:32:54:af:7b:92                                         Additionally, resource-expensive or highly specialized services
  payload     64:8c:d4:56:b3:9f:7a:14                   1118990279918   can opt to send a request link indicating their availability
  gesturedata 73,44,3,35,23,34,23,5,623,23,42,42,34,23,
              23,4,23,54,2,52,35,23,3,42,3,42,34,23,42,
                                                                        instead of the actual output. This, for example, allows the New
              3,5,14,56,82,34,82,0,3,57,2,85,90,31,48,                  York Times search service to reply with links to several articles,
              75,12,37,89,567,34,90,57,34,8,9,0,67
                                                                        without having to send all of them. Links to content rendered in
 Figure 1: Typical tuple-set from a scanner device in the shared data
 space after processing by link module.
                                                                        different formats can also be embedded in the tree, which can
                                                                        then be retrieved by devices capable of rendering the link. As a
                                                                        result, images of the book suggested by Ambient Semantics can
  A. Internal Representation
                                                                        be displayed by the terminal, but easily ignored by the headset.
   Internally, the system operates on “tuple-sets” – unordered          Within the design constraints of the system, this allows for a
sets of n-tuples, with each tuple consisting of a name as the first     reasonable range of output modalities without requiring a
entry, and n-1 data values as the remainder. A representative           highly annotated output structure.
tuple-set is shown in Figure 2. The overall schema is very
similar to the system originally used in the Linda system [6] and         B. Device Model
later explored in the EventHeap system [7]. Each tuple-set has a           All devices within the scope of the system are classified as
required field, “id,” which identifies the logical device that          logical output or input devices. For example, the headset or the
originated that tuple-set uniquely within the context of the            terminal screen are logical output devices in our scenario, while
system instance. This accommodation is made so that devices             the RFID sensor and the security tag sensor are input devices.
like the wristband in our scenario, with limited communications         Accommodations are made for complex (multi-modal) devices
capabilities, may still identify themselves without having to           such as the terminal, which are internally represented as a
expend precious bandwidth transmitting a universally unique             collection of logical input and output devices. Since we expect
identifier (UUID). Additionally, the link layer can attach a            to have commodity devices from a variety of sources and with
family identifier to the actual identifier received to partition        varying levels of complexity and capability interact with the
device families. Therefore, in Figure 2, it might be that the           system, very few assumptions are made about devices. Each
device model itself only received the very last byte from the           family of devices is allowed its own plug-in “link module,”
ReachBand, and provided the rest locally. If necessary, the             which is responsible for translating data to or from a format the
device model can also send commands directly to the core                device can accept. Link modules communicate to the devices
system using tuple-sets. This allows the device model to                through shared “connector modules,” allowing for sharing of
communicate with the system without incurring additional API            resources among devices using the same communication
overhead.                                                               medium, but differing protocols or information transformation
   The communication is generally analogous to the                      needs. For example, several different phone clients can be
“tuplespace” concept introduced by [6], but using tuple-sets in         supported, all over the same Bluetooth connector module, but
the same way as EventHeap [7]. Our implementation allows for            via different link modules for different manufacturers. The
sets of tuples, without imposing the temporal constraints of            interaction between various parts of the device model and the
EventHeap. Instead, depending on the device type, certain               xLink core context management system is shown in figure 1. As
fields are required in each tuple set to identify the source and        shown in the figure, all connections between logical
provide a means of “replying” to a message. The tuplespace              subsystems are by default bidirectional, allowing modules to be
methodology depends on matching of key sets against the                 both data producers and consumers. As such, link and
requisite key sets of a service [7], which is analogous to the          connector modules may act as local services, consuming input
service selection system used within xLink. Tuples with no              or carrying out other operations independently as required by
consumers, if marked ephemeral, are simply discarded.                   the device. For example, the wrist gestures can be consumed
Devices may economize bandwidth and lower overhead by                   directly by a display link module lacking a keyboard, without
storing fragments of data streams into fields. In figure 2, the         posting it to the event pool. In addition, this allows for the
ReachBand has stored accelerometer data for gesture detection           creation of low-latency links between input and output devices,
in this way, sending several records in one tuple. The entire           thus bypassing the internal tuple-set pool for time-critical
tuple [, ] can then be consumed by a gesture
translation service which converts the data into a single
tuple-set [, ], retaining
the same identifier as the original.
   The output of services that is meant for display devices is
internally represented as structured trees, which are
contractually constrained to provide information in increasing
ubiPCMM 2005                                                                                                                                                39




Figure 2. Overview of the xLink linkage model, showing interconnections between different module families and object encapsulation. The core xLink
functionality is indicated by segment marked “xLink Core” and is responsible for the message routing and service querying functionality at the heart of xLink.

   As stated previously, for input devices, the link module                      should they wish to remain within the network of devices. In
simply translates to the tuple-set format. In addition, the link                 our implementation, a garbage collection system discards stale
module can perform any transformation on the incoming data,                      displays after a considerable delay. These devices, if active,
thus providing the ability to augment the actual data sent by the                then automatically reconnect to the system. This method of
device. In our scenario, this allows the wristband to use a very                 connection management is optimized for the expected
short ID’s and reserve the majority of the packet space for                      communication modes of the input and output devices, with
RFID or gesture data. In the case of the display link modules,                   inputs “pushing” data to the system, and data being “pushed” to
the wide range of possible presentation resolutions and output                   the outputs from the system. As such, no action is required by
modalities require that the module make adaptive decisions                       Rodger to disconnect as he leaves. The loss of Bluetooth
based on the context of the interaction to exclude some part of                  connection automatically causes the system to purge his
the result tree from the actual output if necessary. This becomes                records from the pools.
especially necessary when device constraints such as memory
                                                                                   C. Service Model
or bandwidth make the make of sending the entire dataset
literally impossible. The link module may also carry out                            The system supports the concept of local versus remote, and
semantic transformations on the data, ie, linearizing text for a                 simple versus complex services. We define local services as
brail display, or converting text to speech for an audio device,                 services that act on information, objects, and entities within the
and cache the information for the duration of an interaction.                    general locality of the object itself (possibly even on the same
These properties are exploited in providing speech output to the                 object), while remote services act upon objects outside that
headset in our scenario, while stripping out hyperlinks and                      domain. For example, in our scenario local services provide
images in the result set.                                                        identifying information about the book, and capabilities such as
   As Kindberg [8] points out, it is generally good practice                     purchasing, while remote services such as the review search are
within fault-tolerant systems to presume that devices will fail                  accessed from the appropriate sites as needed. Likewise,
on a regular basis, and that is the approach taken by our design.                complex services act upon the output of simple services, while
Input and output devices are held in separate pools, allowing                    simple services act upon local information. For example,
for both overlaps and multiple entries for the same physical                     transforming acceleration data to gesture identifiers is a simple
device. Input devices are added to the pool when they make                       service, while retrieving the reviews is a complex service that
contact, and are removed after a timeout period. This prevents                   must inspect profile information (possibly a remote complex
the pool from becoming stagnant (ie, containing logical devices                  service itself) to make a decision, and then fetch the appropriate
that are no longer communicating). Output devices are likewise                   information from a remote service to output. The primary
added to their own pool on first contact. However, output                        reason for the existence of this distinction is speed of access.
devices are only discarded if the link or connector module                       Local and simple services help to make an environment “smart”
notifies the pool of a failure, or if an associated composite                    by allowing the various parts of the environment to act in
physical device is discarded from either pool due to failure in                  concert. At the same time, most of the decisions made expected
communication. The connector or link module may                                  to be fast, resource-frugal, and fairly simplistic. As such, the
additionally force the device to reconnect with some fixed                       system can call of these services constantly and push their
period in order to “clean” the pool. In all cases, output devices                results to output devices without user intervention. The remote
are contractually bound to reconnect on loss of connection,                      or complex services, on the other hand, are “heavyweight” by
Sajid H. Sadi and Pattie Maes                                                                                                        40

comparison, and thus their use is limited to on-request accesses.     information, or requiring additional authentication if the
   Since the remote services are only accessed on request, the        information is especially sensitive. Due to the low resolution
discovery procedure is reduced to the services notifying a            nature of the most common devices, this is expected to be the
centrally accessible directory service of their existence. Such       exceptional case, and therefore security policies are themselves
announcements must of course be accompanied by a list of              implemented as a service which other services may query.
service and tuple-set dependencies, so that the system can filter        Like the cell phone or the public terminal, certain devices
out non-relevant services. All local services operate under the       may have the ability to request additional services by virtue of
prevue of the context management system, thus obviating               being composite input-output devices. As a natural side effect
discovery. As stated previously, the scope of this project allows     of the architecture, a device may easily direct the results of its
us to assume that the system has been specialized to the              request (via a command to the system) to a different device.
environment it is embedded in. As such, the local service set         Therefore, the wristband can easily have its output sent to the
can be chosen to match the supported devices, and any remote          headset or even to a stationary display designated for that
services requiring constant invocation can be proxied by a local      purpose. As long as the device can find out about the target
forwarding service.                                                   device in some way, or the target device can be selected by the
                                                                      user to be the output device of choice, the output, being
  D. System Operation
                                                                      naturally device-agnostic, can be routed to it. This allows the
   Being geared towards use in ubiquitous interfaces and smart        system to fulfill the goal of Ubicomp of providing a seamless
objects, the system in general “pushes” data to target devices.       end-to-end experience to the user without device lock-in during
Incoming tuple-sets are automatically processed by the local          an interaction [11].
simple services and made available to link modules for output.
For example, incoming RFID data is automatically
disambiguated but the identification service, and the output is                        V. DISCUSSION AND FUTURE WORK
routed to all local services by the xLink core for processing.           The design intentions that guided the xLink project were
Any output is made available to output link modules for display.      geared towards providing a highly adaptive, seamlessly
The link modules have control over whether the data is actually       expressive data flow management system that is general
sent, while the services retain control of whether it is              purpose in its architecture, but intended to be customized to
appropriate to produce output given a certain scenario. This          support the specific requirements of the applications it serves.
allows the output devices to exhibit per-device and per-family        As a result, we envision xLink as an embedded device, perhaps
“do-not-disturb” behavior, such as disabling notification to the      embedded into a wall of a room enabled for ubiquitous
headset, while allowing services to operate in a context              computing. As a part of the room, it can then be tuned to the
sensitive way. It is generally understood [2, 8, 7, 11] that          purpose and interactions that the room is meant to support. As
ubiquitous interfaces must be proactive in anticipating needs,        with any design tradeoff, this decision has both its strengths and
while at the same time working as a spatial and contextual filter     weaknesses. It is highly adaptive, and capable of hosting a
for information so that the user is not inundated by requests for     variety of connector and link modules that allow fine grained,
attention. At the same time, ubiquitous interfaces must allow         low level control of the communication and data translation
the user control over the interface [1]. The chosen distribution      capabilities offered by an instance of xLink. As a result, it is
of responsibility for inhibiting input is therefore balanced so       also less capable of self-configuration and management. The
that object and devices continue to act like objects (ie, remain      highly fault-tolerant design of the system allows for minimal
under the user’s control), but the overall environment can still      maintenance, but the initial setup cost is not essentially
retain proactive agency.                                              mitigated by this. Additionally, the tuple-set and device pool
   While we have not discussed user sessions explicitly to this       based internal architecture become limiting factors as the data
point, ownership of devices and sessions is a natural extension       that must be represented becomes more complex and dependent
of the system. We define a session simply as the set of all           on factors outside the direct prevue of xLink.
information available about a user through all available devices         Nonetheless, we believe that xLink serves to fill an important
and services. When a device is aware of its ownership, it can         niche between medium-scale context management solutions
inform the system of the ownership via a command tuple,               such as EventHeap [7] and the devices themselves. By
which in turn propagates this information to other devices            providing a common architecture for the housing and
connected to the session. For example, the cellular phone can         maintenance of driver-like structures that connect devices to
identify the other devices that a person is carrying that are         each other and to services, xLink abstracts away the low level
available for input or output in our scenario. However,               complexity of such information management without impeding
ownership is a fluid property within the system, and can change       the capabilities of the system, much as an operating system
easily. This fluidity is in some sense contrary to the privacy that   hides the complexity of the devices that make up a computer
context management systems must support [1]. Within xLink,            system while presenting software with the ability to access and
this factor is mitigated by having devices with known                 manipulate those devices. At the same time, xLink provides an
ownership, such as the cellular phone in our example. Services        alternative and parallel for heavier protocol-based systems such
have the option to check for such devices before sending              as InConcert [2], in that it allows commodity sensors with
ubiPCMM 2005                                                                                                                                       41

minimal capabilities to connect to each other and to relevant                                        REFERENCES
services, without requiring the overhead of a protocol stack.        [1]  G. D. Abowd and E. D. Mynatt. “Charting Past, Present, and Future
Finally, the remote service invocation infrastructure of xLink            Research in Ubiquitous Computing,” in ACM Transactions on
                                                                          Computer-Human Interaction, Vol. 7, No. 1, March 2000, Pages 29-58.
allows the system to easily yield to other, more general, context
                                                                     [2] B. Brumitt, B. Meyers, J. Krumm, A. Kern and S. A. Shafer. “EasyLiving:
management frameworks such as EventHeap [7] for                           Technologies for Intelligent Environments,” in Handheld and Ubiquitous
moderate-scale service invocation and information sharing, and            Computing, Bristol, UK, September 2000, Pages 12-29.
also to use simplifying models such as Solar [3] to filter data      [3] G. Chen and D. Kotz. “Context Aggregation and Dissemination in
                                                                          Ubiquitous Computing Systems,” in Proceedings of the Fourth IEEE
down to forms that high-level complex services can use,                   Workshop on Mobile Computing Systems and Applications, 2002.
without having to explicitly support such activities internally.     [4] N. Cohen, A. Purakayastha, J. Turek, L.Wong, and D. Yeh. Challenges in
   In continuing our work on xLink, we hope to tackle some of             flexible aggregation of pervasive data. IBM Research Division, Thomas J.
                                                                          Watson Research Center. Technical Report RC21942.
the outstanding questions that remain for both this project and      [5] A. Feldman, E. M. Tapia, S. Sadi, P. Maes. “ReachMedia: On-the-move
for Ubicomp in general. In particular, it appears necessary to            interaction with everyday objects,” in review for the International
support security and privacy primitives within xLink itself in            Symposium on Wearable Computing, 2005 (ISWC05). **
                                                                     [6] D. Gelernter. “Generative Communication in Linda,” ACM Transactions
order to optimize adherence to privacy and personalization                on Programming Languages and Systems, 1985. Vol. 7, Pages 80-112.
policies. While the current service-based implementation             [7] B. Johanson. “Application Coordination Infrastructure for Ubiquitous
allows for simple adherence to policy, the adherence is only              Computing Rooms.” Desertation submitted for Doctor of Philosophy in
                                                                          Electrical Engineering from Stanford University. Available:
contractually enforced, when it is best enforced directly in the
                                                                          http://graphics.stanford.edu/~bjohanso/dissertation/johanson-thesis.pdf
core environment. However, the best way to do so without             [8] T. Kindberg and A. Fox. “System Software for Ubiquitous Computing,”
impacting performance or free flow of data has not yet been               in IEEE Pervasive Computing, Vol1, No. 1, 2002, Pages 70-81.
fully investigated, and is distinctly in need of further             [9] H. Liu and P. Maes. “InterestMap: Harvesting Social Network Profiles for
                                                                          Recommendations,” to appear in the proceedings of the Beyond
consideration as ubiquitous computing solutions gain in both              Personalization 2005 Workshop, January 9, 2005. ACM Press 2005.
popularity and resolving power, leading in turn to increased         [10] R. E. McGrath. “Discovery and Its Discontents: Discovery Protocols for
risks to privacy. Additionally, the idea of sessions is currently         Ubiquitous Computing,” Department of Computer Science University of
                                                                          Illinois Urbana-Champaign, UIUCDCS-R-99-2132, March 25 2000.
very loosely implemented within xLink, which circumvents             [11] M. Weiser. “Ubiquitous Computing,” in IEEE Computer “Hot Topics,”
several crucial issues with sessions. In particular, the issues of        October, 1993. Available: http://www.ubiq.com/hypertext/weiser/
data duplication and disambiguation remain open to further                UbicompHotTopics.html
investigation, especially in a highly localized system such as       ** This paper is currently not available publicly. We would be glad to share a
xLink. As this work progresses, we hope to engage some of            copy if there is interest.
these issues in the design space that is addressed by xLink.

                      ACKNOWLEDGMENT                                 Sajid H. Sadi is currently a first year graduate student at the MIT Media Lab in
   We would like to acknowledge the tireless help, critique, and     Cambridge, MA, USA. Prior to joining the Media Lab, he received his BS in
                                                                     computer science from Columbia University in New York, NY, USA in 2003.
encouragement of Assaf Feldman and the Ambient Intelligence          He is interested in systems design, visualization, interactive design, and
Group, as well as the industrial liaisons of the MIT Media Lab       techniques for integrating the physical reality with digital metadata.
for fostering the growth of this project. We also extend our         Pattie Maes is an associate professor in MIT's Program in Media Arts and
                                                                     Sciences. She founded and directs the Media Lab's Ambient Intelligence
appreciation to Aaron Zinman for the critique, review, and           research group. Previously, she founded and ran the Software Agents group.
inspiration he provided for this paper.                              Prior to joining the Media Lab, Maes was a visiting professor and a research
                                                                     scientist at the MIT Artificial Intelligence Lab. She holds bachelor's and PhD
                                                                     degrees in computer science from the Vrije Universiteit Brussel in Belgium.
                                                                     Her areas of expertise are human-computer interaction, artificial life, artificial
                                                                     intelligence, collective intelligence, and intelligence augmentation. Maes is the
                                                                     editor of three books, and is an editorial board member and reviewer for
                                                                     numerous professional journals and conferences. She has received several
                                                                     awards: Newsweek magazine named her one of the “100 Americans to watch
                                                                     for” in the year 2000; TIME Digital selected her as a member of the Cyber-Elite,
                                                                     the top 50 technological pioneers of the high-tech world; the World Economic
                                                                     Forum honored her with the title “Global Leader for Tomorrow”; Ars
                                                                     Electronica awarded her the 1995 World Wide Web category prize; and in 2000
                                                                     she was recognized with the “Lifetime Achievement Award” by the
                                                                     Massachusetts Interactive Media Council.