yaler wot v20100325b

23
Yaler – a simple, open and scalable relay infrastructure WoT 2010 Oberon microsystems Thomas ([email protected])

Upload: yaler

Post on 25-Jan-2015

929 views

Category:

Technology


0 download

DESCRIPTION

WoT 2010 presentation. For more info see http://www.webofthings.com/wot/2010/ and http://yaler.org/

TRANSCRIPT

Page 1: Yaler WoT V20100325b

Yaler – a simple, open and scalable relay infrastructure

WoT 2010Oberon microsystems

Thomas ([email protected])

Page 2: Yaler WoT V20100325b

HTTP/1.1

Page 3: Yaler WoT V20100325b

Enable monitoring and remote control from any Web browser

https://...

Page 4: Yaler WoT V20100325b

… of thousands* of embedded devices.

      

*) Customer requirement: 500’000; work in progress

https://...

Page 5: Yaler WoT V20100325b

Ideally that just works.

https://...

Page 6: Yaler WoT V20100325b

But in reality, the challenges are…

Page 7: Yaler WoT V20100325b

Accessibility

Page 8: Yaler WoT V20100325b

Addressability

https://???.???.??.??

Page 9: Yaler WoT V20100325b

Yaler is a simple relay infrastructure based on Linden Lab’s Reverse HTTP.

Page 10: Yaler WoT V20100325b

Devices are published with HTTP/1.1

POST /device-idUpgrade: PTTH/1.0Connection: UpgradeHost: yaler.net

Page 11: Yaler WoT V20100325b

… and accessed with HTTP/1.1

GET /device-id/resourceHost: yaler.net

Page 12: Yaler WoT V20100325b

Yaler reverses the connection

HTTP/1.1 101Switching ProtocolsUpgrade: PTTH/1.0Connection: Upgrade

Page 13: Yaler WoT V20100325b

… and forwards the request.

GET /device-id/resourceHost: yaler.net

Page 14: Yaler WoT V20100325b

The device responds with HTTP/1.1

HTTP/1.1 200 OK{ "feed": [ { "entry": ...

Page 15: Yaler WoT V20100325b

Yaler returns the response

HTTP/1.1 200 OK{ "feed": [ { "entry": ...

Page 16: Yaler WoT V20100325b

But this poses two new challenges…

Page 17: Yaler WoT V20100325b

Scalability

Page 18: Yaler WoT V20100325b

Availability

Page 19: Yaler WoT V20100325b

Yaler is engineered for

high performance,

maintainability,

robustness.

Page 20: Yaler WoT V20100325b

Yaler is implemented with

Java’s non-blocking sockets,

hierarchical state machines,

and Design by Contract.

Page 21: Yaler WoT V20100325b

Scalability and availability can be achieved by coordinating relays with

consistent hashing

and a group membership service

(work in progress)

Page 22: Yaler WoT V20100325b

Yaler is available as open source software at http://yaler.org/

Page 23: Yaler WoT V20100325b

This presentation is online at http://goo.gl/4uaD        

Thanks for your time.