9

Click here to load reader

Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

Embed Size (px)

Citation preview

Page 1: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

IEEE INTERNET COMPUTING 1089-7801/03/$17.00©2003 IEEE Published by the IEEE Computer Society MARCH • APRIL 2003 43

Ubi

quit

ous

Mob

ile

Com

puti

ng

Theo G. KanterEricsson Research

Attaching Context-Aware Services toMoving LocationsThe GeoBots service uses context information from a variety

of sources to provide smart connectivity and mixed-reality

services for mobile users.

Today, presence information allowsmobile network users to monitorother people’s status and location,

be notified of proximity to those on their“buddy lists,” and send each other instantmessages. User information and commu-nication resources — such as precise loca-tion information (via GPS) and direction,altitude, light, and humidity measure-ments (via sensors) — are becoming moreavailable in end devices. This increasingrange of information can enable context-aware informational services as well aslinking digital objects to physical objectsa user is observing. Thus, mobile userscan obtain relevant information aboutreal-world objects while simultaneouslystaying in touch with other users. Forexample, mobile positioning and shortmessage service (SMS) creates a pervasivegaming environment for BotFighters(www.itsalive.com) where players canfind and “fight” each other using theirglobal system for mobile communications(GSM) cell phones.

Various organizations have exploredaspects of peer service negotiations basedon presence. The IETF SIP Instant Mes-saging and Presence Leveraging Exten-sions (Simple) working group, for one,has built on work with the session initia-tion protocol (SIP), which is used forlocating entities and inviting them tocommunication sessions.1 The Simple WGhas produced SIP eventing2 to support thegeneral model for common presence andinstant messaging (CPIM).3 Through auser profile dubbed Presentity, CPIM cancreate active buddy lists and invitationsto instant messaging, conversations, oritem exchanges, but it addresses neitherawareness nor extensibility. Web Pres-ence,4 a related approach the W3C basedon Web services via SOAP over HTTP, isinsufficient for connecting because itdoes not support mobile entities. Howev-er, if you apply the XML/SOAP approachfor transferring metadata between enti-ties to SIP-based eventing, you can allowSimple entities (containers for storage and

Page 2: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

exchange of user-related presence data) toexchange events related to changes in context.Existing peer-to-peer protocols, such as UniversalPlug and Play (UPnP), do not support such con-text-aware negotiation, which enables sponta-neous communication.

In response to these shortcomings, my doctoraldissertation described an open, scalable servicearchitecture5 in which context-aware service nego-tiation lets entities establish communication andnegotiate services without a third party’s assis-tance and without advance knowledge of eitherparty’s features. Context information can help hidedata complexity from users until they need tomake choices regarding such things as paymentsor object interactions. I continued developing thearchitecture as part of a team at Ericsson Research,where we created the GeoBot model for attachingbehavior and context awareness to particularmobile physical locations or areas. GeoBots con-stitute a new type of physical presence that facili-tates the delivery and use of services, such as smartconnectivity or context-driven interaction withobjects, in mobile networks.

Building GeoBotsAt Ericsson, we used software agents to create anInternet presence for objects (including states andbehaviors). These agents support a communicationprotocol for exchanging events and metadata.They contain an interpretable data model of theentity’s context that describes its behavior inresponse to events (which corresponds to itsawareness). In this model, new entities can alsoexchange metadata, such as relations that describehow an entity may be used. When one agent con-tacts another, the discovered agent sends templatesof these relations to the inquiring agent, thusextending the data models (constituting the inter-pretable context) of both agents.

GeoBots represent each identified user andobject, whether physical or virtual, with a profilecalled an entity. Presence refers to the existence ofan entity in a communication space (the Internet,for example) that represents a person or nonhu-man actor such as an intelligent object or a robot.The entity can move and has other attributesbesides location. Furthermore, it must have per-manence, meaning that the network synchronizesthe entity’s alter ego so that when a user comesnear it, the network retrieves the entity’s state.

The entity might also be aware of the state ofother entities it has relations with. Awareness meansthe entity knows how to respond to state changes,

