SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Building Blocks for a Participatory Web of Things:
Devices, Infrastructures, and Programming Frameworks

Doctoral Defense – 26 August 2011
Vlad Trifa
Context




   ■ Networked embedded devices (NEDs) omnipresent
        ■ Increasingly powerful CPUs, various sensors/actuators
        ■ Mobile Internet cheap and ubiquitous
   ■ Tremendous benefits when integrating their data and services
        ■ Social: energy-efficient building, smarts buildings and cities
        ■ Business: real-time enterprise, optimized logistics
Doctoral Defense, 26.8.2011               Vlad Trifa                       2
Distributed Sensing Applications (DSA) Today
   ■ Tedious process that requires many resources (skills, time, $$$)
        ■ Various functionalities, sensors, requirements
        ■ Incompatible protocols, standards, programming models, APIs, etc.
        ■ “Wheel reinvention” is common (hard-wired applications)


                                                         base-station
                                                        connected via
        Web                   storage         Gateway     serial line

                                                                  low-power radio
                                                                      protocols
                                                                    (ZigBee, etc.)


         Web                   analysis
                                  &
         page                 processing




Doctoral Defense, 26.8.2011                Vlad Trifa                                3
Problem Statement



            How to create an infrastructure
            for facilitating the development
            of asynchronous DSAs on top of
             heterogeneous, mobile NEDs?


Doctoral Defense, 26.8.2011   Vlad Trifa   4
The Web of Things




   ■ Leverage Web architecture, standards and techniques
        ■ REST, HTTP, HTML, JSON, MIME, caching, authentication, etc.
        ■ TCP/IP & Web granted, Wi-Fi routers ubiquitous
   ■ HTTP/REST: many advantages for larger DSAs
        ■ Flexible, loosely coupled, scalable, lightweight
   ■ Smooth integration with existing Web infrastructure
        ■ Blend real-world services and devices with the Web
        ■ Development of simple Web apps: cheaper & faster

Doctoral Defense, 26.8.2011               Vlad Trifa                    5
Research Questions



         Is the Web as is sufficient to support
         DSAs? What is required for most DSA?

         How to build a framework for
         developing applications that are well
         integrated into the Web?

Doctoral Defense, 26.8.2011   Vlad Trifa         6
Part 1
Web-enabled Devices
Web-enabled Devices

   ■ Devices run Web servers                                                                                           GET
         ■ services RESTful resources                                                                                  fridge/food.html

   ■ REST core architecture of Web
         ■ HTTP implements REST style
   ■ URI for each component
   ■ Uniform Interface    GET
                                                           fire/alerts.xml
         ■ HTTP verbs & codes
   ■ Representations                                                                                     PUT
                                                                                                         tv/channel/4
         ■ HTML: humans
         ■ JSON/XML/CSV: machines

 D. Guinard, V. Trifa, F. Mattern, and E. Wilde. Architecting the Internet of Things, Chapter From the Internet of Things to the Web of Things:
 Resource Oriented Architecture and Best Practices. Number 5. Springer, May 2011.

Doctoral Defense, 26.8.2011                                          Vlad Trifa                                                      8
Gateways


                                                                   Google
                                                                    APIs
                                      proprietary

                               X10                                                           HTTP


                              Bluetooth
                                                                Gateway
                                                                                              HTTP                         Web
                                                                  API
                                 DLNA
                                         IEEE802.15.4
                                                                                             HTTP


                                                                 Flickr API

 V. Trifa, S. Wieland, D. Guinard, and T. M. Bohnert. Design and implementation of a gateway for web-based interaction and management of
 embedded devices. In Proc. of the 2nd International Workshop on Sensor Network Engineering (IWSNE’09), Marina del Rey, CA, USA, 2009.

Doctoral Defense, 26.8.2011                                      Vlad Trifa                                                  9
Gateway Internal Architecture
                                                                                proxy application

                         device    devices          user          application
                        services     DB           services         services
                                                                                    control layer
                                                                                                    ../devices/1


                                                  direct

                           Sun
                          SPOT
                                                                         REST         HTTP
                                      cached                            engine        server

                                      device       DT1
                         TMote
                                   thread pool
                                                                           templating
                        device                                               engine
                                                 DT2
                        drivers                                                                     ../devices/2

                                                   device layer     presentation layer



Doctoral Defense, 26.8.2011                        Vlad Trifa                                         10
Response time for Consecutive HTTP GET Requests
                                   1

                                  0.9                                                           D       C
    Cumulative Density Function




                                  0.8                                            Min.        159     2
                                  0.7                                            Max.        3075    36
                                  0.6                                            Avg.        203     3.9
                                  0.5
                                                                                 q99%        282     19

                                  0.4                                            RTT [ms] of 10’000 local
                                                                                 read requests for direct and
                                  0.3
                                                                                 cached approaches
                                  0.2

                                  0.1                                              Direct
                                                                                   Cached
                                   0
                                    0   100     200      300               400
                                         Response time [ms]
Doctoral Defense, 26.8.2011                                   Vlad Trifa                               11
Part 2
Distributed Infrastructures
Distributed, Location-aware Infrastructures for WoT
(can run anywhere)




                               /ethz
 virtual gateways




                                                         /ethz/CNB


                               /ethz/CNB/FloorD
                                                            /ethz/CNB/FloorE
