contact: hamid mukhtar middleware for ad hoc user task composition in heterogeneous environments...
Post on 20-Dec-2015
222 views
TRANSCRIPT
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
16 November 2009
2
Presentation Outline
• Introduction– Problem Description– Research Context– Objectives
• Related work• Approach
– Contributions– Validation
• Conclusions• Future Work
16 November 2009
3
Ethernet
Problem Description
Ethernet
X
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
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
16 November 2009
6
Presentation Outline
• Introduction
• Related work
• Approach
– Contributions
– Validation
• Conclusions
• Future Work
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
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
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
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
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>
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
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
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
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
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
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
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>
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
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
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
16 November 2009
22
User Task Resolution
Ethernet
Ethernet
?
Ethernet
ChatService
ChatController
VideoProcessor
TextProcessor
ChatUserTask
AudioProcessor
VideoDisplay
Speaker
<SoundOutputCapable>
<InputCapable>
<VideoCapable>
<TextInputCapable>
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
16 November 2009
24
Ethernet
Session Continuity
Ethernet
X
X
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
16 November 2009
26
Session Continuity
Session Continuity Using UPnP
Desktop Mobile Phone Laptop
Laptop is better than Desktop
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
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
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
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
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
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
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
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
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.