context-aware composition of mobile services

6

Click here to load reader

Upload: s-panagiotakis

Post on 08-Feb-2017

218 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Context-Aware Composition of Mobile Services

1520-9202/06/$20.00 © 2006 IEEEP u b l i s h e d b y t h e I E E E C o m p u t e r S o c i e t y38 IT Pro July ❘ August 2006

Context-AwareComposition of Mobile Services

Spyros Panagiotakis and Athanassia Alonistioti

N ext-generation mobile networks willneed to provide flexible, customized,context-aware, and ubiquitous multi-media services to mobile users.

Assume, for example, a mobile user is at homereceiving real-time news video from an applica-tion provider through a large-screen monitor.Asthe mobile user leaves the house for his office,moving from the large-screen terminal to aportable phone, a location information server inthe service support layer notifies the applicationof the location update. The application success-fully recognizes, by scanning the user’s profile orinteracting with the user, the user’s wish to changecontent (media) from video to text, and a mediaconverter executes the conversion.

To provide such flexible and context-awareservices, a system must be able to know at anygiven time the network status, user location, pro-files of the various entities (users, terminals, net-work equipment, and services) involved, andsystem policies. That is, it must be able to copewith a large amount of context information.Because developing separate application versionsfor different execution contexts isn’t feasible,applications should be largely agnostic of theirenvironment.We need intelligent mechanisms foridentifying the context and mapping it to appro-priate adaptation operations on services(Athanassia Alonistioti, Nikos Houssos, and

Spyridon Panagiotakis, “A Framework forReconfigurable Provisioning of Services inMobile Networks,” Proc. Int’l Symp. Comm.Theory and Applications, HW CommunicationsLtd., 2001, pp. 21-26).

We’ve developed an intelligent distributedframework that enables the dynamic compositionof mobile services and applications based on exist-ing services and technologies,while enriching themwith high-level and up-to-date contextual infor-mation. The framework makes the service imple-mentation totally platform-unaware, thus in-creasing the number of potentially available serv-ices and shortening application time-to-market.

WHAT IS CONTEXT? Context is the combination of information rele-

