9
Policy-Driven Personalized Multimedia Services for Mobile Users Hamid Harroud, Student Member, IEEE, Mohamed Ahmed, Student Member, IEEE, and Ahmed Karmouch, Member, IEEE Abstract—This paper proposes an agent-based service provisioning system for mobile users. It describes a set of cooperative agents distributed over different sites that work together to provide personalized services for mobile users over the Internet. Users moving outside the office are able to maintain an office-like environment at home, or at temporary locations such as a meeting at another company, a business trip, or a hotel. Agents representing the end-users and the system agents engage in a negotiation process to facilitate access to personalized services at other sites. This access is obtained in accordance with the users’ home policies as well as those at their current location. An Adaptive Service Presentation agent is used to adapt the service presentation to the capabilities of the users’ workstations, laptops, phones, PDAs, or other devices. This work is conducted in Canada as part of the Mobile Agent Alliance project involving the University of Ottawa, the National Research Council, and the Mitel Corporation. Index Terms—Software agent, authorization policies, agent negotiation, service presentation, multimedia abstraction service. æ 1 INTRODUCTION T ODAY’S increasingly mobile users are now requiring personalized services at different locations on their networks. Locations that a user may visit can be configured into a private network in which users can expect to retain access to services provided by their home site as they move from one location to another. In the Multimedia Information and Agent Research Laboratory (MIRL) at the University of Ottawa, we are exploring different aspects of agent technology and mobile computing in order to provide systems capable of offering mobile personalized services to mobile users. Emerging agent technology defines agents as having the autonomy necessary to act on behalf of users and to migrate from host to host while performing their task [1]. This is the key to the development of tools that manage users’ mobility and make flexible service provisioning possible. Our agent- based system is designed to provide a mobile working environment, similar to the home or office environment, which can be used by users wherever they travel and whichever devices they use. One of the key design components of the system is the use of authorization policies and agent negotiation. Author- ization policies are defined at each site to monitor resource utilization as well as the site’s overall policies. The use of policies enables dynamic changes in the behavior of the system without altering its components. The agent negotia- tion process is used to guide the interaction of agents as they make decisions on the user’s behalf in accordance with established policies. For example, when a user moves from a home site to a visited site, agents communicate and negotiate with one another to allocate a temporary profile to the user according to home preferences and services. The profile includes elements such as the user’s identity, the authorized services and their associated quality of service, the devices that may be used, and the costs to be paid. Mobile users may wish to use various devices with different capabilities, such as a workstation, a laptop with a wireless connection, a PDA, or a phone. Our system therefore needs to be able to identify the device in use at any particular time and to adapt the presentation to the device’s capabilities. Adaptation in providing multimedia services such as video mails is a challenging issue. We have adopted a general approach that considers both the characteristics of the media to be presented to the user and the capabilities of the device used to access the media. The approach is based on media abstraction techniques that are capable of summariz- ing and possibly converting media contents in order to present them on other (possibly smaller) devices. This helps to provide alternatives in the form of short summary messages of different formats. The paper is organized as follows: Section 2 presents the motivation for this study and reviews related work. Section 3 introduces the main components of our agent- based system. The interagent interaction and negotiation model is presented in Section 4, which includes sections describing the agent communication mechanism and the policy-based negotiation protocol. Section 5 gives an example, a model for providing call forwarding and media abstraction services within a private network made up of three sites. Aspects of the media abstraction service and its integration into the system are then highlighted in Section 6. Section 7 evaluates the system’s implementation. Finally, in Section 8, we present our conclusion and suggest future work. 16 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2003 . The authors are with the School of Information Technology Engineering (SITE), University of Ottawa, 161 Louis Pasteur St., Ottawa, ON, Canada K1N 6N5. E-mail: {hharroud, karmouch}@site.uottawa.ca, and [email protected]. Manuscript received 16 Oct. 2001; revised 13 May 2002; accepted 29 Dec. 2002. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number 9-102001. 1536-1233/03/$17.00 ß 2003 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS

Policy-driven personalized multimedia services for mobile users

  • Upload
    a

  • View
    214

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Policy-driven personalized multimedia services for mobile users

Policy-Driven Personalized MultimediaServices for Mobile Users

Hamid Harroud, Student Member, IEEE, Mohamed Ahmed, Student Member, IEEE, and

Ahmed Karmouch, Member, IEEE

Abstract—This paper proposes an agent-based service provisioning system for mobile users. It describes a set of cooperative agents

distributed over different sites that work together to provide personalized services for mobile users over the Internet. Users moving

outside the office are able to maintain an office-like environment at home, or at temporary locations such as a meeting at another

company, a business trip, or a hotel. Agents representing the end-users and the system agents engage in a negotiation process to

facilitate access to personalized services at other sites. This access is obtained in accordance with the users’ home policies as well as

those at their current location. An Adaptive Service Presentation agent is used to adapt the service presentation to the capabilities of

the users’ workstations, laptops, phones, PDAs, or other devices. This work is conducted in Canada as part of the Mobile Agent

Alliance project involving the University of Ottawa, the National Research Council, and the Mitel Corporation.

Index Terms—Software agent, authorization policies, agent negotiation, service presentation, multimedia abstraction service.

æ

1 INTRODUCTION

