Functional design

advertisement
Web of Things
by Nam Vu Hoang
T-106.5820
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
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
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?
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)
ENQUIRE: simple hypertext program
Eary Web Browser
World Wide Web Consortium
 Founded in 1994 and directed by Tim Berners-Lee
 Main international standards organization for theWWW
 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
From initial simplicity to rapid evolution
 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
So what is the Web? The Web is…
 From usual user perspective:
…the set of HTML pages that can be accessed fromWeb 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/
Evolution of Web
Focus
Web 1.0
Web 2.0
Web 3.0/4.0 (?)
Static Web pages
InteractiveWeb
applications
3D Web, Semantic Web,
Real world web
User-to-user,
B2C, B2B, etc.
Computer-to-computer
Users & Machines
Central
interaction
Data
publishers
Limited group of
people
Most of Web users
Role of
users
Preliminary
passive viewing
Active sharing,
interchanging data
No of users
45 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.
("the computer is generating new
information", rather than humans)
Sharing, controlling real things
Web application framework
 Example: Java Web Software Architect
http://www.conjective.ch/images/j4e-architecture.gif
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
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. It’s 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.
Tunnel Vision
and coming out into the sunlight
 Conceiving the Web only in terms of today‘s 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
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
Moore’s Law
 Microprocessor
transistor count
double every
two years
 Similar rules for:
 processor power,
 memory size,
 pixels per dollar,
 etc.
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
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
Current Trends of Industry (contd.)
 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.)
 Trend #4: Smart device application is fastest growing sector in software
development industry
use of traditional languages (allow low-level control)
 platform-depended

?
C/C++,
Java,
C#...
HTML,
JavaScript,
ASP/ASP.NET
PHP, JSP,
AJAX…
C/C++,
Java,
C#...
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
Sample Application of IoT for Home
Home network example
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
Sample Application of IoT for Business
Business network example
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
Why Web of Things?
Problems
Web is the solution
Web + Things = Web of Things
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?
Problems (contd.)
 How to ensure that yesterday’s services will work with
tomorrow’s devices and vice versa
 mix of product generations and technologies
 need for layered architecture that cleanly separates out different
concerns
 critical importance of standards?
Web is the solution
Web is the solution
 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.
Web + Things = Web of Things
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
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
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
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
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
Basic model (W3C)
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
Model-based UI layer cake (contd.)
Chameleon Reference Framework

Layers (with transformations defined between each layer)
1.
2.
3.
UI
Application task and data models
Abstract User Interface
 modality independent, e.g. “select 1 from n”
 set size, grouping and ordering considerations
Concrete User Interface
 commitment to modality and broad class of devices

4.
e.g. radio buttons vs drop-down menu
Final User Interface
 automatic generation guided by author’s preferences
 Target HTML, SVG, Flash, Java, .Net, etc.
 Generation of client and server-side components
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!
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
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 3rd party
 Privacy policies define obligations for handling of personal data
 What can it be used for?
 How long can it be retained for?
Security & privacy policies (contd.)
 Involving a trusted 3rd party for trust management solutions
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
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
Agents, not Web pages
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
Client or server?
Agent!
Agents combines client and server
Tunneling through NAT
 Proxy may arrange for direct link through NAT
 see STUN, TURN and other technologies
Tunneling through NAT
 Connecting devices between different NATs
Public and private agents
 Private agents may be offline or powered down
 Enabling offline operation via data synchronization
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
Remote UI (contd.)
DOM = Document Object Model
Abstraction layer for events
Summing up
Service infrastructure
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
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
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
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
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
Authoring framework (contd.)
Ecosystem layer cake
Web technologies for connecting users and real world objects for new kinds of services
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
 Raggett D. (2007). Toward the Web of Things, W3C:
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
 TridiumWhite Paper: The Web of Things (2009):
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
 Video materials on Web
Download