Discovery and Group Communication for Constrained Internet of Things Devices using the Constrained Application Protocol Ontdekken van en groepscommunicatie met toestellen met beperkte mogelijkheden in het 'internet der dingen' door middel van het 'Constrained Application Protocol’
Isam Ishaq
[email protected] www.ibcn.intec.ugent.be Internet Based Communication Networks and Services research group (IBCN) Department of Information Technology (INTEC) Ghent University - iMinds
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
Home Automation Example
Home Automation Example
Internet of Things (IoT)
Today
Start of my PhD
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
4
Nice, but what is the Internet of Things (IoT)? HYPE, BUT WHAT IS IT ALL ABOUT? Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
5
Summary of 8 IoT definitions
6
What is IoT? Physical
Virtual
Everyday objects
Network (Internet)
Services, applications
Sense
Connect
Control
Communication technology Data created by PERSONS Unique identity (addressable) Virtual representation Data created by THINGS
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
7
IoT Adoption rate
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
8
IoT application domains Smart metering
Building Automation/ Smart Home Smart cities
Logistics Health
Internet of Things
Transportation
Remote monitoring Industrial automation
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
9
Home automation Light/Temp.Soil humidity Sensors /Humidity RFID reader Magnetic locks
Lights
Fireplace Magnetic locks Actuators
Movement detection
Windows shutters
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
10
Home automation products Philips Hue bridge
Philips Hue app
Access point home network Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
11
Home automation products smappee
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
12
Home automation products
Egg Minder
13
15/10/2015
Source: Quirky
IoT Devices Implants
Vehicles
Smart Phones
Machines Smart Glasses
Smart meters
Sensors Factories
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
Smart Cities
14
Constrained IoT devices
Dot Mote
Smart Dust
Tmote Sky
Zolertia Z1
Rmoni RM090
Processor
16bit 8MHz
64bit Quad Core, 3 GHz
1 : 10 000
Memory
RAM: 10KB ROM: 100KB
100 GB
1 : 1 000 000
Battery charge
Years
1 Day
1 000 : 1
Cost
Low cost
Expensive
1 : 1 000
15
Design Goals
Application
design goals
Simple Energy
efficient Reduce communication Short messages
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
16
Interconnecting sensor networks
client
HTTP
Gateway
HTTP
TCP
Trans.
TCP
IP
IP
Internet Gateway Trans. server Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
17
Challenge: Home Automation Example Can I make all lights automatically go on when the burglar alarm goes on?
Unfortunately not. They speak different protocols.
15/10/2015
18
Interconnecting sensor networks http://light1.adam.home
HTTP
client
TCP IPv6
CoAP Gateway
Trans.
UDP
server
6LoWPAN
Internet IPv6 address: 2001:abcd:1234:5678:90ab:cdef:1234:5678
Short address: 1234
server Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
20
Constrained Application Protocol coap://[sen1]/temp CoAP
Gateway
sen1
Internet GET coap://[Sen1]/temp 2.05 Content (text/plain) Body: 23 • •
Only two packets < 100 bytes each
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
21
Observing Resources coap://[sen1]/temp
Internet
Gateway
sen1
GET Obs coap://[Sen1]/temp
Registration
2.05 Content Obs (text/plain) Body: 23
Notification of current state
2.05 Content Obs (text/plain) Body: 24 2.05 Content Obs (text/plain) Body: 25
Notifications upon state change
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
22
I am using onlyAutomation standards based solutions. Home Example Are all my problems solved?
Unfortunately not
15/10/2015
23
Challenge: Home Automation Example What devices can I use? What services do they offer?
15/10/2015
Device discovery Service discovery Self-organization Self-configuration
24
Sensor Discovery CoAP
coap://light1.adam.home hum 9
Name
Address
light1.adam.home temp.adam.home hum.adam.home light2.adam.home
aaaa::5 aaaa::6 aaaa::9 aaaa::3
Gateway
light2 3
GET /.well-known/serverInfo
light1 5
temp 6
Internet DNS suffix: adam.home IP address prefix: aaaa::
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
25
Gateway Discovery DNS suffix: living.adam.home IP address prefix: aaaa::1:
Gateway1 Name
iGateway
GET living
/.well-known/serverInfo Address
light1.living.adam.home aaaa::1:5 temp.living.adam.home aaaa::1:6 hum.living.adam.home aaaa::1:9
Name suffix prefix Gateway1 living aaaa::1: GET Gateway2 bath aaaa::2: /.well-known/serverInfo
Internet
Home network
DNS suffix: bath.adam.home IP address prefix: aaaa::2:
Gateway2 Name
GET bath
/.well-known/serverInfo Address
light1.bath.adam.home aaaa::2:3 temp.bath.adam.home aaaa::2:6 Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
26
Self Organization process
Internet
Home iGateway network
Add Gateway1 to DNS Add it as DNS server Add route to sensor subnet
Gateway1
Create unique name Store info in local DNS
sen1
coap://[ff02::1]/.well-known/ServerInfo List of known CoAP server addresses
coap://[ff02::1]/.well-known/ServerInfo List of known CoAP server addresses
Self-configuration
coap://[IGW]/.well-known/Servers Discovered gateways
coap://[SensorGW]/.well-known/Servers Discovered sensors
Sensor Discovery
coap://[sensor]/temperature temperature
Sensor Access
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
27
Challenge: Home Automation Example Can I access multiple living room lights resources at once? kitchen lights shutters
shutters TV spots
locks locks
15/10/2015
Group Communication
locks
28
CoAP Multicast PUT Home Automation Example living room lights /light Payload: light=off
CoAP Multicasts are Non-confirmable → Not reliable
15/10/2015
“The single biggest problem in communication is the illusion that it has taken place.” - George Bernard Shaw 29 (1856-1950)
Alternative Group Communication
Internet
Gateway
30
PUT /lights state=on
Group access
Internet ACK
phone
Gateway
/lights
31
Home Automation Example
15/10/2015
CoAP Unicasts can be confirmable 32 → Reliable
Evaluation
Methods
Mathematical models Simulations Testbeds
Performance parameters
Reliability Packets transmitted Latency
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
33
Reliability Reliability of complete group of 5 nodes (%) 100 4-hop 3-hop
2-hop
entity
1-hop
80
multicast
60
1-hop 40 2-hop 20 3-hop
4-hop
0 0
5
10
15
20
25 30 Packet Loss (%)
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
34
Number of Packets Average # packets/group member (group of 5 nodes) 15
4-hop 3-hop
10 2-hop 4-hop
5
entity
3-hop 2-hop
1-hop
1-hop
0 0
5
multicast
10
15
20
25 30 Packet Loss (%)
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
35
Group access from cache GET /temp
Internet 23
phone
Gateway
/temp
36
Number of Packets with cache Average # packets/group member
8
Entity 4-hop Multicast
6
Entity 3-hop Multicast
4
Entity 2-hop Multicast
2
Entity 1-hop Multicast
0 0
10
20
30
40
50
60 70 Time between requests (s)
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
37
Advanced Group Communication
Gateway
Internet
Precision
• 23 instead of 23.2
Observe • Notifications only upon group state change
Operations • • • •
List Minimum Maximum Average
38
Entity Operations sen2
coap://[EM]/temp?eo=avg
Internet
GET coap://[EM]/temp?eo=avg
Gateway
sen1
GET coap://[sen2]/s/t GET coap://[sen1]/sens/temp 2.05 Content (text/plain) Body: 23
2.05 Content (text/plain) Body: 24
2.05 Content (text/plain) Body: 25
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
39
Entity Observe coap://[EM]/doors
Internet Registration
GET Obs coap://[EM]/doors
Notification of current state 2.05 Content Obs (text/plain) Body: door1,closed door2,closed
door2
Obs
Gateway
door1
GET Obs coap://[sen2]/lock GET Obs coap://[sen1]/sens/lock 2.05 Content Obs (text/plain) Body: closed 2.05 Content Obs (text/plain) Body: closed
Notification upon state change 2.05 Content Obs (text/plain) Body: door1,closed door2,open
2.05 Content Obs (text/plain) Body: open
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
40
Key improvements
Reliability
Groups of resources
Validation
Observe support
Cache friendly
Flexibility
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
41
Outlook
Security Privacy Automatic suggestion of groups Automatic creation of groups Automatic adjustment of parameter settings
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
42
Questions ? Isam Ishaq
[email protected] www.ibcn.intec.ugent.be Internet Based Communication Networks and Services research group (IBCN) Department of Information Technology (INTEC) Ghent University - iMinds