(must be embodied)
 physical gateways




                                                      ../southWing/D48.1
                        ../floorD/southWing




                     ../southWing/D48.2

   V. Trifa, D. Guinard, and S. Mayer. Leveraging the Web for a Distributed Location-aware Infrastructure for the Real World. Chapter
   17 in REST: From Research to Practice, Edited by Wilde and Pautasso, Springer-Verlag, 2011.
Doctoral Defense, 26.8.2011                                      Vlad Trifa                                               13
Service 1: HTTP-based Devices and Resources Discovery




Doctoral Defense, 26.8.2011   Vlad Trifa             14
Service 1: HTTP-based Devices and Resources Discovery
                                                           Device with machine-readable
                                                           embedded metadata (description,
                                                           API, etc.)
           1. Device connects to router and
           gets an IP address via DHCP
                                   1
                                       LAN




    Router
      LAN (Ethernet)




Doctoral Defense, 26.8.2011                   Vlad Trifa                            14
Service 1: HTTP-based Devices and Resources Discovery
                                                                 Device with machine-readable
                                                                 embedded metadata (description,
                                                                 API, etc.)
           1. Device connects to router and
           gets an IP address via DHCP
                                     1
                                         LAN




    Router
      LAN (Ethernet)                     LAN




                                          2
                   2. Gateway polls the DHCP
                                                                 Gateway
                   allocation table on the router

Doctoral Defense, 26.8.2011                         Vlad Trifa                            14
Service 1: HTTP-based Devices and Resources Discovery
                                                                     Device with machine-readable
                                                                     embedded metadata (description,
                                                                     API, etc.)
           1. Device connects to router and
           gets an IP address via DHCP
                                     1
                                         LAN
                                                                 3. For each new device it gets the root
                                                                 page, parses metadata and adds it to
                                                                 registry
    Router                                                 3
      LAN (Ethernet)                     LAN




                                          2
                   2. Gateway polls the DHCP
                                                                     Gateway
                   allocation table on the router

Doctoral Defense, 26.8.2011                         Vlad Trifa                                     14
Service 2: Infrastructure-aided Location-aware Search
                                                                   "GET all meters at
                                       /zurich                   /zurich/ethz/CNB/"



                              /zurich/ethz
                                                               /zurich/ethz/CAB

         /zurich/ethz/CAB

     query scope


                    ../room103               ../room102

                                                                         "Here you are:
                                                                          ../room102/meter,
                                                                          ../room103/meter"


      ../meter                       ../meter    ../spot

Doctoral Defense, 26.8.2011                       Vlad Trifa                            15
Part 3
Web-based Messaging
Real-time Web
   ■ HTTP designed as a request-response protocol (scalability)
   ■ “Eventing” done via polling or federation (feeds: RSS/ATOM)
   ■ Growing community around Real-time Web techniques
         ■ HTTP callbacks, Comet, XMPP, Web Sockets, etc.
     Client                   Server           Application           Client              Server                Application


                  Request                                                     Request
                 Response
                                       Event                                                      Event
                                                                              Response

                  Request
                 Response

                                       Event                                                      Event
                                                                              Response
                  Request
                 Response
                                       Event                                                      Event
                                                                              Response



                     AJAX (Web polling)                                           Comet, Web sockets
Doctoral Defense, 26.8.2011                             Vlad Trifa                                        17
Web Messaging System (WMS)
   ■ Gateways & devices need a minimal Web push mechanism
        ■ Not a protocol (Google’s pubsubhubbub), only Web patterns
   ■ Notification implemented as HTTP push callbacks [1]
        ■ RESTful, Simple, light (less options) to run on NEDs
        ■ Generic pub/sub support (queues & subscriptions)

              Subscribe to a channel:
                      POST SUB http://.../channels/ethz/CNB/H/subscribers
              Publish to a channel:
                      POST MSG http://.../channels/ethz/CNB/H/
              Receive notifications:
                      foreach SUB in http://.../channels/ethz/CNB/H/subscribers
                        POST MSG SUB
[1] V. Trifa, D. Guinard, V. Davidovski, A. Kamilaris, and I. Delchev. Web messaging for open and scalable distributed sensing
applications. In Proc. of the 10th International Conference on Web Engineering (ICWE 2010), Vienna, Austria, June 2010.

Doctoral Defense, 26.8.2011                                   Vlad Trifa                                                18
Web Sensor Streams
   ■ Sensor data represented as sequence of messages
        ■ More complex constructs on top of minimal pub/sub implementaiton
        ■ Not bound to transport protocol (HTTP callbacks, WebSockets, etc.)
   ■ Parameterized               D1                     Web Sensor Stream
                                                        data=light,temperature&
        ■ devices                                       devices=D1,D2,D3
        ■ sensors               D2                           t4   t3         t2              t1   Client

        ■ sampling frequency
                                                                   {"time":123223,
        ■ filter data           D3
                                                                     "data":
                                                                     [{"D1":{"light":4,
                                                                             "temp":22}},
                                                                       {"D2":{"light":21,
                                                                             "temp":22}},
                                      Devices                          {"D3":{"light":200,
                                                                             "temp":33}}
                                                                     ]
                                                                   }


   ■ Messaging: bi-directional glue between components to
     support asynchronous communication

Doctoral Defense, 26.8.2011                     Vlad Trifa                                        19
Part 4
End-to-end Event-driven
Applications
WISSPR - Web Infrastructure for Sensor Stream PRocessing
                                  1. Device             2. Messaging              3. Query 4. Storage
                Sensors          Connector               Connector               Connector Connector




                                                                3. raw data         QC
            various data
         acquisition protocols
                                                                               3'. processed
                                  DC          1. raw
                                                               MC

                                                                       5. raw & processed
                                                 2. raw/filtered
                                                                4. processed


                                              Client                   Client                  SC
