Yaler WoT V20100325b
-
Upload
yaler -
Category
Technology
-
view
932 -
download
0
description
Transcript of Yaler WoT V20100325b
![Page 1: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/1.jpg)
Yaler – a simple, open and scalable relay infrastructure
WoT 2010Oberon microsystems
Thomas ([email protected])
![Page 2: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/2.jpg)
HTTP/1.1
![Page 3: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/3.jpg)
Enable monitoring and remote control from any Web browser
https://...
![Page 4: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/4.jpg)
… of thousands* of embedded devices.
*) Customer requirement: 500’000; work in progress
https://...
![Page 5: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/5.jpg)
Ideally that just works.
https://...
![Page 6: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/6.jpg)
But in reality, the challenges are…
![Page 7: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/7.jpg)
Accessibility
![Page 8: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/8.jpg)
Addressability
https://???.???.??.??
![Page 9: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/9.jpg)
Yaler is a simple relay infrastructure based on Linden Lab’s Reverse HTTP.
![Page 10: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/10.jpg)
Devices are published with HTTP/1.1
POST /device-idUpgrade: PTTH/1.0Connection: UpgradeHost: yaler.net
![Page 11: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/11.jpg)
… and accessed with HTTP/1.1
GET /device-id/resourceHost: yaler.net
![Page 12: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/12.jpg)
Yaler reverses the connection
HTTP/1.1 101Switching ProtocolsUpgrade: PTTH/1.0Connection: Upgrade
![Page 13: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/13.jpg)
… and forwards the request.
GET /device-id/resourceHost: yaler.net
![Page 14: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/14.jpg)
The device responds with HTTP/1.1
HTTP/1.1 200 OK{ "feed": [ { "entry": ...
![Page 15: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/15.jpg)
Yaler returns the response
HTTP/1.1 200 OK{ "feed": [ { "entry": ...
![Page 16: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/16.jpg)
But this poses two new challenges…
![Page 17: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/17.jpg)
Scalability
![Page 18: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/18.jpg)
Availability
![Page 19: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/19.jpg)
Yaler is engineered for
high performance,
maintainability,
robustness.
![Page 20: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/20.jpg)
Yaler is implemented with
Java’s non-blocking sockets,
hierarchical state machines,
and Design by Contract.
![Page 21: Yaler WoT V20100325b](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c485e84a7959ce1c8b457d/html5/thumbnails/21.jpg)
Scalability and availability can be achieved by coordinating relays with
consistent hashing
and a group membership service
(work in progress)