TODAY’S increasingly mobile users are now requiringpersonalized services at different locations on their

networks. Locations that a user may visit can be configuredinto a private network in which users can expect to retainaccess to services provided by their home site as they movefrom one location to another. In the Multimedia Informationand Agent Research Laboratory (MIRL) at the University ofOttawa, we are exploring different aspects of agenttechnology and mobile computing in order to providesystems capable of offering mobile personalized services tomobile users.

Emerging agent technology defines agents as having the

autonomy necessary to act on behalf of users and to migrate

from host to host while performing their task [1]. This is the

key to the development of tools that manage users’ mobility

and make flexible service provisioning possible. Our agent-

based system is designed to provide a mobile working

environment, similar to the home or office environment,

which can be used by users wherever they travel and

whichever devices they use.One of the key design components of the system is the

use of authorization policies and agent negotiation. Author-

ization policies are defined at each site to monitor resource

utilization as well as the site’s overall policies. The use of

policies enables dynamic changes in the behavior of the

system without altering its components. The agent negotia-

tion process is used to guide the interaction of agents as

they make decisions on the user’s behalf in accordance with

established policies. For example, when a user moves froma home site to a visited site, agents communicate andnegotiate with one another to allocate a temporary profile tothe user according to home preferences and services. The

profile includes elements such as the user’s identity, theauthorized services and their associated quality of service,the devices that may be used, and the costs to be paid.Mobile users may wish to use various devices with different

capabilities, such as a workstation, a laptop with a wirelessconnection, a PDA, or a phone. Our system therefore needsto be able to identify the device in use at any particular timeand to adapt the presentation to the device’s capabilities.

Adaptation in providing multimedia services such as videomails is a challenging issue. We have adopted a generalapproach that considers both the characteristics of themedia to be presented to the user and the capabilities of the

device used to access the media. The approach is based onmedia abstraction techniques that are capable of summariz-ing and possibly converting media contents in order topresent them on other (possibly smaller) devices. This helps

to provide alternatives in the form of short summarymessages of different formats.

The paper is organized as follows: Section 2 presentsthe motivation for this study and reviews related work.Section 3 introduces the main components of our agent-

based system. The interagent interaction and negotiationmodel is presented in Section 4, which includes sectionsdescribing the agent communication mechanism and thepolicy-based negotiation protocol. Section 5 gives an

example, a model for providing call forwarding andmedia abstraction services within a private network madeup of three sites. Aspects of the media abstraction serviceand its integration into the system are then highlighted inSection 6. Section 7 evaluates the system’s implementation.

Finally, in Section 8, we present our conclusion andsuggest future work.

16 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2003

. The authors are with the School of Information Technology Engineering(SITE), University of Ottawa, 161 Louis Pasteur St., Ottawa, ON, CanadaK1N 6N5. E-mail: {hharroud, karmouch}@site.uottawa.ca,and [email protected].

Manuscript received 16 Oct. 2001; revised 13 May 2002; accepted 29 Dec.2002.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number 9-102001.

1536-1233/03/$17.00 ß 2003 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS

Page 2: Policy-driven personalized multimedia services for mobile users

2 MOTIVATION AND RELATED WORK

In order to provide mobile users with an office-likeenvironment as they move from one location to another,their current location must be traced, the devices being usedmust be identified, and a cooperative relationship amonghome and visited sites must be established. The UniversalMobile Telecommunication System (UMTS) proposes aservice infrastructure based on the concept of a VirtualHome Environment (VHE) [2]. The VHE seeks to presentusers with consistent personalized features, user interfacecapabilities, and services in any network, at any terminal,and wherever the user may be located [2]. UMTS allowsusers to access their services from any suitable point; ourwork is motivated by the desire to provide mobile usersvisiting another site with local services which reflect thepredetermined, personalized preferences available at theirhome sites. If equivalent local services are costly, or notavailable, a user would be able to access home services. Atnew locations, therefore, a user profile is determined basedon an interagent negotiation. We propose a negotiationmodel that accommodates agent autonomy and the privacyof site information by introducing policies to manage andmonitor the agents’ behavior and decision-making.

Agents have been proposed in several research projectsin mobile computing. The interest in agent technology tosupport mobility is mainly motivated by intrinsic propertiessuch as its autonomy and its ability to migrate [4]. Thisallows a temporary disconnection between the end deviceand the network, while agents continue to perform theirtasks. They return results when the mobile user reconnects[5], [6], [7]. Connection and disconnection permits anefficient use of connection time [6]. This is crucial, asmobile users often have to work in unstable networkconditions [4], especially with wireless connections.

Although agents provide flexibility by migrating fromone location to another while preserving their states, anefficient control and management of the system agents isneeded. The use of policies is capable of achieving thiscontrol and enables dynamic changes in the behavior of thesystem agents in a flexible and scalable manner. Policy-based management has recently been developed byorganizations such as IETF (Internet Engineering TaskForce). IETF defines an information model for specifying apolicy and also defines a framework for policy-basedmanagement and protocols for policy delivery and enforce-ment [8]. Policies are introduced in many research activities,but mainly focused either on general aspects of policiessuch as policy specification and conflict analysis, or onspecific policy-based applications, such as network man-agement [9], [10]. We propose to apply policies throughseveral levels of the system including security, admissioncontrol, user profile, resource management, and servicepersonalization. We propose also to attach policies that arerelated to an agent’s mission to that agent. By integratingpolicies with an agent, they become in effect part of theagent’s model.

