3 Engineering IoT Networks
103
Client
Server
Subscriber
Broker
Publisher
a
b
Fig. 3.4 Main communication patterns in IoT applications: (a) client/server, (b) publish/subscribe
3.2.1.5 Communication Patterns
Network nodes communicate each other by following predefined patterns. The most
used pattern is called client/server. As depicted in the message sequence chart of
Fig. 3.4a, the Client starts the interaction by asking something to the Server that
should be in listening state. Then the Server answers and the interaction ends. This
pattern requires that the Client knows the address of the information provider (i.e.,
the Server), and this is not always the case, especially in IoT networks. For instance,
one may be interested in the temperature of the room without knowing the address
of each temperature sensor inside it. Therefore a more complex pattern can be used,
named publish/subscribe. As shown in Fig. 3.4b, the device that needs information,
whose role is named Subscriber, is assumed to know a third-party device, whose
role is named Broker, that receives data from various sources named Publishers and
forwards it to various Subscribers. Subscription and publishing are performed for a
specific topic of interest to avoid broadcasting undesired data.
3.2.2 The ISO/OSI Layers
In general, data transfer between two or more end nodes of the network is a complex
task, and the usual engineering approach consists in decomposing it into smaller
and simpler problems. In telecommunication, decomposition is depicted as a set of
layers, from the user down to the physical medium. As depicted in Fig. 3.5, there
are seven layers in the original ISO/OSI Reference Model [4] and five layers in the
most used version named Simplified ISO/OSI Model since the upper three layers of
the original ISO/OSI model are merged into a single layer in the Simplified ISO/OSI
Model.
As depicted in Fig. 3.6, at each layer there are two communication entities
(denoted by rounded rectangles) that interact each other by exchanging data
103
Client
Server
Subscriber
Broker
Publisher
a
b
Fig. 3.4 Main communication patterns in IoT applications: (a) client/server, (b) publish/subscribe
3.2.1.5 Communication Patterns
Network nodes communicate each other by following predefined patterns. The most
used pattern is called client/server. As depicted in the message sequence chart of
Fig. 3.4a, the Client starts the interaction by asking something to the Server that
should be in listening state. Then the Server answers and the interaction ends. This
pattern requires that the Client knows the address of the information provider (i.e.,
the Server), and this is not always the case, especially in IoT networks. For instance,
one may be interested in the temperature of the room without knowing the address
of each temperature sensor inside it. Therefore a more complex pattern can be used,
named publish/subscribe. As shown in Fig. 3.4b, the device that needs information,
whose role is named Subscriber, is assumed to know a third-party device, whose
role is named Broker, that receives data from various sources named Publishers and
forwards it to various Subscribers. Subscription and publishing are performed for a
specific topic of interest to avoid broadcasting undesired data.
3.2.2 The ISO/OSI Layers
In general, data transfer between two or more end nodes of the network is a complex
task, and the usual engineering approach consists in decomposing it into smaller
and simpler problems. In telecommunication, decomposition is depicted as a set of
layers, from the user down to the physical medium. As depicted in Fig. 3.5, there
are seven layers in the original ISO/OSI Reference Model [4] and five layers in the
most used version named Simplified ISO/OSI Model since the upper three layers of
the original ISO/OSI model are merged into a single layer in the Simplified ISO/OSI
Model.
As depicted in Fig. 3.6, at each layer there are two communication entities
(denoted by rounded rectangles) that interact each other by exchanging data
