contact: hamid mukhtar middleware for ad hoc user task composition in heterogeneous environments...

35
Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense 16 November 2009 Thesis committee members • Pr. Françoise ANDRÉ • Dr. Djamel BELAÏD • Pr. Guy BERNARD • Pr. Gordon BLAIR • Dr. Noël DE PALMA • Pr. Lionel SEINTURIER

Post on 20-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences

Hamid MukhtarPhD Defense

16 November 2009

Thesis committee members• Pr. Françoise ANDRÉ• Dr. Djamel BELAÏD• Pr. Guy BERNARD• Pr. Gordon BLAIR• Dr. Noël DE PALMA• Pr. Lionel SEINTURIER

Page 2: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

2

Presentation Outline

• Introduction– Problem Description– Research Context– Objectives

• Related work• Approach

– Contributions– Validation

• Conclusions• Future Work

Page 3: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

3

Ethernet

Problem Description

Ethernet

X

Page 4: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

4

• Ad hoc user task composition– User task: user’s daily activity– Composition: made up of several services– Ad hoc: on-the-fly in terms of available

components

• Pervasive environments– Ubiquity of devices and services– Dynamic user/device participation

• Users enter/leave environment; services appear/disappear frequently

– User centrism: user is the centre of attention

Research Context

Page 5: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

5

Objectives, requirements, and Issues

• Objective– To allow a user to compose a task using the

available components in the user’s environment

• Requirements– User preferences– Environment’s heterogeneity– Automatic selection

• Issues– Application design– Device capabilities– Device ranking and elimination

Page 6: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

6

Presentation Outline

• Introduction

• Related work

• Approach

– Contributions

– Validation

• Conclusions

• Future Work

Page 7: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

7

Related Work

• Aura (2002-2006), Gaia (2001-2005), MEDUSA (2007-2009), PICO (2003-2007) Sensing user-context, context-aware Depend on infrastructural entities Network heterogeneity, device capabilities, user preferences Proprietary application description, interoperability issues

• CoSMoS (2004-2009) Composition across devices, Semantic matching Depends on infrastructure for add-ons, heavy-weight

• DCC (2008-2009), PCOM (2004-2009) Composition across devices Network heterogeneity, user preferences

• PERSE (2005-2009) Semantic interoperability (publication, discovery, matching) WS-based approach, centralised registry, user preferences

Existing solutions deal with part of the problem Some of them not suitable for ad hoc environments

Page 8: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

8

UserPreferences

DeviceDeviceDevices

UserTask

•Hardware•Software•Network

NetworkHeterogeneity

•Likes•Dislikes•Conditions• …

ApplicationDesign

Device Ranking and Elimination

available on

Componentsimplemented by

Capabilitieshave

Approach Overview

for

have

Requirements

for

Servicescomposition of

ComponentSelection

PreferenceMatching

Devices

SessionContinuity

Algorithmic

Modelling

Legend

Page 9: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

9

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• Approach Validation

Contributions

Page 10: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

10

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• Approach Validation

Contributions

Page 11: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

11

User Task

• Service Component Architecture (SCA) for user task– Based on principles of Service Oriented Architecture– Allows building of applications in variety of

technologies• Application as assembly of components

– Offer and require services– Do not specify their implementations

<component name=“TextProcessor”> <service name=“TextInputService”> <interface.java interface=“example.chat.processor.TextInputInterface”/> </service> . . .</component>

<component name=“TextProcessor”> <service name=“TextInputService” requires=“TextInputCapable”> <interface.java interface=“example.chat.processor.TextInputInterface”/> </service> . . .</component>

Task Description Using SCA

ChatServiceChatController

VideoProcessor

TextProcessor

ChatUserTask

AudioProcessor

VideoDisplay

Speaker

<SoundOutputCapable>

<InputCapable>

<VideoCapable>

<TextInputCapable>

Page 12: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

12

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• Approach Validation

Contributions

Page 13: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

13

Device Capabilities

Existing Approaches

• A number of specifications– Standards

• Delivery Context Ontology by W3C• FIPA Ontology by Foundation for Intelligent

Physical Agents• Composite Capability/Preference Profile by W3C • RFC 3840 (SIP-UA), 5196 (PIDF), etc.

– Proprietary• WURFL, OWL-based approach (Bandara et al.,

2004), etc.

• Mostly developed for a specific purpose

Page 14: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

14

• CC/PP defines a generic model– Components and attributes– Based on RDF and is extensible

• Implemented as User Agent Profile– Used by most of the vendors

Device Capabilities

CC/PP and UAProf

• UAProf has flat hierarchy– We can extend UAProf by additional components and attributes

Page 15: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

15

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• MATCH-UP Middleware

Contributions

Page 16: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

16

• User: to choose a device with the optimal set of characteristics– That best satisfies user preferences

