humans don't scale - the future of the internet of things
DESCRIPTION
A talk to the Cambridge University Computer Laboratory, by Pilgrim Beart (currently a Visitor there) on 21st January 2013.TRANSCRIPT
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 2
Today: my perspective on IoT
• What is it?• Why is it (not) happening now?• Interesting problems
3
My backgroundSmart Energy Analytics Smart Heating Smart Appliances Smart Home
Analysis on how I & when I use
energy to help understand my bill and
advice on how to save.
• Heating
• Cooling
• Hot water
Information Remote Control
• Appliances • Lights
• Locks
• Security
• Cameras
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 4
“Smart” => Connected
=
EMBEDDED
DATA AND CONTROL +UBIQUITOUS
CONNECTIVITY
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 5
Every day seems brings a new internet-connected thing/service
IoT means more than just“internet-connected-things”
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 7
Why now?
• Trend: from Products->Service– Enduring service relationship (vs. one-time sell)– Easier UX – SmartPhone App– Remote access & control (for humans & machines)
• Barriers falling– Increasing availability of Internet dial-tone– Falling costs of connecting
• ARM: huge growth in embedded licenses
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 8
Why hasn’t IoT taken-off yet?
• Everyone solving just their own problems– 1:1 applications (for that one product only)– Machine-to-human applications
• Everyone building complete architectures• “The nice thing about standards is that you have so
many to choose from”– 3rd-party parts today don’t just interoperate
• Humans (engineers) still have to get involved in making services & things work together... and humans don’t scale
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 9
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 10
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 11
“me-centric” approach inhibitsscaling
Tech:MB/s,People:Dev’t,
Commercial:Lock-in
multiple API’s
different from everyone else’s
inhibits network-effect
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 12
“It’s not what’s in the boxes that matters, it’s how they are connected”
Toby Jaffey
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 13
Thing
ThingThing
Thing Thing
ThingThing
Thing
Thing Thing
14I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi!
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 15
API representations & paradigms• Data representations
– JSON– XML– database schema
• API paradigms– RESTful– PubSub (topic broker)
• Broker-centric– AMQP (RabbitMQ etc.)– MQTT (mosquitto)
• Distributed– ØMQ– Socket.IO
• Available open source• Available as Cloud
– Cloud.IO, Iron.IO, PubNub…
• … plus many proprietary ones
POLLING
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 16
Unlikely everyone will agree on a single standard/framework for IoT connectivity
…but they don’t need to• Can glue different API’s together automatically
iff they share common semantics
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 17
“Connected” at what layer?
• At layer 7 we have the application, by definition unique since it’s where the value is added
• Somewhere in layer 6-7 is where some common IoT conventions could really help.
• Layers 3 & 4 are TCP/UDP/IP by definition, since we are talking about the Internet of Things
• Layers 1 & 2 will vary, and we want to insulate App writers completely from that
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 18
Minimum semantic connectivity(not an ontology)
• A lingua franca for machines• Can’t possibly envisage all uses
– So inventing a superset is doomed to failure• So identify minimum common subset
– i.e. the intersection of sets, not the union!
Common to all applications… Common to all PHYs…
COMMON
COMMON
cf. Semantic Web
vs. FOAF
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 19
Common problems =>Common semantics
• For Data– Enumerate data “channels” of a Thing– (name, type, value)– Data rates, push vs. pull etc.
• For Managing Things– ID– Commissioning
• Securely attaching to LAN, WAN & services
– Topology (child devices)– Upgrades
• …ideally all built on a small set of canonical types
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 20
Semantics isn’t just for connectivity
IP
Comms stack: DB stack:
Storage
BSON
Common Semantics
Application
Rules:
Common Semantics
Rules
Rules Engine
TCP
SSL
MQTT
JSON
Common Semantics
Application
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 21
Today we have vertical platformsSecurity Lighting Energy Heating Telecare… …
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 22
IoT requires horizontal platforms
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Security Lighting Energy Heating
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
Telecare
Device Persistence
Data Warehouse
Devices
Gateways
Skyhooks
UI’s
Apps
Device Mgmt
Scale Testing
… …
Directory& Auth
Directory& Auth
Directory& Auth
Directory& Auth
Directory& Auth
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 23
REDUCING IT TO PRACTICEI’m an engineer, so…
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 24
Start with the customer:What do IoT customers want?
1. Scale to millions (of users & of sensors) - cost-effectively– i.r.o. $0.10/user/month or $0.01/sensor/month with per-minute updates
2. Easy to manage– subset of 1): scaling practical only if cost-effectively managed*
3. Reduced Time- and Cost-to-market– minimal engineering time, minimal NRE costs*
4. 3rd-party enablement (ecosystem)– end-devices and gateways can be added without IoT core code changes*– agnostic (no lock-in)
5. Reliable6. Secure7. Rapid evolution of every part (but stable architecture)
*because Humans Don’t Scale
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 25
To prove it, build it
Component Implementation
Directory & Auth (Ab)use DNS?
UX HTML+Websockets?Data representation JSON/BSON
API paradigm MQTT/AMQP/ØMQ?
Data warehousing & Persistence
TempoDB & MongoDB
Device Mgmt, Apps Async (node.js?)
Device Raspberry Pi? mBed?
PHY 6LoWPAN?
Important principle: Every part of this can be swapped-out for an alternative (proves it’s open). Ideally, prove that by implementing 2 alternatives for each.
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 26
What next
• IoTA, led by ARM, to break down IoT silos.– Current focus:
• Semantics• Security• Management
– Bidding for TSB-funding• Any CL projects of relevance to our bid?
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 27
Interesting problems (to me!)Most aren’t unique to IoT. But we need automation because Humans Don’t Scale• General Semantics (what existing frameworks can we ride on?)• Scaling++: see what breaks & fix it
– Fun Hobby: run client+server on “infinitely elastic cloud” and let them rip each other apart!– Memcached doesn’t help writes (REDIS, Mongo etc.)– Sharding good for writes, but manually precomputing reduces
• Debugging distributed systems– e.g. Google’s Dapper
• Getting data to the right place automatically– Gossip protocols– Migration as the norm
• Constantly take advantage of latest Cloud services• Backup as an intrinsic property of the architecture, not of a particular database technology
• “Rules” that move automatically to run in the right place– Even partition automatically too
• Energy efficiency
• Nodes in a Pubsub graph start to look like neurons…
I’m in CUCL room SN31 Mondays & Tuesdays – come & say hi! 28
Thanks for listening
• Please do introduce relevant colleagues
Pilgrim [email protected]