whether output from a simple presence applicationor an integrated intelligent agent.5 Furthermore, theentity might be extensible, meaning that it can inter-nalize new states and extend its external represen-tation of the relations between itself and neighbor-ing entities. The entity synthesizes new states fromcontext information exchanged in event-drivennegotiations with neighboring entities. Extensibil-ity is important to mobile users because they fre-quently use new devices, which can cause newtypes of events. In response to such events or tochanges in its internal states, the entity might inviteother entities to communication sessions or invokenew methods for gaining network access.

Extended Agent ModelThe GeoBots system models entities as SIP useragents (SIP-UAs), with support for SIP eventing.2

The interplay of three components we added givesthe SIP-UA additional context-aware service nego-tiation support:

• the extensible service protocol (XSP),• active context memory (ACM), and• mobile service knowledge (MSK).

XSP is an event-based protocol that utilizes SIPeventing for the discovery of other entities andregistration of mutual service relations. While reg-istering a service relation, entities use XSP eventsto exchange service knowledge and thus extendtheir internal knowledge about other entities’ con-text. Once they have established relations, entitiescan use this knowledge to send events to otherentities and invoke services. Finally, XSP canextend certain entities to make their knowledge (inMSK format) available to registered agents andforward events between them.

An ACM is a container with inferencing supportfor an interpretable data model that provides therelations, behavior, and objects that correspond tothe entity’s context. The ACM evaluates the datamodel based on external events received via XSP.The result of an inference can be a new event (suchas sending a response), the exchange of contextinformation, or invocation of services through SIP.

The ACM’s data model consists of MSK objectsthat represent perceived entities, relations betweenthe data model’s entity and other objects, and thebehavior attached to these relations (correspond-ing to events to which the entity needs to respond).The ACM also evaluates MSK and uses it to deducesuitable responses; MSK thus has a dual nature asboth a description and a program.

44 MARCH • APRIL 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING

Ubiquitous Mobile Computing

Page 3: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

Connectivity NegotiationThe following brief example, taken from Figure 1,shows how an entity (mobile user theo) extendsits repertoire on the fly with a relation template(inetXs) that access service provider bågenAP(based in the Stockholm housing cooperative BrfBågen) offers. Note that instantiating the mutualrelation inetXs with local values extends boththeo and bagenAP in the negotiation (see thesnapshots of the ACM contents of theo, bågen,and bagenAP in Figure 1).

The initial definitions of theo and inetXs arestraightforward:

#<http://.../msk/user/theo>user @ "<.../msk/user>".theo :: {

type(user) &}.

#<http://.../msk/relation/inetXs>relation @ "<.../relation>".relation(inetXs) ::type(relation) &-> init :-that <: xsReq &<- xsReq :-certifies.init(this) &<- grant(X) :-newIPaddress(X) &<- deny(X) :-closelink(X)

}.

After discovering the availability of bagenAP net-

work access — and prior to receiving networkaccess by charasCP, the credential provider thatbagenAP endorses — the ACM instantiates the rela-tion for acquiring network access inetXs in theo:

/*<http://.../msk/user/theo>*/user @ "<.../msk/user>".inetXs @ "<.../msk/relation/inetXs>".certify @ "<.../msk/relation/certify>".theo :: {

type(user) &inetXs -> bagenAP {

init(X) :-that <: xsReq(X)}&certify -> charasCP {

reqCred :-that <: sndCred(C)}&task(inetXs.init)

}.

This service architecture’s most important contri-bution is that it provides general-purpose supportfor context-driven spontaneous communicationsnegotiation.5

This support facilitates the modeling of loca-tion-dependent applications by letting us attach(potentially intelligent) context-aware digitalobjects and services to different (possibly moving)locations and physical objects. GeoBots serve as ametaphor for user interaction with such location-dependent objects and services.

IEEE INTERNET COMPUTING http://computer.org/internet/ MARCH • APRIL 2003 45

Context-Aware Services