The policy distribution approach enables mobile users tobe provided with personalized services. Each agent’spolicies could be translated and enforced according to thecontext of its use, and be represented by a set of context

policies. The policy translation and enforcement are there-fore tightly bound to the context in which it is evaluated.Based on the agent’s state, tasks, or conditions of servicesand resources, a policy will be triggered.

In developing the system, we considered specificrequirements necessary for an efficient characterization ofmobile users and multimedia services that they may wish touse. We also considered the capabilities of the network andthe devices, and the policies binding all these componentstogether so that they consistently satisfy user needs. Suchrequirements include:

. The ability to create and manage a mobile user’sprofile that enables multimedia services to be fullypersonalized,

. The ability to access local services at visited sitesusing the personalized preferences available at thehome site,

. The authentication of users and automatic config-uration of authorized services to be performed atvisited sites,

. obtaining a seamless resource allocation whenrequesting remote access to a personalized multi-media service,

. A service presentation adapted to the device capabil-ities and the authorized quality of service, and

. The control and management of dynamic changes inpreferences, locations, and activities that may occurduring mobile users’ travels via policies.

3 AGENT-BASED SERVICE PROVISIONING SYSTEM

In the first part of this section, we present a conceptualframework that supports user mobility. We then describethe agents that make up the system architecture, theplatform that supports them, and the interagent negotiationprotocol.

3.1 Conceptual Approach

We designed the system’s architecture based on softwareagents. Agents cooperate and communicate with each other,and can communicate with and directly control designatedapplications. Because agents are autonomous, mobile userscan access services and perform tasks even if the devicedisconnects. Policies are attached to the agent to monitor itsbehavior and decision-making.

A policy is a set of conditions imposed on the agent (thesubject) that permits or prohibits actions. These conditionsmay apply to the subject, the target, or the state of thesystem. A policy may be the trigger that allows actions to beperformed when conditions are applicable.

The use of policies greatly reduces the system’s complex-ity, while still permitting the user’s activities to beefficiently controlled.

Even though an agent triggers an action by evaluating itsown policies, the action itself is not authorized if it is likelyto use shared resources or to affect the state of the system.

The key component of the system is the Policy Server

(PS). The PS manages the rules that govern the use of thesystem and the network resources at each site. For instance,the PS may not authorize access to a particular service or

HARROUD ET AL.: POLICY-DRIVEN PERSONALIZED MULTIMEDIA SERVICES FOR MOBILE USERS 17

Page 3: Policy-driven personalized multimedia services for mobile users

resource at a specific site. The PS also maintains the

authorization policies that may be permitted or denied to

each agent both locally and when interacting remotely with

others. It is responsible for distributing policies that belong

to each agent, and updating them for each context. Policies

include monitoring services and resource utilization, as well

as system configuration and quality of service. (See Fig. 1.)The system also uses System agents that manage the sites

processing functionality. Service agents provide access to

services on a particular site. The main task of a service agent

is to prepare the appropriate execution environment.

Legacy services can be built into the system by means of

agent wrappers.We considered two main services: Call Forwarding for

telephone, fax, and e-mail, and a Media Abstraction service.

Call Forwarding receives incoming calls and forwards the

authorized ones to the user’s current location. The Media

Abstraction service (MediABS) provides media summariza-

tion and conversion as required by the network resources

and the user device.The Data Management Agent (DMA) manages user-

related information such as the profile, current personalized

services, preferred quality of service, and current location.

The DMA maintains the consistency of this information at

each site.Agents are executed under the control of the Agent

Execution Environment, which provides a framework for

agent deployment, management, and communications.

Several agent platforms have been developed [11]. In our

laboratory, we have adopted the FIPA-OS [12] platform.

However, we have also used a communication mechanism

based on MicMac. This is a tuple space messaging product

from Mitel Corporation that has been extended within our

project to provide a secure interagent communication tool

[13]. Although FIPA-OS transports Agent Communication

Language (ACL) messages via the Agent Communication

Channel (ACC), we have adopted MicMac as a low-level

communication mechanism to exchange FIPA-OS ACL

messages.MicMac allows us to handle flexible security mechanisms

including the authentication of mobile users and devices,

communication privacy, and authorizations [13]. It allows

private and public communication channels to be created.

Current FIPA specifications do not provide specific mechan-

isms or policies for secure ACL communications [14].

3.2 System Components

The architecture of the system is shown in Fig. 2. It iscomposed of several agents that cooperate to provide anddeliver personalized services across interacting sites and avariety of devices.

System agents include the Site Profile Agent (SPA), theResource Reservation Agent (RRA), and the AdaptiveService Presentation agent (ASP). The SPA is responsiblefor negotiating the user profile and authorized services atthe visited site. The RRA is responsible for configuring theexecution environment of each service agent. This includesmemory usage, processing time, and network bandwidth,as well as the monitoring of resource consumption. Forexample, a negotiation between the RRA and a serviceagent may be used to ensure that the required resources areavailable when the service is requested.

