Providing user support in Web-of-Things enabled Smart Spaces Mathieu Boussard, Olivier Le Berre, Benoit Christophe, Vincent Toubiana Bell Labs Research – Alcatel-Lucent Bell Labs France COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Overview • Enabling WOT-based smart spaces • Searching Web-enabled objects • Navigating smart spaces • Conclusion COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces Defining and interconnecting spaces A localized space Interconnecting spaces COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces Making a space to become ‘smart’ with Web-enabled objects REST API A real-world object (RWO) ‘smart’ home A virtual object (VO) COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces Prototype developed ‘smart’ home VO Gateway: Home ‘smart’ office VO Gateway: Office Virtual Objects 5, Get WebCam HTML Representation 4’ and display 6, HTML + JavaScript (HTML) 3’ Exposure (REST) 4, 3, Sen Ge dV tV OU Os 8,L RL Lis Semantic is t s t 2. Send GWs of interest: Description of Ob (OWL) jec {Local: Home, tt oc 1. Get List GWs om po 7, Sea Bookmarked: {Office}} se rch wit com (location, User ID) h the Virtual Objects Framework po We sab bca le m ob Search jec ts filter VO Provisioning Persistency Eventing Gateway GW Filtering Geo filter Central Reasoner Resolver User filter Reasoner Registerer sit ion Se nd po live; GW A. Ke ep-A OSGi Framework Repository COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces Prototype developed – Virtual Objects Framework Main components • Provisioning module • Assign a URL to each VO (e.g. http://<smartspaceXYZ>/vo/<uuid>) • Based on an OSGi service (called VirtualObject) implemented by each VO • Enabling VO to be monitored (start/stop) • Allowing to keep up to date running VOs • Allowing to access/expose/update VO attributes • Eventing module • Based on an OSGi service (called NotificationEngineService) • Using an event channel and a producer/consumer paradigm • VOs can subscribe to events and are notified by this module once one appears in the channel • Implementation relies on Comet long poll mechanism COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces Prototype developed – Virtual Objects Framework • Reasoner module • Based on Semantic engine tools (e.g. Pellet) • Allowing VO to be discovered according to their semantics • Involved in two different steps • When a VO joins a smart space • Build a processable graph from its semantic profile • Establish similarities with virtual objects already part of this smart space • When a discovery request is sent • Analyze requirements of this request • Compute a ‘requirements graph’ • Compare requirements graph and VO graphs to discover similarities and return corresponding VO URLs. COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Enabling WOT-based smart spaces Prototype developed – Gateway Resolver Main component • Gateway Repository • Maintaining the list of running VO Frameworks • Based on a RESTful API • Allowing VO Gateways to register/unregister when they start/stop • Allowing clients to get filtered smart spaces according to their requirements (e.g. looking for all smart spaces in a radius of 2 kilometers at a given location) COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Searching Web-enabled objects COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Searching Web-enabled objects Our current object description model: 5 lightweight ontology files • vo-fsm represents finite state machine of a Web-enabled object • vo-structures allows object to tell how are structured the data it uses or generates • vo-capability allows to map a task with a set of functionalities • vo-location represents geographical areas and how they are relatively localized • vo-core interlinks all different models and form the description model of Web-enabled objects Description file of a connected object instantiates ‘vo-core’ model COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Searching Web-enabled objects Using semantic profiles for searching objects • From the incoming discovery request: • Extract requirements of a request • Translate each requirement to a graph α WA=1 A WB=5/11 WC=5/11 α1,α2 ,...,αn B C R WD=3/11 D E F G H I J K WG=1/11 Number of nodes = 11 N total number of nodes 1 Dn W n D n all descendants of node n N D(root) 1 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Searching Web-enabled objects Using semantic profiles for searching objects • From a set of Web-enabled objects that belong to a given smart space: • Access semantic representation of object’ functionalities • Navigate to the ontological definition of their I/Os • Extract the graph of each I/O Send stream functionality o1 i1 o1 i2 o2 i3 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Searching Web-enabled objects Matching requirements with structures using graph comparisons • Finally, match request requirements with structures uses or generated by an object A B C D E F G H I J K 1: load requirement graph 2: Lookup graphs Graph analyzer module Lookup set of object graphs (Who has ‘A’, Who has ‘B’, etc.) Compute matching score Ex: Webcam has ‘B’ and ‘G’ while copier has ‘D’ and ‘I’ matching(α, camera) = 6/11 matching(α, copier) = 4/11 3: return classified results Results = {(camera, 55%); (copier,36%)} COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Navigating smart spaces COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Navigating smart spaces Different interfaces for different browsing situations* In-situation Off-Situation * M. Boussard, P. Thebault, Navigating the web of things: visualizing and interacting with web-enabled objects ISoLA’10 Proceedings of the 4th International conference on Leveraging applications of formal methods, verification, and validation COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Navigating smart spaces Different interfaces for different usages • Accessing object functionalities • Composing an object with another one • Accessing template of an application to configure it COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Navigating smart spaces Why not using legacy Mobile Web browsers? • Although VO and applications rendering being based on HTML, problems arise when using legacy browsers to search for meaningful objects: • To compose objects, we need to know (at least) who is requesting a composition • BUT: the HTML representation contains semantic annotations (RDFa) of only functional elements • Issuing an AJAX request from a legacy browser would then lead to wrong results • We then have implemented a dedicated WoT browser on mobile (target was Android) • Requesting user authentication • Displaying object representation in a Web view • Issuing composition request through a javascript hook between the Web view and the client itself COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Conclusion COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Conclusions Navigating and supporting the user: many opportunities Novel interactions New web applications + = COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
Thanks Benoit Christophe benoit.christophe@alcatel-lucent.com Paper available here COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
22 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
23 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION

Providing user support in Web-of-Things enabled Smart Spaces

  • 1.
    Providing user supportin Web-of-Things enabled Smart Spaces Mathieu Boussard, Olivier Le Berre, Benoit Christophe, Vincent Toubiana Bell Labs Research – Alcatel-Lucent Bell Labs France COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 2.
    Overview • Enabling WOT-basedsmart spaces • Searching Web-enabled objects • Navigating smart spaces • Conclusion COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 3.
    Enabling WOT-based smartspaces COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 4.
    Enabling WOT-based smartspaces Defining and interconnecting spaces A localized space Interconnecting spaces COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 5.
    Enabling WOT-based smartspaces Making a space to become ‘smart’ with Web-enabled objects REST API A real-world object (RWO) ‘smart’ home A virtual object (VO) COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 6.
    Enabling WOT-based smartspaces Prototype developed ‘smart’ home VO Gateway: Home ‘smart’ office VO Gateway: Office Virtual Objects 5, Get WebCam HTML Representation 4’ and display 6, HTML + JavaScript (HTML) 3’ Exposure (REST) 4, 3, Sen Ge dV tV OU Os 8,L RL Lis Semantic is t s t 2. Send GWs of interest: Description of Ob (OWL) jec {Local: Home, tt oc 1. Get List GWs om po 7, Sea Bookmarked: {Office}} se rch wit com (location, User ID) h the Virtual Objects Framework po We sab bca le m ob Search jec ts filter VO Provisioning Persistency Eventing Gateway GW Filtering Geo filter Central Reasoner Resolver User filter Reasoner Registerer sit ion Se nd po live; GW A. Ke ep-A OSGi Framework Repository COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 7.
    Enabling WOT-based smartspaces Prototype developed – Virtual Objects Framework Main components • Provisioning module • Assign a URL to each VO (e.g. http://<smartspaceXYZ>/vo/<uuid>) • Based on an OSGi service (called VirtualObject) implemented by each VO • Enabling VO to be monitored (start/stop) • Allowing to keep up to date running VOs • Allowing to access/expose/update VO attributes • Eventing module • Based on an OSGi service (called NotificationEngineService) • Using an event channel and a producer/consumer paradigm • VOs can subscribe to events and are notified by this module once one appears in the channel • Implementation relies on Comet long poll mechanism COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 8.
    Enabling WOT-based smartspaces Prototype developed – Virtual Objects Framework • Reasoner module • Based on Semantic engine tools (e.g. Pellet) • Allowing VO to be discovered according to their semantics • Involved in two different steps • When a VO joins a smart space • Build a processable graph from its semantic profile • Establish similarities with virtual objects already part of this smart space • When a discovery request is sent • Analyze requirements of this request • Compute a ‘requirements graph’ • Compare requirements graph and VO graphs to discover similarities and return corresponding VO URLs. COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 9.
    Enabling WOT-based smartspaces Prototype developed – Gateway Resolver Main component • Gateway Repository • Maintaining the list of running VO Frameworks • Based on a RESTful API • Allowing VO Gateways to register/unregister when they start/stop • Allowing clients to get filtered smart spaces according to their requirements (e.g. looking for all smart spaces in a radius of 2 kilometers at a given location) COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 10.
    Searching Web-enabled objects COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 11.
    Searching Web-enabled objects Ourcurrent object description model: 5 lightweight ontology files • vo-fsm represents finite state machine of a Web-enabled object • vo-structures allows object to tell how are structured the data it uses or generates • vo-capability allows to map a task with a set of functionalities • vo-location represents geographical areas and how they are relatively localized • vo-core interlinks all different models and form the description model of Web-enabled objects Description file of a connected object instantiates ‘vo-core’ model COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 12.
    Searching Web-enabled objects Usingsemantic profiles for searching objects • From the incoming discovery request: • Extract requirements of a request • Translate each requirement to a graph α WA=1 A WB=5/11 WC=5/11 α1,α2 ,...,αn B C R WD=3/11 D E F G H I J K WG=1/11 Number of nodes = 11 N total number of nodes 1 Dn W n D n all descendants of node n N D(root) 1 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 13.
    Searching Web-enabled objects Usingsemantic profiles for searching objects • From a set of Web-enabled objects that belong to a given smart space: • Access semantic representation of object’ functionalities • Navigate to the ontological definition of their I/Os • Extract the graph of each I/O Send stream functionality o1 i1 o1 i2 o2 i3 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 14.
    Searching Web-enabled objects Matchingrequirements with structures using graph comparisons • Finally, match request requirements with structures uses or generated by an object A B C D E F G H I J K 1: load requirement graph 2: Lookup graphs Graph analyzer module Lookup set of object graphs (Who has ‘A’, Who has ‘B’, etc.) Compute matching score Ex: Webcam has ‘B’ and ‘G’ while copier has ‘D’ and ‘I’ matching(α, camera) = 6/11 matching(α, copier) = 4/11 3: return classified results Results = {(camera, 55%); (copier,36%)} COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 15.
    Navigating smart spaces COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 16.
    Navigating smart spaces Different interfaces for different browsing situations* In-situation Off-Situation * M. Boussard, P. Thebault, Navigating the web of things: visualizing and interacting with web-enabled objects ISoLA’10 Proceedings of the 4th International conference on Leveraging applications of formal methods, verification, and validation COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 17.
    Navigating smart spaces Differentinterfaces for different usages • Accessing object functionalities • Composing an object with another one • Accessing template of an application to configure it COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 18.
    Navigating smart spaces Whynot using legacy Mobile Web browsers? • Although VO and applications rendering being based on HTML, problems arise when using legacy browsers to search for meaningful objects: • To compose objects, we need to know (at least) who is requesting a composition • BUT: the HTML representation contains semantic annotations (RDFa) of only functional elements • Issuing an AJAX request from a legacy browser would then lead to wrong results • We then have implemented a dedicated WoT browser on mobile (target was Android) • Requesting user authentication • Displaying object representation in a Web view • Issuing composition request through a javascript hook between the Web view and the client itself COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 19.
    Conclusion COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 20.
    Conclusions Navigating and supportingthe user: many opportunities Novel interactions New web applications + = COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 21.
    Thanks Benoit Christophe benoit.christophe@alcatel-lucent.com Paper available here COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 22.
    22 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION
  • 23.
    23 COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — INTERNAL PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION