internet of the things (iot): an introduction to...

43
INTERNET OF THE THINGS (IoT): An introduction to wireless sensor networking middleware Dr Antoine Bagula ISAT Laboratory, University of Cape Town, South Africa 1

Upload: hadiep

Post on 05-Feb-2018

226 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

INTERNET OF THE THINGS (IoT):

An introduction to wireless sensor

networking middleware

Dr Antoine Bagula ISAT Laboratory, University of Cape Town, South Africa

1

Page 2: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Goal of the lecture

Internet of the Things (IoT)

The lecture intends to introduce the key concepts behind an

Internet of Things (IoT) middleware by

Positioning the middleware into a ubiquitous sensor

networking stack.

Describing the main approaches associated with an IoT

middleware.

Highlighting some of the research works illustrating

these middleware approaches.

2

Page 3: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

I. Outline

Internet of the Things (IoT)

A. What is the IoT ?

B. IoT Architecture

C. What is a middleware ?

D. Middleware approaches

3

Page 4: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

A. What is IoT ?

2003 2010 2015 2020

500 Million

12.5 Billion

50 Billion

25 Billion

Connected

Devices

Connected

Devices

Per Person 0.08

1.84

6.58

3.47

World

Population 6.3 Billion

6.8 Billion

7.6 Billion

7.2 Billion

More connected

devices than people

Based on what we

know is true today

(Conservative)

2008 Internet of the Things (IoT)

4

Image

source

Cisco.

Page 5: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

The Internet is a world-wise network of interconnected

computer networks, based on a standard communication

protocol (TCP/IP)

The Internet of Things (IoT) is

o a world-wide network of interconnected objects which

are outfitted with sensors, actuators and RFID devices.

o These devices are uniquely addressable and use

standard communication protocols in a heterogeneous

networking environment including objects of totally

different functionality, technology and application fields.

What is IoT ?

Internet of the Things (IoT)

5

Page 6: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Building upon the revolutionary success of mobile

communication, Internet networks, the advances in sensor,

RFID, Nano and other smart technologies, the IoT expands

the current Internet with the objective of

o Connecting objects outfitted with sensor and RFID

devices (smart objects).

o Detecting changes in the physical status of connected

things in real-time.

o Identifying and localizing the smart objects.

o Monitoring the changes in the physical status of

connected things.

What is IoT ?

Internet of the Things (IoT)

6

Page 7: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

7

Internet of the Things (IoT)

What is IoT ?

Page 8: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

What is IoT ?

Internet of the Things (IoT)

8

Page 9: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Source: ITU-T study group on Climate Change

B. IoT architecture

Internet of the Things (IoT)

9

Page 10: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

The Figure above reveals the different layers of a Ubiquitous

Sensor Network

A sensor networking layer (the bottom layer) where

sensor and RFID devices are launched into the

environment to sense what is happening and report to

sink nodes via USN-bridges

A USN access networking layer (the second layer)

where the combination of USN-bridges and sink nodes

are used as hosts to an access network for the first-mile

connectivity of a Next Generation Network (NGN) of

gateways

.

IoT architecture

Internet of the Things (IoT)

10

Page 11: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

A USN middleware layer (third layer) is used as an

interface between the NGN and the application layer.

A USN applications layer (the last layer) where different

applications are used to perform tasks related to

logistics, structural health monitoring, agriculture control,

disaster Surveillance, military field surveillance and

disaster/crisis management.

IoT architecture

Internet of the Things (IoT)

11

Page 12: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

C. What is a Middleware ?

Distributed

Systems

Middleware

Systems

Programming

Languages Databases

Operating Systems

Networking

A middleware is dispersed among many disciplines

12

Page 13: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware architecture Middleware for Wireless Sensor Network

Operating system

Middleware

Application

Hardware

Operating system

Middleware

Application

Hardware

Internet of the Things (IoT)

NET

Host 1 Host 2

The middleware can be located anywhere:

sensor nodes, sink nodes, high level application terminal, etc.

13

Page 14: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Why a Middleware ?

1. Masking heterogeneity

o networks, end-systems, OSs, programming languages

2. Providing a useful distributed programming model

3. Providing Generic services

4. Transparency

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

14

Page 15: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

applications

o eCommerce,

o real-time, embedded

o mobile agent systems

o peer to peer platforms

o mobile computing applications

underlying host systems

o PCs/ workstations

o wireless PDAs

o embedded devices

o network processors

o wireless, sensor, infrared etc. networks

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

It is needed by a bunch of applications and host systems

Why a middleware ? 15

Page 16: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware functionalities Middleware for Wireless Sensor Network

Complete middleware solutions require at 4 components:

o Programming abstraction: this defines the interfaces

to the middleware for the application programmer.

o System services: implemented functions to enable

programming abstractions.

o Run time support: extensions to the embedded

operating system to support middleware services.

o QoS mechanisms: they define the QoS constraints of

the system.

Internet of the Things (IoT)

16

Page 17: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware functionalities Middleware for Wireless Sensor Network

Programming abstractions. Programming abstractions

involve

The way the programmer views the system

referred to as the abstraction level.

The model used to program the application known

as the programming paradigm.

The programming interface which defines the

mechanism used by the application to access the

middleware functions.

Internet of the Things (IoT)

17

Page 18: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware functionalities Middleware for Wireless Sensor Network

Abstraction level.

A global abstraction level (e.g. system level abstraction)

o abstracts the WSN as a single virtual system

o a single centralized program is expressed as a set of

subprograms that can be executed on local nodes.

o allows the programmer to concentrate on the

application, while avoiding the details of the nodes but

can be less efficient in terms of WSN resource

consumption.

Internet of the Things (IoT)

18

Page 19: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware functionalities Middleware for Wireless Sensor Network

Abstraction level.

A local abstraction level (e.g. node level abstraction):

o the system is presented as a collection of distributed

nodes where each node can be reached individually.

o leads to efficient communications between nodes and

flexibility but requires from the programmer a certain

knowledge of the sensor node.

.

Internet of the Things (IoT)

19

Page 20: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware functionalities

Programming paradigms. Depending on paradigm, a

WSN can be seen as

o A database where sensor data is the information stored in

the database

o A publish/subscribe service where data from sensors

generate an event for the application.

o A set of mobile agents copying with the mobility of the

WSNs

o A rule-based declarative language for command execution.

o A set of virtual machines used to support runtime.

o A graphical user interface that includes a query-builder and

result display.

Internet of the Things (IoT)

20

Page 21: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware functionalities Middleware for Wireless Sensor Network

Interface type

The way the application relates with the middleware can

either be:

o Declarative, providing data about which information is

required. This may be based on Structured Query

Language (SQL) languages or XML, and is used for

database programming paradigms.

o Imperative, offering commands that should be carried

out. This is used for publish/subscribe programming

paradigms.

Internet of the Things (IoT)

21

Page 22: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

1. Abstraction Support

o Large number of heterogeneous sensors

2. Data Fusion

o Various ways to collect data

o Efficient way of communicating this data

3. Resource Constraints (lightweight)

o Low energy, small memory footprint

o Requires a lightweight design (as opposed to traditional

middleware such as CORBA, etc.)

4. Dynamic Topology, Environment, Application

o Node mobility, node failure, communication failure

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

Middleware design space 22

Page 23: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

5. Application Knowledge

o Try to generalize despite the limited resources

o Integrate application knowledge into the services

provided

6. Programming Paradigm

7. Adaptability

8. Scalability

9. Security

10. QoS Support

Middleware for Wireless Sensor Network

Middleware design space

Internet of the Things (IoT)

23

Page 24: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware architecture Middleware for Wireless Sensor Network

systemwide

interfaces

Middleware

Operating System

Hardware

Distributed Middleware

Middleware

Operating System

Hardware

Administration Terminal

Node A Node B Node C

Sensor Network Application

Middleware

Operating System

Hardwaredifferent

node hardware

boot, logging

customized node‘s

software

Internet of the Things (IoT)

24

Page 25: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

25

Middleware architecture

Shared functionalities/features between applications and

distributed middleware depending on abstraction.

Page 26: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware Approaches

1. Virtual Machine-based

o contains VM, interpreter,

o Example: Mate, Magnet

2. Database-based

o Virtual Database

o easy to use interface

o Examples: TinyDB, Cougar, SINA, Dsware

3. Modular programming

o decomposition of application

o Examples: Impala, Agilla

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

26

Page 27: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

4. Application Driven

o tune network on the basis of Requirement

o Example: MiLAN

5. Message oriented

o use publish-subscribe mechanism

o Example: Mire

6. Event oriented

o Request-reply,

o Example: Garnet

7. Service oriented

o Reflective, Flexible, Service-centric, Service oriented

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

Middleware Approaches 27

Page 28: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware for Wireless Sensor Network

Power awareness

Openness Scalability Mobility Heterogeneity Ease of use

Mate Full Full Full Full Partial Little or none

Magnet Full Full Full Full Partial Full

Cougar Partial Little or None Little or None

Little or None

Little or None

Full

SINA Full Little or None

Little or None

Little or None

Little or None

Full

DSWare Full Partial Partial Little or None

Little or None

Full