Figure 1. Location-dependent spontaneous negotiation of connectivity. Connectivity negotiation between the GeoBots theo,bågen, and bagenAP successively extends their local knowledge.

bye

visitor

Negotiations

locatedByuser

isA

LS

locationsvisitor

user

theo

isA isAregister

announce(bågen)discover(theo)

event(exchange)

isA

Mobileinteractive

space

locatedBy

bågenisA

LS

locationsvisitorisA

theoisA locatedBy

bågen

user

isA

LS

locationsvisitor

isAvisitor

Accessservice

providerisA

visitoruser

isA

inetXsinetXs

bågen

Service

Service Service

inetXsevent

(exchange)

User (theo) XSP (events) Interactive space (bågen)

inetXs

bågenLSbågenLS

bågenLS

bagenAPTeliaAP

bagenAPTeliaAP

theo

bågen

user

Accessservice

provider

Mobileinteractive

space

Mobileinteractive

space

Page 4: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

Context-Aware ExplorationThe GeoBots system associates an agent with acertain location based on this service architectureand its associated components. GeoBots can har-bor locally available context-aware user servicesand communication services for adaptive multi-media delivery support. Thus, GeoBots offer a rel-evant model not only for users (as an interaction

metaphor) but also for network operators and ser-vice providers.

The GeoBots design hides complexity, which letsusers focus on their essential tasks, while simulta-neously providing new user experiences that takeuser context into account. This requires that weeither minimize local configuration issues throughcontext-driven activation of communication viaone of several wireless interfaces,6 or that weimplement awareness of network topology andproperties by giving users a context-driven choiceamong communication channels for their tasks.GeoBots uses the former approach, but I amexploring the latter approach in my current work.

When mobile users who subscribe to the loca-tion service enter an area represented by a GeoBot,they invoke negotiation for the services the par-ticular GeoBot offers, such as ad hoc access, smartconnectivity, multimedia, or some combination ofthese. GeoBots are thus specialized mobile agents.They go far beyond the notion of GeoNotes (usedfor correlating location and information)7 byincluding context-awareness, mechanisms for con-trolling and invoking specific behaviors, and theability to negotiate for and provide services toother users.

GeoBots register with a location service that iscentral to the negotiation process. When person Avisits a GeoBot’s location, the location servicesends A a notification with the GeoBot’s identityto allow A to negotiate with the GeoBot for ser-vices. The system accepts location detection andGeoBot identification information from a varietyof technologies, such as a global positioning sys-tem receiver combined with an electronic com-pass,8 infrared beacons (for proximity detection),4

or Bluetooth. The location service can derive loca-tion information indirectly8 via a location serverthat deduces the object’s location from the observ-er’s location and direction of the observation, thusallowing indirect association of GeoBots to objects.

GeoBots enable exploratory interaction withreal or virtual objects in the physical environment.Figure 2 shows a simple example of what happenswhen the navigation system detects two GeoBots.The GeoBot 500 meters straight ahead representsthe Wireless Center, which recognizes theo as amember and invites him to a discussion with col-leagues in the multimedia-enhanced coffee corner.The other GeoBot, closer and to the left, offers bet-ter connectivity, but the system lets the userchoose which one to use.

This example might not have the optimalhuman-machine interaction because it presents

46 MARCH • APRIL 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING

Ubiquitous Mobile Computing

Figure 2. Interacting with GeoBots. (a) Instant-messaging interactionwith a personal GeoBot. (b) A hotspot GeoBot navigator. (c) Interac-tion with multiple GeoBots, which invite theo to join a conferenceand to negotiate better connectivity.

(a)

(c)

(b)

Page 5: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

multiple queries and interaction objects, but itdoes demonstrate how GeoBots can let users inter-act with real-world objects or virtual objects whileexploring their surroundings. Moreover, interac-tion with GeoBots can enhance communication inplanned settings (for example, intentionally usinghotspot location information to defer downloadsuntil cost/performance conditions meet user pref-erences) and unplanned settings (such as instantmessaging and presence notifications within a cer-tain user group). Richer modes of user interactionwill follow as users become familiar with thesenew possibilities.