Doctoral Defense, 26.8.2011                       Vlad Trifa                                     21
Uniform messaging
                                                REST     interface (Web API)
   Wisspr main node
   http://wisspr.net
                                               MC
                                  JAVA


                                                                  REST
                                              AMQP [1]

    Same-machine broker
    low latency
    low scalability
    high coupling




                                    Same-LAN broker                  Cloud-based broker
                                    medium scalability               Highest scalability and flexibility
   [1] Advanced message queuing     medium latency                   lower latency
   protocol amqp.org                lower coupling                   lowest coupling

Doctoral Defense, 26.8.2011                      Vlad Trifa                                       22
Complete HTTP Request (& Application)


      POST /streams/ HTTP/1.1
      Host: wisspr.net
      Content-Type: application/x-www-form-urlencoded

      devices=D1,D2,D3&
      data=temperature,light&
      frequency=2Hz&
      filter=light<200&&temperature>19&
      wms.cbk=http://store.wisspr.net/stores/31



      Note: content should be %-encoded.
Doctoral Defense, 26.8.2011            Vlad Trifa   23
End-to-end Notification Delay

                                                                     20 Devices simulated in DC
              4
             10
                      processing
                      fetching
                                                                     ■ Varied sampling frequency (SF)
              3
             10                                                      ■ Average notification delay [ms]
                                                                       (DC-MC-Clients) delay:
Delay [ms]




              2                                                          SF    Msg/s Proc. Fetch.       Total
             10
                                                                         25     500    2.5    17.3       20
                                                                         50    1000    3.4    98        101.5
              1
             10                                                          75    1500    4.2   250.8      255.1
                                                                         100   2000    5.2   1177.7     1183

              0
                                                                     ■ Scalability limited by clients
             10
                  0          500       1000       1500            2000
                                   Load [msg/s]


     Doctoral Defense, 26.8.2011                     Vlad Trifa                                    24
Main Contributions

   1. Set of reusable patterns & best practices for physical Web
        ■ Eventing, streaming, querying constructs
        ■ Pervasive middleware services (discovery, search)
        ■ Location concepts directly integrated


   2. Proof of concept implementations and evaluations
        ■ Entirely Web-based infrastructure for heterogeneous DSAs
        ■ Reasonable scalability for devices, users, and real-time data


   3. End-to-end 1-line programming framework
        ■ Collection, processing, sharing, and storage
        ■ Seamless Web integration
Doctoral Defense, 26.8.2011               Vlad Trifa                      25
Thanks for your attention!

           Questions?

M.   trifa@inf.ethz.ch
W.   vladtrifa.com
T.   @vladounet
B.   webofthings.com
Part 5
Backup slides
fears?
Subscriber
                              POST
                                        Gateway
                                        (broker)                               ATOM Pull
                              POST
                                                     WMS

                                                                     Main
                                                                                Comet        Subscriber
                                                                     broker

                                                     WMS
                              POST                                            Web Hooks
                                        Gateway
                                        (broker)
                          POST
                                                                                             Subscriber



              Private sensor                        Local network                 Public network
         network (radio, Wi-Fi, etc.)              (Ethernet LAN)                   (Internet)


Doctoral Defense, 26.8.2011                             Vlad Trifa                                 29
External query processor
  http://query.wisspr.net
                                OSGi Framework

                                JAVA        QC



                              2. Raw Data             3. Stream
                                            HTTP/                     1. Register query
                                                      output
  Wisspr main node                          AMQP                      [Query, CBK-URI]
  http://wisspr.net                                                   HTTP



                 DC              OSGi
                                            MC                                            Client

                          OSGi Framework                                HTTP
                                                                  3'. Stream output


Doctoral Defense, 26.8.2011                         Vlad Trifa                            30
http://www.faroutof.it
                                                          real-time
                                                      (raw) data streams


      LIVE Singapore!
                                         Web API




                                                   this is you
http://senseable.mit.edu/livesingapore
Web Stream details

     D1
                              Data Stream
                              data=light,temperature&
                              devices=D1,D2,D3

    D2                         t4       t3           t2          t1   Client




                                       {"time":123223,
    D3                                   "data":
                                         [{"D1":{"light":4,
                                                 "temp":22}},
           Devices                         {"D2":{"light":21,
                                                 "temp":22}},
                                           {"D3":{"light":200,
                                                 "temp":33}}
                                         ]
                                       }

Doctoral Defense, 26.8.2011             Vlad Trifa                    32
Web stream with frequency and filtering


    Raw Data Stream

          L=22                L=25      L=25      L=18         L=28   L=22

                                       sampling
                                        period

                                 YES                   NO                YES
                              L=25                                    L=22     Client

    Resulting Stream
    data=light,temperature&
    filter=light>20&
    frequency=2



Doctoral Defense, 26.8.2011                       Vlad Trifa                   33
or this?
http://liip.to/niwea
devices and services
ecosystem
nsport protocol to perform remote procedure calls instead of being directly integrated in
e Web [244], in which case there would be no need for any additional API or descriptions
 ource/function. This situation gave birth to numerous debates about ROA versus SOA5 .

       Attribute              OOA                SOA                     ROA
      Granularity            objects           services             data (resources)
      Main focus           marshaling    creation of payload       addressing (URI)
      Addressing         object instance  unique endpoint        individual resources
    Replies cacheable          No                 No                      Yes
          API           language-specific application-specific            generic
    Lightweightness           +++                 +                       ++
       Flexibility              +                ++                      +++
       Scalability            +++                ++                      +++
     Loose-coupling             +                ++                      +++
       Simplicity             +(+)                +                      +++
        Standard                +                ++                      +++
     Tools available          +++               +++                        +
        Security              +++                ++                       ++
       Verbosity                +               +++                       ++
       Ambiguity                +                ++                       ++

