1 / 25

Adaptive middleware for context-aware applications in smart-homes

MPAC ‘ 04. Adaptive middleware for context-aware applications in smart-homes. Markus Huebscher Imperial College London. Outline. Middleware Structure of middleware Utility functions on QoC attributes for service selection and adaptation Utility functions Example: Euclidean distance

alyn
Télécharger la présentation

Adaptive middleware for context-aware applications in smart-homes

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. MPAC ‘04 Adaptive middleware forcontext-aware applications in smart-homes Markus Huebscher Imperial College London

  2. Outline • Middleware • Structure of middleware • Utility functions on QoC attributesfor service selection and adaptation • Utility functions • Example: Euclidean distance • Learning • Non-context aware service selection

  3. Context-aware applications Application Application Middleware e.g. user in living room sitting on sofa, room bright, no noise, etc. Context Sensor datalogic Collect AggregateInterpret e.g. user at location (x,y), light and sound values, etc. PhysicalSensor Sensors

  4. Approach • Self-adaptive (autonomic) middleware for context provision. • Context providers advertise their capabilities with Quality of Context (QoC) attributes. • E.g. precision, refresh rate, spacial coverage • Assume >1 alternatives for same context. • location: ultrasonic, RFID, IR, smart floor, visual • gait: visual, wearable accelerometers • Middleware receives app-specific utility function to rate context providers using QoC attrs. • Given multiple alternatives, middleware selects one that maximises app’ “satisfaction”

  5. Middleware context structure Applications App1 App2 ContextService Context ProvisionAdaptation ContextProvider2 ContextProvider1 ContextProvisioning(aggregation &interpretation) Sensors2 Sensors3 Sensors Sensors1

  6. Provider advertisement App1 App2 ContextService advertQoC attrs ContextProvider2 ContextProvider1 Directory Service Sensors2 Sensors3 Sensors1

  7. Provider advertisement • CP sends advert msg to DS. • Context type • QoC attributes • Precision/Probability of correctness • refresh rate • If advert successful periodically send heartbeat to DS • Implicitly tells DS that CP still alive • Provide updated values for QoC attrs

  8. Consumer advertisement App1 App2 Request context typeUtility function ContextService ContextProvider2 ContextProvider1 Directory Service Sensors2 Sensors3 Sensors1

  9. Consumer advertisement • Request context type to SD • Provide Utility function • Given QoC attrs of a CP, determines how desirable CP is. • Application-specific measure of QoC. • Delegate to middleware task of adapting to best alternative

  10. Middleware adaptation structure App Util Fct evaluation ContextService Call for adaptation Fires events ContextProvider2 ContextProvider1 Directory Service CPs register at DS and regularly send heartbeat to DS(“I’m alive”) providing updated QoC attrs. Sensors2 Sensors3 Sensors1

  11. ContextProvider2 Sensors3 Auto update (self-configuring) Application Util Fct evaluation ContextService 3. switch to CP2 2.event:new CP 4. ContextProvider1 1.advertise Directory Service Sensors2 Sensors1

  12. Failure recovery (self-healing) Application Util Fct evaluation ContextService 3. switch to CP1 2.event:CP2 failure 4. ContextProvider2 ContextProvider1 1.noheartbeat Directory Service Sensors2 Sensors3 Sensors1

  13. QoC change (self-optimising) Application Util Fct evaluation ContextService 3. switch to CP1 2.event:CP2 QoCdegradation 4. ContextProvider2 ContextProvider1 1.hearbeatwith QoCdegradation Directory Service Sensors2 Sensors3 Sensors1

  14. Utility Functions • Map QoC attrs of CP to desirability of CP • Example: Euclidian distance • Computes distance between a desirable point in the QoC-space and the CP’s QoC point or the origin of the QoC-space. • Many choices as to how utility evaluated

  15. Euclidean distance example precision CP2 CP1 CP3 ref refresh rate

  16. Euclidean distance example precision Frequently-lost-objects finder CP2 CP1 CP3 ref Set weight for each dimension Light-control system refresh rate

  17. Euclidean distance example precision CP1 ref CP3 CP2 refresh rate

  18. Computing distancewith different measurement units • Problem: Have to sum values with different units, e.g. 1/metres with Hz. • Solution: Standardise scale of each dim. • Manually: pick a sensible scaling factor for each Quality of Context • Tedious, subjective. • Automated scaling factor: Mahalanobis distance • For each QoC Attr: • Compute Std Dev over all available CPs • Express distance of attr as multiple of Std Dev apply scaling factor 1/σi

  19. Learning consumer’s utility fct • If consumer does not provide Util Fct • E.g. not supported (resource-constrained) • Can learn to predict consumer’s satisfaction with CPs (just yes/no) • Middleware chooses CP, consumer sends +/- feedback about CP. • Relevance-based decision tree learning • Takes as input the set of QoC attributes • Predict whether consumer will like a CP (yes/no)

  20. Relevance-based decision tree learning precision refresh rate ≥10 <10 precision no CP2 CP3 CP1 ≥40 <40 CP4 ref (10,40) yes no refresh rate

  21. Relevance-based decision tree learning 2 precision refresh rate ≥10 <10 CP4 precision precision CP2 CP3 ≥20 <20 ≥40 <40 CP1 yes yes no yes no refresh rate

  22. The problem of trust • Trust CP to deliver context info according to advertised QoC attributes. • Trustworthiness (tw) is a QoC attribute determined by middleware, not CP • Use praise/complaint feedback from. consumers after CP use to determine tw. • Bayesian parameter learning • Number of +/- feedbacks probability distribution for CP tw. • tw a QoC attribute. • Consumer decides how much risk to take in the hope of good QoC.

  23. Non-context applicationsExample: printer service • App (eg on PDA) wants to find “nearest” printer. • Predefined utility function uses a map to determine nearest printer. • App selects “nearest” util fct in middleware • App needn’t know topology of building • Apps & printers only need to know their location, middleware does the rest. P1 P2 U

  24. Non-context applicationsExample: printer service 2 • Other utility functions: • Shortest printing time • depends on print queue length and printer speed • adapt printer selection if paper jams, no toner. • Best quality • Resolution, colour, type of paper Tree-based classification • Utility functions generally useful for service selection and adaptation when alternative providers can be ranked • On service failure, automatically switch to next best alternative

  25. Thank you

More Related