GeoBots in HotTownTo study the issues of context-aware mobile appli-cations, we decided to build a prototype general-purpose multiuser environment to which virtualspaces, landmarks, and items could be added andattached to physical (possibly moving) locationsand spaces. Our group at Ericsson Research joinedwith the Royal Institute of Technology (KTH) andthe research center Telia to create the HotTown9

prototype at Stockholm’s Bågen housing complex.The user interface made very few assumptionsabout what interactions would take place amongusers or between users and devices.

To validate the service architecture and the con-text-aware negotiations of connectivity and ser-vices, we built HotTown on a heterogeneous wire-less testbed to which we added support for

• spontaneous negotiations of connectivitythrough independent wireless access pointsmediated by a trusted third party;

• smart choices (synchronizing both source anddestination) between multiple available wire-less access networks for identifying optimaldynamic service delivery paths relative to theapplication’s and user’s context; and

• a multipurpose environment, comprising a vir-tual environment mapped on top of a physicalspace, that provides user interaction with dig-ital objects and resources (the mobile interac-tive space at Bågen1).

Using a location service made the modes of inter-action location- and mobile-aware. A bidirection-al location gateway ensured correspondencebetween a physical location (represented in thelocation server) and a virtual location (representedin the Quake3 server). Thus, people visiting Bågenphysically could interact with virtual objects at thephysical equivalent of the objects’ virtual location,

while people who visited and moved throughBågen virtually (via the Q3 client) could see thephysical movements of people visiting the realBågen space and invoke a chat or VoIP session withthem. This supported the mixed-reality interactionbetween users and objects in a physical space.

Figure 3 (next page) shows how the elements ofthe testbed fit together. HotTown features twotypes of wireless access:

• wireless LAN (IEEE 802.11b) extensions to afixed Gigabit-Ethernet network in various pub-lic locations in Stockholm, including the hous-ing cooperative Brf Bågen

• general packet radio service (GPRS) for wide-area coverage, providing both local-area andwide-area wireless access to the Internet

The access services were based on the dynamichost configuration protocol (DHCP) and mobileIPv4.10 A Radius server provided WLAN authenti-cation, authorization, and accounting, as well asinteraction with an E-Cash server, which acted asa trusted third-party credential provider for pub-lic WLAN access points.

User AgentsA Java-based SIP user agent (SIP-UA) located inthe user’s mobile device supports the SIP presenceextensions SUBSCRIBE and NOTIFY,2 which enableit to represent users and objects. We enhanced theSIP-UAs by adding support for the extensible ser-vice protocol (XSP) and implementing (in Prolog)both active context memory (ACM) and reasoningsupport for mobile service knowledge (MSK).

The SIP-UA can invoke multimedia communi-cation between parties connected to the MobileInteractive Space at Bågen, whether the commu-nication entailed users chatting among themselvesor interacting with an object (such as invoking theQuake3 session indicated as Q3 in Figure 3). A SIPserver provides personal mobility by using a loca-tion server to determine the IP addresses of theSIP-UAs. A media server acts as a multiconfer-encing unit (MCU) for VoIP communicationbetween multiple users.

Location Server EventsA location service (the Σ in Figure 3) collectslower-level location-change reports from differentsources in order to synthesize and generate eventsfor agents. This enables objects to subscribe toevents that could notify them that a certain object

IEEE INTERNET COMPUTING http://computer.org/internet/ MARCH • APRIL 2003 47

Context-Aware Services

Page 6: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

O is or was recently in location L. It also lets anentity query the location service for objects {O} inlocation L or query the current location L of objectO. The Bågen space agent made this service avail-able via XSP to persons (or any other entities) vis-iting this mobile interactive space.

The personal agent, an extended SIP-UA,reports when it detects infrared beacons attachedto physical objects4 (Figure 3a). A Web serveragent translates (via a CGI script) the URL the bea-con emits into an event for the location server. Thepersonal agent can also detect and report locationchanges based on location information from a GPSmodule or many possible sensors.