ble 2.1: Overall feature comparison of different architectural styles (+ means low, ++ mea
dium, +++ means high).
  Doctoral Defense, 26.8.2011             Vlad Trifa                            36

Más contenido relacionado

La actualidad más candente

The Future of the Internet
The Future of the InternetThe Future of the Internet
The Future of the InternetJon Lebkowsky
 
digital twin seminar 1.pptx
digital twin seminar 1.pptxdigital twin seminar 1.pptx
digital twin seminar 1.pptxMacZain
 
IBM Watson Internet of Things: Introducing Digital Twin
IBM Watson Internet of Things: Introducing Digital TwinIBM Watson Internet of Things: Introducing Digital Twin
IBM Watson Internet of Things: Introducing Digital TwinIBM Internet of Things
 
Digital transformation in Manufacturing
Digital transformation in ManufacturingDigital transformation in Manufacturing
Digital transformation in ManufacturingMicrosoft UK
 
Dtwin [Autosaved].pptx
Dtwin [Autosaved].pptxDtwin [Autosaved].pptx
Dtwin [Autosaved].pptxDeenuDINAGAR
 
Digital Transformation Framework for SME
Digital Transformation Framework for SMEDigital Transformation Framework for SME
Digital Transformation Framework for SMETCI Network
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Orkhan Gasimov
 
4 Applications of Digital Twin in Healthcare
4 Applications of Digital Twin in Healthcare4 Applications of Digital Twin in Healthcare
4 Applications of Digital Twin in HealthcareTyrone Systems
 
5 g and IoT for healthcare
5 g and IoT  for healthcare 5 g and IoT  for healthcare
5 g and IoT for healthcare Dr G R Sinha
 
Virtual Property vs. Digital Twin
Virtual Property vs. Digital TwinVirtual Property vs. Digital Twin
Virtual Property vs. Digital TwinTero Järvinen
 
313 – Security Challenges in Healthcare IoT - ME
313 – Security Challenges in Healthcare IoT - ME313 – Security Challenges in Healthcare IoT - ME
313 – Security Challenges in Healthcare IoT - MEEQS Group
 
MCGlobalTech Commercial Cybersecurity Capability Statement
MCGlobalTech Commercial Cybersecurity Capability StatementMCGlobalTech Commercial Cybersecurity Capability Statement
MCGlobalTech Commercial Cybersecurity Capability StatementWilliam McBorrough
 
CROM Digital Twins and IoT
CROM Digital Twins and IoTCROM Digital Twins and IoT
CROM Digital Twins and IoTJuan C. Vasquez
 
Industry 4.0 - Internet of Manufacturing
Industry 4.0 - Internet of ManufacturingIndustry 4.0 - Internet of Manufacturing
Industry 4.0 - Internet of ManufacturingInfosys Consulting
 

La actualidad más candente (20)

The Future of the Internet
The Future of the InternetThe Future of the Internet
The Future of the Internet
 
digital twin seminar 1.pptx
digital twin seminar 1.pptxdigital twin seminar 1.pptx
digital twin seminar 1.pptx
 
Digital twin
Digital twinDigital twin
Digital twin
 
IBM Watson Internet of Things: Introducing Digital Twin
IBM Watson Internet of Things: Introducing Digital TwinIBM Watson Internet of Things: Introducing Digital Twin
IBM Watson Internet of Things: Introducing Digital Twin
 
Digital transformation in Manufacturing
Digital transformation in ManufacturingDigital transformation in Manufacturing
Digital transformation in Manufacturing
 
Digital twins ppt
Digital twins pptDigital twins ppt
Digital twins ppt
 
Dtwin [Autosaved].pptx
Dtwin [Autosaved].pptxDtwin [Autosaved].pptx
Dtwin [Autosaved].pptx
 
Digital Transformation Framework for SME
Digital Transformation Framework for SMEDigital Transformation Framework for SME
Digital Transformation Framework for SME
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?
 
Digital twin
Digital twinDigital twin
Digital twin
 
4 Applications of Digital Twin in Healthcare
4 Applications of Digital Twin in Healthcare4 Applications of Digital Twin in Healthcare
4 Applications of Digital Twin in Healthcare
 
5 g and IoT for healthcare
5 g and IoT  for healthcare 5 g and IoT  for healthcare
5 g and IoT for healthcare
 
Virtual Property vs. Digital Twin
Virtual Property vs. Digital TwinVirtual Property vs. Digital Twin
Virtual Property vs. Digital Twin
 
313 – Security Challenges in Healthcare IoT - ME
313 – Security Challenges in Healthcare IoT - ME313 – Security Challenges in Healthcare IoT - ME
313 – Security Challenges in Healthcare IoT - ME
 
Industry 4.0 for beginners
Industry 4.0 for beginnersIndustry 4.0 for beginners
Industry 4.0 for beginners
 
Iot and Healthcare ppt
Iot and Healthcare pptIot and Healthcare ppt
Iot and Healthcare ppt
 