The ASP manages the user’s interaction with serviceagents, adapting the presentation to the capabilities of eachdevice and the organization’s policies at each site. The datarequired are determined by the ASP agent when the mobileuser connects to the system. The ASP agent is the accesspoint for mobile users; it must be deployed on the end userdevice before use.

The Data Management Agent (DMA) manages theLightweight Directory Access Protocol (LDAP) repositoryand maintains information about user preferences, resourceavailability, services, and policies. Service agents representthe legacy services in the agent-based system. An eventserver (the coordinator agent) is deployed to synchronizeand perform agent communications using MicMac.

4 INTERAGENT NEGOTIATION

Each agent has the ability to initiate and control interactionswith its peers, depending on its current needs. This is doneby exchanging information messages using Agent Commu-nication Language (ACL). ACL messages are exchanged viaa communication medium based on MicMac, whichsupports hands-on experimentation with multiagent inter-action and negotiation protocols. The choice of MicMac overFIPA-OS as a low-level communication medium is primar-ily a result of the work that has been done in our project [13]to create and manage secure intersite channels.

18 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2003

Fig. 1. Basic system components.

Fig. 2. Agent-based architecture.

Page 4: Policy-driven personalized multimedia services for mobile users

4.1 Interagent Communication Using MicMac

MicMac has a set of tools, which provide an environmentcapable of dealing with multiagent interaction and negotia-tion protocols. The software allows the creation and themanipulation of one or more Agoras. An Agora is an openarea (shared tuple space) where information may be postedand gathered. The basic structural unit of informationexchange within an Agora is a tuple, an unordered set offields represented as “key-value” associations. Each ACLmessage is translated into or from tuple format.

Intersite communication takes place via the CoordinatorAgent. Outgoing intersite tuples are encrypted and incom-ing tuples decrypted using a session key generated by theuser authentication procedure [13].

Fig. 3 shows an Agora editor, with an example of a not-yet-encrypted request posted as a tuple on MicMac. In thisexample, “sender,” “receiver,” and “content” are the keys ofthe posted tuple, while “spa@nrc,” “spa@mitel,” and “(Med-iABS, qos = video-streaming), (CFS, priority = long-distance)”are the corresponding values. The Agora Editor displaysand monitors a complete view of processing requests overthe tuple space using different encryption and decryptionalgorithms. A small set of primitives triggers specificprocessing requests as described in Table 1.

The “pick” and “peek” primitives remain pending until anentry in the agora space satisfies the tuple template (anti-tuple). Duration can be specified, determining how long anyrequest (tuple or antituple) remains on the agora space.

4.2 Policy-Based Negotiation Protocol

Agent behavior and decision-making are monitored by a setof policies, which each site may define. A policy is a set ofactions to be performed by a subject agent on a target agentproviding certain conditions are satisfied or certain eventsare triggered. The conditions typically depend on the stateof an agent or a resource in the system.

The events are triggered either by a time-period condition,a change in the state of an agent, or as a result of an action.

A policy can be either an authorization policy that permitsor prohibits actions on target entities or an obligation policythat acts as the trigger for actions to be performed whenconditions are applicable [15]. It is important to make adistinction between the process of defining, editing, storing,and assigning policies, which is usually accomplished by anauthority (i.e., administrator), and the process of interpretingand enforcing policies, which controls a specific agent atruntime. While the first process is the role of the Policy Serverwhere policies are visually modeled with a graphical tool[18] and stored in RDF files, the second one is the role of each

agent that conforms to its duties by performing its obliga-tions and avoiding interdictions [16], [17].

Policies are applied to several levels of the systemincluding security, admission control, user profile, andresource management. Table 2 shows examples of policiesthat belong to each of these classes.

P-1 is a positive authorization policy (permission). Itindicates that a visiting student from the MIRL laboratory isauthorized to use the MediABS service if the local SPA agentreceives a proposal with a cost parameter value of more than20 units. The cost may be less than 20 (and more than six) butthe quality of service will not include video streaming.

P-2 is a negative authorization policy (interdiction). Itindicates that the resource agent is not allowed to reserveresources required by any service agent if the spacerequested is more than 10 units or processing time is morethan 60 units. However, P-3 grants lower-priority permis-sion when CPU and bandwidth conditions are met.

P-4 allows the Coordinator agent to request encryptionwhen communicating with the Mitel site using an encryptionkey length more than 64 bits. For the NRC site, the key lengthis more than 128 bits.

P-5 and P-6 are examples of admission control policies thatspecify the mobile users authorized to access the visited site.

P-7 and P-8 are obligation policies that apply to theresource agent. The RA agent has to notify the Policy Serverif there is any change in the resource status.

Since site policies are private and not available to othersites, conflicts may occur when agents communicate. In anattempt to resolve these conflicts, negotiation takes place.

The negotiation protocol starts when an agent produces aproposal according to the local policies, and submits it tothe other party. The other party evaluates the proposal,possibly generating a counterproposal. This process con-tinues until an agreement, or a negotiation deadline, hasbeen reached. Proposals and counterproposals consist of aset of elements (services or resources) associated withspecific parameters such as cost, quality of service, or time.

