Upload
yaler
View
933
Download
0
Embed Size (px)
DESCRIPTION
WoT 2010 presentation. For more info see http://www.webofthings.com/wot/2010/ and http://yaler.org/
Citation preview
Yaler – a simple, open and scalable relay infrastructure
WoT 2010Oberon microsystems
Thomas ([email protected])
HTTP/1.1
Enable monitoring and remote control from any Web browser
https://...
… of thousands* of embedded devices.
*) Customer requirement: 500’000; work in progress
https://...
Ideally that just works.
https://...
But in reality, the challenges are…
Accessibility
Addressability
https://???.???.??.??
Yaler is a simple relay infrastructure based on Linden Lab’s Reverse HTTP.
Devices are published with HTTP/1.1
POST /device-idUpgrade: PTTH/1.0Connection: UpgradeHost: yaler.net
… and accessed with HTTP/1.1
GET /device-id/resourceHost: yaler.net
Yaler reverses the connection
HTTP/1.1 101Switching ProtocolsUpgrade: PTTH/1.0Connection: Upgrade
… and forwards the request.
GET /device-id/resourceHost: yaler.net
The device responds with HTTP/1.1
HTTP/1.1 200 OK{ "feed": [ { "entry": ...
Yaler returns the response
HTTP/1.1 200 OK{ "feed": [ { "entry": ...
But this poses two new challenges…
Scalability
Availability
Yaler is engineered for
high performance,
maintainability,
robustness.
Yaler is implemented with
Java’s non-blocking sockets,
hierarchical state machines,
and Design by Contract.
Scalability and availability can be achieved by coordinating relays with
consistent hashing
and a group membership service
(work in progress)
Yaler is available as open source software at http://yaler.org/