At the link layer, software in the mobile devicepolls the management information base (MIB) ofthe access points to detect link handovers betweenaccess points, which the MIB reports to the loca-tion server (Figure 3b). At the network layer,mobile IP provides device mobility by assigning afixed home agent (HA) to the mobile device andseparate foreign agents (FAs) to the GPRS andWLAN networks; when the home agent detectslocation changes, it reports them to the locationserver (Figure 3c). At the application layer, SIP-UAs report user movement in the network from(re)registrations with SIP servers as locationupdates to the location server (Figure 3d).

Finally, a software client for Quake3 (a 3D gameengine), collocated with the SIP-UA, generates vir-tual movement for each agent’s representative

object in the 3D game server (Q3). That serverreports virtual location changes (Figure 3e) to thelocation server via a bidirectional gateway (GW).11

Also through this gateway, nonvirtual changes inlocation cause the location service to update thevirtual objects’ positions in Q3.

Bågen GeoBotsTo capture the necessary dynamic behavior in dif-ferent locations, we created three kinds of GeoBotsfor the prototype: access, object, and personal.

Access GeoBots. Access GeoBots offer multiple ser-vices, such as invitations to connect via anony-mous WLAN access to the Internet.12 TheseGeoBots are collocated with the foreign agentsavailable in the GPRS and WLAN access networks(see Figure 3). Figure 2 shows an overview of thespontaneous XSP negotiation for network accessbetween the user theo and the access point atbågen, which provides location-dependent andmobile-dependent awareness; to reduce complex-ity for the user, the system hides this dialog whentheo revisits bågen.

Figure 5 (p. 50) illustrates what happens when(a) the entity bågen announces itself to a user (orthe user discovers bågen) visiting its mobile inter-active space (MIS). The left side shows the user’sACM, and the right side shows the ACMs of theentity bågen (b,c) and the access point bågenAP(f). Extending the relations in the user’s ACM with

48 MARCH • APRIL 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING

Ubiquitous Mobile Computing

Figure 3. A mobile device moves through the HotTown prototype. (a) The personal agent detects andreports physical objects. (b) Device software detects link handovers between access points. (c) The homeagent (HA) reports the user's location changes. (d) All users report their location changes to the locationserver. (e) The Quake3 server correlates virtual object positions for all visitors to their reported locations,via a bidirectional gateway (GW).

GPRS (Telia)

WLAN (Bågen)Mobile

Mobileinteractive space

XSP (negotiations)

Bågen(Space)

Objects ContentObjects(Real)

Kon

sum

Foun

tain

Tow

er

(Virtual)

Location service

Web serverHA

serverSIP-UA

3DQ3 (3D movements)

RTP (Multimedia)

SIP (signaling)

GW

Media server

SIPBågen3D

FA (Bågen)

FA (Telia)

Person

(e)(d)

(c)(b)(a)

Internet

Sensors

Σ

Page 7: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

locatedBy causes the ACM to evaluate this rela-tion, thereby enabling the user to find the loca-tion server (d) and subscribe to its service. Fur-ther events reveal to the user theo that bågenoffers two methods for wireless access to its ser-vices (the bågenAP and teliaAP access points)and an inetXs relation with two correspondingparameterizations. Incorporating this knowledgeinto the user’s ACM through subsequent XSPevents (f,g) lets theo’s ACM decide on a wirelessaccess method that satisfies the parameters of theService relation. Furthermore, we could upgradethe location service (LS) to offer a relation thatreports on access point locations and access con-ditions (such as data rate and latency). Thisupgraded LS would let the user’s agent make bet-ter decisions about invoking services, such asdeferring sending large volumes of data whencommunication conditions are unfavorable.

The Access GeoBot also negotiates betweenmobile proxies in the Bågen WLAN and TeliaGPRS access networks to relay MP3 content tomobile users, thus offloading the GPRS macro-cells, which chiefly handle remaining applicationsignaling and reporting of context changes.13

