vlad trifa - final phd thesis defense at eth zurich
DESCRIPTION
The final defense of my phd thesis at ETH Zurich. The final report will be posted soon on my personal Web site (vladtrifa.com), once accepted by the school commission and submitted.TRANSCRIPT
![Page 1: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/1.jpg)
Building Blocks for a Participatory Web of Things: Devices, Infrastructures, and Programming Frameworks
Doctoral Defense – 26 August 2011 Vlad Trifa
![Page 2: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/2.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Context
2
■ 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
![Page 3: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/3.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
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)
3
Web Gateway
low-power radioprotocols
(ZigBee, etc.)
base-stationconnected via
serial linestorage
analysis&
processingWeb page
![Page 4: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/4.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Problem Statement
4
How to create an infrastructure for facilitating the development of asynchronous DSAs on top of heterogeneous, mobile NEDs?
![Page 5: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/5.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
The Web of Things
5
■ 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
![Page 6: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/6.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Research Questions
6
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?
![Page 7: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/7.jpg)
Part 1
Web-enabled Devices
![Page 8: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/8.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Web-enabled Devices
■ Devices run Web servers ■ services RESTful resources
■ REST core architecture of Web■ HTTP implements REST style
■ URI for each component■ Uniform Interface■ HTTP verbs & codes
■ Representations■ HTML: humans■ JSON/XML/CSV: machines
8
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.
GET fire/alerts.xml
PUTtv/channel/4
GET fridge/food.html
![Page 9: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/9.jpg)
WebHTTP
proprietary
Bluetooth
X10
IEEE802.15.4
DLNA
HTTP
HTTP
Google APIs
Flickr API
GatewayAPI
Vlad TrifaDoctoral Defense, 26.8.2011
Gateways
9
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.
![Page 10: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/10.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Gateway Internal Architecture
10
Sun
SPOT
TMoteDT1
DT2
device
services
device layer
control layer
presentation layer
REST
engine
HTTP
server
proxy application
user
services
application
services
templating
engine
devices
DB
device
drivers
device thread pool
../devices/1
../devices/2
direct
cached
![Page 11: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/11.jpg)
0 100 200 300 4000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Response time [ms]
Cum
ulat
ive
Den
sity
Fun
ctio
n
DirectCached
Vlad TrifaDoctoral Defense, 26.8.2011
Response time for Consecutive HTTP GET Requests
11
D CMin. 159 2Max. 3075 36Avg. 203 3.9q99% 282 19
RTT [ms] of 10’000 local read requests for direct and cached approaches
![Page 12: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/12.jpg)
Part 2
Distributed Infrastructures
![Page 13: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/13.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Distributed, Location-aware Infrastructures for WoT
13
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.
/ethz
/ethz/CNB
/ethz/CNB/FloorD
../southWing/D48.1
/ethz/CNB/FloorEvirt
ual g
atew
ays
(can
run
anyw
here
)ph
ysic
al g
atew
ays
(mus
t be
embo
died
)
../southWing/D48.2
../floorD/southWing
![Page 14: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/14.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Service 1: HTTP-based Devices and Resources Discovery
14
![Page 15: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/15.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Service 1: HTTP-based Devices and Resources Discovery
14
Device with machine-readable
embedded metadata (description,
API, etc.)
1LAN
1. Device connects to router and
gets an IP address via DHCP
RouterLAN (Ethernet)
![Page 16: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/16.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Service 1: HTTP-based Devices and Resources Discovery
14
Device with machine-readable
embedded metadata (description,
API, etc.)
1LAN
1. Device connects to router and
gets an IP address via DHCP
RouterLAN (Ethernet) LAN
2. Gateway polls the DHCP
allocation table on the router Gateway
2
![Page 17: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/17.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Service 1: HTTP-based Devices and Resources Discovery
14
Device with machine-readable
embedded metadata (description,
API, etc.)
1LAN
1. Device connects to router and
gets an IP address via DHCP
RouterLAN (Ethernet) LAN
2. Gateway polls the DHCP
allocation table on the router Gateway
2
3
3. For each new device it gets the root
page, parses metadata and adds it to
registry
![Page 18: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/18.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Service 2: Infrastructure-aided Location-aware Search
15
/zurich/ethz
/zurich/ethz/CAB
/zurich/ethz/CAB
"GET all meters at
/zurich/ethz/CNB/"/zurich
../room103 ../room102
"Here you are:
../room102/meter,
../room103/meter"
../meter ../meter ../spot
query scope
![Page 19: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/19.jpg)
Part 3
Web-based Messaging
![Page 20: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/20.jpg)
Client Server Application
Event
Event
Event
ResponseRequest
ResponseRequest
ResponseRequest
Vlad TrifaDoctoral Defense, 26.8.2011
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.
17
Client Server Application
Request
Event
Event
Event
Response
Response
Response
Comet, Web socketsAJAX (Web polling)
![Page 21: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/21.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
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)
18
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.
![Page 22: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/22.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
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■ devices■ sensors■ sampling frequency■ filter data
■ Messaging: bi-directional glue between components to support asynchronous communication
19
t4 t3 t2
Devices
t1 Client
D1
D2
D3
Web Sensor Streamdata=light,temperature&devices=D1,D2,D3
{"time":123223, "data": [{"D1":{"light":4, "temp":22}}, {"D2":{"light":21, "temp":22}}, {"D3":{"light":200, "temp":33}} ]}
![Page 23: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/23.jpg)
Part 4
End-to-end Event-driven Applications
![Page 24: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/24.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
WISSPR - Web Infrastructure for Sensor Stream PRocessing
21
MCDCvarious data
acquisition protocols
1. raw
3. raw data
Client SC
QC
3'. processed
5. raw & processed
Client
2. raw/filtered 4. processed
Sensors 1. Device Connector
2. Messaging Connector
3. Query Connector
4. Storage Connector
![Page 25: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/25.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011 22
MC
Same-machine brokerlow latency
low scalability
high coupling
Same-LAN brokermedium scalability
medium latency
lower coupling
Cloud-based broker
Highest scalability and flexibility
lower latency
lowest coupling
Wisspr main nodehttp://wisspr.net
Uniform messaging
interface (Web API)
JAVA
AMQP [1] REST
REST
[1] Advanced message queuing
protocol amqp.org
![Page 26: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/26.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Complete HTTP Request (& Application)
23
POST /streams/ HTTP/1.1Host: wisspr.netContent-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.
![Page 27: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/27.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011 24
0 500 1000 1500 200010
0
101
102
103
104
Load [msg/s]
Dela
y [m
s]
processingfetching
End-to-end Notification Delay
20 Devices simulated in DC■ Varied sampling frequency (SF)
■ Average notification delay [ms](DC-MC-Clients) delay:
■ Scalability limited by clients
SF Msg/s Proc. Fetch. Total25 500 2.5 17.3 2050 1000 3.4 98 101.575 1500 4.2 250.8 255.1
100 2000 5.2 1177.7 1183
![Page 28: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/28.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
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
25
![Page 29: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/29.jpg)
Thanks for your attention!
Questions?
M. [email protected]. vladtrifa.comT. @vladounetB. webofthings.com
![Page 30: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/30.jpg)
Part 5
Backup slides
![Page 31: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/31.jpg)
fears?
![Page 32: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/32.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011 29
Local network (Ethernet LAN)
Main
broker
Gateway(broker)
WMS
Subscriber
Subscriber
Subscriber
ATOM Pull
Comet
Web Hooks
POST
POST
Gateway(broker)
WMSPOST
POST
Private sensor network (radio, Wi-Fi, etc.)
Public network(Internet)
![Page 33: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/33.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011 30
MCDCOSGi Framework
OSGi Framework
3. Streamoutput
2. Raw Data
QC
Client
1. Register query [Query, CBK-URI]
3'. Stream output
HTTP/AMQPWisspr main node
http://wisspr.net
External query processor http://query.wisspr.net
JAVA
OSGi
HTTP
HTTP
![Page 34: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/34.jpg)
real-time (raw) data streams
this is you
Web API
LIVE Singapore!
http://www.faroutof.it
http://senseable.mit.edu/livesingapore
![Page 35: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/35.jpg)
t4 t3 t2
Devices
t1 Client
D1
D2
D3
Data Streamdata=light,temperature&devices=D1,D2,D3
{"time":123223, "data": [{"D1":{"light":4, "temp":22}}, {"D2":{"light":21, "temp":22}}, {"D3":{"light":200, "temp":33}} ]}
Vlad TrifaDoctoral Defense, 26.8.2011
Web Stream details
32
![Page 36: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/36.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011
Web stream with frequency and filtering
33
L=25 L=18 L=28 L=22
Client
Raw Data Stream
L=25L=22
samplingperiod
L=22L=25
YES YESNO
Resulting Stream
data=light,temperature&filter=light>20&frequency=2
![Page 37: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/37.jpg)
![Page 38: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/38.jpg)
or this?http://liip.to/niwea
![Page 39: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/39.jpg)
devices and services ecosystem
![Page 40: Vlad Trifa - Final PhD Thesis Defense at ETH Zurich](https://reader034.vdocuments.mx/reader034/viewer/2022051513/545892d6af79590b088b5493/html5/thumbnails/40.jpg)
Vlad TrifaDoctoral Defense, 26.8.2011 36
20 Background and Motivation
extensions that add many features from secure communication to discovery. Most applications
and programming languages support XML and HTTP, and one could easily build stubs to
interact with specific services that do not need to be upgraded as long as the WSDL file does
not change. Unfortunately, even though tools that help to automate the development of such
services became widely spread and used, SOAP-based Web services remain quite difficult to
understand and use, as in practice different implementations of the same WS-* standards are
rarely entirely compatible with each other.
Another problem persists with SOAP-based Web services: they are a legacy of RPC style
protocols, therefore are not flexible enough for highly dynamic environments where new, un-
known devices continuously appear and disappear. Besides, WS-* consider HTTP only as a
transport protocol to perform remote procedure calls instead of being directly integrated into
the Web [244], in which case there would be no need for any additional API or descriptions of
resource/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 YesAPI language-specific application-specific generic
Lightweightness +++ + ++Flexibility + ++ +++Scalability +++ ++ +++
Loose-coupling + ++ +++Simplicity +(+) + +++Standard + ++ +++
Tools available +++ +++ +Security +++ ++ ++Verbosity + +++ ++Ambiguity + ++ ++
Table 2.1: Overall feature comparison of different architectural styles (+ means low, ++ means
medium, +++ means high).
In Table 2.1, we summarize the differences and properties of the various styles we presented.
Based on the requirements we defined in Section 2.1.4, we suggest the ROA style is the most
suitable architectural style to implement a scalable participatory infrastructure for NED ap-
plications. In particular, as long as applications do not require custom protocols to meet
particular “hard” requirements (such as reliability, security or throughput), the loose coupling
of ROA architectures offers many advantages and features useful for NED applications. Also,
5An insightful discussion about the roots of this debate can be found here:http://www.prescod.net/rest/rest_vs_soap_overview/