In a proposal, values of different parameters are givenexplicitly by the sending agent. In a counter proposal, theyare not quantified, in order to protect site privacy. Instead,they are given the values LOW, HIGH, UNEQUAL, andUNKNOWN. LOW indicates that the parameter needs to beincreased in order for the proposal to be acceptable. Anexample would be when the proposed cost is insufficientfor the request. HIGH shows that the parameter has to bedecreased, such as for quality of service requirements.UNEQUAL indicates that the value of the parameter mustbe modified, such as when a password is not recognized.UNKNOWN indicates that the parameter was not specifiedin the proposal. The sender agent uses its own strategy to

HARROUD ET AL.: POLICY-DRIVEN PERSONALIZED MULTIMEDIA SERVICES FOR MOBILE USERS 19

Fig. 3. Sample of a tuple on MicMac.

TABLE 1Set of Primitives of Agora

Page 5: Policy-driven personalized multimedia services for mobile users

assign new values to the parameters received in thecounterproposal.

Fig. 4 shows a generic scenario of creating a user’s profileat a visited site. After the user’s authentication has beenprocessed through the ASP on an authorized device, theCoordinator Agent establishes a connection between thevisited and the home Site Profile Agents (2 and 3). Thehome SPA gets the user’s preferences from the localdatabase directory (4) and maps the retrieved preferenceswith the home Policy Server (5).

The negotiation process between home and visited SPAis then performed according to the protocol described abovein order to determine the final profile (6). For example, thevisited SPA receives a proposal specifying the MediABSservice with parameters “cost = 7” and “quality-of-service =

video streaming.” Using the policy P-1 (Table 2), the visitedSPA generates a counterproposal where it specifies para-meters “cost = LOW” or “quality-of-service = HIGH.” Thehome SPA then uses its policy-based strategy to generate anew proposal either by increasing the cost or by decreasingthe quality-of-service.

5 A SAMPLE SCENARIO WITH THREE

PARTICIPATING SITES

We implemented a prototype involving three participatingsites in Ottawa: the University of Ottawa (UoOttawa), theNational Research Council of Canada (NRC), and the MitelCorporation (Mitel). This section describes how a temporaryprofile is determined for a visiting user, and how the usercan use his personalized services. Our example is a Miteluser (Tom) visiting the NRC site.

Fig. 5 summarizes a simplified negotiation between theMitel and NRC sites once Tom is authenticated at the NRCvia an ASP user interface. The Mitel-SPA proposed twoservices: The Media Abstraction (MediABS) service withcost and quality of service parameters, and the CallForwarding Service (CFS) service with the priority para-meter (proposal P1) according to his preferences. The NRC-SPA generated a counterproposal where CFS is prohibitedand the cost of MediABS service has to be increased or thequality of service decreased (counterproposal CP1). TheMitel-SPA made the decision to increase the cost and thensubmitted a new proposal (proposal P2). The third proposalwas accepted; Tom can now access the MediABS servicewith parameters “cost = 15” and “quality-of-service = Color

20 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2003

TABLE 2Sample of Authorization and Obligation Policies at a Visited Site

Fig. 4. Negotiating the user’s profile at the visited site.

Page 6: Policy-driven personalized multimedia services for mobile users

Key Frames.” The MediABS service that provides media

summarization and conversion is described in Section 6.Because of the resource reservation process, the quality

of service negotiated may not be guaranteed at the time the

user requests the service. The MediABS service agent would

then have to negotiate local resources such as time, space,

bandwidth, and memory with the local RRA agent. The

quality of service may be reduced to “gray scale image key-

frames,” or even to a short summary message, to match the

available resources and the capabilities of the device from

which Tom logged on.Fig. 6 shows an example of an outcome where, out of the

entire video mail (about 3MB in total size), the ASP

displayed only some representative key frames (21 KB in

total size) and a short text report.If the user disconnects before the service agent sends

back the results, the service agent stores the retrieved

results in XML format (Fig. 7) and informs the ASP agent.

The results then become available for presentation the next

time the user logs on.

In the XML report, the service agent keeps a record ofinformation related to the user (id, location, and session), theservice (name and parameters), the request (reference, inputand operation), and the results (processing time, contentdescription, and location).

A runtime snapshot of the use of the media abstractionservice as a batch process in the media server is shown inFig. 8.

In the next section, we present an overview of the mediaabstraction service and its integration into the system.

6 MEDIA ABSTRACTION SERVICE

The number and variety of the end devices that can be usedby mobile users made it necessary to adapt the presentationof multimedia services. Research continues into the stan-dardization of location-based mobile access to multimediacontent. One example is the MPEG-7 working document onmobile requirements and applications [19] from the MovingPicture Experts Group (MPEG). They are currently workingon enabling mobile access to MPEG-7 information usingGPS, as well as context-aware and location-dependenttechnologies. A user would be able to watch the trailers ofcurrent movies from the nearest cinema by wirelessconnection while he is walking or driving his car. Another

HARROUD ET AL.: POLICY-DRIVEN PERSONALIZED MULTIMEDIA SERVICES FOR MOBILE USERS 21

Fig. 5. Negotiating Tom’s profile and authorized services at the NRC

site.

Fig. 6. Outcomes example for MediABS with medium QoS.

Fig. 7. Example of results report for MediABS service in XML format.

Fig. 8. A snapshot of the use of media abstraction service in the media

server.

Page 7: Policy-driven personalized multimedia services for mobile users

