You are on page 1of 14

CSE3009

Internet of Things
Dr. B.KALAAVATHI
Professor Grade-1
Department of IoT
School of Computer Science and Engineering (SCOPE)
Vellore Institute of Technology Vellore
Mail: kalaavathi.b@vit.ac.in
Mobile: 94425 40803
Cabin: SJT615B
1
IoT Protocols…Application Layer…Hyper Transfer
Protocol

• Forms foundation of World Wide Web(WWW)


• Includes commands such as GET,PUT, POST, HEAD, OPTIONS, TRACE..etc
• Follows a request-response model
• Uses Universal Resource Identifiers(URIs) to identify HTTP resources

2
IoT Protocols…Application Layer…WebSocket
• Allows full-duplex communication over single socket
• Based on TCP
• Client can be a browser, IoT device or mobile application

3
WebSocket
• WebSocket: is bidirectional, a full-duplex protocol of client-server
communication,
• it starts from ws:// or wss://.
• stateful protocol, i.e. connection between client and server will
keep alive until it is terminated by either party (client or server).
• After closing the connection by either of the client and server, the
connection is terminated from both ends.

4
• When can a web socket be used?
• Real-time web application:
• uses a web socket to show the data at the client end, which is
continuously being sent by the backend server.
• data is continuously pushed/transmitted into the same
connection which is already open, that is why WebSocket is faster
and improves the application performance.
• For e.g. in a trading website or bitcoin trading, for displaying the
price fluctuation and movement data is continuously pushed by the
backend server to the client end by using a WebSocket channel.

5
• Gaming application: data is continuously received by the
server, and without refreshing the UI, it will take effect on the
screen, UI gets automatically refreshed without even
establishing the new connection.
• Chat application:
• use WebSockets to establish the connection only once for
exchange, publishing, and broadcasting the message among the
subscribers.
• reuses the same WebSocket connection, for sending and receiving
the message and for one-to-one message transfer.

6
IoT Protocols…Application Layer…XMPP

• Extensible Messaging and Presence protocol


• For Real time communication and streaming XML data between network
entities
• Used for Applications such as Multi-party chat and voice/video calls.
• Decentralized protocol and uses client server architecture.

7
XMPP
• XMPP is a short form for Extensible Messaging Presence Protocol.
• It’s protocol for streaming XML elements over a network in order to
exchange messages and presence information in close to real time.
• mostly used by instant messaging applications like WhatsApp.
• XMPP is a open source project which can be changed or extended according
to the need.
• designed for sending messages in real time. It has very efficient push
mechanism compared to other protocols.
• It determines whether you are online/offline/busy. It indicates the state.
• easy to set up an XMPP server that allows people to create accounts and
send one another messages.
• Google Talk, Facebook Messenger, and WhatsApp have all utilized XMPP
8
Pros and Cons of XMPP
• Pros
• Addressing scheme to recognize devices on the network
• Client-server architecture
• Decentralized
• Flexible
• Open standards and formalized
• Cons
• No provision for quality of service
• protocol has a large overhead of data to multiple recipients
• Absence of binary data
• Limited scope for stability

9
IoT Protocols…Application Layer…DDS

• Data Distribution service is a data-centric middleware standard for


device-to-device or machine-to-machine communication.
• Publish subscribe model where publishers create topics to which
subscribers can use.
• Provides Quality-of-service control and configurable reliability.

10
• DDS protocol uses broker-less architecture in IoT unlike
MQTT and CoAP protocols.
• DDS stands for Data Distribution Service.
• an IoT protocol developed for M2M (Machine to Machine)
Communication by OMG (Object Management Group).
• enables data exchange via publish-subscribe methodology.
• uses multicasting to bring high quality QoS to the
applications.
• can be deployed from low footprint devices to cloud.

11
12
• DDS is a fully distributed GDS (Global Data Space), to avoid
introduction of single point of failure or bottleneck.
• applications can autonomously and asynchronously read/write data in
GDS.
• publishers and subscribers can join or leave the GDS at any point in
time. (i.e. they are dynamically discovered).
• Publishers and subscribers express their intention to produce or
consume specific type of data such as topics.
• subscriptions are matched taking into account topics with details such
as (name, data type, QoS).
• Subscriptions are dynamically matched.

13
• DDS addresses the needs of applications that require real-time
data exchange like
• aerospace and defense,
• air-traffic control,
• autonomous vehicles,
• medical devices,
• robotics,
• power generation,
• simulation and testing,
• smart grid management, and
• transportation systems.
14

You might also like