• User preferences:– Likings: I Like “Windows”– Dislike: I don’t like “AZERTY” keyboard– Maximum: I prefer a device that has maximum

battery– Minimum: I prefer a device with minimum

latency– Closest Match: I prefer screen size of 800x600

User Preferences

Page 17: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

17

• Boolean or literal– Presence= TRUE (1)– Absence= FALSE (0)

• Resources– Maximum

– Minimum

– Closest match

• Fulfillment of liked preferences

• Fulfillment of disliked preferences

Weighted capability

User Preferences

Quantitative User Preference Model

Page 18: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

18

ChatService

Components to be found on available devices

User Preferences

Example Scenario

ChatController

VideoProcessor

TextProcessor

ChatUserTask

AudioProcessor

VideoDisplay

Speaker

<SoundOutputCapable>

<InputCapable>

<VideoCapable>

<TextInputCapable>

Page 19: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

19

User Preferences

Qualitative User Preference Model

• The quantitative model, based on utility function, is rich and generic

• But consider more complex preferences– Multi-valued, relative importance

• I somewhat like Windows but Linux is important for me– Conditions, dependencies

• Given Windows, I Like MSN Messenger, but on Linux I Like Skype– Constraints

• It is important to have better media player than to have better messenger

• Cannot be modelled with utility functions• A qualitative model for user preferences

– Fuzzy logic, Bayesian networks, AHP, etc.– Conditional Preferences-networks (CP-nets) designed for user

preferences• Limitations: binary-valued, incomparable solutions, • mixed with quantified solution

Page 20: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

20

User Preferences

Preference Specification Using CP-nets

OperatingSystem

Windows 0.5

VideoPlayer

QuickTimeMediaPlayer0.5 -0.2

LT=2.0 DT=1.19

ClosestMatch()ClosestMatch() 0.391.0

LT=1.0 DT=0.3Instant

MessengerInstant

Messenger

Yahoo MSN Messenger0.0 0.5

ScreenResolution

ScreenResolution

DT=0.8LT=1.0

LT=0.5 DT=0.5

LT=0.0 DT=0.0

OperatingSystem

VideoPlayer

InstantMessenger

ScreenResolution

LT=2.0

Page 21: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

21

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• Approach Validation

Contributions

Page 22: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

22

User Task Resolution

Ethernet

Ethernet

?

Ethernet

ChatService

ChatController

VideoProcessor

TextProcessor

ChatUserTask

AudioProcessor

VideoDisplay

Speaker

<SoundOutputCapable>

<InputCapable>

<VideoCapable>

<TextInputCapable>

Page 23: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

23

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• Approach Validation

Contributions

Page 24: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

24

Ethernet

Session Continuity

Ethernet

X

X

Page 25: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

25

Session Continuity

Universal Plug-n-Play

• Existing approaches for session continuity– SIP, Proxy, Sockets, etc.

• UPnP is suitable for pervasive environments– Ad hoc, zero-configuration– Applicable for a range of devices– Can be used at application layer

• Our UPnP-based approach– Considers user preferences– Supports Session splitting

Page 26: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

26

Session Continuity

Session Continuity Using UPnP

Desktop Mobile Phone Laptop

Laptop is better than Desktop

Page 27: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

27

Session Continuity

User Pref. Based Session Continuity

OperatingSystem

VideoPlayer

InstantMessenger

ScreenResolution

OperatingSystem

VideoPlayer

InstantMessenger

ScreenResolution

ScreenResolution

InstantMessenger

LT=1.0 DT=0.3

DT=0.8

LT=2.0 DT=1.19

Windows

QuickTimeMediaPlayer

Yahoo MSN Messenger

ClosestMatch()ClosestMatch()

0.5

0.5 -0.2

0.0 0.5

0.391.0

LT=1.0

LT=0.5 DT=0.5

LT=0.0 DT=0.0

OperatingSystem

VideoPlayer

InstantMessenger

ScreenResolution

ScreenResolution

InstantMessenger

LT=1.0 DT=0.3

DT=0.8

LT=2.0 DT=1.19

Windows

QuickTimeMediaPlayer

Yahoo MSN Messenger

ClosestMatch()ClosestMatch()

0.5

0.5 -0.2

0.0 0.5

0.391.0

LT=1.0

LT=0.5 DT=0.5

LT=0, DT=0, MM=0

ScreenResolution

InstantMessenger MM=1.2

MM=1.7

MM=2.34

RealPlayer

Skype

ClosestMatch()

0.7

0.5

0.5

0.64

MM=0.7VideoPlayer

Linux

If the device is better, user may be prompted for session continuity/splitting

MM=2.34

Page 28: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

28

• Modelling aspects– User Task– Device Capabilities– User Preferences

• Algorithmic aspects for user Task Resolution– User Preference Based Device Ranking – Network Heterogeneity and Device Elimination– Services to Components Mapping

