1 / 35

Hamid Mukhtar PhD Defense 16 November 2009

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

akiko
Download Presentation

Hamid Mukhtar PhD Defense 16 November 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. PresentationOutline • Introduction • Problem Description • Research Context • Objectives • Related work • Approach • Contributions • Validation • Conclusions • Future Work

  3. X Ethernet Ethernet Problem Description

  4. 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

  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

  6. PresentationOutline • Introduction • Related work • Approach • Contributions • Validation • Conclusions • Future Work

  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

  8. 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

  9. 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

  10. 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

  11. 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> 

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  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 PreferencesQuantitative User Preference Model

  18. ChatUserTask VideoProcessor VideoDisplay ChatController <VideoCapable> TextProcessor <TextInputCapable> <SoundOutputCapable> AudioProcessor Speaker <InputCapable> User PreferencesExample Scenario ChatService Components to be found on available devices

  19. 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

  20. 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

  21. 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

  22. ChatUserTask ChatService VideoProcessor VideoDisplay ChatController <VideoCapable> TextProcessor <TextInputCapable> Ethernet <SoundOutputCapable> AudioProcessor Speaker <InputCapable> ? Ethernet Ethernet User Task Resolution  NP-Complete!

  23. 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

  24. Ethernet X X Ethernet Session Continuity

  25. 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

  26. Session ContinuitySession Continuity Using UPnP Mobile Phone Laptop Desktop Laptop is better than Desktop

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. Time (ms) to compose a user task graph Number of services in the user task Approach ValidationEvaluation-2

  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

  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

  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. 

More Related