standardization effort involves Web services architecture[20], a framework to build a distributed computing platformover the Web which would enable service requesters to findand remotely invoke published services at service providers.The framework uses specific standards such as XML andWeb Services Description Language (WSDL) for defining theservice and its interfaces.

It also uses Simple Object Access Protocol (SOAP), anXML-based protocol for accessing services, objects, andcomponents in a platform-independent manner. Webservices architecture also uses the Universal Description,Discovery and Integration (UDDI) directory, and API’s forregistering, publishing, and finding Web services in asimilar way to the white and yellow pages in the telephonedirectory. Web Services Inspection Language (WSIL) is usedto locate service providers and to retrieve their service

description documents.In our laboratory, we have already designed and devel-

oped a stand-alone media abstraction service to performmedia indexing, summarization, and conversion. This in-cludes image browsing, video streaming, content-basedanalysis, and text to speech converters. Specifically, wedeveloped a video segmentation algorithm based on colorhistograms and using an opportunistic binary penetrationtechnique. The following paragraphs briefly review thedesign of this video service and how it is built into the overallarchitecture.

The service addresses the problem of analyzing multiplevideo formats. It aims to provide video summaries byaccurately identifying the different cut changes within avideo segment. The algorithm defines various configurationsfor the extracted frames, which could be in color or gray, withdifferent image qualities and formats to match the capabil-ities of the users’ devices. This service exploits only the twomost significant RGB bits [21] of each color. To do this, it usesa masking operation, which evaluates every two-framehistogram difference. If the average difference exceeds adefined threshold, the two frames are said to represent anabrupt camera cut. However, in some cases, the colordistribution information may not detect the cut. This problemcan be solved because each frame is partitioned into anumber of disjoint blocks, and makes use of the informationavailable in the histogram distribution. The architectureutilizes this video service to generate video summary reports

over the worldwide web. It makes use of a batch serviceprogram already developed in our laboratory [21].

Fig. 9 shows the subsystem of media service as a blackbox and indicates its interface to the corresponding servicewrapper agent. The process accepts an input request filefrom the service agent, supplying the parameters of therequest. It generates a result report containing the detectedkey frames along with the confidence percentage of eachkey frame. Then, the service agent reformats the report,using XML as mentioned, before passing it to the user.

Fig. 10 shows an example of the mission statement inputin XML format. The service agent generates this fileaccording to the negotiation process. The agent providesthe request to the service process itself to execute andcomplete the mission.

7 SYSTEM EVALUATION

The system was implemented and tested for scenarios

similar to those described in Section 4. A distributed

environment between the Mitel Corporation, NRC Canada,

and our MIRL laboratory at the University of Ottawa was

22 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2003

Fig. 9. The use of the media abstraction process as a service for mobile users.

Fig. 10. An example of video service mission request in XML format.

Page 8: Policy-driven personalized multimedia services for mobile users

created for the tests. The system has shown acceptable

flexibility and dynamic manageability through the use of

multilevel policies including security, admission control,

profile negotiation, resource, and service provisioning.We integrated the multimedia abstraction service as an

example of a legacy service by designing its correspondingservice agent. As shown in Fig. 6, it was successfully used inour overall architecture, but we did not specifically evaluatethe service on a PDA device.

Recently, we investigated the possibility of using theservice on IPAQ 3870 PDA. We simulated its browsingcapabilities without the authentication and negotiationsteps using a wireless 802.11b LAN network card. Fig. 11shows that the PDA could load and run the Java classes ofthe Adaptive Service Presentation (ASP) agent and theservice agent. The ASP agent adapts the XML results (as inFig. 7) and displays them according to the PDA capabilities(206 MHz Intel StrongARM SA-1110 32-bit, 64 MB SDRAM,32-MB Flash ROM Memory, 16-bit color, and viewableimage size—2.26 in. wide � 3.02 in. tall).

Even though there exist some qualitative and quantita-tive studies of mobile agents in a variety of mobilecomputing applications [28], [29] that state their appropri-ateness, we have conducted preliminary quantitativesimulations to measure the system’s performance, adapt-ability, and time responsiveness. Our performance metric isthe mobile user profile time, which we define as the timeneeded for a mobile user to register at a visited site and todetermine a corresponding negotiated user profile. Ourexperiment focuses on scenarios similar to the onedescribed in Section 5. The system analysis is done on thebasis of parameters including

1. the number of participating sites (2 to 5),2. the size of policies (5 to 35), and3. the processing time for each proposal (from 10 ms to

1,200 ms).

Qualitatively, we identified several limitations in thecurrent version of the system that are being addressed.First, the decision making of Site Profile Agents during thenegotiation process is not always optimal because of thelimited set of strategy policies that have been introduced.The design of these policies and the ability to manage themdynamically are subject for ongoing research.

Second, we need to make more use of the agents’ mobilityand of lightweight devices. The system currently relies onFIPA-OS. Lightweight FIPA-OS agencies, providing effectivesupport of mobile agents should be available shortly.

Finally, the system needs more multimedia services to beintegrated with our architecture and policy engine. We wouldevaluate its scalability in an operational environment, eventhough it is thoroughly based on agents and each service hasto be wrapped by a service agent, which requires its owndynamic execution environment and resides where theservice is provided. The service agent moves with thenecessary service logic to the device at the time the user logson, either to get a service request or to deliver the results of aprevious connection. A caching mechanism to keep theservice agent code for future requests could enhance theperformance by moving the data only.