MCGlobalTech Commercial Cybersecurity Capability Statement
MCGlobalTech Commercial Cybersecurity Capability StatementMCGlobalTech Commercial Cybersecurity Capability Statement
MCGlobalTech Commercial Cybersecurity Capability Statement
 
CROM Digital Twins and IoT
CROM Digital Twins and IoTCROM Digital Twins and IoT
CROM Digital Twins and IoT
 
Industry 4.0 and Sustainability
Industry 4.0 and SustainabilityIndustry 4.0 and Sustainability
Industry 4.0 and Sustainability
 
Industry 4.0 - Internet of Manufacturing
Industry 4.0 - Internet of ManufacturingIndustry 4.0 - Internet of Manufacturing
Industry 4.0 - Internet of Manufacturing
 

Destacado

Web of Things Book Launch
Web of Things Book LaunchWeb of Things Book Launch
Web of Things Book LaunchVlad Trifa
 
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG
 
5 Years of Web of Things Workshops
5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things WorkshopsDominique Guinard
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationChristian Glahn
 
Ph.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating Mechanism
Ph.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating MechanismPh.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating Mechanism
Ph.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating MechanismSamuel Lazerson
 
Building a Web of Things Talk at Lugano
Building a Web of Things Talk at LuganoBuilding a Web of Things Talk at Lugano
Building a Web of Things Talk at LuganoVlad Trifa
 
Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...
Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...
Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...Vlad Trifa
 
RESTifyng Physical Products
RESTifyng Physical ProductsRESTifyng Physical Products
RESTifyng Physical ProductsVlad Trifa
 
Introduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript ConferenceIntroduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript ConferenceBo-Yi Wu
 
PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...
PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...
PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...Pedro Luis Mateo Navarro
 
Learning React - I
Learning React - ILearning React - I
Learning React - IMitch Chen
 
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xIntroduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xBo-Yi Wu
 
The Art of API Crafting for the IoT
The Art of API Crafting for the IoTThe Art of API Crafting for the IoT
The Art of API Crafting for the IoTDominique Guinard
 
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...Giovanni Marco Dall'Olio
 
Web of Things - Towards Open and Sharable Networks of Embedded Devices
Web of Things - Towards Open and Sharable Networks of Embedded DevicesWeb of Things - Towards Open and Sharable Networks of Embedded Devices
Web of Things - Towards Open and Sharable Networks of Embedded DevicesVlad Trifa
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹wantingj
 
PHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding stylePHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding styleBo-Yi Wu
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golangBo-Yi Wu
 

Destacado (20)

Web of Things Book Launch
Web of Things Book LaunchWeb of Things Book Launch
Web of Things Book Launch
 
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
 
5 Years of Web of Things Workshops
5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things Workshops
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense Presentation
 
Keynote for EEWC2015
Keynote for EEWC2015Keynote for EEWC2015
Keynote for EEWC2015
 
Poster_October_2016
Poster_October_2016Poster_October_2016
Poster_October_2016
 
Ph.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating Mechanism
Ph.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating MechanismPh.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating Mechanism
Ph.D Thesis Defense: Magnetic Reconnection as a Chondrule Heating Mechanism
 
Building a Web of Things Talk at Lugano
Building a Web of Things Talk at LuganoBuilding a Web of Things Talk at Lugano
Building a Web of Things Talk at Lugano
 
Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...
Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...
Design of a Web-based Distributed Location-aware Infrastructure for Mobile De...
 
RESTifyng Physical Products
RESTifyng Physical ProductsRESTifyng Physical Products
RESTifyng Physical Products
 
Introduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript ConferenceIntroduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript Conference
 
PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...
PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...
PhD Thesis Defense - Enhancing Software Quality and Quality of Experience thr...
 
Learning React - I
Learning React - ILearning React - I
Learning React - I
 
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xIntroduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
 
The Art of API Crafting for the IoT
The Art of API Crafting for the IoTThe Art of API Crafting for the IoT
The Art of API Crafting for the IoT
 
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
 
Web of Things - Towards Open and Sharable Networks of Embedded Devices
Web of Things - Towards Open and Sharable Networks of Embedded DevicesWeb of Things - Towards Open and Sharable Networks of Embedded Devices
Web of Things - Towards Open and Sharable Networks of Embedded Devices
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
 
PHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding stylePHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding style
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 

Similar a Building Blocks for a Participatory Web of Things

RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...Weijun Qin
 
Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301Editor IJARCET
 
Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301Editor IJARCET
 
EPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID NetworkEPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID NetworkDominique Guinard
 
Web Messaging for Open for Web of Things
Web Messaging for Open for Web of ThingsWeb Messaging for Open for Web of Things
Web Messaging for Open for Web of ThingsDominique Guinard
 
Seminar presentation on embedded web technology
Seminar presentation on embedded web technologySeminar presentation on embedded web technology
Seminar presentation on embedded web technologyRanol R C
 
1 web technologies
1 web technologies1 web technologies
1 web technologiesJalpesh Vasa
 
Multi port network ethernet performance improvement techniques
Multi port network ethernet performance improvement techniquesMulti port network ethernet performance improvement techniques
Multi port network ethernet performance improvement techniquesIJARIIT
 
Communication middleware
Communication middlewareCommunication middleware
Communication middlewarePeter R. Egli
 
Banv meetup 04162014
Banv meetup 04162014Banv meetup 04162014
Banv meetup 04162014ozkan01
 
