0% found this document useful (0 votes)
16 views47 pages

IoT Architecture and Cloud Computing Principles

Module 2 covers architecture and design principles for IoT, focusing on internet connectivity, communication protocols (IPv4, IPv6, 6LoWPAN), and application layer protocols like HTTP and FTP. It also discusses data collection, storage, and computing using cloud platforms, including cloud service models and the evolution of cloud computing. Key features of cloud computing, deployment models, and service models such as SaaS, PaaS, IaaS, and DaaS are also outlined.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views47 pages

IoT Architecture and Cloud Computing Principles

Module 2 covers architecture and design principles for IoT, focusing on internet connectivity, communication protocols (IPv4, IPv6, 6LoWPAN), and application layer protocols like HTTP and FTP. It also discusses data collection, storage, and computing using cloud platforms, including cloud service models and the evolution of cloud computing. Key features of cloud computing, deployment models, and service models such as SaaS, PaaS, IaaS, and DaaS are also outlined.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Module 2

• Architecture and Design Principles for IoT:


• Internet connectivity,
• Internet-based communication,IPv4, IPv6,6LoWPAN
protocol,
• IP Addressing in the IoT,
• Application layer protocols: HTTP, HTTPS,FTP,TELNET
and ports.
• Data Collection, Storage and Computing using a Cloud
Platform: Introduction,
• Cloud computing paradigm for data collection, storage
and computing,
• Cloud service models,
• IoT Cloud- based data collection, storage and computing
services using Nimbits.
2
Internet connectivity
• Source-end network-layer connected to the destination through a set of IP routers.
• A communication framework uses an IP address and communicates with IoT/M2M
applications and services layer using TCP/IP suite of application protocol to a
destination IP address.
• Internet connectivity
is through a set of
routers in a global
network of routers
which carry data
packets as per IP
protocol from a
source end to the
other end and vice
versa.
• A source sends data
packets to a
destination using
IETF standardized
format.
3
Internet based communication
• (i>j) data transmit from layer i to the next layer j, i.e from application layer to the
physical layer.
• Following actions occur:
• Each layer’s processing of data is as per the protocol used for communication by that layer.
• Each layer sends the data stack received from the previous upper layer plus a new header
and thus creates a fresh stack after performing the action specified at that layer.
• Layer j will specify new parameters as per protocol and create fresh stack for the
subsequent lower layer.
• The process continues until data communicates over the complete network.

• Data received at layer i from a layer j, i.e from physical layer to the application
layer.
• Following actions occur:
• Each layer performs the processing as per the header field bit, which are received
according to the protocol to be used for the required action at that layer.
• Each layer receives the data stack from the previous lower layer and after the required
actions, it subtracts the header words and creates a new stack specified for the higher
layer.
• The process continues until the data is received at the port on the highest application layer.
4
• Only four OSI Model layers such as 7,4,3,2 are specified at the TCP/IP
protocol suit for internet communication.
• Application L7, Transport L4, Internet L3 and Datalink L2 layers
• Internet layer use the IP Protocol (IPv4,IPv6 or RPL)
• Packet routing occurs as : Each router has the information about the
path to the destination.

• *Transmission Control Protocol (TCP)

5
Internet Protocols
• Internet layers receives and forwards data to the next layer using IPv4 or IPv6.
Internet Protocol Version 4 (ipv4)
Let n= total number of header words.
Features of IPv4 :
• IP header consist of 5 words. The header can extend when using option and
padding words. Data stack to the network layer has maximum v=(n+len) words
where v<=(214-n).
• Header first ,second and third word fields are as shown in the figure.
• Header fourth and fifth words are source IP address and destination IP Address.
• IP protocol transport is half duplex unacknowledged dataflow from internet
layer at one end(end1) to internet layer of other end(end2).
• Each IP layer data stack is called IP Packet and this packet is not guaranteed to
reach the destination when the transport layer protocol is UDP, and guaranteed
to reach the destination when the transport layer protocol is TCP.
• One packet communicates in one direction in an instant.
* User Datagram Protocol (UDP), Transmission Control Protocol (TCP)
7
Internet protocol version6
• The features of this protocol are:
• Provisions a larger addressing space.
• Permits hierarchical address allocation, and thus route aggregation across the internet,
and limits the expansion of routing table.
• Provides additional optimization for the delivery of services using routers, subnets and
interfaces.
• Manages device mobility, security and configuration aspects.
• Expanded and simple use of multicast addressing.
• Provides jumbo grams (big size datagram)
• Extensibility of options.