8 CONCLUSION AND FUTURE WORK

In this paper, we described an agent-based architecturedesigned to provide personalized multimedia services tomobile users. The system is made up of several policy-based agents cooperating from different sites and negotiat-ing through their own attached policies. Policies are appliedthrough different levels of the system including security,admission control, user profile, service personalization, andresource management.

While the agent technology provides flexibility andcooperation in the development of mobile computingentities, the use of policies in dynamically managing thesystem agents behavior at different levels is of the highestvalue. As agent-based applications are developed, thisapproach will increase in importance.

We proposed a system that provides mobile users withan office-like environment at a visited site based on aninteragent negotiation. Negotiated services could be eitherlocal to the visited site or remote by using home site servicesor, if necessary, by buying services from a nonparticipatingsite such as a public service provider.

We also introduced also the policy-based agent model byattaching policies to an agent. Therefore, agents becomecapable of maintaining and enforcing their own set ofpolicies depending of the context of their use. We haveapplied sample policies throughout the system from thesecurity level down to the resource management levelwithin a 3-site working prototype.

Our current focus is on extending the system to be context-aware so that agents use context information to adapt thesystem’s behavior to each use. By gathering information fromthe system entities and translating it to the context policies,the system agents will evaluate context-triggered policies andallow appropriate actions. This includes the selection of theinformation and the services to be customized, resulting in abroader range of potential services.

ACKNOWLEDGMENTS

The authors would like to thank Tom Gray, SergeiMankovski, and Ramiro Liscano from the Mitel Corpora-tion, and Roger Impey and John Meech from NationalResearch Council of Canada (NRC) for their helpfuldiscussions and suggestions. Finally, we would like toexpress our gratitude to the anonymous reviewers for theirvaluable comments and recommendations.

HARROUD ET AL.: POLICY-DRIVEN PERSONALIZED MULTIMEDIA SERVICES FOR MOBILE USERS 23

Fig. 11. Simulations of the video indexing and abstraction service on a

PDA.

Page 9: Policy-driven personalized multimedia services for mobile users

REFERENCES

[1] “Mobile Software Agents for Telecommunication Applications,” J.Computer Comm., T. Magedanz and A. Karmouch, eds., vol. 23,no. 8, 2000.

[2] European Telecommunications Standards Institute, “Univer-sal Mobile Telecommunication Systems (UMTS),” http://www.etsi.org/umts/, 2003.

[3] Cameleon Consortium, the European ACTS Research Project(AC341). Available: http://www.dfv.rwth-aachen.de/project/cameleon/cameleon.html, 1999.

[4] P. Bellavista, A. Corradi, and C. Stefanelli, “Mobile AgentMiddleware for Mobile Computing,” Computer, pp. 73-81, Mar.2001.

[5] D. Kotz et al., “Agent TCL: Targeting the Needs of MobileComputers,” Internet Computing, pp. 58-67, July/Aug. 1997.

[6] E. Kovacs, K. Rohrle, and M. Reich, “Integrating Mobile Agentsinto the Mobile Middleware,” Proc. Mobile Agents Int’l Workshop,pp. 124-135, Berlin: Springer-Verlag, 1998.

[7] S. Lippers and A. Park, “An Agent-Based Middleware: A Solutionfor Terminal and User Mobility,” Computer Networks, pp. 2053-2062, Sept. 1999.

[8] IETF Policy Framework Working Group, available at http://www.ietf.org/, 2003.

[9] Lucent Technologies, CajunView Enterprise Network Manage-ment System, position paper, 2000.

[10] Cisco Systems, CiscoAssure Policy Networking Enabling BusinessApplications through Intelligent Networking, Statement of Direc-tion, July 2000.

[11] V. Pham and A. Karmouch, “Mobile Software Agents: AnOverview,” IEEE Comm., special issue on mobile agents andtelecomm., vol. 36, no. 7, pp. 26-36, 1998.

[12] P. Buckle and R. Hadingham, “FIPA and the Internet Revolution,”Key notes speech at the Second Int’l ACTS Workshop, 1999.

[13] C. Zheng, A. Karmouch, T. Gray, and R. Impey, “ApproachingSecure Communications in a Message-Oriented Mobile Comput-ing Environment,” J. Multimedia Tools and Applications, to appear.

[14] S. Poslad and M. Calisti, “Towards Improved Trust and Securityin FIPA Agent Platforms,” Autonomous Agents, June 2000.

[15] M. Sloman, “Policy Driven Management for Distributed Systems,”Plenum Press J. Network and Systems Management, vol 2, no. 4,pp. 333-360, Dec. 1994.

[16] G. Hughes and M. Creswell, An Introduction to Modal Logic. 1968.[17] D. Jonsher, “Extending Access Control with Duties: Realized by

Active Mechanisms,” Proc. IFIP WG 11.3 Sixth Working Conferenceon Database Security, Aug. 1992.

[18] M. Amer, A. Karmouch, T. Gray, and S. Mankovski, “An AgentModel for the Resolution of Feature Conflicts in Telephony,” J.Network and Systems Management, to be published.