Object GeoBots. The Fountain, Tower, and Kon-sum (a grocery store) GeoBots in Figure 4 repre-sent local mobile interactive spaces that providepresence and event services between registeredparties. The Fountain and Tower GeoBots list vis-itors and offer streaming of ambient sounds by(re)negotiating voice sessions (via SIP) and mix-ing speech together with background audiobefore forwarding voice packets. The KonsumGeoBot also sends notifications containing prod-uct advertisements.

Personal GeoBots. When a user registers with theLS, the service automatically creates a GeoBotcorresponding to that person. That personalGeoBot is available remotely or locally, online oroffline; its ACM represents its collected behavior.This lets people at Bågen identify each other elec-tronically and learn their virtual or physicalwhereabouts while also receiving invitations tocommon services such as voice-over-IP, messag-ing, and MP3 file swapping. Figure 5 (next page)shows how the LS spontaneously negotiates loca-tion-dependent connectivity.

Simplifying Localized ServicesThe rapidly increasing range of information inmobile networks about users and communication

resources has created opportunities for context-aware services that go far beyond what is possiblein mobile telephony networks. The diversity of theinfrastructure and services mandates a servicearchitecture with components that enable sponta-neous negotiations of services between end points,such as GeoBots.

The service architecture is an important enablerfor the spontaneous negotiation of connectivityand services in a heterogeneous network. It allowsaccess providers, network operators, virtual oper-ators, and service providers to establish temporaryrelations and helps parties establish ad hoc servicerelations. This peer-to-peer approach offers sig-nificant improvements over the complete stan-dardization of services (which would hamper ser-vice growth) or negotiation of services via servicenodes (which would limit the services).

GeoBots exploit the fact that entities — objects(the fountain), resources (WLAN access), and users(Theo) — can have location. Thus, GeoBots allocateservices and user interactions to certain locationswith which other users can interact. The importantcontribution to location-aware service support(compared to current systems such as WebSigns8

and GeoNotes7) is that GeoBots attach servicebehavior and user interaction to certain locations;they can extend local behavior and interactionspontaneously without requiring standardized ser-vices or centralized service repositories.

The multimodal multievent user interaction in

IEEE INTERNET COMPUTING http://computer.org/internet/ MARCH • APRIL 2003 49

Context-Aware Services

Figure 4. 3D model of the HotTown smart space. GeoBots providemixed-reality services for mobile users such as theo, whose viewfrom points a, b, and c in the main image appear in the broken-outimages. (a) Theo looks up at the real-world tower. (b) Two virtualGeoBots greet theo at the Fountain. (c) Theo gazes across the plazaat the real-world supermarket Konsum.

(a) (c)(b)

Konsum

AP

Fountain

A Ambient sound

P Physical visitor

V Virtual visitor

Audio spaceTower

b

c

a

V

V

A

P

V

Page 8: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

HotTown demonstrates that we can attachGeoBots to both objects and people and that wecan attach localized services (for example, voice,ambient sounds, instant messages, or presenceinformation) to entities with which the user mightinteract. Equally importantly, GeoBots can reducethe complexity involved in accessing or optimiz-ing service delivery in an increasingly heteroge-neous wireless infrastructure while minimizing theuser’s involvement.

Autoconfiguration of infrastructure, connectiv-ity, and services is where GeoBots can reduce theneed for users to get involved in setting up com-munication paths. Important questions arise, how-ever, about when the user should be involved;when, how, and by whom decisions should bemade regarding automatic configuration of net-work access and service delivery paths; and howto give parties participating in the automatic con-figuration of infrastructure the distributed supportand management of rights and policies to accessdevices and services.

Many mobile operators support roamingbetween their public WLAN and GPRS access net-works, and will soon support roaming to theirWLANs from competing independent local opera-tors. At present, the user must track all these sub-scriptions and know when access is available. Ourapproach hides such complexity, enabling trans-parency of Internet access through mobile roam-ing. GeoBots can facilitate negotiations of Inter-