vant to a user’s nearest environment, such as userlocation,network,and terminal device.Contextualinformation is encoded in the user profile, whichconsists of user preferences,terminal,ambient,net-work, and service profiles (3GPP, “3GPP GenericUser Profile Architecture:Stage 2,”technical spec-ification 23.240). Because applications exchangeprofiling information across different administra-tive boundaries, to assure interoperability, it’s bestto describe these profiles using XML (http://www.w3c.org/XML) or XML-based languages—Web Services Description Language 1.1 (WSDL,http://www.w3.org/TR/wsdl), Synchronized Multi-

An intelligent distributed frameworkfor context-aware mobile services lets applications dynamically adaptto changing conditions and contextsover a large variety of infrastructures and configurations.

Page 2: Context-Aware Composition of Mobile Services

July ❘ August 2006 IT Pro 39

media Integration Language 2.0 (SMIL, http://www.w3.org/TR/smil20), and Web Ontology Language (OWL,http://www.w3.org/2004/OWL),for example.Moreover,pro-files should be laconic so the applications transmit them effi-ciently. Contextual profiles greatly influence a service’sdeployment and execution, because context-aware servicesmust adapt to context and related updates.

A user preference profile expresses a particular user’sdesired service provision features. User preferences canbe service-independent—that is, applicable to all servicesaccessed by the user—or service-specific—that is, per-taining to a particular application. User preferences caninclude a broad range of attributes, such as

• perceived QoS requirements (desired voice quality inphone calls, audio/video quality for streaming applica-tions, image resolution, and so on),

• preferred languages,• content and media presentation

characteristics (for example,text versus audio versus video),

• font sizes,• tariffing or billing,• privacy and security,• favorite geographical zones,and• user history and calendar.

An ambient profile includes information such as temperature,the presence of other people, andwhether the user is outdoors orindoors or in an urban,suburban,or rural area.It also includesdate and time information, which has particular significancefor certain types of applications and can affect service func-tionality as well as management tasks (such as billing).

According to the User Agent Profile specification(UAProf, http://www.wapforum.org/what/technical.html),a terminal profile includes attributes specific to

• the hardware platform (for example,CPU and screen size),• the software platform (for example, Java platform and

virtual machine and operating system),• the network characteristics (such as current bearer serv-

ice and supported bearers),• the browser user agent (such as support for JavaScript,

tables, and frames),• the Wireless Application Profile characteristics (for

example, the Wireless Markup Language version),• the push characteristics (such as the maximum push

message size supported).

A network profile can include

• identification and general description information forthe surrounding networks, such as type (Global System

for Mobile Communications/general packet radio serv-ice and Universal Mobile Telecommunications System,for example), physical location, and network operatordata;

• real-time monitoring and detection of variations in theQoS provided by the network infrastructure (for exam-ple, the available bandwidth);

• technical characteristics, such as bearer type, supportedbandwidths, and supported QoS levels; and

• hybrid business/technical characteristics, such as sup-port for open interfaces that let applications accessselected network functionality—for example, the Parlay(http://www.parlay.org/specs/index.asp), Open ServiceAccess (3GPP, “Open Service Access [OSA];Application Programming Interface [API]; Part 1-12,”technical specification 29.198), and JAIN (John deKeijzer,Douglas Tait,and Rob Goedman,“JAIN:A NewApproach to Services in Communication Networks,”

IEEE Comm., vol. 38, no. 1, Jan.2000, pp. 94-99) interfaces.

A service profile is a Web docu-ment describing the multimediacontent elements and objectscomposing the service. If a serviceprovides a multimedia element inmultiple content alternatives, thedocument will specify each alter-native.For example, if an image ina Web document is available inthree versions, depending on the

targeted device’s screen size, the document lists the threeoptions.The document can also describe how to publish theservice and support its provisioning to end users.Althoughmany developers use XML and WSDL for publishing suchdocuments, SMIL’s facilities (such as the switch element)make it ideal for describing service profiles.

ADAPTING TO CONTEXT Mobile distributed computing exploits the user’s

dynamic environment with a new category of applicationsthat are aware of the context in which they run.A context-aware service senses the user’s current context and changesto that context and adapts its behavior to the user’s needsaccordingly (Erno Kovacs, Klaus Rohrle, and BjronSchiemann, “Adaptive Mobile Access to Context-AwareServices,” Proc. 1st Int’l Symp. Agent Systems andApplications, ACM Press, Oct. 1999). Special mediatingservices sense the context, model changes in the contex-tual environment as events,and communicate these eventsto the applications for real-time service readaptation.Thecontext-sensing services should collect contextual infor-mation from underlying sensor networks automatically(without the user’s intervention), which lets the applica-tion designer decide what information is relevant and how

A context-aware servicesenses the user’s

current context andchanges to that contextand adapts its behavior

to the user’s needsaccordingly.

Page 3: Context-Aware Composition of Mobile Services

40 IT Pro July ❘ August 2006

M O B I L E N E T W O R K S

to deal with it. Context retrieval takes place with respectto the user privacy policies given by the user and includedin his profile.

Standardization work groups and forums have under-taken various efforts toward the introduction of open,network-independent interfaces enabling context retrieval(Parlay/OSA and JAIN are examples). These interfacesgive applications transparent access to network function-ality (such as call control and location information), thusallowing third-party application developers to createadvanced, network-independent, and context-full serviceswith standard software engineering tools and general-purpose programming languages.

Service-to-terminal/network adaptation Context-aware applications should edit the service pres-

entation to consumers, taking intoaccount the user’s terminal and theavailable network capabilities. Forexample, a user participating in a teleconference using a PC canreceive high-quality sound andvideo input, whereas a participantusing a mobile phone can’t receivethe video input. Furthermore, ifthe user specifies a maximumpage-load time, the transcodingsystem should sense the end-to-end bandwidth to derive the content’s ideal data size.Thisservice-to-terminal/network adaptation’s effectivenessdepends on the dynamic creation of a generic service pres-entation description. Therefore, a service should providemultiple views to users, modifying and transcoding itsmultimedia components based on the user’s terminal andthe network capabilities (Kovacs, Rohrle, and Schiemann,1999).

Service-to-location adaptation The importance of localization in service customization,

network reconfiguration, and operator differentiation hasled many telecommunication companies and institutionsto develop or integrate positioning systems into their net-works.The exploitation of location information adds a pow-erful new dimension to the range of available informationservices (Spyridon Panagiotakis and Athanassia Alonistioti,“Intelligent Service Mediation for Supporting AdvancedLocation and Mobility Aware Service Provisioning inReconfigurable Mobile Networks,”IEEE Wireless Comm.,vol. 9, no. 5, Oct. 2002, pp. 28-38). For instance, a user canfind services according to geographical criteria using dif-ferent information sources simultaneously. A service, onthe other hand, sends location, situation, or event-relatedinformation based on the user profile, so a traveler receivesinformation about the location of the nearest gas stationand available accommodations.

Service-to-user preferences adaptation 3GPP’s Virtual Home Environment offers personalized

services based on user preferences (3GPP, “ServiceAspects;The Virtual Home Environment,” technical spec-ification 23.127).VHE provides personal service environ-ment portability across network boundaries and betweenterminals. The specification’s primary aim is to presentusers with the same personalized features, customized userinterface, and services regardless of the network, terminal(within the terminal’s and network’s capabilities),or user’slocation. VHE exploits user profiles, which encode theuser’s essential parameters, such as communication pref-erences and service presentation.

COMPONENT-BASED APPLICATION ARCHITECTURE

Anything a service providersells that isn’t hardware equip-ment is considered a service.Here,“service” refers to an informationtechnology product that is directlyaccessible and perceptible to theend user and whose value residesmostly in functionality and con-tent, rather than transport or con-nectivity.Thus, services range fromplain messaging and informationretrieval to intelligent, personal-

ized navigation guides and shopping assistants. A servicecan use other services’ functionality as structuring blocks.

We define as application a more complicated service archi-tecture composed of several services combined to achievea complete and more complex functionality. In the follow-ing, we use “service” and “application” interchangeably.

Services typically consist of code running in the end-userterminal (service client) and may include a server (station-ary) part. (Nikos Houssos, Vangelis Gazis, and AthanassiaAlonistioti,“Application-Transparent Adaptation in Wire-less Systems beyond 3G,”Proc.IST Mobile Comm.Summit2003, Instituto de Telecommunications de Aveiro,2003).Theservice client includes the service user interface, which canbe preinstalled in the terminal or downloaded and executedon demand. Including a server part can support dynamicservice provision.Service execution typically includes inter-action with the server part. For example, a game can be astand-alone application, whereas a streaming audio/videoservice must communicate with remote servers.If available,the application server part is located at the service provider.

Multitier architectures, in which the server part comprisesmany interacting components, will also be commonplace.These components might be in the administrative domainsof entities other than the service provider—for example,content providers marketing access to their databases or network operators providing interfaces to network functionality.

Multitier architectures,in which the server

part comprises manyinteracting components,

will also be commonplace.

Page 4: Context-Aware Composition of Mobile Services

July ❘ August 2006 IT Pro 41

Services generally come in many versions (oreditions), so users can access them from varioustypes of terminals and maintain their diverse pref-erences. In particular, a service could offer differ-ent implementations of the client part and itscomponents (for example, different versions of animage for devices with different screen sizes) totarget different contexts.

Essentially, a service contains some core func-tionality, present in all versions and configura-tions, and an optional, adaptable part tailored tothe context. Figure 1 depicts this generic model.The architecture’s modularity facilitates the adaptation tasks. Adding and removing compo-nents from the architecture achieves differentservice compositions and physical distributionconfigurations.

PROPOSED FRAMEWORK FOR DYNAMIC COMPOSITION OF CONTEXT-AWARE MOBILE SERVICES

Figure 2 shows our proposed framework, whichconsiders consumers’ current context when composingmobile services, dynamically adapting service provisionaccordingly.The framework comprises a service/ applica-tion logic component that orchestrates the services adapt-ability to context. When an authorized user requestsaccess to a specific service, the service logic takes as inputthe user’s updated contextual information in the form of

profiles from the context-sensor components (user pro-file, terminal capabilities, network profile, and user loca-tion), along with the requested service’s presentationprofile (the service profile).At the same time, the servicelogic registers with the context sensors to receive eventnotifications of updates to the requesting user’s context.Then, based on the encoded information in the contex-

0 0 00 0 0

0 0

0 0 00 0 0

0 0

0 0 00 0 0

0 0

Interfaces

Interfaces

Service optionalclient part

Service coreclient part

Service client part

Service stationary part

Service/application

Context andassociated

events sensors

Userprofile

Networkprofile

Userlocation

Terminalcapabilities

Tocontextsources

Contextinterpretation

Transcoding CompressionModality

transformation

Content adaptation services

Profile matchingand presentationprofile generation

Service/applicationexecution

Service/application logic

Content andservice profile

repository

Presentationprofile

User interaction

Figure 2. Framework for dynamic composition of context-aware mobile services.

Figure 1. Generic service and application architecture.

Page 5: Context-Aware Composition of Mobile Services

42 IT Pro July ❘ August 2006

M O B I L E N E T W O R K S

tual profiles, it filters the service profile document to gen-erate a customized service presentation profile for the cur-rent context.

Next, the profiling matching component of service logicpropagates the generated presentation profile to the serv-ice execution engine responsible for compiling and exe-cuting the commands in the incoming profile. This taskconsists of several steps:

• retrieving the appropriate multimedia content from thecontent repositories in the exact format,

• interacting with the content adaptation services fortranscoding or translating some media files,

• composing media files according to the indicated pres-entation format, and

• packaging and forwarding the resulting files to therequesting user.

If a context parameter changes while the user is execut-ing the service, an associated notification reaches the serv-ice logic, which repeats the operation just described. Theservice logic generates a new service presentation profilefor the user based on the updated context information andadapts the service execution accordingly. For example,assume the service receives an event notification indicat-ing that a user has left home to drive to his office. It advisesthe service logic, which modifies the service presentationprofile according to the user preferences profile for thisnew situation (or geographical area) and instructs the serv-ice execution component to perform the required adapta-tions (a video-to-text conversion, for example).

The context-sensor components serve as the service/application interface to the context sources. The applica-tions could retrieve the context information through a pri-vate sensor network or the Parlay/OSA APIs that theunderlying network infrastructure might provide to author-ized applications (the latter applies only to Parlay/OSA-aware applications).

The context-interpretation compo-nents translate the raw contextual infor-mation retrieved from the contextsources to the high-level and user-spe-cific information required for personal-ized adaptation. For example, locationinterpretation can translate geographi-cal coordinates from a GPS device to astreet address or the applicable favoritegeographical zone of the positioned user(Panagiotakis and Alonistioti, 2002).

Content adaptation services includevarious media-processing technologiesfor increasing content accessibility andimproving users’ experience within het-erogeneous networking environments.They can transcode, compress, or con-

vert media content according to the client display’s char-acteristics, current network parameters, or specific userpreferences.Table 1 lists the possible content adaptationsfor various media types (Narendra Shaha, Ashish Desai,and Manish Parashar, “Multimedia Content Adaptationfor QoS Management over Heterogeneous Networks,”Proc. Int’l Conf. Internet Computing, Computer ScienceResearch Education and Applications [CSREA] Press,2001, pp. 642-648).

Although Figure 2 presents the adaptation frameworkcomponents as lying in the same administrative domain, adistributed architecture is also possible. A distributedarchitecture would include the identification of potentialcollaborations with other services through dynamic dis-covery, invocation of autonomous service modules,and theaccomplishment of required actions (such as communica-tion bindings with other services components). Thisapproach,which is the dominant paradigm in the Web serv-ices and service-oriented architecture research, enablesthe dynamic definition of composite applications. Hence,you could consider the context sensors, context inter-preters, content adaptation engines, service/applicationexecution server, and service/application logic we’vedescribed as autonomous services running in differentadministrative domains that are harmoniously composedto constitute the context-aware adaptation framework inFigure 2.

A Web services developer could deploy the service logiccomponent at a server, a proxy, or at the client side (JohnR. Smith, Rakesh Mohan, and Chung-Sheng Li,“Transcoding Internet Content for Heterogeneous ClientDevices,” Proc. IEEE Int’l Symp. Circuits and Systems[ISCAS], IEEE Press, 1998, pp. 599-602). The server andproxy options could reside in either the service provider orthe network operator domain.As long as the client has suf-ficient capabilities, the transcoding system could bedeployed at the client to customize the content display.However, this option reserves and consumes valuable and

Table 1. Media types and content adaptations.

Media type Content adaptation

HTML Text summary, text to audio, format conversion, table to list, font size reduction

Image Image removal, size reduction, color to grayscale, format conversion, image reduction

Audio Audio removal, stereo to mono, audio to text encoding, format conversion

Video Video removal, video to image, video to text, video to audio, format conversion, frame-rate reduction, resolution reduction, thumbnail extraction

Page 6: Context-Aware Composition of Mobile Services

July ❘ August 2006 IT Pro 43

scarce resources at both the terminal and network. Thus,a limited-capabilities terminal runs only a lightweight mod-ule (the service client) and delegates the rest of the serv-ice task to a proxy or server.

C ontext-aware applications promise to provide theirsubscribers with customized and personalized serv-ices. However, adaptability to context and dynamic

composition of mobile services brings together severaltechnologies and architectures, which must work harmo-niously and cooperate to achieve the desired result.Hence,developers of context-aware services must resolve com-patibility and performance issues. Because service provi-sion to mobile users should take place at almost real time,delays from interactions between components or admin-istrative boundaries must be minimized.Only with assured

interoperability can context-aware applications satisfac-torily fulfill end-user requirements and succeed in the com-ing mobile market. ■

Spyros Panagiotakis is a member of the CommunicationNetworks Laboratory at the University of Athens. Contacthim at [email protected].

Athanassia Alonistioti is a project manager and seniorresearcher in the Communications Network Laboratory atthe University of Athens. Contact her at [email protected].

For further information on this or any other computingtopic, visit our Digital Library at http://www.computer.org/publications/dlib.