Software-defined IoT Unit - Distributed Systems Group

Software‐defined IoT Units for Cyber‐physical Systems Vienna University of Technology
Institute for Information Systems
Distributed Systems Group
Head: Prof. Schahram Dustdar Homepage: www.infosys.tuwien.ac.at/research/viecom/SDIoTCloud/
Software‐defined elastic IoT Cloud
Vision
Novel Models and Techniques
 Virtualizing and pooling IoT cloud resources and
capabilities of IoT infrastructure.
 Encapsulating fine-grained IoT resources and IoT
capabilities in well-defined API.
 Providing an ecosystem for software-defined IoT cloud
to support multitude of involved stakeholders.
 Automating provisioning and governance of IoT cloud
systems.
 Enabling new types of cross-domain applications in
future smart cities.
 Software-defined IoT units.
 Software-defined gateway enables cloud connectivity,
exposes data/control points and provides an execution
environment for IoT units.
 A tool-suit for provisioning and runtime governance of
software-defined IoT cloud systems.
 A programing model for the software-defined
cloud-scale applications.
 IoT marketplace for IoT units and IoT artifacts.
1. Software‐defined IoT units
Conceptual model of softwaredefined IoT units
Different examples of softwaredefined IoT units
Provisioning API
Software‐defined
IoT Unit
Runtime controllers  Enabling flexible customization
Lightweight software‐defined IoT units
Non‐functional
capabilities
Control Points
Data Points
...
IoT data Communication
storage
Configuration
Elasticity Data Data point
GW Security
Protocol
controller
quality
History Network
runtime
Custom Volatile
Auto scaling overlay
proc. logic Monitoring
group controller Sand Component‐
Outliers
In‐memory image Key/ValueVPN
box
CEP
model
Messaging
filter
store
...
Governance API
Late‐bound
policies Non‐functional aspects
Functional aspects
Functional API
Functional
capabilities
Utility
cost‐function
Runtime
mechanisms
Software‐defined IoT gateway
Atomic software‐defined IoT units
Runtime composition
Dependency units 2. Software‐defined IoT gateway
IoT compute
Execution
Environment
of IoT resources and end-devices
(e.g, gateways)
 Run-time modifications
(e.g, of communication protocols)
 Code distribution
 Location-aware migrations
 Enchasing end-devices with
reliability, availability, data quality,
etc., aspects
 Fine-grained configuration of IoT
capabilities
Cloud
Connectivity
Virtual layer
Docker
VM
OSGi
JVM
Complex software‐defined IoT unit
IoT resource and functionality binding
Infrastructure capabilities  Fine-grained
 Support for DevOps
principles
encapsulation of IoT
 Policy-based managed
resources and IoT
configuration
capabilities
 Software-defined API  Cost-awareness
Unit
Unit
Unit
Unit
Unit
Storage
Unit
Unit
Unit
Operating System
Networking
Drivers
Kernel
Unit
Docker container
Docker container
5. IoT market
Governing IoT resources and IoT capabilities Sell/buy IoT artefacts Marketplace
User interface
Searching
IoT cloud infrastructure and platforms
Ranking
Customer
Infrastructure
Provider/OEM
Permission
Contract
IoT artifacts
IoT Cloud provider
Application
developer
Application
repository
IoT unit
repository
Configuration
repository
Software‐defined
IoT gateway
3. Provisioning and governance
4. Application development support Middleware + Domain libraries PatRICIA programming model
Scopes
Origins & Actions
Intents
f
Entities
Binding
Car
Environment
has
Owner
Golf
Course
Campus
 Scalability of programing enabled
by Scopes
 Efficient development with an intuitive
Intent-based approach
 Abstracting low-level processes
with Domain libraries
 Environment agnostic applications
based on Origins and Actions
 Reusable applications
 Loose coupling due to runtime binding
of Entities with physical environments
 Support for multitude of developers
(e.g., domain experts and high-level
programmers)
PCS Gbot‐enabled PCS Gbot‐enabled PCS Gbot‐enabled PCS Gbot‐enabled G360
G360
G360
G360
Software‐
defined
IoT gateway
Provisioning and governance tools
Custom solution stack
Application
provisioning
Domain application
Provisioning framework for software‐defined IoT Deploying IoT units
Software‐defined elastic
IoT Cloud
Infrastructure
virtualization
Bare‐metal provisioning
OpenStack cloud
PCS PCS Datacenter
datacenters
datacenters
 Automated IoT unit
deployment based on
TOSCA and SALSA
 Automated IoT unit
composition
 Managed configuration
based on Chef recipes
 Provisioning with
late-bound policies
 Runtime governance
 Elastic operations and
DevOps principles
 Enforcement of nonfunctional properties
(e.g, reliability,
availability, etc.) with
plug-in controllers
References
1. Stefan Nastic, Sanjin Sehic, Le-Duc Hung, Hong-Linh Truong, and Schahram Dustdar. Provisioning Software-defined IoT Systems in the Cloud. The 2nd International Conference on Future Internet of Things and Cloud (FiCloud-2014), August 27-29, 2014, Barcelona, Spain.
2. Stefan Nastic, Sanjin Sehic, Michael Vögler, Hong-Linh Truong, and Schahram Dustdar. PatRICIA - a Novel Programming Model for IoT Applications on Cloud Platforms. International Conference on Service Oriented Computing and Applications (SOCA 2013), December 16-18, 2013, Hawaii, USA.
3. Sanjin Sehic, Stefan Nastic, Michael Vögler, Fei Li, and Schahram Dustdar. Entity-Adaptation: A Programming Model for Development of Context-Aware Applications. Symposium On Applied Computing (SAC 2014), March 24-28, 2014, Gyeongju, Republic of Korea.