net access in the local area, allow anonymousaccess,12 and reduce exposing the user to suchdialogs and negotiations. Furthermore, networkoperators can use GeoBots to optimize wirelessinfrastructure use by offering information to users’personal agents regarding where adequate con-nectivity is available for the task in question; alter-natively, the user can defer these actions. GeoBotsoffer an interesting starting point for mobile ser-vice providers who wish to give users local con-text-aware services and to enhance physical spaceswith such services.

Future DirectionsToday’s presence services are merely precursors ofnew modes of interaction between users and the realworld interspersed with virtual objects (also knownas augmented or mixed reality). We do not yet fullyunderstand what interaction modes will be accept-able or useful to a larger audience. Challenges alongthat path include the increasing heterogeneity ofwireless infrastructure. The increasing number ofchoices for delivering services to users — includingmultiple simultaneous services, devices, and accessnetwork choices — will require the creation of con-text infrastructures that let us build “ambient net-works” that adapt themselves to users.

Service providers are primarily interested inreaching end users and their devices. Likewise,users are mainly interested in reaching services;they are interested in infrastructure capabilities

50 MARCH • APRIL 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING

Ubiquitous Mobile Computing

Figure 5. Connectivity-negotiation state diagram. The location service negotiates connectivity between several GeoBots:a user (theo), an access point that has relations to a credential provider (bagenAP), and a space that offers this hotspotaccess (bågen).

theo

announce

discover

register(theo)

list(Bågen, ...)

profile(theo)

request

action(inetXs)

bagenAP

register...

access

profile(bågen+)

event(proximity)

event(proximity)invite

profile

OKsubscibe

LS

(i)

(h)

(g)

(e)

(d)

(a)

MIS

locatedBy

bågen

user

isA

LS

locationsvisitor isA

isA locatedBy

isA

locationsvisitor

isAvisitor

visitor

ASP

user

isA

inetXsinetXs

bågen

Service

bågenLS

bagenAPteliaAP

isA

isA

MIS

locatedBy

isA

LS

locationsvisitor

isA

isA

Service

Service

inetXsinetXs

bågenLS

fountainbågen

(b)

(c)

(f)

visitor

theo

bågen

user

ASPbagenAPteliaAP

user

theo

theo

MISbågen

user LS

bågenLS

profile(bågen)

register(bågen)

announce

Page 9: Attaching Context- Aware Services to Moving … Research Attaching Context-Aware Services to Moving Locations The GeoBots service uses context information from a variety of sources

only when they affect the cost, effectiveness, andrichness of interaction with these services. There-fore, we are creating support for a self-organizinginfrastructure for seamless access to and deliveryof services in a heterogeneous wireless infrastruc-ture. Such support provides an interface for third-party service providers to offer wireless services viaa self-configuring mobile infrastructure.

This approach uses context metadata bundledwith application content (called “smart media”)to make decisions for setting up optimal deliverypaths between peers. In addition, peers can usecontext metadata to improve decisions abouthow to access services, and even share the meta-data or cooperate using peer-to-peer communi-cation. Our approach eliminates the need for anetwork provider to orchestrate service negotia-tions, thus allowing for much greater flexibilityand responsiveness.

By studying the interaction between virtual orreal objects and people visiting the area of Bågenor connecting from a remote location, we recog-nized that GeoBots could lead to some very inter-esting and useful applications in the office (forexample, finding and spontaneously using equip-ment and services) and public spaces such as shop-ping malls or urban areas.

