350 likes | 633 Views
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
E N D
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
PresentationOutline • Introduction • Problem Description • Research Context • Objectives • Related work • Approach • Contributions • Validation • Conclusions • Future Work
X Ethernet Ethernet Problem Description
Research Context • 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
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
PresentationOutline • Introduction • Related work • Approach • Contributions • Validation • Conclusions • Future Work
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
Approach Overview composition of implemented by Services Components have Requirements for Capabilities for have Device Device Devices Legend Algorithmic Modelling Component Selection Application Design User Task available on User Preferences • Hardware • Software • Network Device Ranking and Elimination • Likes • Dislikes • Conditions • … Devices Preference Matching Session Continuity Network Heterogeneity
Contributions • 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 • 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
ChatUserTask VideoProcessor VideoDisplay ChatController <VideoCapable> TextProcessor <TextInputCapable> <SoundOutputCapable> AudioProcessor Speaker <InputCapable> ChatService User Task Task Description Using SCA • 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” requires=“TextInputCapable”> <interface.java interface=“example.chat.processor.TextInputInterface”/> </service> . . . </component> <component name=“TextProcessor”> <service name=“TextInputService”> <interface.java interface=“example.chat.processor.TextInputInterface”/> </service> . . . </component>
Contributions • 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
Device CapabilitiesExisting 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
Device CapabilitiesCC/PP and UAProf … • 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 • UAProf has flat hierarchy • We can extend UAProf by additional components and attributes
Contributions • 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
User Preferences • 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
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 PreferencesQuantitative User Preference Model
ChatUserTask VideoProcessor VideoDisplay ChatController <VideoCapable> TextProcessor <TextInputCapable> <SoundOutputCapable> AudioProcessor Speaker <InputCapable> User PreferencesExample Scenario ChatService Components to be found on available devices
User PreferencesQualitative 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
Operating System LT=0.0 DT=0.0 Windows 0.5 Video Player MediaPlayer QuickTime 0.5 -0.2 Instant Messenger Instant Messenger LT=1.0 DT=0.3 MSN Messenger Yahoo 0.0 0.5 Screen Resolution Screen Resolution DT=0.8 LT=1.0 ClosestMatch() ClosestMatch() 0.39 1.0 DT=1.19 LT=2.0 User PreferencesPreference Specification Using CP-nets Operating System Video Player Instant Messenger Screen Resolution DT=0.5 LT=0.5 LT=2.0
Contributions • 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
ChatUserTask ChatService VideoProcessor VideoDisplay ChatController <VideoCapable> TextProcessor <TextInputCapable> Ethernet <SoundOutputCapable> AudioProcessor Speaker <InputCapable> ? Ethernet Ethernet User Task Resolution NP-Complete!
Contributions • 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
Ethernet X X Ethernet Session Continuity
Session ContinuityUniversal 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
Session ContinuitySession Continuity Using UPnP Mobile Phone Laptop Desktop Laptop is better than Desktop
Operating System Video Player Instant Messenger Operating System Operating System LT=0, DT=0, MM=0 LT=0.0 DT=0.0 Screen Resolution Windows Linux Windows 0.5 0.7 0.5 Video Player Video Player Video Player DT=0.5 DT=0.5 MM=0.7 LT=0.5 LT=0.5 RealPlayer MediaPlayer MediaPlayer QuickTime QuickTime 0.5 0.5 0.5 -0.2 -0.2 Instant Messenger Instant Messenger Instant Messenger Instant Messenger Instant Messenger LT=1.0 LT=1.0 DT=0.3 DT=0.3 MM=1.2 MSN Messenger Yahoo Yahoo 0.0 0.0 0.5 0.5 MSN Messenger 0.5 Skype Screen Resolution Screen Resolution Screen Resolution Screen Resolution Screen Resolution DT=0.8 DT=0.8 MM=1.7 LT=1.0 LT=1.0 ClosestMatch() ClosestMatch() ClosestMatch() ClosestMatch() 0.39 0.39 ClosestMatch() 0.64 1.0 1.0 DT=1.19 DT=1.19 LT=2.0 LT=2.0 MM=2.34 Session ContinuityUser Pref. Based Session Continuity MM=2.34 If the device is better, user may be prompted for session continuity/splitting
Contributions • 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
Approach ValidationMATCH-UP Approach ValidationMATCH-UP • Middleware for Ad hoc user Task Composition in Heterogeneous environments considering User Preferences User Task Task Builder Graph Matcher Device Ranker Service Matcher Semantic Specification Service Requirements Component Aggregator Network Graph Builder Syntactic Specification CC/PP Profile Plugin SCA Profile Plugin Device Discovery … SCARuntime Multi-Protocol Network
Approach ValidationImplementation 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
Size of the aggregate component graph Total number of possible solutions Number of services in the user task Approach ValidationEvaluation-1 • 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 Configuration: Task distributed on 5 devices
Time (ms) to compose a user task graph Number of services in the user task Approach ValidationEvaluation-2
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
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
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.