Tybscitsem 5 Archofiotunit 123
Tybscitsem 5 Archofiotunit 123
Tybscitsem 5 Archofiotunit 123
o architecture refers to the description of the main conceptual elements, the actual elements
of a target system, how they relate to each other, and principles for the design of the
architecture.
o A conceptual element refers to an intended function, a piece of data, or a service. An actual
element, meanwhile, refers to a technology building block or a protocol.
o The term “reference architecture” relates to a generalized model that contains the richest
set of elements and relations that are of relevance to the domain “Internet of Things.”
o The applied architecture is then the blueprint used to develop the actual system solution
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
1
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
Within existing work for deriving requirements and creating architectures or reference models for
IoT and M2M
• The overall design objective of IoT architecture shall be to target a horizontal system of
real-world services that are open, service-oriented, secure, and offer trust.
• Design for reuse of deployed IoT resources across application domains Design for a set of
support services that provide open service-oriented capabilities and can be used for
application development and execution.
• Furthermore, well-defined service interfaces and application programming interfaces
(APIs) are required to facilitate application development, as are the appropriate Software
Development Kits (SDK).
• Design for different abstraction levels that hide underlying complexities and
heterogeneities.
o The first thing that needs to be provided is a set of mechanisms that ensure security
and trust.
o Authentication and authorization of access to use services as well as to be able to
provide services is then a second requirement.
o The third requirement is the capability to be able to do auditing and to provide
accountability so that stakeholders can enforce liability if the need occurs.
• Design for ensuring trust, security, and privacy.
• Design for scalability, performance, and effectiveness.
• Design for evolvability, heterogeneity, and simplicity of integration.
• Design for simplicity of management.
o Autoconfiguration and autoprovisioning are key and well-known means that can
ease deployment of IoT devices, and are also very important to lower operating
expenditures (OPEX).
• Design for different service delivery models.
o Cloud and virtualization technologies play a key enabler role in delivering future IoT
services.
• Design for lifecycle support
o The lifecycle phases are: planning, development, deployment, and execution.
Management aspects include deployment efficiency, design time tools, and run-time
management.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
2
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
3
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
In addition to the functional layers, three functional groups cross the different layers, namely
Management, Security, and IoT Data and Services.
• Management, as the name implies, deals with management of various parts of the system
solution related to its operation, maintenance, administration, and provisioning.
• Security is about protection of the system, its information and services, from external
threats or any other harm.
• Data and Service processing can, from a topological perspective, be done in a very
distributed fashion and at different levels of complexity.
first consideration is that standards are developed across a number of different industries. There
are a number of standardization organizations and bodies, both proper Standards Development
Organizations (SDO) as well as special interest groups and alliances that develop standards
specifications.
• Different national and international bodies ratify standards by SDOs, whereas standard
specifications developed by special interest groups and alliances are normally agreed-upon
and adopted by market actors such as technology manufacturers.
second consideration is that some standardization activities define entire systems or parts of
systems, and other standards organizations target development of specific pieces of technologies,
for instance, specific protocols.
• System standards can address a 3G mobile communication network as defined within the
3rd Generation Partnership Project (3GPP) or standards towards the Smart Grid as done by
the National Institute of Standards and Technology (NIST).
third and final consideration is about the lifecycle process of standards. Many times, standards are
emerging as a result of collaborative research involving both academia and industry.
• Full forms
o Standards Development Organizations (SDO)
o International Telecommunications Union (ITU)
o International Organization for Standardization (ISO)
o European Telecommunications Standards Institute (ETSI)
o European Committee for Electrotechnical Standardization (CENELEC)
o World Wide Web Consortium (W3C)
o Internet Engineering Task Force (IETF)
o Information and Communications Technology (ICT)
o 3rd Generation Partnership Project (3GPP)
o National Institute of Standards and Technology (NIST)
o Request For Comments (RFC)
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
4
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
5
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
There are two main domains, a network domain and a device and gateway domain.
The Device and Gateway Domain contains the following functional/topological entities:
• M2M Device: This is the device of interest for an M2M scenario, for example, a
device with a temperature sensor.
• M2M Area Network: This is typically a local area network (LAN) or a Personal Area
Network (PAN) and provides connectivity between M2M Devices and M2M
Gateways.
• M2M Gateway: The device that provides connectivity for M2M Devices in an M2M
Area Network towards the Network Domain.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
6
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
The SCL is a collection of functions that are exposed through the open interfaces or reference
points mIa, dIa, and mId (ETSI M2M TC 2013b). Because the main topological entities that SCL
can deploy are the Device, Gateway, and Network Domain, there are
three types of SCL:
1. DSCL (Device Service Capabilities Layer),
2. GSCL (Gateway Service Capabilities Layer), and
3. NSCL (Network Service Capabilities Layer).
2. Generic Communication (xGC). The NGC is the single point of contact for
communication towards the GSCL and DSCL. It provides transport session
establishment and negotiation of security mechanisms, potentially secure
transmission of messages, and reporting of errors such as transmission errors.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
7
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
3. Reachability, Addressing, and Repository (xRAR). This is one of the main service
capabilities of the ETSI M2M architecture. The NRAR hosts mappings of M2M Device
and Gateway names to reachability information (routable address information such
as IP address and reachability status of the device such as up or down), and
scheduling information relating to reachability, such as whether an M2M Device is
reachable between 10 and 11 o’clock.
4. Communication Selection (xCS): This capability allows each xSCL to select the best
possible communication network when there is more than one choice or when the
current choice becomes unavailable due to communication errors.
5. Remote Entity Management (xREM). The NREM provides management capabilities
such as Configuration Management (CM) for M2M Devices and Gateways (e.g.
installs management objects in device and gateways), collects performance
management (PM) and Fault Management (FM) data and provides them to NAs or
M2M Management Functions, performs device management to M2M Devices and
Gateways such as firmware and software (application, SCL software) updates, device
configuration, and M2M Area Network configuration.
6. SECurity (xSEC). These capabilities provide security mechanisms such as M2M
Service Bootstrap, key management, mutual authentication, and key agreement
(NSEC performs mutual authentication and key agreement while the GSEC and DESC
initiate the procedures), and potential platform integrity mechanisms.
7. History and Data Retention (xHDR). The xHDR capabilities are optional capabilities,
in other words, they are deployed when required by operator policies. These
capabilities provide data retention support to other xSCL capabilities (which data to
retain) as well as messages exchanged over the respective reference points.
8. Transaction Management (xTM). This set of capabilities is optional and provides
support for atomic transactions of multiple operations. An atomic transaction
involves three steps: (a) propagation of a request to a number of recipients, (b)
collection of responses, and (c) commitment or roll back whether all the
transactions successfully completed or not.
9. Compensation Broker (xCB). This capability is optional and provides support for
brokering M2M-related requests and compensation between a Customer and a
Service Provider.
10. Telco Operator Exposure (NTOE). This is also an optional capability and provides
exposure of the Core Network service offered by a Telecom Network Operator.
11. Interworking Proxy (xIP). This capability is an optional capability and provides
mechanisms for connecting non-ETSI M2M Devices and Gateways to ETSI SCLs.
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
• The ETSI M2M architecture assumes that applications (DA, GA, NA) exchange
information with SCLs by performing CRUD (Create, Read, Update, Delete) operations
on a number of Resources following the RESTful (Representational State Transfer)
architecture paradigm.
• In addition to the CRUD operations, ETSI M2M defines two more operations: NOTIFY
and EXECUTE. The NOTIFY
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
9
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
OGC includes, among other working groups, the Sensor Web Enablement (SWE) (OGC
SWE 2013) domain working group, which develops standards for sensor system models
(e.g. Sensor Model Language, or SensorML), sensor information models (Observations &
Measurements, or O&M), and sensor services that follow the Service-Oriented
Architecture (SOA) paradigm, as is the case for all OGC-standardized services.
The functionality that is targeted by OGC SWE includes:
▪ Discovery of sensor systems and observations that meet an application’s
criteria.
▪ Discovery of a sensor’s capabilities and quality of measurements.
▪ Retrieval of real-time or time-series observations in standard encodings.
▪ Tasking of sensors to acquire observations.
▪ Subscription to, and publishing of, alerts to be issued by sensors or sensor
services based upon certain criteria.
OGC SWE includes the following standards:
▪ SensorML and Transducer Model Language (TML), which include a model
and an XML schema for describing sensor and actuator systems and
processes
▪ Observations and Measurements (O&M), which is a model and an XML
schema for describing the observations and measurements for a sensor
(Observations and Measurements, O&M).
▪ SWE Common Data model for describing low-level data models (e.g.
serialization in XML) in the messages exchanged between OGC SWE
functional entities.
▪ Sensor Observation Service (SOS), which is a service for requesting,
filtering, and retrieving observations and sensor system information.
▪ Sensor Planning Service (SPS), which is a service for applications requesting
a user-defined sensor observations and measurements acquisition.
▪ PUCK, which defines a protocol for retrieving sensor metadata for serial
port (RS232) or Ethernet-enabled sensor devices.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
11
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
• An M2M and IoT system contain communicating entities, and therefore the corresponding
communication model needs to capture the communication interactions of these entities.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
12
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
Main concepts
• The IoT is a support infrastructure for enabling objects and places in the
physical world to have a corresponding representation in the digital
world.
• The reason why we would like to represent the physical world in the
digital world is to remotely monitor and interact with the physical world
using software.
• In the digital world, a parking spot is a variable with a binary value
(“available” or “occupied”). The parking lot payment station also needs
to be represented in the digital world in order to check if a recently
parked car owner actually paid the parking fee.
For the IoT Domain Model, three kinds of Device types are the most
important:
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
13
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
Further considerations
Identification of Physical Entities is important in an IoT system in order for
any User to interact with the physical world though the digital world.
(a) primary identification that uses natural features of a Physical
Entity
(b) secondary identification when using tags or labels attached to the
Physical Entity
2.4.2 Information model
• information is defined as the enrichment of data (raw values without relevant or
usable context) with the right context, so that queries about who, what, where, and
when can be answered.
• The attribute values are updated as a result of the associated services to a Virtual
Entity. The associated services, in turn, are related to Resources and Devices as seen
from the IoT Domain Model.
• Virtual Entity object contains simple attributes/properties:
o entityType to denote the type of entity, such as a human, car, or room (the
entity type can be a reference to concepts of a domain ontology, e.g. a
carontology);
o a unique identifier; and zero or more complex attributes of the class
Attributes.
o The Virtual Entity in the IoT Information Model is described with only a few
simple attributes, the complex Attribute associated with sensor/actuator/
tag services.
• attributes or properties that could exist in a Virtual Entity description
o Location and its temporal information are important because Physical
Entities represented by Virtual Entities exist in space and time. These
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
14
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
15
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
• The need for communicating Devices and digital artifacts was the motivation for the
Communication FG.
• The need to compose simple IoT services in order to create more complex ones, as
well as the need to integrate IoT services (simple or complex) with existing
Information and Communications Technology (ICT) infrastructure, is the main driver
behind the introduction of the Service Organization and IoT Process Management
FGs respectively.
• Device functional group
o contains all the possible functionality hosted by the physical Devices that
are used for instrumenting the Physical Entities
• Communication functional group
o communication mechanisms used by the relevant Devices in an actual
system in order to transfer information to the digital world components
or other Devices.
• IoT Service functional group
o The IoT Service FG corresponds mainly to the Service class from the IoT
Domain Model, and contains single IoT Services exposed by Resources
hosted on Devices or in the Network (e.g. processing or storage
Resources).
• Virtual Entity functional group
o corresponds to the Virtual Entity class in the IoT Domain Model, and
contains the necessary functionality to manage associations between
Virtual Entities with themselves as well as associations between Virtual
Entities and related IoT Services, i.e. the Association objects for the IoT
Information Model.
• IoT Service Organization functional group
o all functional components that support the composition and
orchestration of IoT and Virtual Entity services. Moreover, this FG acts as
a service hub between several other functional groups such as the IoT
Process Management
• IoT Process Management functional group
o The IoT Process Management FG is a collection of functionalities that
allows smooth integration of IoT-related services
• Management functional group
o Support functions such as management of ownership, administrative
domain, rules and rights of functional components, and information
stores are also included in the Management FG.
• Security functional group
o include privacy mechanisms such as anonymization of collected data,
anonymization of resource and Service accesses (Services cannot deduce
which Human User accessed the data), and un-linkability (an outside
observer cannot deduce the Human User of a service by observing
multiple service requests by the same User).
• Application functional group
o The Application FG is just a placeholder that represents all the needed
logic for creating an IoT application.
• Modular IoT functions
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
16
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
2.5 Introduction
Reference Architecture is a starting point for generating concrete architectures and actual
systems.
Views are useful for reducing the complexity of the Reference Architecture blueprints by
addressing groups of concerns one group at a time.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
17
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
• Functional View: Description of what the system does, and its main functions.
• Information View: Description of the data and information that the system handles.
• Deployment and Operational View: Description of the main real world components of
the system such as devices, network routers, servers, etc.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
18
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
• Network FC is responsible for message routing & forwarding and the necessary
translations of various identifiers and addresses.
o between network layer identifiers to MAC and/or physical network
identifiers
o between high-level human readable host/node identifiers to network layer
addresses (e.g. Fully Qualified Domain Names (FQDN) to IP addresses, a
function implemented by a Domain Name System (DNS) server)
o translation between node/service identifiers and network locators in case
the higher layers above the networking layer use node or service identifiers
that are decoupled from the node addresses in the network (IPv4 to IPv6
translation)
• End-to-End Communication FC is responsible for end-to-end transport of
application layer messages through diverse network and MAC/PHY layers.
o This FC is responsible for hosting any necessary proxy/cache and any
protocol translation between networks with different
transport/application layer technologies. HTTP-CoAP proxy, which
performs transport-layer protocol translation.
IoT Service functional group
• IoT Service FG consists of two FCs:
o The IoT Service FC and
o the IoT Service Resolution FC:
• The IoT Service FC
o is a collection of service implementations, which interface the related and
associated Resources.
o For a Sensor type of a Resource, the IoT Service FC includes Services that receive
requests from a User and returns the Sensor Resource value in synchronous or
asynchronous (e.g. subscription/notification) fashion.
o The services corresponding to Actuator Resources receive User requests for
actuation, control the Actuator Resource, and may return the status of the
Actuator after the action.
• The IoT Service Resolution FC
o contains the necessary functions to realize a directory of IoT Services that allows
dynamic management of IoT Service descriptions and
discovery/lookup/resolution of IoT Services by other Active Digital Artifacts.
o Dynamic management includes methods such as creation/update/ deletion
(CUD) of Service description, and can be invoked by both the IoT Services
themselves, or functions from the Management FG (e.g.bulk creation of IoT
Service descriptions upon system start-up).
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
19
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
o The Virtual Entity Registry FC maintains the Virtual Entities of interest for the
specific IoT system and their associations.
o The Virtual Entity Resolution FC maintains the associations between Virtual Entities
and IoT Services, and offers services such as creating/reading/updating/deleting
associations as well as lookup anddiscovery of associations. (finding devices)
o The Virtual Entity and IoT Service Monitoring FC includes:
▪ functionality to assert
▪ discover new associations
▪ continuous monitoring
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
20
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
o The Member FC manages membership information about the relevant entities in an IoT
system, such as capabilities, ownership, and access rules & rights.
o The State FC (logs) is similar to the Configuration FC, and collects and logs state
information from the current FCs, which can be used for fault diagnosis, performance
analysis and prediction
o The Reporting FC is responsible for producing compressed reports
Information description
o Virtual Entity context information, i.e. the attributes (simple or complex) as
represented by parts of the IoT Information model (attributes that have values and
metadata such as the temperature of a room).
o IoT Service output itself is another important part of information generated by an IoT
system. For example, this is the information generated by interrogating a Sensor or a
Tag Service.
o Virtual Entity descriptions in general, which contain not only the attributes coming from
IoT Devices (e.g. ownership information).
o Associations between Virtual Entities and related IoT Services.
o Virtual Entity Associations with other Virtual Entities (e.g. Room #123 is on Floor #7).
o Device Descriptions such as device capabilities (e.g. sensors, radios).
Information handling
An IoT system is typically deployed to monitor and control Physical Entities. Monitoring and
controlling Physical Entities is in turn performed by mainly the Devices, Communication, IoT
Services, and Virtual Entity FGs in the functional view.
The presentation of information handling in an IoT system assumes that FCs exchange and
process information. The exchange of information between FCs follows the interaction patterns
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
21
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
The Deployment and Operational View depends on the specific actual use case and
requirements
Devices view as Physical Entities deployed in the parking lot, as well as the occupancy sign.
o There are two sensor nodes (#1 and #2), each of which are connected to eight metal/car
presence sensors.
o The two sensor nodes are connected to the payment station through wireless or wired
communication.
o The payment station acts both as a user interface for the driver to pay and get a
payment receipt as well as a communication gateway that connects the two sensor
nodes and the payment interface physical devices (displays, credit card slots, coin/note
input/output, etc.)
o The occupancy sign also acts as a communication gateway for the actuator node (display
of free parking spots), and we assume that because of the deployment, a direct
connection to the payment station is not feasible
o The two main applications connected to this management system are human user
mobile phone applications and parking operation center applications.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
22
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
23
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
Parking Lot Deployment & Operational View, Resources, Services, Virtual Entities, Users.
• At the bottom layer is the market or application domain, which may be smart grid, connected
home, or smart health, etc.
• The second layer consists of sensors that enable the application. Examples of such sensors are
temperature sensors, humidity sensors, electric utility meters, or cameras.
• The third layer consists of interconnection layer that allows the data generated by sensors to be
communicated, usually to a computing facility, data center, or a cloud. There the data is
aggregated with other known data sets such as geographical data, population data, or economic
data. The combined data is then analyzed using machine learning and data mining techniques.
To enable such large distributed applications, we also need the latest application level
collaboration and communication software, such as, software defined networking (SDN),
services oriented architecture (SOA), etc.
• Finally, the top layer consists of services that enable the market and may include energy
management, health management, education, transportation etc.
• In addition to these 7 layers that are built on the top of each other, there are security and
management applications that are required for each of the layers and are, therefore, shown on
the side.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
24
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
and they send acknowledgment for reliability guarantees, thus can be used to maintain
connectivity as well. In frame-based mode, nodes are not communicating and hence, they
send an empty frame at pre-specified intervals (about 30 second typically).
• Channel Hopping: IEEE802.15.4e introduces channel hopping for time slotted access to the
wireless medium. Channel hopping requires changing the frequency channel using a pre-
determined random sequence.
• Network formation: Network formation includes advertisement and joining components. A
new device should listen for advertisement commands and upon receiving at least one such
command, it can send a join request to the advertising device. In a centralized system, the
join request is routed to the manger node and processed there while in distributed systems,
they are processed locally. Once a device joins the network and it is fully functional, the
formation is disabled and will be activated again if it receives another join request.
3.5 WirelessHART
• WirelessHART is a datalink protocol that operates on the top of IEEE 802.15.4 PHY and adopts
Time Division Multiple Access (TDMA) in its MAC. It is a secure and reliable MAC protocol that
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
26
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
uses advanced encryption to encrypt the messages and calculate the integrity in order to offer
reliability.
• consists of a network manager, a security manager, a gateway to connect the wireless network
to the wired networks, wireless devices as field devices, access points, routers and adapters. The
standard offers end-to-end, per-hop or peer-to- peer security mechanisms. End to end security
mechanisms enforce security from sources to destinations while per-hop mechanisms secure it
to next hop only
3.5 Z-Wave
• Z-Wave is a low-power MAC protocol designed for home automation and has been used for IoT
communication, especially for smart home and small commercial domains. It covers about 30-
meter point-to-point communication and is suitable for small messages in IoT applications, like
light control, energy control, wearable healthcare control and others. It uses CSMA/CA for
collision detection and ACK messages for reliable transmission. It follows a master/slave
architecture in which the master control the slaves, send them commands, and handling
scheduling of the whole network
anywhere in peer-to-peer. ZigBee standard defines two stack profiles: ZigBee and ZigBee Pro.
These stack profiles support full mesh networking and work with different applications allowing
implementations with low memory and processing power. ZigBee Pro offers more features
including security using symmetric-key exchange, scalability using stochastic address
assignment, and better performance using efficient many-to-one routing mechanisms
3.8 DASH7
• DASH7 is a wireless communication protocol for active RFID that operates in globally available
Industrial Scientific Medical (ISM) band and is suitable for IoT requirements. It is mainly
designed for scalable, long range outdoor coverage with higher data rate compared to
traditional ZigBee. It is a low-cost solution that supports encryption and IPv6 addressing. It
supports a master/slave architecture and is designed for burst, lightweight, asynchronous and
transitive traffic. Its MAC layer features
• Filtering: Incoming frames are filtered using three processes; cyclic redundancy check (CRC)
validation, a 4-bit subnet mask, and link quality assessment. Only the frames that pass all
three checks are processed further.
• Addressing: DASH7 uses two types of addresses: the unique identifier which is the EUI-64 ID
and dynamic network identifier which is 16-bit address specified by the network
administrator.
• Frame format: The MAC frame has a variable length of maximum 255 bytes including
addressing, subnets, estimated power of the transmission and some other optional fields.
4.2 Ipv6
• An Ipv6 address uses 128 bits as opposed to 32 bits in IPv4.
• IPv6 addresses are written using hexadecimal, as opposed to dotted decimal in IPv4.
• Because an hexadecimal number uses 4 bits this means that an IPv6 address consists of 32
hexadecimal numbers.
• These numbers are grouped in 4’s giving 8 groups or blocks. The groups are written with a :
(colon) as a separator.
• group1:group2: ……etc…. :group8
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
28
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
4.3 6LoWPAN
• IPv6 over Low power Wireless Personal Area Network (6LoWPAN) is the first and most
commonly used standard in this category. It efficiently encapsulates IPv6 long headers in
IEEE802.15.4 small packets, which cannot exceed 128 bytes. The specification supports different
length addresses, low bandwidth, different topologies including star or mesh, power
consumption, low cost, scalable networks, mobility, unreliability and long sleep time. The
standard provides header compression to reduce transmission overhead, fragmentation to meet
the 128-byte maximum frame length in IEEE802.15.4, and support of multi-hop delivery.
Frames in 6LoWPAN use four types of headers:
• No 6loWPAN header (00),
• Dispatch header (01),
• Mesh header (10) and
• Fragmentation header (11).
• In No 6loWPAN header case, any frame that does not follow 6loWPAN specifications is
discarded.
• Dispatch header is used for multicasting and IPv6 header compressions.
• Mesh headers are used for broadcasting; while
• Fragmentation headers are used to break long IPv6 header to fit into fragments of
maximum 128-byte length.
4.4 6TiSCH
• 6TiSCH working group in IETF is developing standards to allow IPv6 to pass through Time-Slotted
Channel Hopping (TSCH) mode of IEEE 802.15.4e datalinks.
• It defines a Channel Distribution usage matrix consisting of available frequencies in columns and
time-slots available for network scheduling operations in rows. This matrix is portioned into
chucks where each chunk contains time and frequencies and is globally known to all nodes in
the network.
• The nodes within the same interference domain negotiate their scheduling so that each node
gets to transmit in a chunk within its interference domain. Scheduling becomes an optimization
problem where time slots are assigned to a group of neighboring nodes sharing the same
application. The standard does not specify how the scheduling can be done and leaves that to
be an application specific problem in order to allow for maximum flexibility for different IoT
applications. The scheduling can be centralized or distributed depending on application or the
topology used in the MAC layer
4.5 DHCP
• DHCP Architecture
o The DHCP architecture consists of DHCP clients, DHCP servers, and DHCP relay agents on
a network. The clients interact with servers using DHCP messages in a DHCP
conversation to obtain and renew IP address leases.
• DHCP Client Functionality
o A DHCP client is any network-enabled device that supports the ability to communicate
with a DHCP server in compliance with RFC 2131, for the purpose of obtaining dynamic
leased IP configuration and related optional information.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
29
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
• Lease Durations
o When a scope is created, the lease duration is set to eight days by default. However
there are situations when the administrator might want to change the lease duration.
• DHCP Messages
• DHCPDiscover
o Broadcast by a DHCP client when it first attempts to connect to the network. The
DHCPDiscover message requests IP address information from a DHCP server.
• DHCPOffer
o Broadcast by each DHCP server that receives the client DHCPDiscover message and has
an IP address configuration to offer to the client. The DHCPOffer message contains an
unleased IP address and additional TCP/IP configuration information, such as the subnet
mask and default gateway. More than one DHCP server can respond with a DHCPOffer
message. The client accepts the best offer, which for a Windows DHCP client is the first
DHCPOffer message that it receives.
• DHCPRequest
o Broadcast by a DHCP client after it selects a DHCPOffer. The DHCPRequest message
contains the IP address from the DHCPOffer that it selected. If the client is renewing or
rebinding to a previous lease, this packet might be unicast directly to the server.
• DHCPAck
o Broadcast by a DHCP server to a DHCP client acknowledging the DHCPRequest message.
At this time, the server also forwards any options. Upon receipt of the DHCPAck, the
client can use the leased IP address to participate in the TCP/IP network and complete
its system startup. This message is typically broadcast, because the DHCP client does not
officially have an IP address that it can use at this point. If the DHCPAck is in response to
a DHCPInform, then the message is unicast directly to the host that sent the
DHCPInform message.
• DHCPNack
o Broadcast by a DHCP server to a DHCP client denying the client’s DHCPRequest message.
This might occur if the requested address is incorrect because the client moved to a new
subnet or because the DHCP client’s lease has expired and cannot be renewed.
• DHCPDecline
o Broadcast by a DHCP client to a DHCP server, informing the server that the offered IP
address is declined because it appears to be in use by another computer.
• DHCPRelease
o Sent by a DHCP client to a DHCP server, relinquishing an IP address and canceling the
remaining lease. This is unicast to the server that provided the lease.
• DHCPInform
o Sent from a DHCP client to a DHCP server, asking only for additional local configuration
parameters; the client already has a configured IP address.
• DHCP Lease Process
o A DHCP-enabled client obtains a lease for an IP address from a DHCP server. Before the
lease expires, the DHCP client must renew the lease or obtain a new lease. Leases are
retained in the DHCP server database for a period of time after expiration. By default,
this grace period is four hours and cleanup occurs once an hour for a DHCP server
running Windows Server 2003. This protects a clients lease in case the client and server
are in different time zones, the internal clocks of the client and server computers are
not synchronized, or the client is off the network when the lease expires.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
30
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
4.7 RPL
• RPL offers different level of security by utilizing a Security field after the 4-byte ICMPv6 message
header. Information in this field indicates the level of security and the cryptography algorithm
used to encrypt the message. RPL offers support for data authenticity, semantic security,
protection against replay attacks, confidentiality and key management. Levels of security in RPL
include Unsecured, Preinstalled, and Authenticated. RPL attacks include Selective Forwarding,
Sinkhole, Sybil, Hello Flooding, Wormhole, Black hole and Denial of Service attacks.
4.8 CORPL
• An extension of RPL is CORPL, or cognitive RPL, which is designed for cognitive networks and
uses DODAG topology generation but with two new modifications to RPL. CORPL utilizes
opportunistic forwarding to forward the packet by choosing multiple forwarders (forwarder set)
and coordinates between the nodes to choose the best next hop to forward the packet to.
DODAG is built in the same way as RPL. Each node maintains a forwarding set instead of its
parent only and updates its neighbor with its changes using DIO messages. Based on the
updated information, each node dynamically updates its neighbor priorities in order to
construct the forwarder set
4.9 CARP
• Channel-Aware Routing Protocol (CARP) is a distributed routing protocol designed for
underwater communication. It can be used for IoT due to its lightweight packets. It considers
link quality, which is computed based on historical successful data transmission gathered from
neighboring sensors, to select the forwarding nodes.
• There are two scenarios: network initialization and data forwarding.
o In network initialization, a HELLO packet is broadcasted from the sink to all other nodes
in the networks.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
31
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
o In data forwarding, the packet is routed from sensor to sink in a hop- by-hop fashion.
Each next hop is determined independently.
• The main problem with CARP is that it does not support reusability of previously collected data.
In other words, if the application requires sensor data only when it changes significantly, then
CARP data forwarding is not beneficial to that specific application. An enhancement of CARP was
done in E-CARP by allowing the sink node to save previously received sensory data. When new
data is needed, E-CARP sends a Ping packet which is replied with the data from the sensors
nodes. Thus, E-CARP reduces the communication overhead drastically
UNIT 3
Transport layer protocols
5.1 TCP
• TCP is a connection-oriented protocol, which means a connection is established and maintained
until the application programs at each end have finished exchanging messages. It determines
how to break application data into packets that networks can deliver, sends packets to and
accepts packets from the network layer, manages flow control, and—because it is meant to
provide error-free data transmission—handles retransmission of dropped or garbled packets as
well as acknowledgement of all packets that arrive.
• when a Web server sends an HTML file to a client, it uses the HTTP protocol to do so. The HTTP
program layer asks the TCP layer to set up the connection and send the file. The TCP stack
divides the file into packets, numbers them and then forwards them individually to the IP layer
for delivery. Although each packet in the transmission will have the same source and
destination IP addresses, packets may be sent along multiple routes. The TCP program layer in
the client computer waits until all of the packets have arrived, then acknowledges those it
receives and asks for the retransmission on any it does not (based on missing packet numbers),
then assembles them into a file and delivers the file to the receiving application.
• Retransmissions and the need to reorder packets after they arrive can introduce latency in a TCP
stream. Highly time-sensitive applications like voice over IP (VoIP) and streaming video generally
rely on a transport like User Datagram Protocol (UDP) that reduces latency and jitter (variation
in latency) by not worrying about reordering packets or getting missing data retransmitted.
5.2 MPTCP
• The core idea of multipath TCP is to define a way to build a connection between two hosts and
not between two interfaces (as standard TCP does).
• For instance, Alice has a smartphone with 3G and WiFi interfaces (with IP addresses 10.11.12.13
and 10.11.12.14) and Bob has a computer with an Ethernet interface (with IP address
20.21.22.23).
• In standard TCP, the connection should be established between two IP addresses. Each TCP
connection is identified by a four-tuple (source and destination addresses and ports). Given this
restriction, an application can only create one TCP connection through a single link. Multipath
TCP allows the connection to use several paths simultaneously. For this, Multipath TCP creates
one TCP connection, called subflow, over each path that needs to be used.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
32
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
5.3 UDP
• UDP (User Datagram Protocol) is an alternative communications protocol to Transmission
Control Protocol (TCP) used primarily for establishing low-latency and loss-tolerating
connections between applications on the internet.
• UDP is an ideal protocol for network applications in which perceived latency is critical, such as
in gaming and voice and video communications, which can suffer some data loss without
adversely affecting perceived quality. In some cases, forward error correction techniques are
used to improve audio and video quality in spite of some loss.
• UDP can also be used in applications that require lossless data transmission when the
application is configured to manage the process of retransmitting lost packets and correctly
arranging received packets. This approach can help to improve the data transfer rate of large
files compared to TCP.
• In the Open Systems Interconnection (OSI) communication model, UDP, like TCP, is in Layer 4,
the transport layer. UDP works in conjunction with higher level protocols to help manage data
transmission services including Trivial File Transfer Protocol (TFTP), Real Time Streaming
Protocol (RTSP), Simple Network Protocol (SNP) and domain name system (DNS) lookups.
• User datagram protocol features
• The user datagram protocol has attributes that make it advantageous for use with applications
that can tolerate lost data.
• It allows packets to be dropped and received in a different order than they were transmitted,
making it suitable for real-time applications where latency might be a concern.
• It can be used for transaction-based protocols, such as DNS or Network Time Protocol.
• It can be used where a large number of clients are connected and where real-time error
correction isn't necessary, such as gaming, voice or video conferencing, and streaming media.
5.4 DCCP
• Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol.
DCCP implements reliable connection setup, teardown, Explicit Congestion
Notification (ECN), congestion control, and feature negotiation.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
33
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
5.5 SCTP
• The Stream Control Transmission Protocol (SCTP) is a computer networking communications
protocol which operates at the transport layer and serves a role similar to the popular
protocols TCP and UDP.
• SCTP provides some of the features of both UDP and TCP: it is message-oriented like UDP and
ensures reliable, in-sequence transport of messages with congestion control like TCP. It differs
from those protocols by providing multi-homing and redundant paths to increase resilience and
reliability.
• In the absence of native SCTP support in operating systems, it is possible to tunnel SCTP over
UDP as well as to map TCP API calls to SCTP calls so existing applications can use SCTP without
modification In the absence of native SCTP support in operating systems, it is possible
to tunnel SCTP over UDP as well as to map TCP API calls to SCTP calls so existing applications can
use SCTP without modification
• SCTP applications submit their data to be transmitted in messages (groups of bytes) to the SCTP
transport layer. SCTP places messages and control information into separate chunks (data
chunks and control chunks), each identified by a chunk header. The protocol can fragment a
message into a number of data chunks, but each data chunk contains data from only one user
message. SCTP bundles the chunks into SCTP packets. The SCTP packet, which is submitted to
the Internet Protocol, consists of a packet header, SCTP control chunks (when necessary),
followed by SCTP data chunks (when available).
• One can characterize SCTP as message-oriented, meaning it transports a sequence of messages
(each being a group of bytes), rather than transporting an unbroken stream of bytes as does
TCP. As in UDP, in SCTP a sender sends a message in one operation, and that exact message is
passed to the receiving application process in one operation. In contrast, TCP is a stream-
oriented protocol, transporting streams of bytes reliably and in order. However TCP does not
allow the receiver to know how many times the sender application called on the TCP transport
passing it groups of bytes to be sent out. At the sender, TCP simply appends more bytes to a
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
34
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
queue of bytes waiting to go out over the network, rather than having to keep a queue of
individual separate outbound messages which must be preserved as such.
• The term multi-streaming refers to the capability of SCTP to transmit several independent
streams of chunks in parallel, for example transmitting web page images together with the web
page text. In essence, it involves bundling several connections into a single SCTP association,
operating on messages (or chunks) rather than bytes.
5.6 TLS
Transport Layer Security (TLS) – and its predecessor, Secure Sockets Layer (SSL), which is now
deprecated by the Internet Engineering Task Force (IETF) – are cryptographic protocols that
provide communications security over a computer network Several versions of the protocols find
widespread use in applications such as web browsing, email, instant messaging, and voice over
IP (VoIP). Websites are able to use TLS to secure all communications between their servers and web
browsers.
The TLS protocol aims primarily to provide privacy and data integrity between two or more
communicating computer applications. When secured by TLS, connections between a client (e.g., a web
browser) and a server (e.g., wikipedia.org) have one or more of the following properties:
• The connection is private (or secure) because symmetric cryptography is used to encrypt the
data transmitted. The keys for this symmetric encryption are generated uniquely for each
connection and are based on a shared secret negotiated at the start of the session. The server
and client negotiate the details of which encryption algorithm and cryptographic keys to use
before the first byte of data is transmitted. The negotiation of a shared secret is both secure
(the negotiated secret is unavailable to eavesdroppers and cannot be obtained, even by an
attacker who places themselves in the middle of the connection) and reliable (no attacker can
modify the communications during the negotiation without being detected).
• The identity of the communicating parties can be authenticated using public-key cryptography.
This authentication can be made optional, but is generally required for at least one of the
parties (typically the server).
• The connection is reliable because each message transmitted includes a message integrity check
using a message authentication code to prevent undetected loss or alteration of the data
during transmission
Client-server applications use the TLS protocol to communicate across a network in a way designed to
prevent eavesdropping and tampering.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
35
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
Since applications can communicate either with or without TLS (or SSL), it is necessary for the client to
indicate to the server the setup of a TLS connection. One of the main ways of achieving this is to use a
different port number for TLS connections, for example port 443 for HTTPS. Another mechanism is for
the client to make a protocol-specific request to the server to switch the connection to TLS; for example,
by making a STARTTLS request when using the mail and news protocols.
Once the client and server have agreed to use TLS, they negotiate a stateful connection by using
a handshaking procedure. The protocols use a handshake with an asymmetric cipher to establish not
only cipher settings but also a session-specific shared key with which further communication is
encrypted using a symmetric cipher. During this handshake, the client and server agree on various
parameters used to establish the connection's security:
• The handshake begins when a client connects to a TLS-enabled server requesting a secure
connection and the client presents a list of supported cipher suites (ciphers and hash functions).
• From this list, the server picks a cipher and hash function that it also supports and notifies the
client of the decision.
• The server usually then provides identification in the form of a digital certificate. The certificate
contains the server name, the trusted certificate authority (CA) that vouches for the authenticity
of the certificate, and the server's public encryption key.
• The client confirms the validity of the certificate before proceeding.
• To generate the session keys used for the secure connection, the client either:
• encrypts a random number with the server's public key and sends the result to the
server (which only the server should be able to decrypt with its private key); both
parties then use the random number to generate a unique session key for subsequent
encryption and decryption of data during the session
• uses Diffie–Hellman key exchange to securely generate a random and unique session
key for encryption and decryption that has the additional property of forward secrecy: if
the server's private key is disclosed in future, it cannot be used to decrypt the current
session, even if the session is intercepted and recorded by a third party.
This concludes the handshake and begins the secured connection, which is encrypted and decrypted
with the session key until the connection closes. If any one of the above steps fails, then the TLS
handshake fails and the connection is not created.
5.7 DTLS
Datagram Transport Layer Security (DTLS) is a communications protocol that
provides security for datagram-based applications by allowing them to communicate in a way that is
designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on
the stream-oriented Transport Layer Security (TLS) protocol and is intended to provide similar security
guarantees. The DTLS protocol datagram preserves the semantics of the underlying transport — the
application does not suffer from the delays associated with stream protocols, but has to deal
with packet reordering, loss of datagram and data larger than the size of a datagram network packet.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
36
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
6.1 HTTP
• HTTP stands for Hypertext Transfer Protocol. It's the network protocol used to deliver virtually
all files and other data (collectively called resources) on the World Wide Web, whether they're
HTML files, image files, query results, or anything else. Usually, HTTP takes place through TCP/IP
sockets
• A browser is an HTTP client because it sends requests to an HTTP server (Web server), which
then sends responses back to the client. The standard (and default) port for HTTP servers to
listen on is 80, though they can use any port.
• What are "Resources"?
• HTTP is used to transmit resources, not just files. A resource is some chunk of information that
can be identified by a URL (it's the R in URL). The most common kind of resource is a file, but a
resource may also be a dynamically-generated query result, the output of a CGI script, a
document that is available in several languages, or something else.
• Like most network protocols, HTTP uses the client-server model: An HTTP client opens a
connection and sends a request message to an HTTP server; the server then returns a response
message, usually containing the resource that was requested. After delivering the response, the
server closes the connection (making HTTP a stateless protocol, i.e. not maintaining any
connection information between transactions).
6.2 CoAP
The Constrained Application Protocol (CoAP) is another session layer protocol designed by IETF
Constrained RESTful Environment (Core) working group to provide lightweight RESTful (HTTP) interface.
Representational State Transfer (REST) is the standard interface between HTTP client and servers.
However, for lightweight applications such as IoT, REST could result in significant overhead and power
consumption. CoAP is designed to enable low-power sensors to use RESTful services while meeting their
power constrains. It is built over UDP, instead of TCP commonly used in HTTP and has a light mechanism
to provide reliability. CoAP architecture is divided into two main sublayers: messaging and
request/response. The messaging sublayer is responsible for reliability and duplication of messages
while the request/response sublayer is responsible for communication. CoAP has four messaging modes:
confirmable, non- confirmable, piggyback and separate. Confirmable and non-confirmable modes
represent the reliable and unreliable transmissions, respectively while the other modes are used for
request/response. Piggyback is used for client/server direct communication where the server sends its
response directly after receiving the message, i.e., within the acknowledgment message. On the other
hand, the separate mode is used when the server response comes in a message separate from the
acknowledgment, and may take some time to be sent by the server. As in HTTP, CoAP utilizes GET, PUT,
PUSH, DELETE messages requests to retrieve, create, update, and delete, respectively
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
37
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
6.3 XMPP
Extensible Messaging and Presence Protocol (XMPP) is a messaging protocol that was designed originally
for chatting and message exchange applications. It was standardized by IETF more than a decade ago.
Hence, it is well known and has proven to be highly efficient over the internet. Recently, it has been
reused for IoT applications as well as a protocol for SDN. This reusing of the same standard is due to its
use of XML which makes it easily extensible. XMPP supports both publish/ subscribe and request/
response architecture and it is up to the application developer to choose which architecture to use. It is
designed for near real-time applications and, thus, efficiently supports low-latency small messages. It
does not provide any quality of service guarantees and, hence, is not practical for M2M
communications. Moreover, XML messages create additional overhead due to lots of headers and tag
formats which increase the power consumption that is critical for IoT application. Hence, XMPP is rarely
used in IoT but has gained some interest for enhancing its architecture in order to support IoT
applications
6.4 AMQP
The Advanced Message Queuing Protocol (AMQP) is another session layer protocol that was designed
for financial industry. It runs over TCP and provides a publish/ subscribe architecture which is similar to
that of MQTT. The difference is that the broker is divided into two main components: exchange and
queues. The exchange is responsible for receiving publisher messages and distributing them to queues
based on pre-defined roles and conditions. Queues basically represent the topics and subscribed by
subscribers which will get the sensory data whenever they are available in the queue
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
38
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
6.5 MQTT
Message Queue Telemetry Transport (MQTT) was introduced by IBM in 1999 and standardized by OASIS
in 2013. It is designed to provide embedded connectivity between applications and middleware on one
side and networks and communications on the other side. It follows a publish/subscribe architecture,
where the system consists of three main components: publishers, subscribers, and a broker. From IoT
point of view, publishers are basically the lightweight sensors that connect to the broker to send their
data and go back to sleep whenever possible. Subscribers are applications that are interested in a
certain topic, or sensory data, so they connect to brokers to be informed whenever new data are
received. The brokers classify sensory data in topics and send them to subscribers interested in the
topics.
oneM2M
oneM2M is a global organization that creates requirements, architecture, API specifications, security
solutions and interoperability for Machine-to-Machine and IoT technologies.
oneM2M specifications provide a framework to support a wide range of applications and services such
as smart cities, smart grid, connected car, home automation, public safety, and health.
oneM2M standard employs a simple horizontal, platform architecture that fits within a three layer
model comprising applications, services and networks. In the first of these layers, Application Entities
(AEs) reside within individual device and sensor applications. They provide a standardized interface to
manage and interact with applications. Common Services Entities (CSEs) play a similar role in the
services layer which resides between the applications layer and the in the network layer. The network
layer ensures that devices and sensors and applications are able to function in a network-agnostic
manner.
In the oneM2M functional architecture two basic types of entities are defined. One is an AE (short for
Application Entity) and the other is a CSE (short for Common Services Entity). In this use case, the lights
and smartphone each host an AE. Also an IN-CSE (short for Infrastructure Node CSE) is hosted in the
cloud by the oneM2M Service Provider and a MN-CSE (short for Middle Node CSE) is hosted on the
Home Gateway.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
39
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
The oneM2M defined Mca reference point is used to interface an AE and CSE. The oneM2M
defined Mcc reference point is used to interface CSEs. In this use case, the Mca reference point is used
between the Light ADN-AEs and home gateway MN-CSE and between the Smartphone AE and IN-CSE.
The Mcc reference point is used between the home gateway MN-CSE and Cloud service platform IN-CSE.
In summary, applications used in the current use case are classified as follows:
• ADN-AE1: an application embedded in Light#1 with capabilities to control Light#1 and interact
with the home gateway MN-CSE through Mca reference point.
• ADN-AE2: an application embedded in Light#2 with capabilities to control Light#2 and interact
with the home gateway MN-CSE through Mca reference point
• IN-AE: a smartphone application embedded in the smartphone device with capabilities to
interact directly with the cloud service platform IN-CSE through Mcc reference point and
thereby remotely control Light#1 and Light#2.
• MN-AE: a gateway application embedded into the home gateway that interacts with MN-CSE
through Mca reference point.
ETSI M2M
ETSI Machine-to-Machine communications is an application agnostic standard containing an overall end
to end M2M functional architecture, identifying the functional entities and the related reference points.
It describes a resources-based architecture that can be used for the exchange of data and events
between machines involving communications across networks without requiring human intervention
The ETSI M2M High Level Architecture picture shows that this is a distributed system: the M2M Service
Capabilities are both at network level (M2M Service Capabilities in the Network Domain) and at local
level (M2M Service Capabilities in the M2M Gateway and in the M2M Device). These Service Capabilities
are the set of functionalities defined in the specification and are used to put in communication
applications among them; both network applications, and gateway and device applications. In essence
the goal of this architecture is "to provide the functionalities for the management of interactions
between entities (i.e. applications) involving communication across networks without requiring human
intervention" as it is described in the ETSI M2M definition of M2M.
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
40
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
In order to standardize the procedures that can be used for enabling these entities (i.e. applications) to
communicate the ETSI M2M specifications have defined a number of Reference Points and the
operations that can be used for this communication. These Reference Points are:
• mIa - M2M application interface: it is used by the Network Applications (NA) to communicate
with the Network Service Capability Layer (NSCL)
• dIa - Device application interface: it is used by the Device and Gateway Applications (DA and GA)
to communicate with the local service capabilities, i.e. Device Service Capability Layer (DSCL)
and Gateway Service Capability Layer (GSCL)
• mId - M2M to device interface: it is used for the inter-SCLs communication
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
41
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
The main operations that can be performed using these interfaces deal with the concept of M2M
Resource. A "resource" can be roughly described as a shared memory area that can be used for
exchanging data among applications. The resources can be created by an application within an SCL (at
network, gateway or device level), and can be read, updated, subscribed, notified, announced,
discovered, deleted by the same or other applications (provided they have the permissions to perform
the actions requested). Resources can be created and used freely across the ETSI M2M architecture.
Looking at the following example of a weather forecast system including applications and sensors, a
resource can be created by a Device or a Gateway Application at local level, in a GSCL (e.g. "temp"
resource) or in a DSCL (e.g. "pressure" resource), or it can be created at network level in the NSCL (e.g.
"average temp" or "humidity" resources). Network Applications can discover and access resources
created both at network level and at local level, and they can create resources too (e.g. "weather
forecast" resource).
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
42
munotes.in
TYBSC-CS SEM 5 (ARCHITECTING OF IOT) 2018-19 NOTES
FOR PROGRAMS AND SOLUTION REFER CLASSROOM NOTES
OMA
OMA Lightweight M2M is a protocol from the Open Mobile Alliance for M2M or IoT device
management. Lightweight M2M enabler defines the application layer communication protocol between
a LWM2M Server and a LWM2M Client, which is located in a LWM2M Device. The OMA Lightweight
M2M enabler includes device management and service enablement for LWM2M Devices. The target
LWM2M Devices for this enabler are mainly resource constrained devices. Therefore, this enabler makes
use of a light and compact protocol as well as an efficient resource data model. It provides a choice for
the M2M Service Provider to deploy a M2M system to provide service to the M2M User. It is frequently
used with CoAP
OMA Lightweight M2M is designed to:
• Provide Device Management functionality over sensor or cellular networks
• Transfer service data from the network to devices
• Extend to meet the requirements of most any application
WE-IT TUTORIALS CLASSES FOR BSC-IT AND BSC-CS (THANE) 8097071144/55, WEB www.weit.in
43
munotes.in