• An IPv4 address is of size 32bit, the IPv6 address has a size of [Link]
IPv6 has a vastly enlarge address space compared to Ipv4.
• The IPv6 address provides a numerical label.
• It identifies a network interface of a node or other network nodes and subnets
participating in IPv6 internet.
• The IPv6 header structure is more simpler as it mainly focuses on the
addressing part of the source and destination.
• It is concerned more with addressing than with reliability of data delivery.
RPL [IPv6 Routing protocol for Low Power Lossy networks(LLNs)]

• Low Power Lossy Network refers to a constrained nodes


network, which has low data transfer rate relative to IP
• IETF has given specifications for RPL for ROLL network.
• RPL is non-storing routing mode.
• In case of error or no acknowledgment, a retransmission can be
made.

* Routing Over Low power and Lossy networks (ROLL)


6LoWPAN
• Internet layer IPv6 receive and transmits from/to adaptation layer.
• Low‐power Wireless Personal Area Networks over IPv6.
• Allows for the smallest devices with limited processing ability to transmit
information wirelessly using an Internet protocol.
• Allows low‐power devices to connect to the Internet.
• Low-power devices need to limit data size per instance. Data compression
reduces data size. Fragmentation of data also reduces data size per instance.
• Created by the Internet Engineering Task Force (IETF)
• Features of 6LoWPANs
• Allows IEEE 802.15.4 radios to carry 128‐bit addresses of Internet Protocol version 6
(IPv6).
• Header compression and address translation techniques allow the IEEE 802.15.4 radios
to access the Internet.
• IPv6 packets compressed and reformatted to fit the IEEE 802.15.4 packet format.
IP addressesing in the IoT
• An IP header consist of source and destination addresses, called IP addresses.
• The internet generally uses IPv4 addresses.
• IoT/M2M use IPv6 addresses.

• The addressing schemes are:


• IPv4 address consist of 32bits.
• However it can be considered as four decimal numbers separated by dots.
• ex: [Link] for 32 bits 11000110 10001000 00111000 00000010 .
Each decimal number is decimal number is decimal value of an octet.(=8
bits)
• IP addresses can be from [Link] to [Link].
Static IP Address:

• A static IP address is one assigned by the internet service provider.


• The service provider may provide an individual just one address.
• When a company has a number of hosts a service provider may
provide a class C network address consist of a group of 254 IP
addresses. Ex: n.m.k.x  x in between 0 to 255
Dynamic IP

• Once the device is connected to the internet it needs an IP address.


• When the device connected to the router, the router and the device
use the Dynamic host control protocol (DHCP) which assigns an IP
address at an instant to the device.
Domain Names System
(DNS)
• An Application which provides the IP address for the corresponding
service from the named domain service

• For example, an IP address, [Link] (11000110 10001000 00111000


00000010) registered domain name [Link] for the IP address.
Application layer protocols: HTTP,
HTTPS,FTP,TELNET and ports
• TCP/IP suit consists of a number of application layer protocols.
• For example HTTP, HTTPS, FTP, Telnet and others. A port uses a
protocol for sending and receiving messages.
• Message must be sent/receive from the right port.

20
Hyper Text Transfer Protocol (HTTP) and HTTPS port
• HTTP is the protocol that supports communication between web
browsers and web servers.
• A “Web Server” is a HTTP server
• A “Web Browser” is a HTTP client
• HTTP port number is 80. HTTP server listens and responds to only
port 80.
• Ex: [Link] 
[Link]
• HTTPS (HTTP over Secure Socket Layer) port number is 443
• Important features:
• HTTP is the standard protocol
• HTTP is a stateless protocol
• HTTP is a file transfer-like protocol/FTP
• HTTP protocol is very light and speedy
• HTTP is flexible
• HTTP protocol is based on OOPS
Other ports

• Internet Assigned number Authority (IANA) reserves the port


numbers.
• Port 0 means the host itself
• 0 to 1023 are predefined ports. 4096 to 49152 are unregistered and
left for user
• FTP is a file transfer protocol. It is a stateful protocol. Telnet is for
remote connection to a computer

22
Data Collection, Storage and
Computing using a Cloud
Platform: Introduction
• Saving devices data at a local server for the device nodes.
• Communicating and saving the devices data in the files locally on
removable media.
• Communicating and saving data at a local node/remote node, which
is a part of a distributed DBMS
• Communication on the internet and saving at data centre/web server.

• Cloud is a new generation method for data collection, storage and


computing.

*Database management system (DBMS) 23