My current research continues to involve adap-tive user interaction with services — compositionsof artifacts and services based on the application’spurpose and the user’s context. I am primarilyfocused on developing services that can seamless-ly adapt to the properties of available infrastruc-ture resources (taking into account the applica-tion’s purpose and the user’s context), as well assmart infrastructures that adapt the resourcesinvolved in service delivery to the application’spurpose and the user’s context. Ongoing informa-tion about these aspects of the Adaptive and Con-text-Aware Services project is available at theACAS site (http://psi.verkstad.net/acas/).

AcknowledgmentsI thank Mark T. Smith from HP Labs in Palo Alto, California, and

Gerald Q. Maguire Jr. from the Royal Institute of Technology

(KTH) in Stockholm for their support. I also thank researchers at

KTH, SICS, and Ericsson Research for their contributions to the

prototypes. This research was partially supported by the Swedish

Foundation for Strategic Research’s Personal Computing and

Communication (PCC) research program and Ericsson Research.

References

1. J. Rosenberg et al., “SIP: Session Initiation Protocol,” Inter-

net Eng. Task Force (IETF) RFC 3261, Feb. 2002; www.

ietf.org/rfc/rfc3261.txt.

2. J. Rosenberg, “A Presence Event Package for the Session

Initiation Protocol (SIP),” IETF Internet Draft, Dec. 2002;

work in progress.

3. D. Crocker et al., “Common Presence and Instant Messaging

(CPIM),” IETF Internet Draft, Nov. 2001; work in progress.

4. T. Kindberg et al., “People, Places, Things: Web Presence

for the Real World,” Proc. 3rd IEEE Workshop on Mobile

Computing Systems and Applications (WMCSA’00), IEEE

CS Press, 2000, pp. 19-30.

5. T. Kanter, Adaptive Personal Mobile Communication, Ser-

vice Architecture and Protocols, doctoral dissertation, Dept.

Microelectronics and Information Technology, Royal Inst.

Technology (KTH), Nov. 2001; http://psi.verkstad.net/

publications/.

6. J. Tourrilhes, L. Magalhaes, and C. Carter, “On-Demand

TCP: Transparent Peer-to-Peer TCP/IP over IrDA,” Proc.

IEEE Int’l Conf. Communications (ICC 2002), IEEE Press,

2002, pp. 966-971.

7. F. Espinoza et al., “GeoNotes: Social and Navigational

Aspects of Location-Based Information Systems,” Proc.

Int’l Conf. Ubiquitous Computing (UbiComp’01), Springer-

Verlag, 2001, pp. 2-17.

8. S. Pradhan et al., “Websigns: Hyperlinking Physical Loca-

tions to the Web,” Computer, vol. 34, no. 8, 2001, pp. 42-48.

9. N. Becker et al., “The HotTown Project,” final report, Com-

munication Systems Design 2G1319, Royal Institute of

Technology (KTH), June 2001; http://psi.verkstad.net/

publications/hottown_finalreport.pdf.

10. A. Escudero-Pascual et al., “Wireless Access in the Fly-

inglinux.NET Infrastructure: Mobile IPv4 Integration in

IEEE 802.11b,” Proc. 11th IEEE Workshop on Local and

Metropolitan Area Networks (LANMAN’01), IEEE Press,

2002, pp. 51-53.

11. M. Bylund and F. Espinoza, “Testing and Demonstrating

Context-Aware Services with Quake III Arena,” Comm.

ACM, vol. 45, no. 1, Jan. 2002, pp. 46-48.

12. P. Jokela, “Wireless Internet Access Using Anonymous

Access Methods,” Proc. 6th IEEE Int’l Workshop on Mobile

Multimedia Communications (MOMUC’99), IEEE Press,

2002, pp. 194-197.

13. T. Kanter et al., “Smart Delivery of Multimedia Content for

Wireless Applications,” Proc. 2nd Int’l Workshop on Mobile

and Wireless Communications Networks (MWCN’00),

Springer-Verlag, 2000, pp. 70-81.

Theo Kanter is a senior researcher at Ericsson Research and affil-

iated with the Wireless Center at the Royal Institute of Tech-

nology (KTH) in Stockholm. His research interests include

context-aware mobile multimedia communication based on

SIP, VoIP, and mobile agent-based service architectures, as

well as self-organizing ad hoc application infrastructures.

Kanter earned his technical doctorate at KTH in computer

communications. Contact him at [email protected].

IEEE INTERNET COMPUTING http://computer.org/internet/ MARCH • APRIL 2003 51

Context-Aware Services