View
219
Download
0
Category
Preview:
Citation preview
Revisiting SoA for the IoT A Middleware Perspective
MiMove Project Team Inria Paris
Valerie Issarny Joint work with Georgios Bouloukakis, Nikolaos Georgantas, Benjamin Billet,
and many other colleagues
ICSOC 2016
Agenda
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 2
1. The IoT: An Introduction
2. A Service-Oriented IoT: Why & How
3. SoA for the IoT: Some Middleware Insight
4. Conclusion: What’s Next
But what is the Internet of Things?
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 3
1
The Internet of (Every)Things
- 4 Revisiting Service-oriented Architecture for the IoT, Issarny et al.
When the Virtual absorbs the Physical World
- 5 Revisiting Service-oriented Architecture for the IoT, Issarny et al.
Not yet there… hopefully !
Matrix trailer
When the Virtual & Physical Worlds Connect
- 6 Revisiting Service-oriented Architecture for the IoT, Issarny et al.
Why bother? It’s already there!
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 7
But the Physical World is Complex
And so is the IoT! 123RF Consuelo Barreto + Inria edition
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 8
The Pollution Monitoring use Case
Mobile Crowdsensing
Social Sensing
Fixed Sensing High cost
but accurate Low cost &
high redundancy but low accuracy &
high diversity Qualitative add-on
but highly subjective
https://www.youtube.com/watch?v=Yw_Er8fMmMw
Inria
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 9
Challenges
• Ultra-large scale • # Things • # Data
• Deep heterogeneity • Technical • Functional • Social
• Physical knowledge • Time-dependency
• High dynamics • Privacy & security
[Teixeira et al., ServiceWave’2011]
- 10
What if…
Everything connects and contributes to urban knowledge
Fixed Sensors Mobile Sensors Citizens Social Networks
Urban middleware with hybrid sensing/actuation
Middleware tames high heterogeneity, scale & dynamics
And QoS @ large – cf Elisa’s keynote on security & privacy Revisiting Service-oriented Architecture for the IoT, Issarny et al. [Hachem et al., BigDataService’2015]
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 11
Learning from an Urban Scale Experiment
Ambiciti App informing about individual and collective exposure to urban pollution Noise pollution monitoring in Paris since summer 2015
[Issarny et al., Middleware’2016]
Scale, Heterogeneity, Physical, Dynamics, Privacy, …
Inria / photo C. Morel
- 12
The 2 Ends of the Spectrum
Fixed Sensors Mobile Sensors Citizens Social Networks
Revisiting Service-oriented Architecture for the IoT, Issarny et al.
- 13
The 2 Ends of the Spectrum
Fixed Sensors Mobile Sensors Citizens Social Networks
Revisiting Service-oriented Architecture for the IoT, Issarny et al.
Toward an open Internet of Things
Connect Cooperate To bring new services on the fly
SoA to the Rescue
Revisiting Service-oriented Architecture for the IoT, Issarny et al.
Toward a Service-oriented IoT? 2
- 14
Service-oriented Architecture Meets the IoT
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 15
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$
Service Abstraction Discovery, Composition
BUT
Ultra-large scale Continuous data streams Multi-paradigm interactions
[Issarny et al., JISA’2011]
& Access
A Rich State of the Art
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 16
• Ultra-large scale • Cloud of Things, In-network processing • Continuous processing, Map-reduce
• Heterogeneity • SoA, WoT, Virtualization • Ontology, Semantic WoT
• Physical knowledge • Sensor data streams
• Dynamics • Dynamic discovery
• Privacy & security
[Razzaque et al., IOT Journal ’2016]
A Thing-based SoA
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 17
Service abstraction for Things • Connect with the physical
world • Semantic knowledge • Functional & non-functional • Discrete & continuous
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$
A Thing-based SoA
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 18
Output port
access
diffusion
Data producer Data consumer
Client
Operation
invocation
Discrete result
Service provider
Service consumer
Client Discrete service
Continuous service
A Thing-based SoA
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 19
Thing discovery • Query for real-world
phenomena • Mobile and fixed things • Diversity of the connected
things • Redundancy
Things Abstraction
!"#$%&'()
*(+,-.($"+-(/0()
1-))2(3&+(45*617
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$%#&'$(%!(')*
%#+,#$(
+,#%-
.))/0,1
%#&'$(#%
A Thing-based SoA
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 20
Things Abstraction, Discovery
!"#$%&'()
*(+,-.($"+-(/0()
1-))2(3&+(45*617
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$%#&'$(%!(')*
%#+,#$(
+,#%-
.))/0,1
%#&'$(#%
Thing composition • Complexity of the physical
world • Diversity of the connected
things • Sense & actuate
continuous real-world phenomena
A Thing-based SoA
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 21
Thing access • Resource-constraints • Proxy/gateway • Thing node • Diversity of access
protocols for the tiny to the wealthy things
Things Abstraction, Discovery, Composition
!"#$%&'()
*(+,-.($"+-(/0()
1-))2(3&+(45*617
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$%#&'$(%!(')*
%#+,#$(
+,#%-
.))/0,1
%#&'$(#%
A Thing-based SoA
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 22
!"#$%&'()
*(+,-.($"+-(/0()
1-))2(3&+(45*617
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$%#&'$(%!(')*
%#+,#$(
+,#%-
.))/0,1
%#&'$(#%
Tame the # Tame the
heterogeneity
Discrete & continuous
Middleware for a Service-oriented IoT
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 23
3
Middleware Solutions for a Thing-based SOA Sensing the Physical World
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 24
" Discovery in the ultra-large scale IoT
" Composition in the Dynamic resource-constrained IoT
" Access in the Heterogeneous IoT
!"#$%&'()
*(+,-.($"+-(/0()
1-))2(3&+(45*617
!"#$%&'(
)"'*$+"
,-.%/0"'
)"'*$+"
1'-*$2"'
!""#$$%#&'$(%!(')*
%#+,#$(
+,#%-
.))/0,1
%#&'$(#%
Service Discovery in the Ultra-large Scale IoT
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 25
!"#$"%
!"#$%&'(
)"'*$+",-./%01"'
)"'*$+",2'.*$3"'
!""#$$$#!%"&'()%'$#%*+"#$
,-#%.
%#/+$0#%
-.14.%$&$./,
5,6%&$17&$./
2'.878$9$%&$+
:$%+.*"'(
! "#$%&'()'%*+
! ,**-!./
;.8<.=
>/&.9.#(1))23-4
%#,-#$0
#54!6$+)6'%#,-#$0
$0)%#'$#%*+"#'7#0!8!0!
[Hachem et al., PerCom’2013]
Probabilistic discovery for the mobile IoT
Probabilistic Discovery for the Mobile IoT
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 26
More likely to not register
Enough coverage
Design Rationale - Do not register
redundant Things to reduce number
- Leverage user mobility knowledge
Jardin des Tuileries
✔
[Hachem et al., PMC’2014]
Probabilistic Discovery: How
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 27
Jardin des Tuileries
Centralized Approach • Compute decision on
Registry as search problem
• Using global displacement
knowledge • But computation time
increases linearly
[Hachem et al., PMC’2014]
Probabilistic Discovery: How
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 28
Jardin des Tuileries
Distributed Approach • Compute decision
on Thing • Estimate
displacements of registered Things using mobility models (e.g., TLW)
[Hachem et al., PMC’2014]
Service Discovery in the Ultra-large Scale IoT
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 29
!"#$"%
!"#$%&'(
)"'*$+",-./%01"'
)"'*$+",2'.*$3"'
!""#$$$#!%"&'()%'$#%*+"#$
,-#%.
%#/+$0#%
-.14.%$&$./,
5,6%&$17&$./
2'.878$9$%&$+
:$%+.*"'(
! "#$%&'()'%*+
! ,**-!./
;.8<.=
>/&.9.#(1))23-4
%#,-#$0
#54!6$+)6'%#,-#$0
$0)%#'$#%*+"#'7#0!8!0!
Probabilistic registration & lookup for the mobile IoT
Composing the discovered things
Service Composition in the Resource-constrained IoT
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 30
Consumer _______________ +consume(item)
Storage _____________________ +store(item) +produce(query):item-list
Processor __________________ +initialize() +work(item):item-list +finalize():item-list
store Transform
Consume
Producer _______________ +produce():item
[Billet et al., JISA’2014]
Logical Mashup Graph
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 31
Producer Processor
Processor
Processor
Consumer
Transformateur
Transformateur
[Billet et al., MASS’2014]
Logical Mashup Graph Example
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 32
4
3
6 Speed Limiter
8 Control Center (GUI)7
5s4
s3
s5
s6s7
Component Stream
2NO2
Sensor
1Particle Sensor
s2
s1
[Billet et al., MASS’2014]
Deploying the Graph
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 33
Energy, Resource-constraints, Load balancing, Timeliness
[Billet et al., MASS’2014]
Modeling Tasks and Things for Physical Mapping
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 34
!!!
Solving the problem optimally & approximately
[Billet et al., MASS’2014]
Physical Composition of the Resource-constrained Things
Example
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 35
4
3
6 Speed Limiter
8 Control Center (GUI)7
5s4
s3
s5
s6s7
Component Stream
2NO2
Sensor
1Particle Sensor
s2
s1
[Billet et al., MASS’2014]
Dioptase Middleware for Things
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 36
Service Layer
Component Manager
Storage
Interpreter
Remote Connector
Driver Manager
Storage Driver Thing Driver Network Driver
Streaming Services
Service Registry
Management ServicesUser-defined Services
Compression Plugin
Cryptography Plugin
Streaming Plugin
Web Server
Local Connector
Producer
Interpreted Task
Instruction Registry
Processor
Operator Registry
[Billet et al., JISA’2014]
Dioptase is one solution…
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 37
Service Access in the Heterogeneous IoT
Dioptase DPWS MQTT CoAP …
Streaming Discrete Sync Async … Pus/sub
[Georgantas et al., ESOCC’2013]
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 38
Service Bus for the IoT
4 basic operations:
One-way sender operation One-way receiver operation
Two-way asynchronous client operation Two-way asynchronous server operation
Two-way synchronous client operation Two-way synchronous server operation
Stream consumer operation Stream producer operation
each operation represented as
combination of post and get primitives
post and get primitives
mapped to each protocol:
SOAP, REST, CoAP, MQTT, etc.
Reconciling multi-paradigm interactions
[Kattepur et al., ICSOC’2015]
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 39
VSB: The eVolution Service Bus
!"#$
%&''()*+,-./
!"#0
"*1,2*3#
"/1,/2
()*+,-./
!"#$%&&'$(%)#* !"#$%&&'$(%)#+ !"#$%&&'$(%)#,
!"#$%&'("#
)"*(!
!"#$%&'("#
)"*(!4/1.*2 0
%&'' "*56 "*56
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 40
VSB Development & Run-time Environments
!"#$% #
!"#$%&'(%)*+,-%!
.%"#$%#$&#$'%#$!(#$')*$/
01%23,4*56+6
!5,5(+7%01
"89:585,4;4+',6< ='':
+),$%&'*'-'.$/$0 1
!"#$% &
!"#$% '
!"#$% (
!"#$%&$'()&*+,-!"#$%&$.,/,012+,)& &*+,-
!"#$%&'(')'*$+
!"#$%&'(')'*$,
01
01
01
01
01
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 41
An Urban Middleware Leveraging the IoT?
What’s next?
Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 42
4
Contributions so far…
- 43 Revisiting Service-oriented Architecture for the IoT, Issarny et al.
A perspective on SoA for the IoT A flavor of SoA but…
Middleware solutions to tame the complex IoT Scale, heterogeneity, …
But the centralized approach remains the winner…
• Security & Privacy • Reliability & Dependability • Usability, Management, Interoperability • Software architecture • Information-centric networking • Closed-loop operation • Testing & Evaluation
- 44 Revisiting Service-oriented Architecture for the IoT, Issarny et al.
http://anrg.usc.edu/ngiot16/
What’s next… Next generation Internet of Things
Thank you!
MiMove Project Team - https://mimove.inria.fr
CityLab@Inria- https://citylab.inria.fr
Inria Paris - http://www.inria.fr
Recommended