Cloud computing paradigm for data
collection, storage and computing
• Cloud computing paradigm is a great evolution in
Information and communication technology(ICT).
• Resource: refers to one that can be read(used) ,
written(created of changed) or executed(processed).
Atomic (not-further divisible) information, which is usable
during computations
• System resource: Refers to an operating system (OS),
memory, network, server, software or application
• Environment: Refers to an environment for programming,
program execution or both
• For example, cloud9 programming environment online for the
BeagleBone
• Windows environment for programming and execution of
applications
• Google App Engine environment for creation and execution of
web applications in Python or Java
• Platform: Platform denotes the basic hardware, operating
system and network for using that for the software applications
or services over that the programs can be run or developed
• Edge Computing: A computing at the logical extremes of a
network.
• A type of computing that pushes the frontier of computing
applications, data, and services away from centralised nodes
to the computing nodes or data generating nodes
• Distributed Computing: Refers to computing and usages of
resources which are distributed at multiple computing
environments over Internet
• Can be considered as one computing system (location independent)
• Service: An application calls a service for utilizing the
capabilities
• Binds to Service Level Agreement (SLA) between service (provider end
point) and application (end point) 26
• Web Service: An application identified by a URI
• Described and discovered using the XML based web-service description language
(WSDL)
• Service Oriented Architecture (SOA): A software architecture model
which consists of Services, Messages, Operations and Processes
• Web Computing: Refers to computing using resources at computing
environment of web server(s) or web services over Internet
• Grid Computing: Refers to computing using the pooled interconnected
grid of computing resources and environments in place of web servers
• Utility Computing: Refers to computing using focus on service levels
with optimum amount of resources allotted when required and takes
the help of pooled resources and environments for the hosting
applications
• Ex: The applications utilize the services
• Cloud Computing: Refers to computing using a collection of services
available over Internet that deliver computational functionality on the
infrastructure of a service provider for connected systems, and
enabling distributed, grid and utility computing.
*Uniform Resource Identifier (URI), Extensible Markup Language (XML) 27
• Key Performance Indicator (KPI): Refers to a set of values
• Usually consisting of one or more raw monitored values including
minimum, average and maximum specifying the scale
• Service expected to be fast, reliable and secure Offers guaranteed
KPI
• Elasticity: Denotes that an application can deploy local as
well as remote applications or services
• Release them after the application usage
• The user incurs the costs as per the usages and KPIs
• Resilient Computing: Refers to the ability of offering and
maintaining the accepted QoS and KPIs
• In presence of the identified challenges, defined and appropriate
resilience metrics, and protecting the service
• XAAS: A software architectural concept that enables
deployment and development of applications, and offering
of services using web and Service-oriented architecture
(SOA) 28
Cloud Computing Paradigm
• A collection of services available over Internet
• Delivers the computational functionality
• Deploys infrastructure of a cloud service provider
• Deploys computing infrastructure on a utility or grid computing or web-services
• A computing environment that includes network, system, grid of computers or
servers or data centres.

29
Virtualised Environment
• Offers a running environment made to appear as one to all
applications and services, but in fact, physically two or
many running environments and platforms may be present
Characteristic of Virtualised Environment
• Enables applications and services to execute in an
independent execution environment (heterogeneous
computing environment)
• Each one of them stores and executes in isolation on the
same platform, though in fact, it may actually execute or
access to a set of data centres or servers or distributed
services and computing systems
Cloud Computing Features &
Advantages

• On demand self-service to users for the provision of


storage, computing servers, software delivery and server
time
• Resource pooling in multi-tenant model
• Network broad accessibility in virtualised environment to
the heterogeneous users, clients, systems and devices
• Elasticity and virtualisation
• Massive scale availability and scalability
• Maintainability and homogeneity
• Provisioning of in-between service level agreements (SLAs)
• Resilient computing and advanced security
• Low cost
31
Concerns
• Requirement of a constant high speed Internet
connection
• Limitations of the services available
• Possible data loss
• Non delivery as per defined SLA specified
performance
• Different APIs and protocols used at different clouds
• Security in multi-tenant environment needs high
trust and low risks, and Loss of users’ control
* service-level agreement (SLA) , application program interface (API)
Cloud Deployment Models
• Public Cloud: provisioned by educational institutions,
industries, government institutions or business or enterprise
• Private Cloud: exclusive for use by institutions, industries,
business or enterprise and is meant for private use in the
organisation by the employees
• Community Cloud: Exclusive for use of a community formed
by institutions, industries, businesses or enterprises, and for
use within the community
• Hybrid Cloud: A set of two or more distinct clouds (public,
private or community) with distinct data stores and
applications that are binding between them deploy the
proprietary or standard technology
Cloud service models
• Cloud Computing = SaaS + PaaS + IaaS + DaaS.

• SaaS: Software as a Service


