45
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

Revisiting SoA for the IoT

Embed Size (px)

Citation preview

Page 1: Revisiting SoA for the IoT

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

Page 2: Revisiting SoA for the IoT

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

Page 3: Revisiting SoA for the IoT

But what is the Internet of Things?

Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 3

1

Page 4: Revisiting SoA for the IoT

The Internet of (Every)Things

- 4 Revisiting Service-oriented Architecture for the IoT, Issarny et al.

Page 5: Revisiting SoA for the IoT

When the Virtual absorbs the Physical World

- 5 Revisiting Service-oriented Architecture for the IoT, Issarny et al.

Not yet there… hopefully !

Matrix trailer

Page 6: Revisiting SoA for the IoT

When the Virtual & Physical Worlds Connect

- 6 Revisiting Service-oriented Architecture for the IoT, Issarny et al.

Why bother? It’s already there!

Page 7: Revisiting SoA for the IoT

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

Page 8: Revisiting SoA for the IoT

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

Page 9: Revisiting SoA for the IoT

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]

Page 10: Revisiting SoA for the IoT

- 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]

Page 11: Revisiting SoA for the IoT

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

Page 12: Revisiting SoA for the IoT

- 12

The 2 Ends of the Spectrum

Fixed Sensors Mobile Sensors Citizens Social Networks

Revisiting Service-oriented Architecture for the IoT, Issarny et al.

Page 13: Revisiting SoA for the IoT

- 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

Page 14: Revisiting SoA for the IoT

Revisiting Service-oriented Architecture for the IoT, Issarny et al.

Toward a Service-oriented IoT? 2

- 14

Page 15: Revisiting SoA for the IoT

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

Page 16: Revisiting SoA for the IoT

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]

Page 17: Revisiting SoA for the IoT

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"'

!""#$$

Page 18: Revisiting SoA for the IoT

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

Page 19: Revisiting SoA for the IoT

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

%#&'$(#%

Page 20: Revisiting SoA for the IoT

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

Page 21: Revisiting SoA for the IoT

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

%#&'$(#%

Page 22: Revisiting SoA for the IoT

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

Page 23: Revisiting SoA for the IoT

Middleware for a Service-oriented IoT

Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 23

3

Page 24: Revisiting SoA for the IoT

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

%#&'$(#%

Page 25: Revisiting SoA for the IoT

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

Page 26: Revisiting SoA for the 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]

Page 27: Revisiting SoA for the IoT

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]

Page 28: Revisiting SoA for the IoT

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]

Page 29: Revisiting SoA for the IoT

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

Page 30: Revisiting SoA for the IoT

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]

Page 31: Revisiting SoA for the IoT

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]

Page 32: Revisiting SoA for the IoT

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]

Page 33: Revisiting SoA for the IoT

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]

Page 34: Revisiting SoA for the IoT

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]

Page 35: Revisiting SoA for the IoT

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]

Page 36: Revisiting SoA for the IoT

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…

Page 37: Revisiting SoA for the IoT

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]

Page 38: Revisiting SoA for the IoT

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]

Page 39: Revisiting SoA for the IoT

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

Page 40: Revisiting SoA for the IoT

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

Page 41: Revisiting SoA for the IoT

Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 41

An Urban Middleware Leveraging the IoT?

Page 42: Revisiting SoA for the IoT

What’s next?

Revisiting Service-oriented Architecture for the IoT, Issarny et al. - 42

4

Page 43: Revisiting SoA for the IoT

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…

Page 44: Revisiting SoA for the IoT

•  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

Page 45: Revisiting SoA for the IoT

Thank you!

MiMove Project Team - https://mimove.inria.fr

CityLab@Inria- https://citylab.inria.fr

Inria Paris - http://www.inria.fr