Condroid WSN/DTN Gateway - System Architecture & Requirement
Condroid WSN/DTN Gateway - System Architecture & Requirement Condroid WSN/DTN Gateway - System Architecture & Requirement
Condroid WSN/DTN Gateway - System Architecture & Requirement Laili Aidi
 
Week 8 - Module 19 - PPT- Internet of Things for Libraries.pdf
Week 8 - Module 19 - PPT- Internet of Things for Libraries.pdfWeek 8 - Module 19 - PPT- Internet of Things for Libraries.pdf
Week 8 - Module 19 - PPT- Internet of Things for Libraries.pdfMohamedAli899919
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOpenStorageSummit
 
Packet Forging over LAN
Packet Forging over LANPacket Forging over LAN
Packet Forging over LANABHIJEET SINGH
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)Intel
 

Similar a Building Blocks for a Participatory Web of Things (20)

WoT Tutorial @ Cisco
WoT Tutorial @ CiscoWoT Tutorial @ Cisco
WoT Tutorial @ Cisco
 
TechHub pitch
TechHub pitchTechHub pitch
TechHub pitch
 
82 87
82 8782 87
82 87
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
 
Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301
 
Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301Ijarcet vol-2-issue-7-2297-2301
Ijarcet vol-2-issue-7-2297-2301
 
EPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID NetworkEPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID Network
 
Web Messaging for Open for Web of Things
Web Messaging for Open for Web of ThingsWeb Messaging for Open for Web of Things
Web Messaging for Open for Web of Things
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
Seminar presentation on embedded web technology
Seminar presentation on embedded web technologySeminar presentation on embedded web technology
Seminar presentation on embedded web technology
 
1 web technologies
1 web technologies1 web technologies
1 web technologies
 
Multi port network ethernet performance improvement techniques
Multi port network ethernet performance improvement techniquesMulti port network ethernet performance improvement techniques
Multi port network ethernet performance improvement techniques
 
Communication middleware
Communication middlewareCommunication middleware
Communication middleware
 
Banv meetup 04162014
Banv meetup 04162014Banv meetup 04162014
Banv meetup 04162014
 
Condroid WSN/DTN Gateway - System Architecture & Requirement
Condroid WSN/DTN Gateway - System Architecture & Requirement Condroid WSN/DTN Gateway - System Architecture & Requirement
Condroid WSN/DTN Gateway - System Architecture & Requirement
 
Week 8 - Module 19 - PPT- Internet of Things for Libraries.pdf
Week 8 - Module 19 - PPT- Internet of Things for Libraries.pdfWeek 8 - Module 19 - PPT- Internet of Things for Libraries.pdf
Week 8 - Module 19 - PPT- Internet of Things for Libraries.pdf
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal Stern
 
Packet Forging over LAN
Packet Forging over LANPacket Forging over LAN
Packet Forging over LAN
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)
 