TinyDB Full Partial Partial Partial Partial Full

Impala Full Full Full Full Little or None

Full

MILAN Partial Full Full Little or None

Little or None

Full

Mires Full Full Full Partial Partial Full

VM

DataBase

Application

Message

Modular

Internet of the Things (IoT)

Middleware Approaches

28

Page 29: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Impala: application driven

Zebranet project consisting of a long term migration

study of wildlife using event based programming

model

Middleware for Wireless Sensor Network

Data Base Station

(car or plane) Data

Data

Peer-to-Peer

communication

Protocol

CPU, Memory,

Wireless

Transceiver GPS

Internet of the Things (IoT)

29

Page 30: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Impala Features

Advantages

o Code modularity

o application adaptability and

o update

o Fault tolerance

o energy efficiency

o long deployment time

Disadvantages

o Not data fusion

o not heterogeneity

Middleware for Wireless Sensor Network

Device Hardware

Device Software

Impala

Applications

External

Updates

Internet of the Things (IoT)

30

Page 31: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Mate

Virtual Machine on top of TinyOs

Stack-based architecture

Break down the program

into small self-replication

capsules(24 instructions)

Capsules are self-forwarding

and self-propagation

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

31

Page 32: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Mate Features

Advantages

o Simple programming model

o Small and concise model

o High security

Disadvantages

o high energy consumption

o Not flexible to support wide range of applications

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

32

Page 33: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

TinyDB

Middleware for Wireless Sensor Network

• query processing

• Multiple concurrent queries

• Network monitoring (via queries)

• Extensible framework for attributes,

commands and aggregates

Internet of the Things (IoT)

33

Page 34: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Middleware for Wireless Sensor Network

Sensor table

Internet of the Things (IoT)

34

TinyDB

Page 35: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

TinyDB Features

Advantages

o reduce number of messages

o Nice abstraction model

o good aggregation model

Disadvantages

o Not much functionality

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

35

Page 36: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Agilla

Based on mobile agents and a Stack-based architecture

Allows moving agents from one node to another

Use two instructions to move (clone, move)

A maximum of 4 agents can run on a node

Middleware for Wireless Sensor Network

(3,3) (3,1) (3,2)

(2,2)

(1,1) (1,3)

clone to (3,3) clone to (3,1)

Fire Detection Agent

Internet of the Things (IoT)

36

Page 37: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Agilla Architecture Middleware for Wireless Sensor Network

TinyOS

Node @ (1,1)

Tuplespace

Agilla Middleware

Agents

TinyOS

Node @ (2,1)

Tuplespace

Agilla Middleware

Agents migrate

remote access Neighbor

List Neighbor

List

Middleware Services Middleware Services

Internet of the Things (IoT)

37

Page 38: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Agilla Features

low energy consumption

Increase flexibility

reduce code size

low security

difficult to read and maintain programs

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

38

Page 39: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

MiLAN

MiLAN is designed for personal health monitor application

Middleware for Wireless Sensor Network

Normal Heart Rate

Low blood pressure Respiratory

Rate

Blood O2

Blood

Pressure

Blood O2

Heart

Rate

0.8

0.7

High Heart Rate

ECG

Diagram

Blood

Pressure

Blood

O2

Heart

Rate

0.3

0.8

0.3

0.8

0.3

1.0

0.3

High respiratory rate

Internet of the Things (IoT)

39

Page 40: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

MiLAN

Goals:

o application lifetime maximization

o application QoS support

MiLAN receives a description of application requirements

through specialized graphs

MiLAN sits on top of multiple physical networks: bluetooth,

802.15.4, wifi, etc.

convert commands to protocol-specific commands that are

passed through the usual network protocol stack

Middleware for Wireless Sensor Network

40

Page 41: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

MiLAN Architecture Middleware for Wireless Sensor Network

Internet of the Things (IoT)

41

Page 42: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Conclusion

Methods and tools to analyse and evaluate IoT

middleware are still needed

There is still a long way to go from cloud-like middleware

systems such as Pachube and middlewares that are

needed for real time WSN applications as the former lack

many of the features/functionalities needed for IoT

middlewares.

QoS functionalities can be incorporated into the

middleware in terms of dependability, reliability, and

scalability, and Security.

Middleware for Wireless Sensor Network

Internet of the Things (IoT)

42

Page 43: INTERNET OF THE THINGS (IoT): An introduction to …wireless.ictp.it/.../Internet-of-the-Things-Middleware-Introduction... · INTERNET OF THE THINGS (IoT): An introduction to wireless

Thanks

Antoine Bagula

[email protected]

Isat.cs.uct.ac.za

Internet of the Things (IoT)

43