CS3004 IoT ARCHITECTURES AND PROTOCOLS
UNIT 2 - REFERENCE ARCHITECTURE
Dr. S. Vidhusha
Computer Science and Engineering
School of Engineering
Shiv Nadar University Chennai
IoT Reference architecture
The Device Layer
• In order to be considered as IoT devices, they must have some communications that either indirectly or directly
attached to the Internet.
• Each device typically needs an identity. The identity may be one of the following:
• A unique identifier (UUID) burnt into the device (typically part of the System-on-Chip, or provided by a secondary
chip)
• A UUID provided by the radio subsystem (e.g. Bluetooth identifier, Wi-Fi MAC address)
• An OAuth2 Refresh/Bearer Token (this may be in addition to one of the above)
• An identifier stored in nonvolatile memory such as EEPROM
• It is recommended that every device has a UUID (preferably an unchangeable ID provided by the core hardware) as well
as an OAuth2 Refresh and Bearer token stored in EEPROM
The Communication Layer
• Supports the connectivity of the devices.
• Multiple potential protocols for communication between the devices and the cloud which include:
1. HTTP/HTTPS
2. MQTT
3. Constrained application protocol (CoAP)
The Aggregation/Bus Layer
• The ability to support an HTTP server and/or an MQTT broker to talk to the devices.
• The ability to aggregate and combine communications from different devices and to route communications to a specific
device (possibly via a gateway)
• The ability to bridge and transform between different protocols, e.g. to offer HTTP based APIs that are mediated into an
MQTT message going to the device.
The Event Processing and Analytics Layer:
• takes the events from the bus and provides the ability to process and act upon these events.
• Stores data as in,
1. Big data
2. Cloud
3. Traditional approach – Server side
Client/External Communications Layer:
• The ability to create web-based front-ends and portals that interact with devices and with the event-processing layer.
• The ability to create dashboards that offer views into analytics and event processing.
• The ability to bridge & interact with systems outside this network using machine-to-machine communications (APIs).
Device Management
• Handled in two components,
• A server-side system (the device manager) communicates with devices via various protocols and provides both
individual and bulk control of devices.
• It also remotely manages software and applications deployed on the device. It can lock and/or wipe the device if
necessary.
The device manager works in conjunction with the device management agents.
Identity and Access Management
This layer needs to provide the following services:
• OAuth2 token issuing and validation
• Other identity services including SAML2 SSO and OpenID Connect support for identifying inbound
requests from the Web layer
• Directory of users (e.g. LDAP)
• Policy management for access control (policy control point)