Último

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Último (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Building Blocks for a Participatory Web of Things

  • 1. Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks Doctoral Defense – 26 August 2011 Vlad Trifa
  • 2. Context ■ Networked embedded devices (NEDs) omnipresent ■ Increasingly powerful CPUs, various sensors/actuators ■ Mobile Internet cheap and ubiquitous ■ Tremendous benefits when integrating their data and services ■ Social: energy-efficient building, smarts buildings and cities ■ Business: real-time enterprise, optimized logistics Doctoral Defense, 26.8.2011 Vlad Trifa 2
  • 3. Distributed Sensing Applications (DSA) Today ■ Tedious process that requires many resources (skills, time, $$$) ■ Various functionalities, sensors, requirements ■ Incompatible protocols, standards, programming models, APIs, etc. ■ “Wheel reinvention” is common (hard-wired applications) base-station connected via Web storage Gateway serial line low-power radio protocols (ZigBee, etc.) Web analysis & page processing Doctoral Defense, 26.8.2011 Vlad Trifa 3
  • 4. Problem Statement How to create an infrastructure for facilitating the development of asynchronous DSAs on top of heterogeneous, mobile NEDs? Doctoral Defense, 26.8.2011 Vlad Trifa 4
  • 5. The Web of Things ■ Leverage Web architecture, standards and techniques ■ REST, HTTP, HTML, JSON, MIME, caching, authentication, etc. ■ TCP/IP & Web granted, Wi-Fi routers ubiquitous ■ HTTP/REST: many advantages for larger DSAs ■ Flexible, loosely coupled, scalable, lightweight ■ Smooth integration with existing Web infrastructure ■ Blend real-world services and devices with the Web ■ Development of simple Web apps: cheaper & faster Doctoral Defense, 26.8.2011 Vlad Trifa 5
  • 6. Research Questions Is the Web as is sufficient to support DSAs? What is required for most DSA? How to build a framework for developing applications that are well integrated into the Web? Doctoral Defense, 26.8.2011 Vlad Trifa 6
  • 8. Web-enabled Devices ■ Devices run Web servers GET ■ services RESTful resources fridge/food.html ■ REST core architecture of Web ■ HTTP implements REST style ■ URI for each component ■ Uniform Interface GET fire/alerts.xml ■ HTTP verbs & codes ■ Representations PUT tv/channel/4 ■ HTML: humans ■ JSON/XML/CSV: machines D. Guinard, V. Trifa, F. Mattern, and E. Wilde. Architecting the Internet of Things, Chapter From the Internet of Things to the Web of Things: Resource Oriented Architecture and Best Practices. Number 5. Springer, May 2011. Doctoral Defense, 26.8.2011 Vlad Trifa 8
  • 9. Gateways Google APIs proprietary X10 HTTP Bluetooth Gateway HTTP Web API DLNA IEEE802.15.4 HTTP Flickr API V. Trifa, S. Wieland, D. Guinard, and T. M. Bohnert. Design and implementation of a gateway for web-based interaction and management of embedded devices. In Proc. of the 2nd International Workshop on Sensor Network Engineering (IWSNE’09), Marina del Rey, CA, USA, 2009. Doctoral Defense, 26.8.2011 Vlad Trifa 9
  • 10. Gateway Internal Architecture proxy application device devices user application services DB services services control layer ../devices/1 direct Sun SPOT REST HTTP cached engine server device DT1 TMote thread pool templating device engine DT2 drivers ../devices/2 device layer presentation layer Doctoral Defense, 26.8.2011 Vlad Trifa 10
  • 11. Response time for Consecutive HTTP GET Requests 1 0.9 D C Cumulative Density Function 0.8 Min. 159 2 0.7 Max. 3075 36 0.6 Avg. 203 3.9 0.5 q99% 282 19 0.4 RTT [ms] of 10’000 local read requests for direct and 0.3 cached approaches 0.2 0.1 Direct Cached 0 0 100 200 300 400 Response time [ms] Doctoral Defense, 26.8.2011 Vlad Trifa 11
  • 13. Distributed, Location-aware Infrastructures for WoT (can run anywhere) /ethz virtual gateways /ethz/CNB /ethz/CNB/FloorD /ethz/CNB/FloorE (must be embodied) physical gateways ../southWing/D48.1 ../floorD/southWing ../southWing/D48.2 V. Trifa, D. Guinard, and S. Mayer. Leveraging the Web for a Distributed Location-aware Infrastructure for the Real World. Chapter 17 in REST: From Research to Practice, Edited by Wilde and Pautasso, Springer-Verlag, 2011. Doctoral Defense, 26.8.2011 Vlad Trifa 13
  • 14. Service 1: HTTP-based Devices and Resources Discovery Doctoral Defense, 26.8.2011 Vlad Trifa 14
  • 15. Service 1: HTTP-based Devices and Resources Discovery Device with machine-readable embedded metadata (description, API, etc.) 1. Device connects to router and gets an IP address via DHCP 1 LAN Router LAN (Ethernet) Doctoral Defense, 26.8.2011 Vlad Trifa 14
  • 16. Service 1: HTTP-based Devices and Resources Discovery Device with machine-readable embedded metadata (description, API, etc.) 1. Device connects to router and gets an IP address via DHCP 1 LAN Router LAN (Ethernet) LAN 2 2. Gateway polls the DHCP Gateway allocation table on the router Doctoral Defense, 26.8.2011 Vlad Trifa 14
  • 17. Service 1: HTTP-based Devices and Resources Discovery Device with machine-readable embedded metadata (description, API, etc.) 1. Device connects to router and gets an IP address via DHCP 1 LAN 3. For each new device it gets the root page, parses metadata and adds it to registry Router 3 LAN (Ethernet) LAN 2 2. Gateway polls the DHCP Gateway allocation table on the router Doctoral Defense, 26.8.2011 Vlad Trifa 14
  • 18. Service 2: Infrastructure-aided Location-aware Search "GET all meters at /zurich /zurich/ethz/CNB/" /zurich/ethz /zurich/ethz/CAB /zurich/ethz/CAB query scope ../room103 ../room102 "Here you are: ../room102/meter, ../room103/meter" ../meter ../meter ../spot Doctoral Defense, 26.8.2011 Vlad Trifa 15
  • 20. Real-time Web ■ HTTP designed as a request-response protocol (scalability) ■ “Eventing” done via polling or federation (feeds: RSS/ATOM) ■ Growing community around Real-time Web techniques ■ HTTP callbacks, Comet, XMPP, Web Sockets, etc. Client Server Application Client Server Application Request Request Response Event Event Response Request Response Event Event Response Request Response Event Event Response AJAX (Web polling) Comet, Web sockets Doctoral Defense, 26.8.2011 Vlad Trifa 17
  • 21. Web Messaging System (WMS) ■ Gateways & devices need a minimal Web push mechanism ■ Not a protocol (Google’s pubsubhubbub), only Web patterns ■ Notification implemented as HTTP push callbacks [1] ■ RESTful, Simple, light (less options) to run on NEDs ■ Generic pub/sub support (queues & subscriptions) Subscribe to a channel: POST SUB http://.../channels/ethz/CNB/H/subscribers Publish to a channel: POST MSG http://.../channels/ethz/CNB/H/ Receive notifications: foreach SUB in http://.../channels/ethz/CNB/H/subscribers POST MSG SUB [1] V. Trifa, D. Guinard, V. Davidovski, A. Kamilaris, and I. Delchev. Web messaging for open and scalable distributed sensing applications. In Proc. of the 10th International Conference on Web Engineering (ICWE 2010), Vienna, Austria, June 2010. Doctoral Defense, 26.8.2011 Vlad Trifa 18
  • 22. Web Sensor Streams ■ Sensor data represented as sequence of messages ■ More complex constructs on top of minimal pub/sub implementaiton ■ Not bound to transport protocol (HTTP callbacks, WebSockets, etc.) ■ Parameterized D1 Web Sensor Stream data=light,temperature& ■ devices devices=D1,D2,D3 ■ sensors D2 t4 t3 t2 t1 Client ■ sampling frequency {"time":123223, ■ filter data D3 "data": [{"D1":{"light":4, "temp":22}}, {"D2":{"light":21, "temp":22}}, Devices {"D3":{"light":200, "temp":33}} ] } ■ Messaging: bi-directional glue between components to support asynchronous communication Doctoral Defense, 26.8.2011 Vlad Trifa 19
  • 24. WISSPR - Web Infrastructure for Sensor Stream PRocessing 1. Device 2. Messaging 3. Query 4. Storage Sensors Connector Connector Connector Connector 3. raw data QC various data acquisition protocols 3'. processed DC 1. raw MC 5. raw & processed 2. raw/filtered 4. processed Client Client SC Doctoral Defense, 26.8.2011 Vlad Trifa 21
  • 25. Uniform messaging REST interface (Web API) Wisspr main node http://wisspr.net MC JAVA REST AMQP [1] Same-machine broker low latency low scalability high coupling Same-LAN broker Cloud-based broker medium scalability Highest scalability and flexibility [1] Advanced message queuing medium latency lower latency protocol amqp.org lower coupling lowest coupling Doctoral Defense, 26.8.2011 Vlad Trifa 22
  • 26. Complete HTTP Request (& Application) POST /streams/ HTTP/1.1 Host: wisspr.net Content-Type: application/x-www-form-urlencoded devices=D1,D2,D3& data=temperature,light& frequency=2Hz& filter=light<200&&temperature>19& wms.cbk=http://store.wisspr.net/stores/31 Note: content should be %-encoded. Doctoral Defense, 26.8.2011 Vlad Trifa 23
  • 27. End-to-end Notification Delay 20 Devices simulated in DC 4 10 processing fetching ■ Varied sampling frequency (SF) 3 10 ■ Average notification delay [ms] (DC-MC-Clients) delay: Delay [ms] 2 SF Msg/s Proc. Fetch. Total 10 25 500 2.5 17.3 20 50 1000 3.4 98 101.5 1 10 75 1500 4.2 250.8 255.1 100 2000 5.2 1177.7 1183 0 ■ Scalability limited by clients 10 0 500 1000 1500 2000 Load [msg/s] Doctoral Defense, 26.8.2011 Vlad Trifa 24
  • 28. Main Contributions 1. Set of reusable patterns & best practices for physical Web ■ Eventing, streaming, querying constructs ■ Pervasive middleware services (discovery, search) ■ Location concepts directly integrated 2. Proof of concept implementations and evaluations ■ Entirely Web-based infrastructure for heterogeneous DSAs ■ Reasonable scalability for devices, users, and real-time data 3. End-to-end 1-line programming framework ■ Collection, processing, sharing, and storage ■ Seamless Web integration Doctoral Defense, 26.8.2011 Vlad Trifa 25
  • 29. Thanks for your attention! Questions? M. trifa@inf.ethz.ch W. vladtrifa.com T. @vladounet B. webofthings.com
  • 32. Subscriber POST Gateway (broker) ATOM Pull POST WMS Main Comet Subscriber broker WMS POST Web Hooks Gateway (broker) POST Subscriber Private sensor Local network Public network network (radio, Wi-Fi, etc.) (Ethernet LAN) (Internet) Doctoral Defense, 26.8.2011 Vlad Trifa 29
  • 33. External query processor http://query.wisspr.net OSGi Framework JAVA QC 2. Raw Data 3. Stream HTTP/ 1. Register query output Wisspr main node AMQP [Query, CBK-URI] http://wisspr.net HTTP DC OSGi MC Client OSGi Framework HTTP 3'. Stream output Doctoral Defense, 26.8.2011 Vlad Trifa 30
  • 34. http://www.faroutof.it real-time (raw) data streams LIVE Singapore! Web API this is you http://senseable.mit.edu/livesingapore
  • 35. Web Stream details D1 Data Stream data=light,temperature& devices=D1,D2,D3 D2 t4 t3 t2 t1 Client {"time":123223, D3 "data": [{"D1":{"light":4, "temp":22}}, Devices {"D2":{"light":21, "temp":22}}, {"D3":{"light":200, "temp":33}} ] } Doctoral Defense, 26.8.2011 Vlad Trifa 32
  • 36. Web stream with frequency and filtering Raw Data Stream L=22 L=25 L=25 L=18 L=28 L=22 sampling period YES NO YES L=25 L=22 Client Resulting Stream data=light,temperature& filter=light>20& frequency=2 Doctoral Defense, 26.8.2011 Vlad Trifa 33
  • 37.
  • 40. nsport protocol to perform remote procedure calls instead of being directly integrated in e Web [244], in which case there would be no need for any additional API or descriptions ource/function. This situation gave birth to numerous debates about ROA versus SOA5 . Attribute OOA SOA ROA Granularity objects services data (resources) Main focus marshaling creation of payload addressing (URI) Addressing object instance unique endpoint individual resources Replies cacheable No No Yes API language-specific application-specific generic Lightweightness +++ + ++ Flexibility + ++ +++ Scalability +++ ++ +++ Loose-coupling + ++ +++ Simplicity +(+) + +++ Standard + ++ +++ Tools available +++ +++ + Security +++ ++ ++ Verbosity + +++ ++ Ambiguity + ++ ++ ble 2.1: Overall feature comparison of different architectural styles (+ means low, ++ mea dium, +++ means high). Doctoral Defense, 26.8.2011 Vlad Trifa 36