[19] ISO/IEC JTCI/SC29/WG11, “Study of MPEG-7 Mobile Require-ments & Applications (ver.2),” 2001.

[20] S. Graham et al., Building Web Services with Java: Making Sense ofXML, SOAP, WSDL and UDDI. Sams Publishing, ISBN:0672321815, 2002.

[21] M. Ahmed and A. Karmouch, “Video Indexing Using a High-Performance and Low-Computation Color-Based OpportunisticTechnique,” J. SPIE Optical Eng., vol. 41, no. 2, pp. 505-517, Feb.2002.

[22] A. Fox et al., “Adapting to Network and Client Variation UsingInfrastructural Proxies: Lessons and Perspectives,” IEEE PersonalComm., pp. 8-24, Oct. 1998.

[23] H. Zhang et al., “Automatic Partitioning of Full-Motion Video,”Multimedia Systems, vol. 1, no. 1, pp. 10-28, 1993. Also G. Pass,and R. Zabih, “Comparing Images Using Joint Histograms,” ACMJ. Multimedia Systems, vol. 7, no. 3, pp. 234-240, 1999.

[24] W3 Consortium, “Composite Capability/Preference Profiles(CC/PP),”http://www.w3.org/TR/NOTE-CCPP/, 2003.

[25] J. Jing, A.S. Helal, and A. Elmagarmid, “Client-Server Computingin Mobile Environments,” ACM Computing Surveys, pp. 117-157,June 1999.

[26] D. Kotz and R.S. Gray, “Mobile Agents and the Future of theInternet,” ACM Operating Systems Rev., pp. 7-13, Aug. 1999.

[27] B.N. Schilit, N.I. Adams, and R. Want, “Context-Aware Comput-ing Applications,” Proc. Workshop Mobile Computing Systems andApplications, pp. 85-90, 1994.

[28] D. Johansen, “Mobile Agent Applicability,” Proc. Mobile Agents,pp. 9-11, 1998.

[29] P. Dasgupta, N. Narasimhan, L.E. Moser, and P.M. Melliar-Smith,“MAgNET: Mobile Agents for Networked Electronic Trading,”IEEE Trans. Knowledge and Data Eng., special issue on WebApplications, July/Aug. 1999.

Hamid Harroud received the MSc degree fromthe Mohammadia School of Engineering, Mor-occo, in 1997. He is currently a PhD student incomputer science at the School of InformationTechnology and Engineering (SITE), Universityof Ottawa, Canada. His current research inter-ests include mobility management, multimediaagent-based applications, virtual teams, andcollaborative services. He is a student memberof the IEEE.

Mohamed Ahmed received the BSc and MScdegrees from Faculty of Engineering, CairoUniversity, Egypt, in 1992 and 1997, respec-tively. He received the PhD degree from theSchool of Information Technology and Engineer-ing (SITE), University of Ottawa, Canada in2002. He is currently a research officer at theInstitute of Information Technology (IIT) in theNational Research Council (NRC) of Canada.He also earned an MBA degree in information

technology from Maastricht School of Management (MSM), the Nether-lands in 1995. His current research interests include grid and Webservices, distributed computing, mobile agents, video processing, andinformation retrieval. He is a student member of the IEEE.

Ahmed Karmouch received the MS and PhDdegrees in computer science from the Universityof Paul Sabatier, Toulouse, France, in 1976 and1979, respectively. From 1976 to 1983, he was aresearch engineer at INRIA (Institut National deRecherche en Informatique et en Automatique)Paris, France. He first worked in distributeddatabases with the Sirius Project, and then withthe Kayak Project where he researched officeinformation systems and was responsible for the

Multimedia Distributed Message System Research Group. From 1984 to1988, he was with Bull SA, Paris, France, as a senior manager in theDepartment of Advanced Studies. He was responsible for theDistributed Multimedia Document Management Group. From 1988 to1991, he was the director of research on Multimedia DistributedDatabases and Architectures at the Ottawa Medical CommunicationsResearch Group, University of Ottawa. Since 1991, Dr. Karmouch hasbeen a professor of electrical and computer engineering and computerscience at the School of Information Technology and Engineering,University of Ottawa. He also holds an industrial research chair with theOttawa Carleton Research Institute and Natural Sciences and En-gineering Research Council. He has been director of the OttawaCarleton Institute for Electrical and Computer Engineering. Dr.Karmouch is involved in several projects with TelecommunicationsResearch Institute of Ontario, Nortel Networks, Bell Canada, Mitel,National Research Council Canada, Centre National de RechercheScientique in France, March Networks, CANARIE, Communications &Information Technology Ontario (Cito), and the TeleLearning NationalCenter of Excellence. His current research interests are in distributedmultimedia systems and communications, mobile computing, homearchitecture and services, context aware ad hoc communications, andmobile software agents for telecommunications. Dr. Karmouch haspublished more than 150 papers in the area of multimedia systems, adhoc communications, and mobile agents for telecommunications. He ismember of ACM, the IEEE, and the IEEE Computer Society, has servedin several program committees, organized several conferences andworkshops, and has served as guest editor for the IEEE Communica-tions magazine, Computer Communications, MTAP, and others.

. For more information on this or any computing topic, please visitour Digital Library at http://computer.org/publications/dlib.

24 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2003