• The responsibilities of the cloud service provider─
• The software control
• Maintenance,
• Updation to new version and infrastructure, and Platform and resource
requirements
• PaaS: Platform as a Service
• Responsibilities of the cloud service provider as per the developers’
requirements of ─
• The platform
• Network
• Resources
• Maintenance
• Updation
• Security 34
35
• IaaS: Infrastructure as a Service
• IaaS the responsibilities of the cloud service provider─
• A service model where the applications develop or use the
infrastructure (computing systems, network and security) which
made available through Internet on demand on rent (pay as per
use in multi tenancy model) by a developer or user
• DaaS: Data as a Service
• Responsibilities of a data center service provider─
• Service model where the data store or data warehouses made
available through Internet on demand on rent (pay as per use in
multi tenancy model) to an enterprise
• Data center management, 24×7 power, control, network,
maintenance, scale up, data replicating and mirror nodes and
systems as well as physical security
IoT Cloud- based data collection, storage and
computing services using Nimbits.
• Enables IoT on an open source distributed cloud
• Nimbits cloud PaaS deploys an instance of Nimbits Server at the
device nodes
• Functions as M2M system data store, data collector and logger and
access to historical data.
• Processes a specific type of data and can store it.
• Time- or geo-stamping of the data.
• Architecture a cloud-based Google App Engine
• Nimbits clients provide over Internet, data collection in real-time,
charts and graphical plots of collected data and data entry.

37
38
Subscription Data Feed
• A subscription data feed is a special point for each user
that logs system messages, events, alerts from other
points which are subscribed by a service and more

Data Channels
• A user can create a data-feed channel which shows the
system events and messages that also shows data alerts
which are subscribed to show up in the feed
• The user subscribing to the data point of other users also,
and configure the subscription(s) to send messages to the
feed
• The user observing the idle, high or low alerts here in real
time. The user data feed is just another Nimbits data point
Data Generation & Store
Architecture
• A NimbitsServerL which deploys at each device node
• The server at device node is an instance of the NimbitsSeverS
at the cloud
• Each NimbitsServerL of the device node generates the
calculation objects for device nodes
Data Generation and Architecture
• Each node also hosts an XMPPServerL, an instance of the
XMPPSeverC at the cloud
• XMPPServerL deploys at each device node and generates the
data feed channels for the XMPP messages and alerts
• Each XMPPServerL sends feeds to XMPPSeverC
• Each node also hosts an XMPPServerL, an instance of the
XMPPSeverC at the cloud
Data Point and its Child
Points
• Data Point and its Child PointsA, data point means a collected value
of a sensor in a group of sensors.
• Data points organise the data in a number of ways.
• For example, points can have child points.
• Child points mean sub-points, for example, if light level is a data
point then light on or off is a child point and light level above or
below the threshold can be another child point.
Folders and Subfolders
• Points can be in the folders
• The folders can go as deep as like in a tree
• Tree means a folder having several subfolders, a subfolder having
several subfolders, till the leaf sub folder
Nimbits Support
• Multiple programming languages, including Arduino,
new Arduino Library
• Push functions from Arduino cloud, JavaScript,
HTML or the [Link] Java library
• Nimbits server functions as a backend platform
• Data point can relay data between the software
systems, or hardware devices such as Arduino, using
the cloud as a backend
• An Open Source Java Library [Link] enables easy
development of JAVA, Web and Android solutions
(Nimbits data, alerts, messages on mobile)
Nimbits Features
• Edge computing locally on embedded systems, built up
of local applications
• Runs the rules and pushes important data up to the
cloud running when connected over Internet
• An instance of Nimbits Server hosts at the device nodes
which is when enabled
• Data visualisation for data of connected sensors to IoT
devices
• Supports the alerts subscription, generation and
sending in real time over Internet
• Creates streams of data objects, and stores them in a data
point series
• Data accessibility and monitoring from anywhere, and is
used to shape the behaviour of connected devices and
software
• Supports the mbed, Arduino, Raspberry Pi based and other
hardware platform based IoT devices.
• Web service APIs are easy to implement on device hardware
acting as clients to Nimbits web services, and connect to the
web service and send data.
• Deploys software on Google App Engine, any J2EE server on
Amazon EC2 or on a Raspberry Pi
45
Cloud computing features and advantages
• Cloud computing
Cloud deployment models
1. Public cloud
2. Private cloud
3. Community cloud
4. Hybrid cloud

IoT cloud based data collection , storage ,computing using Nimbits:


• Nimbits enables on an open source distributed cloud.
• Nimbits cloud PaaS deploys an instance of Nimbits Server at the device
nodes.
• Nimbits server is a class hierarchy [Link].
• Nimbits works as backend platform.
• It supports multiple programming languages.
• An open source java library called [Link]
• It provides a rule engine for connecting sensors, persons

You might also like