by nam vu hoang t-106.5820 web of things. contents internet of things vs. web of things evolution of...

Click here to load reader

Upload: ellen-kirkham

Post on 14-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

  • Slide 1

by Nam Vu Hoang T-106.5820 Web of Things Slide 2 Contents Internet of Things vs. Web of Things Evolution of The Web Why Web in terms of browsers is very limited? Future vision Why Web of Things? Basics of Web of Things (W3C) Agents, not Web pages Summary and questions Reference Slide 3 Internet of Things vs. Web of Things What is Web of Things? The Web of Things is a vision about how to use Web standards to develop applications for networked devices in the Internet of Things Slide 4 Evolution of Web History of Web Web 1.0, Web 2.0, Web 3.0/4.0 Web application framework Several new Web technologies A tunnel vision why Web in terms of browsers is very limiting? Slide 5 World Wide Web: first steps 1980 Tim Berners-Lee developed ENQUIRE as a simple hypertext system for CERN 1989 he presented Project proposal for WWW Birthplace of Web CERN (International research center for high energy physics located near Geneva) Slide 6 ENQUIRE: simple hypertext program Slide 7 Eary Web Browser Slide 8 World Wide Web Consortium Founded in 1994 and directed by Tim Berners-Lee Main international standards organization for the WWW Produced over one hundred Recommendations covering HTML, XML, CSS, Web Services, Semantic Web & many more ~320 members (Apple, BBC, Ericson, Google, LG, MS, Nokia, ) Open process and patent policy designed to enable royalty fee implementations of W3C specifications Slide 9 Core of Web (really simple to encourage widespread adoption): Simple hypertext markup language (HTML) Simple protocol (HTTP) with global addresses Designed to be rendered on wide range of devices (depends on browser) Rapid evolution: Exponential growth in Web traffic Addition of capabilities to HTML & HTTP New Web and XML standards Plenty of Web technologies Competition with proprietary formats Dozens of web browsers Browser wars won by Internet Explorer From initial simplicity to rapid evolution Slide 10 So what is the Web? The Web is From usual user perspective: the set of HTML pages that can be accessed from Web browsers According to W3C:...an information space in which the items of interest, referred to as resources, are identified by global identifiers called Uniform Resources Identifiers (URI) http://www.w3.org/TR/webarch/ Earlier version (in terms of a system rather than a space): a networked information system consisting of agents (programs acting on behalf of a person, entity, or process) that exchange information http://www.w3.org/TR/2003/WD-webarch-20030627/ Slide 11 Evolution of Web Web 1.0Web 2.0Web 3.0/4.0 (?) FocusStatic Web pagesInteractive Web applications 3D Web, Semantic Web, Real world web Central interaction User-to-user, B2C, B2B, etc. Computer-to-computer Data publishers Limited group of people Most of Web usersUsers & Machines ("the computer is generating new information", rather than humans) Role of users Preliminary passive viewing Active sharing, interchanging data Sharing, controlling real things No of users45 000 000 (1996) 1 000 000 000 000 (2006) Typical samples Portals, home pages, simple web applications (guest books) Social networks, blogs, wikis, video sharing, hosted services, mashups etc. Slide 12 Web application framework Example: Java Web Software Architect http://www.conjective.ch/images/j4e-architecture.gif Slide 13 A few words about new Web technologies Semantic Web is man-made Web of Data that is meaningful to computers its central part is the graph-based data model Resource Description Framework (RDF) labeled links can be regarded as subject-predicate- object triples (sentences) The Semantic Web stack Slide 14 A few words about new Web technologies Mashup is a Web application that uses and combines data, presentation or functionality from two or more sources to create new services. e.g. using open APIs and data sources like Google Map and Wikipedia API to produce enriched results. Web widget is a software widget for Web. Its small application that can be installed and executed within a web page by an end user. usually provides a single interaction point for the direct manipulation of a given kind of data; typically created in DHTML, JavaScript, Adobe Flash, Java Applet, etc. Slide 15 Tunnel Vision and coming out into the sunlight Conceiving the Web only in terms of todays browsers is very limiting Undue focus on HTML and browser APIs What about Other modes of interaction (aural, tactile) Explosion of new kinds of networked devices Distributed applications & end-to-end models Agents acting on behalf of people Semantic Web of symbolic and statistical knowledge Web of trust and human relationships Slide 16 Current Trends of Industry Trend #1: Electronic things are invading us Trend #2: Rapidly evolving network technologies Trend #3: Academic & industry is focusing on Internet of Things, not yet Web of Things Trend #4: Era of smart device application Slide 17 Moores Law Microprocessor transistor count double every two years Similar rules for: processor power, memory size, pixels per dollar, etc. Slide 18 Results of improvements with IC technologies and processes Reduced cost for a given gate, pixel, memory capacity count, etc. Rapidly dwindling cost of networking all kinds of devices Microcontrollers is fastest growing segment of computer industry average home now contains 200 cars between 35 and 100 for luxury models Slide 19 Current Trends of Industry Trend #1: Electronic things are invading us increasingly powerful CPUs sensors & actuators ubiquitous Trend #2: Rapidly evolving network technologies Ethernet over twisted pair DSL over copper phone lines Ethernet over building power wiring WiFi and WiMAX (Worldwide Interoperability for Microware Access) Bluetooth ZigBee sensor networks GSM and cellular packet radio Slide 20 Trend #3: The future is Internet of Things (post-PC) Cloud Services accessed via heterogeneous devices New risks and opportunities! But: Academic and industry is focusing on networking & low level services Internet of Things, not yet the Web of Things Current Trends of Industry (contd.) Slide 21 Trend #4: Smart device application is fastest growing sector in software development industry use of traditional languages (allow low-level control) platform-depended Current Trends of Industry (contd.) ? HTML, JavaScript, ASP/ASP.NET PHP, JSP, AJAX C/C++, Java, C#... Slide 22 Future Vision Internet of Things for home and offices Internet of Things for business Web 3.0 can be defined as the first-generation Metaverse (convergence of the virtual and physical world) futurist John Smart, lead author of the Metaverse Roadmap Slide 23 Sample Application of IoT for Home Home network example Slide 24 The Value of IoT for Home and Offices Reduced costs of heating, cooling and lighting for homes and offices Improved physical security and peace of mind Preventative maintenance in advance of appliances breaking down Improved standard of care for the elderly Better choices for home entertainment systems Fulfilling the potential for applications that combine local and remote services Slide 25 Sample Application of IoT for Business Business network example Slide 26 Sample application of Web of Things Future vision (Microsoft) http://www.microsoft.com/office/vision/ The Social Web of Things (Ericson): http://youtu.be/i5AuzQXBsG4 Slide 27 Why Web of Things? Problems Web is the solution Web + Things = Web of Things Slide 28 Problems How to create easily interactive applications that can combine various heterogeneous devices: smart sensors/actuators devices which require readers (RFID and barcodes) gateways between different networking technologies devices with programmable behaviour (via XML, scripts or byte codes) and work across: different networking technologies different generations of devices different vendors different trust boundaries? Slide 29 Problems (contd.) How to ensure that yesterdays services will work with tomorrows devices and vice versa mix of product generations and technologies need for layered architecture that cleanly separates out different concerns critical importance of standards? Slide 30 Web is the solution Slide 31 We need an universal protocol that is simple, lightweight, loosely-coupled, scalable, flexible and hopefully standard: standards encourage a bigger market with many more players & innovation Sounds like the Web Other advantages: TCP/IP & Web are granted, cheap, ubiquitous Development of Web apps: quick, cheap, popular Get features of Web for free, just connect devices New technologies: cloud computing, Semantic Web, etc. Slide 32 Web + Things = Web of Things Slide 33 Basics of Web of Things (W3C) Web-based resource coordination Context awareness Basic model Model-based layered UI Agents, not Web pages Security and privacy policies Summing service infrastructure Slide 34 Resource coordination How to ensure that devices and services function as part of a distributed application Support for discovery and adaptation Provide descriptions of devices and services (resources) including basis for access control, identity and trust coordination and control services provided by an individual device or a collaboration between multiple devices scheduling and fair access to scarce resources services as an orchestrated sequence of events error handling and recovery Slide 35 Web-based coordination Describing UI and behaviour Markup and/or scripting Using URIs to name devices & services Rich meta-data for describing device capabilities & security policies Exposing device/service as object in local object model Hides addressing/communication details Enable application to continue to work when devices and network technology/topology change Slide 36 Hiding infrastructure model Web oriented models as basis for easier development of service front-ends Hidden infrastructure and associated models The unseen part that keeps the rest afloat Slide 37 Context awareness Models of users, things and their environment What devices are present in my home? What are my personal preferences? Virtual objects as proxies for things Hiding the underlying complexity Addressing, routing, synchronizing Ontologies, APIs and live objects Slide 38 Basic model (W3C) Slide 39 Model-based UI layer cake Motivation: Frequent need for redesign as data models, business requirements and branding changes Different roles and skills of team members people can focus on what they each do best To reduce costs and increase reuse through separation of concerns To outsource tasks of adaptation to particular browsers & devices analogous to compilers Slide 40 Model-based UI layer cake (contd.) Chameleon Reference Framework Layers (with transformations defined between each layer) 1. Application task and data models 2. Abstract User Interface modality independent, e.g. select 1 from n set size, grouping and ordering considerations 3. Concrete User Interface commitment to modality and broad class of devices e.g. radio buttons vs drop-down menu 4. Final User Interface automatic generation guided by authors preferences Target HTML, SVG, Flash, Java,.Net, etc. Generation of client and server-side components UI Slide 41 Web Run-Times Execution environment for web apps Personalized apps that run 24x7 on your behalf Run somewhere in the Cloud Cloud: dynamically provisioned virtual computing resources Combo of mark-up, style sheets scripts, etc. Appear as shareable widgets on web pages Interact with user through real-world things Moving the Web out of the browser! Slide 42 Web-based resource binding Either name resource or provide description URI for resource name or description, or Explicit description XML element, meta data (RDF) or scripting API Implicit or explicit resource binding service Broker and access control may be local or remote Event when resource is bound/unbound or on access control error On success, resource exposed as DOM object Slide 43 Security & privacy policies Web app requests access to a device/service Broker invokes policy engine Policies as rules that express user and provider preferences Over credentials for identity/properties Policies may delegate to trusted 3 rd party Privacy policies define obligations for handling of personal data What can it be used for? How long can it be retained for? Slide 44 Security & privacy policies (contd.) Involving a trusted 3 rd party for trust management solutions Slide 45 Object compositions Logical device or service that is a composition of others Means to configure devices and services to work together copier = camera + printer commands = microphone + speech recognizer + command grammar gestures = camera + video processor Has its own description in the context models Compositions can be nested as needed Slide 46 Control and event routing Strongly coordinated, no delegation Controller manages access to services All events routed through the control point Weakly coordinated, partial delegation Controller manages access control, but delegates event management Uncoordinated, full delegation Peer to peer communication model Devices responsible for resource management Slide 47 Agents, not Web pages Slide 48 Event transport How to deliver events to devices? Firewalls are intended to block undesired traffic No incoming HTTP connections by default Evolution of mechanisms to tunnel events through Network Address Translation STUN, STUNT, TURN, etc. Skype and success at a cost Bindings to event transport protocols HTTP, SIP, XMPP Slide 49 Client or server? Slide 50 Agent! Agents combines client and server Slide 51 Tunneling through NAT Proxy may arrange for direct link through NAT see STUN, TURN and other technologies Slide 52 Tunneling through NAT Connecting devices between different NATs Slide 53 Public and private agents Private agents may be offline or powered down Enabling offline operation via data synchronization Slide 54 Remote UI Moving beyond Web browsers to new kinds of applications based upon distributed document object models application running on one device is coupled to an UI on another via an exchange of events Layered architecture involving mappings between different levels of abstraction High level events as interpretations of lower level ones Realizing high level tasks as particular UI behaviour Slide 55 Remote UI (contd.) DOM = Document Object Model Slide 56 Abstraction layer for events Slide 57 Summing up Slide 58 Service infrastructure Slide 59 Service front-end Service front-end as web application Defined as markup and scripts May be local installed as widget Exposes UI for Configuring user preferences Browsing context Mashing services Exploits context for personalization Slide 60 Dynamic context Mechanism to maintain a dynamic model of the context in the cloud Context as rich description of the world Updated as devices are added or removed Describes what kinds of devices they are and how to communicate with each device Built on top of existing lower level mechanisms such as UPnP May involve a local device as bridge between local protocols & cloud Slide 61 Web-based broker Web run-time as execution environment for apps expressed as markup/scripts APIs that allow apps to query the context Browser app that allows users to explore what devices are present Events that fire when context changes Broker that allows apps to bind device or service into the web run-time as proxy objects Objects appear as part of application session Session itself is an object you can query Broker is implicit or named service in cloud Slide 62 Web-based broker Web run-time as execution environment for apps expressed as markup/scripts APIs that allow apps to query the context Browser app that allows users to explore what devices are present Events that fire when context changes Broker that allows apps to bind device or service into the web run-time as proxy objects Objects appear as part of application session Session itself is an object you can query Broker is implicit or named service in cloud Slide 63 Authoring framework For use by web developers Layered representations Separates out different design concerns Uses Cameleon Reference Framework XML + event-driven scripts Context aware (authoring and run-time) Pluggable (tool kit vendors) Compiles to delivery platform Guided by author's preferences Deals with platform variations Slide 64 Authoring framework (contd.) Slide 65 Ecosystem layer cake Web technologies for connecting users and real world objects for new kinds of services Slide 66 References Raggett D. (2010). The Web of Things: Extending the Web into the Real World, W3C: http://www.w3.org/2010/Talks/0123-dsr-sofsem.pdf http://www.w3.org/2010/Talks/0123-dsr-sofsem.pdf Raggett D. (2007). Toward the Web of Things, W3C: http://www.w3.org/2007/Talks/0926-dsr-WDC/slides.pdf http://www.w3.org/2007/Talks/0926-dsr-WDC/slides.pdf Hoschka P. W3C: Web Standards for the Web of Things, W3C: http://ec.europa.eu/information_society/events/cf/ss0911/document.cfm?doc_i d=19103 http://ec.europa.eu/information_society/events/cf/ss0911/document.cfm?doc_i d=19103 Tridium White Paper: The Web of Things (2009): http://www.tridium.com/galleries/white_papers/WP-SedonaWeb.pdf http://www.tridium.com/galleries/white_papers/WP-SedonaWeb.pdf Lift11Talk. A Web of Things for Smart Cities. http://www.webofthings.com/wp-content/uploads/2011/02/lift11.pdf http://www.webofthings.com/wp-content/uploads/2011/02/lift11.pdf Video materials on Web