• Session Continuity Across Devices• Approach Validation

– MATCH-UP Middleware– Implementation and Evaluation

Contributions

Page 29: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

29

Approach Validation

MATCH-UP

• Middleware for Ad hoc user Task Composition in Heterogeneous environments considering User Preferences

Device Discovery

User Task

Task Builder

DeviceRanker

GraphMatcher

Service Matcher

ComponentAggregator

Network GraphBuilder

Semantic Specification

Syntactic Specification

ServiceRequirements

Multi-Protocol Network

SCA Runtime

CC/PP Profile Plugin

SCA Profile Plugin

Approach Validation

MATCH-UP

Page 30: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

30

Approach Validation

Implementation of MATCH-UP

• Implemented in Java– Java Universal Network Graph (JUNG)– CyberLink CyberGarage UPnP– Java Media Framework (JMF)– Eclipse STP API for SCA parsing

• Light-weight core API– 35 classes/interfaces of 140 Kb

Page 31: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

31

• Performed simulations– DELL Latitude D810, 1.7 GHz Intel, IGB RAM– Average of 10 runs, variance < 10%

• Parameters– Multiple user preferences for 25 device capabilities– 10 devices with varying capabilities– Upto 15 services in the user task– Components available on all devices, – But due to service requirements, not all can be used

Approach Validation

Evaluation-1

Tot

al n

umb

er o

f po

ssib

le s

olut

ions

Size of the aggregate component graph

Number of services in the user task

Configuration:Task distributed on 5 devices

Page 32: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

32

Approach Validation

Evaluation-2

Number of services in the user task

Tim

e (m

s)

to c

om

pose

a u

ser

task

gra

ph

Page 33: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

33

Conclusions

• Proliferation of heterogeneous mobile computers with limited resources

• Ad hoc user task composition allows a user to take advantage of the nearby resources– A multi-dimensional problem– Existing approaches deal with a particular

dimension• Our proposed solution

– Modelling and algorithmic aspects• User preferences, device ranking, network heterogeneity,

automatic selection– Session continuity based on user preferences– Middleware for ad hoc user task composition– Prototype implementation and evaluation

Page 34: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

34

Future Work

• Implementation on top of SCA runtime– Evaluation of our system for real applications

• Monitoring aspects– User preferences, QoS,…

• Re-composition/ Adaptation of the application– Service unavailability, QoS

• Ontological matching of services and preferences

Page 35: Contact: Hamid Mukhtar Middleware for Ad hoc User Task Composition in Heterogeneous Environments Considering User Preferences Hamid Mukhtar PhD Defense

16 November 2009

35

Publications

• Djamel Belaïd, Hamid Mukhtar, and Alain Ozanne. Dynamic Component Selection for SCA Applications. Accepted for publication in The 9th IFIP Conference on e-Business, e-Services, and e-Society, I3E 2009, Nancy, France.

• Hamid Mukhtar, Djamel Belaïd and Guy Bernard. A Quantitative Model for User Preferences Based on Qualitative Specifications. Accepted for publication in the 7th International Conference on Pervasive Services (ICPS) 2009, London, UK.

• Djamel Belaïd, Hamid Mukhtar and Alain Ozanne. Service Composition Using Functional and non-Functional Descriptions in SCA. Accepted in the Workshop on Advanced Techniques for Web Services (AT4WS) 2009, Milan, Italy.

• Hamid Mukhtar, Djamel Belaïd and Guy Bernard. User Preferences-Based Automatic Device Selection for Multimedia User Tasks in Pervasive Environments. In Proceedings of the 5th International Conference on Networks and Services (ICNS) 2009, Valencia, Spain.

• Hamid Mukhtar, Djamel Belaïd and Guy Bernard. A Graph-based Approach for Ad hoc Task Composition Considering User Preferences and Device Capabilities. In Proceedings of the Workshop on Service Discovery and Composition in Ubiquitous and Pervasive Environments (SUPE 08), New Orleans, Louisiana.

• Hamid Mukhtar, Djamel Belaïd and Guy Bernard. A Policy-Based Approach for Resource Specification in Small Devices. In Proceedings of the Second International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies 2008, UBICOMM 08, pp. 239-244, Valencia, Spain. 

• Hamid Mukhtar, Djamel Belaïd and Guy Bernard. A Model for Resource specification in mobile services. In SIPE ’08: Proceedings of the 3rd international workshop on Services integration in pervasive environments, pp. 37–42, New York, NY, USA, 2008. ACM.

• Hamid Mukhtar, Djamel Belaïd and Guy Bernard. Session Mobility of Multimedia Applications in Home Networks Using UPnP. In Proceedings of the 11th IEEE International Multitopic Conference, INMIC 2007,  vol., no., pp.1-6, 28-30 Dec. 2007, Lahore, Pakistan.