A QoS-aware service discovery and selection mechanism for ...
Transcript of A QoS-aware service discovery and selection mechanism for ...
A QoS-aware service discovery and selection mechanism for IoTenvironments
KUBILAY DEMIR
Department of Electrical Electronics Engineering, Bitlis Eren University, Bitlis, Turkey
e-mail: [email protected]
MS received 26 April 2021; revised 19 July 2021; accepted 18 October 2021
Abstract. Internet of Things (IoT) enables the interconnection of computing devices embedded in everyday
objects to create smart environments. In such an environment, an user-defined task can be performed composing
multiple services provided by the physical objects. Discovering and selecting an appropriate service meeting
Quality of Services (QoS) requirements among the large amount of dynamic IoT service provider nodes are
significant issues. Existing approaches employ either query message broadcasting or regular service probing
methods to discover the IoT services with near-real-time QoS values, which are both costly approaches. In
particular, the centralized approach could suffer from single-point failure and scalability issues. To address these
issues, we propose QoS and energy-aware service discovery and selection algorithms. The proposed discovery
algorithm makes use of a peer-to-peer (P2P)-based resource discovery mechanism running on an overlay
network constructed using users’ devices. This structure paves the way for the exploration of near-real-time QoS
values of the services, avoiding high message overhead as well as overcoming the availability and scalability
shortcomings of the existing centralized and decentralized approaches. Furthermore, selecting the most con-
venient services concerning diverse QoS attributes among the services found becomes an optimization problem.
We propose an optimization algorithm that reflects the likely QoS through assigning a dominance value to
services. The performance of the proposed algorithms in terms of message overhead, latency, scalability,
reliability and QoS accuracy is evaluated through extensive simulations on a highly realistic test-bed. Perfor-
mance comparisons with the existing works clearly prove the effectiveness of the proposed idea.
Keywords. Internet of Things (IoT); service selection; service composition; quality of services (QoS);
optimization.
1. Introduction
Internet of Things (IoT) has recently been an emerging
technology to provide a seamless interconnection of smart
devices that offer a wide variety of services such as city
monitoring, smart traffic and smart metering. An increasing
number of IoT devices, such as smart appliances, smart
phones, surveillance cameras, monitoring sensors and
actuators (26–50 billion by 2020 [1]), will highlight the
importance of IoT era. It is therefore believed that a sig-
nificant effort will be placed on a high level of inter-op-
erability among the IoT devices with the ability of acting
independently in any circumstances [2]. The service-ori-
ented computing (SoC)-based IoT vision provides a flexible
framework to develop IoT applications, which reuse and
compose on-demand atomic services, provided by IoT
devices, in order to fulfill complex tasks requested by the
users [3, 4]. In order to handle such a complex task, the
atomic services that may not individually provide the
desired functionality are composed to create added-value
services for IoT applications, called composite services [1].
SoC paves the way for development and deployment of the
IoT applications in a fast, cost-effective and scalable
manner [5].
The unique characteristics of IoT communication net-
works include heterogeneous connectivity, devices, sys-
tems and protocols, which differ from those of conventional
networks [6]. Most of the services are provided by energy-
constrained and wireless-based IoT devices, placed in harsh
environments, and distributed across the city. This makes
management of Quality of Services (QoS) a challenging
task. In service composition process, availability of enor-
mous amount of services providing similar functionality
can increase possibility to find services offering the
requested QoS. However, when considering dynamic
structure of IoT communication network and devices,
acquiring real-time values of QoS attributes of a multitude
of services in a rapid manner is a difficult task to handle.
Moreover, selecting proper services among large numbers
of services found meeting the users’ requirements is also a
challenging issue. The reason is that the selected services
Sådhanå (2021) 46:242 � Indian Academy of Sciences
https://doi.org/10.1007/s12046-021-01769-z Sadhana(0123456789().,-volV)FT3](0123456789().,-volV)
could contain some QoS values hardly meeting the
requirements in addition to QoS values with extremely high
values. Moreover, selecting services with ‘‘best’’ QoS val-
ues without considering the energy of the service nodes
might lead to an insufficient service provision.
The state-of-the-art service discovery and selection
approaches span into two distinct categories, centralized
and decentralized methods: a) in the centralized methods
[1, 3, 7], the QoS values are obtained by a centralized unit,
which suffers from single-point failure, results in massive
amount of message overhead due to the aggressive probing
and provides insufficient measurements [5, 8], b) the
decentralized approaches send queries to search the
required service information over either structured or
unstructured overlay networks [9–11]: 1) the structured
peer-to-peer (P2P) discovery methods [9, 10, 12] ensure a
balanced data distribution and an effective query routing by
reorganizing the topology and bringing limitations on the
data distribution, employing distributed hashing
tables (DHT). Although the scalability of service discovery
can be enhanced employing the DHT-based P2P approa-
ches, applying such DHT-based approaches cannot guar-
antee the availability of all published service information.
This might cause severe issues in such an IoT environment,
where users and service nodes dynamically join and leave
the overlay network [12, 13]. 2) The approaches using
unstructured overlay employ constrained flooding and
broadcasting-based search algorithms in the service dis-
covery, leading to a massive amount of message overhead
and energy depletion, which are serious problems for the
resource-constrained IoT devices [9].
To address the aforementioned issues of the existing
approaches, firstly, we propose a services discovery algo-
rithm, named PAMSer, which employs an unstructured
overlay network to discover the information about the
services meeting the QoS requirements of the users. The
main difference of PAMSer is that PAMSer exploits the
other users’ online experiences in the services versus
directly querying the service nodes with restricted resources
in order to find out the convenient services. In addition,
while PAMSer inherits characteristics of decentralized
approaches, e.g. high reliability, it addresses high message
overhead and availability issues of the unstructured and
structured P2P discovery methods, which employ flooding
and DHT-based routing approaches, respectively. By doing
so, the proposed approach introduces a reliable, lightweight
and efficient service discovery method to address dynamic
IoT environments’ service discovery requirements.
PAMSer considers the QoS information of the services
in the users as distributed resources and the users as
peers in the P2P networks, and employs a resource dis-
covery technique, i.e. k-random walk algorithm, to
acquire the information in a rapid and cost-efficient way.
PAMSer uses a simple but powerful method to discover
near-real-time QoS information of the services, which
also removes the massive amount of message overhead
caused by the aggressive probing of the services or
flooding service query messages in the existing works.
Furthermore, when a degradation occurs in the service
performance, our approach allows the users to recompose
the composite service consisting of multiple services in
an affordable time period and message overhead.
Moreover, secondly, we support PAMSer proposing an
optimization algorithm, named OptSel, that aims to select
the most convenient service. In this algorithm, a dominance
value is estimated for each service. The dominance value
depends on the current energy level and QoS information.
The main difference of OptSel from existing works is that
OptSel is sensitive to detect any critical QoS attribute that
likely causes an overall performance degradation when
running the associated service. A service may have high-
quality QoS attributes with the exception of one QoS
attribute providing a sufficient quality at a critical level that
is about to corrupt the overall service provision. In order to
ensure perpetual operation of a service selected throughout
the service execution, the aforementioned case needs to be
avoided by reducing the magnitude of the related domi-
nance value. The service with the highest dominance value
is expected to have optimum QoS attributes and high
energy capacity. This method eliminates the services with
low residual energy in order to avoid energy shortage
problem during the service execution.
Contributions
• Considering the IoT’s increasingly rapid growth we
propose a highly scalable and reliable service discov-
ery algorithm, called PAMSer, which provides real-
time QoS information of the services using a P2P-
based research discovery technique, which does not
require periodical monitoring of the services or
flooding of search query messages as in the existing
approaches.
• To select the proper services among services meeting
the requested QoS values, we propose an optimization
algorithm, named OptSel, intelligently selecting the
services with optimum QoS values and residual
energy. This optimization algorithm prevents selection
of services with some risky QoS values besides other
extremely high QoS values.
• We implement our approach on OMNeT?? [36], a
simulation platform for communication systems. The
evaluation of our approach validates the outperforming
of our approach in comparison with the existing works.
The other parts of the paper are organized as follows. A
comprehensive literature review is presented in section 2,
underlying the basic principles and operating fundamentals
of the state-of-the-art studies. An example use case is
depicted in section 3. Section 4 defines the models, laying
the base for the proposed approach. Section 5 presents the
basic mechanism of the proposed method, along with ser-
vice discovery and selection processes. The performance
242 Page 2 of 13 Sådhanå (2021) 46:242
improvements of the proposed approach in comparison
with well-known algorithms are given in section 6. The
conclusions and the future research directions are presented
in section 7.
2. Related work
To put our contributions in context, related works span two
distinct subject fields: 1) service selection approaches and
2) research discovery methods.
2.1 Service selection
Increasing number of smart objects result in the creation of
highly complex applications. This makes achieving the
satisfaction level of users demand a difficult process. It is
well known that a robust and intelligent mechanism is
required to mitigate the desired QoS level. Therefore
exploring the most appropriate service composition to
perform a task in an IoT environment has been a central
research topic as a huge number of services exist [14]. This
section will provide an overview of recent studies related to
the QoS-aware service selection approaches.
An energy-centered and QoS-aware service selection
algorithm (EQSA) is proposed to efficiently find the most
suitable services among a set of services with the purpose
of conserving the energy consumed [1]. The proposed
approach starts with a pre-selection step exploring all ser-
vices that offer essential QoS level for the satisfaction of
the user request. This phase eventually results in the pro-
duction of a set of candidate services to be processed in the
next step. After the first two steps, the most convenient
services are extracted based on their energy profile and QoS
preferences. The performances of EQSA have been evalu-
ated through extensive simulations presenting promising
performance results. Physical Service Selection (PSS) is
another similar method with three-step methodology as
described earlier [15]. It performs pre-sorting, filtering and
final-sorting steps depending on user preferences. This is
achieved by observing the QoS properties of each candidate
service. Experimental results show the scalability and
efficiency of PSS in comparison with an existing scheme.
An alternative approach focusing on QoS value of a par-
ticular service exploits the prediction of QoS values of
similar users [5]. A collaborative filtering method provides
accurate predictions by exploring users with similar char-
acteristics. To do this entire task, a matrix factorization
holds the observed QoS values of available services where
a number of QoS values of services cannot be obtained.
This process ends with the prediction of unavailable QoS
values filling each gap of the matrix. The results of
experiments present significant improvements when pre-
diction is carried out. A heuristic approach with the benefits
of local and global optimizations improves the performance
of service selection process [16]. An abstract service with a
number of candidate services is defined for reducing the
selection complexity. A sampling process is performed to
deal with high volume of candidate services, resulting in
the exploration of a group of sampled services. Perfor-
mance evaluations with nine attributes have been conducted
to measure the success rate of service compositions in
association with diverse QoS constraints. A bio-inspired
decentralized service discovery and selection approach is
inspired from a well-known modem, namely Response
Threshold Model, benefiting from the intelligent organiza-
tion mechanism of biological social colonies with no cen-
tral coordination [13]. The proposed strategy assumes a
local observation in which nodes are given an inherent
threshold to indicate the potential of a node to perform a
request. Another service selection approach proposes a
semantic service composition framework that supports a
number of features of services such as signature and con-
text-aware behavior [17]. The proposed approach signifies
the services in terms of their capabilities that offer the
satisfaction level of user task.
The aforementioned strategies suffer from lack of scal-
ability, high complexity and/or poor energy efficiency.
Given the fact that the majority of the IoT devices have a
limited energy source in harsh environments, recharging or
replacing the depleted energy sources is a difficult task.
Therefore, achieving an energy-efficient service selection
mechanism while satisfying the QoS requirements of users
is a crucial task. The proposed idea provides a highly
scalable services selection approach with low complexity,
considering the QoS status and residual energy level
simultaneously. By doing this, it achieves an energy-effi-
cient operation with a robust mechanism for perpetual
execution of the selected services throughout the entire
environment. The main difference of the proposed selection
mechanism from the current state-of-the-art approaches is
that OptSel is sensitive to detect any critical QoS attribute
that likely causes an overall performance degradation when
running the associated service.
2.2 Service discovery
Centralized service registry and discovery approaches may
easily suffer from problems such as performance bottle-
necks and lack of scalability, since the numbers of service
consumers and service requests sharply increase in open
service oriented environments. Therefore, to overcome the
shortcomings of centralized service discovery approaches,
many research efforts have focused on decentralized ser-
vice discovery [13].
As the IoT environments inherently consist of a dynamic
nature due to changes on the physical connections over
time, performing resource discovery (i.e., looking for ser-
vices) on the IoT environments with a large amount of
communication nodes is a difficult task. P2P overlays pave
Sådhanå (2021) 46:242 Page 3 of 13 242
the way for creating more scalable, robust lookup topolo-
gies, not affected by dynamicity, abstracting the underlying
network infrastructure [18, 19]. Resource discovery tech-
niques employed in the decentralized service discovery
approaches can be basically clustered as structured and
unstructured, based on the overlay structures [19]. Since we
focus on QoS-aware service discovery for IoT environment
we introduce some research works proposing a QoS-aware
technique for decentralized service discovery in IoT envi-
ronments, where some important metrics are service
latency, service fault tolerance and availability.
The structured P2P discovery methods [9, 10, 12] ensure
a balanced data distribution and effective query routing
through reorganizing the topology and bringing limitations
on the data distribution employing distributed hashing
tables. In [20], the authors propose an approach using a P2P
architecture offering a self-configurable resource discovery
technique addressing large scale IoT networks. The P2P
technology builds a distributed and large scale infrastruc-
ture to realize the service discovery. This technology hin-
ders a single point of failure, and an overall unavailability
of the services caused by some of the nodes’ failures.
However, [20] does not consider some important metrics
such as energy consumption in evaluation of the IoT fea-
tures [21]. A trust-based QoS-aware service discovery
mechanism has been proposed by Li et al [11]. An onto-
logical model is offered to select services considering the
context and QoS information. Furthermore, a service dis-
covery mechanism without any additional infrastructure
overhead is composed with a trust propagation method. In
this work, the consumer experiences in services are
employed as QoS-based trust information to aid users to
pick the trustworthy services. However, the integrity and
quality of the consumer experiences are not assessed
[11, 22]. Although the scalability of service discovery can
be enhanced employing the DHT-based P2P approaches,
applying such DHT-based approaches cannot guarantee the
availability of all published service information. This might
cause severe issues in such an IoT environment, where
users and service nodes dynamically join and leave the
overlay network [12, 13].
Unstructured P2P networks are of great popularity they
possess resilience for node join–leave and do not need to
maintain a special network structure. In unstructured
approaches, flooding or its variations are employed for
resource discovery since data storage is fulfilled totally in
random manner [23–25]. Al-Oqily and Karmouch [26]
propose a decentralized and self-organizing service dis-
covery and selection algorithm using a selective flooding
routing strategy. Routing decision is done using peer
experience obtained using queries and result feedbacks. By
integrating service discovery and selection into one pro-
cess, the mechanism provides less latency and more effi-
ciency. Chakraborty et al [27] propose a P2P-based service
composition providing decentralized and fault-tolerant
architecture in pervasive environments. The key role is
given to distributed brokers, run on any node of the net-
work, to control the discovery, selection and composition.
On the other hand there are significant research works
focusing on adoption of bio-inspired computing paradigms,
providing capability to accommodate evolvability, self-
adaptivity and spatiality, in order to develop service dis-
covery and selection systems running on unstructured
overlay networks [13, 28, 29]. However, it is not clear how
these approaches would scale in large networks of different
sizes. Moreover, the proposed model does not consider
alternative ways when part of the requested resources is
missing [30].
Kosunalp and Demir [31] propose a service discovery
mechanism, named SARL, which exploits a state-less lin-
ear-type reinforcement-learning strategy to explore the
desired services among a set of neighboring users with
minimum overhead and delay. A weighting strategy is
utilized by SARL to benefit from its respective experience
of each user, whereby a weight value is assigned to each
service of neighboring users by the requesting user.
Therefore, SARL contains an intelligent mechanism in
discovering suitable services that presents better perfor-
mance outputs in terms of delay, energy efficiency and
message overhead. However, SARL does not include a
service selection mechanism, which is of great importance,
especially for critical applications. Selecting the most
convenient services concerning diverse QoS attributes
among the services found becomes an optimization prob-
lem. In this study we mainly focus on the selection of the
most suitable services rather than the services exploration
overhead on the user nodes. Hence, we employ the plain k-random walk for the exploration. We also focus on energy-
aware service selection to provide a balance in the energy
consumption of service nodes.
To address the aforementioned issues of the existing
decentralized approaches we propose a services discovery
algorithm, which employs an unstructured overlay network
to discover the information about the services meeting the
QoS requirements of the users. The main difference of the
proposed approach is that it exploits the other users’ online
experiences in the services in order to select convenient
services. We consider the QoS information in the users as
distributed resources and the users as peers in the P2P
networks. Furthermore, while it inherits characteristics of
decentralized approaches, e.g. high reliability and scala-
bility, it addresses high message overhead and availability
issues of the unstructured and structured P2P discovery
methods, which employ flooding and DHT-based routing
approaches, respectively. To do this the proposed approach
employs a resource discovery technique, i.e. k-random walk
algorithm, to acquire the information in a rapid and cost-
efficient way. Our algorithm uses a simple but powerful
method to discover near-real-time QoS information of the
services, which also removes necessity massive amount of
message overhead caused by flooding service query mes-
sages in the existing works.
242 Page 4 of 13 Sådhanå (2021) 46:242
3. Example use case
As a motivating scenario, Anne is in her home with her
2-year-old son. She would like to get a congestion-free
route recommendation for a shopping center that sells the
desired toys, using an application called Smart-Route, in
her smart phone. She wishes that the Smart-Route appli-
cation should select the route based on not only the infor-
mation provided by traffic congestion and intelligent
shopping services but also the information obtained by
smart parking, noise urbane map, air pollution services, etc.
Moreover, the route should be updated at run-time during
the driving of her car towards the shopping center. In case
of a significant change in the supplied information, the
route and/or shopping center recommendation should be
switched. This scenario is illustrated in figure 1.
To address this challenging task the application needs a
service discovery and selection mechanism, which discov-
ers services that meet the functionality and QoS require-
ments at run-time and selects convenient ones among the
services found. The selected ones should be most likely to
not compromise the QoS requirements during the service
provision (driving the car towards the shopping center). We
consider that in such a smart city there are thousands of
atomic service providers, offering services such as smart
parking, noise urbane map, air pollution, etc. This makes
the service discovery and selection process a challenging
task. In this paper, we introduce two algorithms, which
address aforementioned challenges and help the Smart-
Route application to fulfil the challenging task requested by
Anne.
4. Definition of models
We now progressively present our application and service
model, QoS model and system model, which underlie the
development of the proposed approach.
4.1 Application and service composition model
As seen in the IoT architecture depicted in figure 2 any IoT
device (sensor, actuator, etc.) or a set of IoT devices can
independently provide and advertise a service, called
atomic service and atomic service provider. Moreover, in
the IoT environment, there are cloud-based web services,
which provide historical and analytical data acquired from
the atomic services for the IoT applications. These cloud-
based web services provide relatively more stable QoS
versus the atomic services. Unlike traditional cloud-based
web services, the IoT atomic services are subject to fre-
quent changes in terms of QoS values due to dynamic
structure of IoT environment. The atomic service providers
cannot provide tangible QoS information about their ser-
vices. Therefore, to carry out a service composition meet-
ing the user requirements, we focus more on the atomic
services with dynamic nature than the cloud-based services
providing stable services.
ASP (Applications Service Provider) service model
developed on the concept of software-as-a-service adopted
by SoC is a promising application model fitting IoT para-
digm. This application model supports service-based
applications, enabling their users to select a set of services
proving the desired functionality and offering well-defined
interfaces. To achieve this, the application user does not
require predetermined agreements and a tight coupling
between transacting partners. Service-based application
model allows that applications can be built on the fly. ASP
develops, hosts and maintains the service-based applica-
tions using software-as-a-service concept on a cloud/data
center system [4].
Service-based applications help users to select multiple
services covering both QoS requirements and functional
properties. By doing so, a composite service providing a
functionality that any single atomic service cannot provide
can be achieved. In the service selection process for the
service composition the application is subject to Service
Level Agreements (SLAs), which are contracts between
Figure 1. Example use case. Figure 2. IoT architectures.
Sådhanå (2021) 46:242 Page 5 of 13 242
application users and the ASP to guarantee the QoS criteria
[32]. Furthermore, we consider a service composition
model where atomic services are independent, namely we
do not need to select one service when we selected another
one in service composition process.
4.2 Network model
The advance of IoT devices in terms of the autonomous
communication has rendered machine to machine (M2M)
communication possible in IoT paradigm in recent years. In
light of this, we consider IoT network participants as
machines (nodes) communicating with each other to fulfill
the required functionality. The participants mentioned in
the application and service composition model earlier are
atomic service provider, users and ASPs.
When a service discovery is required in the service
composition process of a user, our service discovery
mechanism (see subsection 5.1) embodies an unstructured
overlay network, as illustrated in figure 3. In the overlay
network all user nodes, requesting the services via the
applications, are equal and are included in the overlay
network. However, nodes providing the atomic services and
ASPs are not included by the overlay network. As an
inherent characteristic of unstructured overlay networks,
overlay nodes randomly connect to a constant number of
the other nodes in an ad-hoc manner. The overlay network
is formally described as a non-directed graph G = (N, E),
where N is the set of overlay node/peers and E is the set of
overlay links/edges in the overlay network, such that e =
fpi; pjg 2 E denotes an edge between peers pi and pj.
4.3 QoS model
In the selection process of optimum and sustainable ser-
vices in subsection 5.3, we employ the following QoS
model: QoS attributes can be clustered into two groups: 1)
qualitative attributes (e.g., security, privacy) and 2) quan-
titative attributes (e.g., reputation, latency, cost factor,
reliability, availability). The quantitative attributes are
quantitatively represented using metrics and numbers.
However, the qualitative attributes can be rather evaluated
in a boolean manner (i.e., satisfied (1) or not (0)). In our
experiments, to check whether the services meet the QoS
requirements, we use normalized rates of QoS values of
quantitative attributes, and boolean equivalent of qualita-
tive attributes. In the construction of our QoS model we are
inspired by a model reported in [3].
Quantitative QoS attributes are also classified into two
groups: positive attributes (e.g., throughput, reliability,
availability) and negative attributes (e.g., latency, price).
While values of the positive attributes of a services must be
higher than the required values, negative ones must be
lower than the required one.
5. Developing the PAMSer mechanism
PAMSer’s main goal is (a) obtaining near-real-time QoS
information about the requested IoT services without
causing a massive amount message overhead and (b) se-
lecting services with optimal QoS values and energy levels
among the services found meeting the basic requirements;
PAMSer is equipped with two main mechanisms to provide
aforementioned features, named RanSea and OptSel,
respectively.
5.1 Overview of RanSea
Millions of IoT nodes provide enormous amount of atomic
services in the IoT environment. In the light of this it is
clear that probing-based real-time monitoring of such a
large number of nodes gives rise to a high message over-
head, thus leading to a depletion of energy in the resource-
constrained IoT devices. To address this issue we propose a
monitoring-free method, RanSea, which exploits online
service experiences of the user nodes.
To obtain the information about the services meeting the
required QoS values, RanSea considers the information as
resources distributed over the user nodes and employs a
P2P-based resource discovery method to derive the infor-
mation. In the construction of this P2P network, since the
IoT devices create highly dynamic environment due to their
battery-resource-constrained structures, RanSea prefers to
employ an unstructured overlay network, which is of more
resilient structure against the frequent join–leave case [19].
All peers in the overlay network seen in figure 3 are the
user nodes. For the unstructured networks, flooding and
random walk strategies are most popular and well-known
resource discovery methods. However, due to their unpre-
dictable message and time complexity, we exploit k-walkerrandom walk algorithm to discover the service information.
In addition, although there are some advanced versions of
the k-walker random walk [31, 33], to clearly show the
efficiency of the proposed service selection approach in thisFigure 3. Discovery of the service information using k-walker(k ¼ 3) random walk algorithm.
242 Page 6 of 13 Sådhanå (2021) 46:242
study, we choose a plain k-walker random walk algorithm
for RanSea.
5.2 System overview
Using k-random walk algorithm, RanSea sends queries to
k neighbors of the user node requesting services as depicted
in figure 3. The neighbors forward the query to their ran-
dom neighbors until ‘‘hit’’ occurs or TTL (time-to-live) is
terminated. The query messages include the QoS require-
ments and information about the service requested by user
node. If a user node receiving the query has a real-time
experience about the services searched, it sends to the user
node requesting the service a hit message including online
QoS values and other information about the service. On the
other hand, when TTL of the query message expires, the
last node deletes the query. Increasing k values improves
search delay and reliability, though it rises message over-
head. In the evaluation part we present the optimum k valuefor our approach.
We employ a plain k-walker random walk algorithm
versus the advanced versions, since these advanced k-ran-dom walk approaches have some pros and cons depending
on the environment [33]. However, after showing that the
user service experiences can be derived using P2P model
querying and the obtained QoS information from the user is
almost more accurate and up-to-date compared with the
existing work in this work, we will advance the k-randomwalk approach for RanSea in our future works such as using
reinforcement learning technique for discovery.
If the user requesting the service information obtains the
information from k different atomic services providing
similar functionality and QoS values, it can select optimum
services using OptSel (see subsection 5.3). To do this, each
‘‘walker’’ should find a service meeting the requirements
before TTL expires. Moreover, once a service quality
degradation occurs, the user node can iterate this process to
derive new online information about the services.
5.3 Service selection, OptSel
This section presents the second phase of the service
selection process in order to explore the most suitable ser-
vice among the services discovered by k-random walk
strategy. The core motivation behind this part is to provide
efficient utilization of energy and satisfying the QoS
requirements. A dominance value for all pre-selected ser-
vices is estimated to select the best service. It is based on
the idea that the integration of QoS attributes and current
energy level would potentially allow more accurate service
selection. The first phase run by RanSea returns k candidateservices (S = S1, S2; . . ., Sk), each of which provides the
required user-defined QoS values. A candidate service, for
instance S1, is associated with an application-dependent
QoS vector, Q1 ¼ Q11;Q
21;Q
31; . . .;Q
n1, where n indicates the
number of QoS attributes. Rn is a vector containing the
required user-defined QoS values, R = R1, R2,..., Rn. The
current energy levels of IoT devices hosting the candidate
services are stored in E vector, E = E1, E2,...,En.
Although the services explored by k-random walk pro-
vide the QoS requirements, each service is expected to have
different QoS values and residual energy. This makes a
random selection for finding the best service an inefficient
way. An estimated dominance value of a candidate service
Sm, called D = D1, D2,..., Dn, reflects the suitability level of
the service for a given request. Therefore the main objec-
tive is to efficiently compute the dominance value, con-
sidering the QoS values and remaining energy level of the
services. This study approaches the service selection as an
optimization problem that targets to obtain a near-to-opti-
mal outcome. The objective function for finding the service
with the highest dominance value is given as follows in
association with meeting the QoS requirements of a given
request:
maximizeXkm¼1
Dmam ð1Þ
where k is the total number of services, and am receives 1 if
the service Sm is chosen and 0 otherwise:
am ¼ 1 : selected
0 : not selected
�ð2Þ
In order to select only one service among k services, the
sum of am values should be equal to 1:
Xkm¼1
am ¼ 1 ð3Þ
We first start with establishing a correlation among the
services in terms of QoS values. This correlation is then
integrated with energy, resulting in the estimation of the
dominance value. As QoS values of the services exceed the
user-defined requirements, each value may have different
magnitudes. An example scenario for 5 services with 3 QoS
attributes are given later. In this example, for the sake of
simplicity, QoS values are ranked from 0 to 100, and the
user-defined threshold is 50 for all QoS attributes.
Q1;2;31 ¼90; 90; 90
Q1;2;32 ¼60; 60; 60
Q1;2;33 ¼90; 90; 50
Q1;2;34 ¼80; 90; 60
Q1;2;35 ¼80; 70; 75
It is obvious that each service has an overall weight
exhibiting significant properties. For example, the service
S3 (shown as Q1;2;33 ) provides the highest service quality for
Sådhanå (2021) 46:242 Page 7 of 13 242
the first two attributes, while ensuring the lowest value for
the third attribute. This would mean that S3 is prone to
disrupt the overall quality with a small performance
degradation on the third attribute, which makes it an
unsuitable choice. In order to calculate an optimal relation
and eliminate the S3 case, we propose to multiply the part
of each QoS value exceeding its QoS threshold in terms of
percentage versus the threshold. This multiplication reflects
each QoS attribute’s value on the dominance. This calcu-
lation is formulated as follows:
YjQoSjn¼1
PerEðQnm;RnÞ ¼ 100ðQn
m � RnÞ=Rn;
wherem ¼ 1; 2; . . .; k
ð4Þ
PerEðQnm;Rn) is the percentage described earlier of the nth
QoS attribute of the mth service. By performing this opti-
mization, in calculation of the dominance value of a ser-
vice, QoS values close to the bottom limit defined by the
user significantly affect in negative way. By doing so, we
assure that a service with critical QoS values is eliminated
regardless of its other high QoS values.
Furthermore, in practical scenarios, energy source of IoT
devices is usually limited, which requires efficient usage of
energy capacity through a distributed energy consumption
strategy. This allows the IoT devices to stay awake as long
as possible. Therefore, current energy level of IoT devices
should be considered as a significant part of service selec-
tion process. In the example given earlier, the service S1 is
likely to be chosen due to its highest quality values.
However, there could be a case in practice that S1 would
not be the best selection due to its energy profile. This case
is demonstrated with example energy levels normalized by
CurEðEm) function ranging from 0 to 100 as follows:
CurEðEmÞ ¼ 10; 90; 60; 40; 80;
wherem ¼ 1; 2; ::; 5:ð5Þ
The service S1 does not seem to be the best selection
because it has the lowest energy. On the other hand, the
service S2 may not be the best option with its highest
energy capacity due to the low quality performances. We
aim to avoid this imbalance by multiplying the dominance
value calculated using the QoS values by energy level. This
is referred to as the estimated dominance where the service
provider with the highest estimated dominance value is
selected:
YjQoSjn¼1
PerEðQnm;RnÞ:CurEðEmÞ ð6Þ
With this multiplication the service S5 generates the highest
dominance value, in spite of the fact that it does not have
the best QoS values and energy level. A critical advantage
behind the idea is that it combines the current QoS features
and energy level. In summary, proposed selection strategy
involves a balanced approach with the QoS values and
current energy level of the services in order to determine
the most convenient service. Pseudocode of the optimiza-
tion mechanism of OptSel is presented in Algorithm 1.
It should be noted that the dominance value is calculated
by each user node independently based upon the comple-
tion of all explored services by RanSea. This process is
repeated for each query, in order to reflect the latest status
of QoS and energy conditions. Therefore, the complexity
level is actually dependent on the values of k and number of
service nodes. The number of the explored services for the
dominance value calculation may increase with greater
k values. While the number of the user or service nodes
does not directly impose any additional complicity in the
calculation of dominance value, high values of service and
user nodes can provide a high level of reliability in the
service discovery and improve the dominance values’
functionality in selecting the right services. To understand
this problem better, we provide an evaluation to observe the
impact of the k and service nodes on the performance in the
following section.
6. Evaluation
The main goal of PAMSer is to find services whose QoS
values meet the required QoS values. To achieve this goal,
there are two significant challenges: first, in the dynamic
IoT environment, since QoS values of the services nodes
dynamically change, obtaining real-time QoS information
of the requested services is a challenging issue. Second,
QoS attributes of a service found could have diverse values,
i.e. while some of them are top (e.g., availability), the
others are close to the acceptable bottom limit (e.g., battery
level). Therefore, deciding whether this service is the most
appropriate service, which can properly maintain the
required QoS values during service provision, in compar-
ison to other services found is another challenging issue.
242 Page 8 of 13 Sådhanå (2021) 46:242
We compare our algorithm to those of two existing
works, which represent the centralized and decentralized
methods discussed in section 2. We select a decentralized
discovery and selection approach using flooding technique,
which fairly represents the existing decentralized approa-
ches [24, 25] called ‘‘Constrained Flooding’’. Furthermore,
the centralized approaches [1, 7, 34, 35] are named ‘‘the
centralized approach’’ in the rest of the paper.
PAMSer addresses aforementioned challenges with its
lightweight and more reliable two algorithms, i.e. RanSea
and OptSel. In this section, we present an evaluation of how
well PAMSer addresses the aforementioned two challenges
in terms of the following metrics: latency (service discov-
ery and selection time), service search reliability and net-
work lifetime compared with the existing works.
In the experiments, we implement PAMSer and the other
approaches using OMNeT?? [36]. To realize a realistic
IoT environment, each run takes 24 hours and 10 service
queries are carried out by each user in each run. We repeat
each run until results become stable. In the centralized
approach, the central unit probes each service per minute
unless otherwise stated. In the constrained flooding, the
constrains are a) maximum number of hopping, i.e. 3, and
b) number of neighbors to forward the query, i.e. 3.
6.1 Message overhead
PAMSer’s most significant achievement is, in a near real
time, discovering services meeting the required QoS values
with considerably less message overhead in comparison
with the existing approaches.
Firstly, in figure 4, to show how the increase of number
of the services affects the message overhead, we raise the
number of the service nodes while keeping constant number
of users, i.e. 100, the service query frequency of users, i.e.
10 times in a day, and the service nodes’ probing frequency,
i.e. per minute, for each service node. Figure 4 shows that
while the number of service nodes increases from 100 to
400, the number of the message in the network climbs up
from 180k to 560k and 80k to 200k when using the cen-
tralized and constrained flooding methods, respectively.
However, PAMSer is almost not affected from rise of the
number of service nodes. When we increase k value from 3
to 6 and 10 to improve service search reliability and time,
we clearly see that PAMSer does not also lead to a sig-
nificant rise in the message overhead.
Moreover, since increase of the number of service nodes
and rising service probing frequency in the centralized
approaches causes similar message overhead increase, we
do not perform another test for that case (also, PAMSer and
the constrained flooding approaches do not need any
probing).
Secondly, to demonstrate effect of number of the user on
the message overhead, we increase the number of users,
while keeping constant the service node number, i.e. 400,
the service query frequency of users, i.e. 10 times in a day,
and the service nodes’ probing frequency, i.e. per minute.
Figure 5 shows that while rising the user number, all
approaches introduce similar and reasonable message
overhead increments.
We clearly see from figures 4 and 5 that increment of the
number of service nodes and users does not lead to con-
siderable rise of the message overhead when using the
PAMSer. However, in the other approaches, we see an
escalation rocketing in the message overhead, in particular
in the case of the increment of the number of service nodes.
6.2 Network scalability and reliability
Given that massive and dynamical structure of IoT net-
works, scalability and reliability of the proposed approach
for different network structures are of great importance, as
seen in figure 4, whereas PAMSer does not provide almost
any additional message overhead while sharply increasing
the number of IoT object, the other approaches undergo
high message overhead, which denotes that PAMSer pro-
vides high scalability in the case of rapid increments of IoT
devices. On the other hand, while the centralized of
approaches suffer from some shortcomings, e.g. single-
point failure, high probing costs, etc., the PAMSer and
constrained flooding approaches take advantage of a fully
distributed structure, which provides them high reliability
Figure 4. Message overhead comparison while increasing the
number of service nodes.
Figure 5. Message overhead in the case of rising the number of
user nodes.
Sådhanå (2021) 46:242 Page 9 of 13 242
against aggressive topological changes. Moreover, the
reliability of PAMSer in terms of service acquisition is
evaluated in the following subsection.
6.3 Service acquisition reliability
In the rest of the experiments, 100 service nodes and 100
user nodes are employed in each run. Moreover, the sim-
ulation setups are as follows: each run, 24 hours; each
user’s service queries, 10 times in 24 hours; and probing for
each service, per minute.
In evaluation of the service discovery systems of Ran-
Sea, we consider that reliability is the rate of successful
service query. Since failure of a single central unit causes a
catastrophic failure, we compare PAMSer to multi-agent
version of the centralized approach [8]. Since the central-
ized approach and the PAMSer/constrained flooding obtain
QoS information from the central servers and the users,
respectively, the simulation setup fails the central servers
and the users with 1% risk during the each simulation run.
Moreover, to show the effect of changes of k value and the
number of nodes on the service reliability, we run an
experiment using different k values and number of nodes.
Figure 6 shows that except for k ¼ 3, all PAMSer cases
provide much better reliability than that from the central-
ized approach (multi-agent version). We see from figure 6
that when k value is 3, PAMSer does not provide the
required reliability. Therefore PAMSer should use k ¼ 6
and 10 to provide high reliability. Furthermore, we clearly
see that constrained flooding also provides high reliability
rate akin to PAMSer with k ¼ 10. However, as shown in
figure 4, PAMSer provides this high reliability rate with
much less message overhead.
On the other hand, it is clearly seen in figure 6 that while
the number of nodes goes up, the service reliability rate
increases as in the k value. The reason for this is that when
the number of the total nodes rises in the network, neigh-
boring nodes of a user node querying the services also
increase; this scales up the probability of ‘‘hitting’’ the
service in a closer zone.
6.4 Energy efficiency and network lifetime
Given that many of the IoT devices run with constrained
battery energy, the effect of the proposed approach on
energy efficiency and network lifetime should be evaluated.
To do so, we compare PAMSer (with/without energy
awareness algorithm) to the centralized approach (with/
without energy awareness algorithm). As mentioned in
subsection 5.3 PAMSer employs OptSel mechanism, which
selects a service with optimum QoS values and battery
level. For the centralized method, as reported in [1], we
implement a pre-selection method, which selects services
meeting QoS requirements followed by selection of a ser-
vice with the highest battery level. Moreover, we imple-
ment our energy awareness method for the constrained
flooding to provide a fair comparison.
In this experiment, we consider that each service has
random energy in the initialization phase. Each service
provision leads to a constant energy usage in a service node
selected by the service selection mechanisms. Furthermore
service nodes whose energy level has a constant value are
considered as faded nodes, which might not properly
function. Nodes with no energy to provide a service are
considered as dead service nodes. On the other hand, since
k ¼ 6 provides an adequate level reliability and brings very
little message overhead as seen from the earlier results, in
this experiment, k value is set to 6.
Figure 7 demonstrates that when we use energy aware-
ness algorithms, the number of dead nodes remarkably
decreases in the all approaches. However, although PAM-
Ser does not monitor all service nodes and is not aware of
all nodes’ current residual energy, it presents a performance
similar to the centralized approach. In addition, it is clearly
seen that the constrained flooding causes catastrophic
depletion.
6.5 Accuracy
Another critical metric when assessing the service selection
mechanism of PAMSer is how up-to-date the information
Figure 6. Reliability: the rate of successful service query.
Figure 7. Effects of the energy-aware service selection mech-
anisms on network lifetime.
242 Page 10 of 13 Sådhanå (2021) 46:242
about the QoS values of the services is, which is used in the
service selection process. Figure 8 shows that when the
centralized approach increases the probing frequency, the
accuracy failure rate significantly declines. However, rais-
ing probing frequency leads to rapid escalation in the
message overhead, particularly if the service node number
is very high. On the other hand, PAMSer provides high
accurate QoS values without depending on any criterion.
On the other hand, the constrained flooding approach pro-
vides slightly better accuracy rate at the expense of high
message overhead.
6.6 Latency
In this work, time to find the QoS information about the
requested service is considered as a latency of the service
selection and composition mechanisms. As seen figure 9, in
the PAMSer, it takes 100 ms on average, whereas in the
centralized and constrained flooding approaches, service
discovery takes around 50 ms and 70 ms, respectively.
PAMSer’ latency is in a reasonable value when we consider
PAMSer’ significant advantages over the centralized
approaches regarding message overhead, reliability and
network lifetime.
6.7 Discussion
In order to assess the performance of the PAMSer com-
pared to the centralized and constrained flooding approa-
ches, a number of performance metrics have been evaluated
in a realistic simulation environment. Firstly, we increase
the number of service nodes and user nodes to observe the
behavior of the message overhead. The other approaches
face a significant message overhead with increasing number
of both service nodes and user nodes. However, PAMSer
results in stable message overhead with even varying
k value thanks to its efficient resource discovery
mechanism.
We then evaluate the reliability, which is the ratio of
service query to success. If k is selected to be 6 or 10,
PAMSer provides better reliability than multi-agent version
of the centralized approach and almost equal reliability rate
as that from the constrained flooding approach. On the
other hand, the multi-agent version of the centralized
method also demonstrates a high reliability performance as
the QoS information already exists on the local database.
However, the QoS information provided by the centralized
approach is not as up-to-date as the one obtained by
PAMSer.
One major limitation is the limited energy problem,
which requires the development of energy-efficient strate-
gies. In realistic scenarios, IoT devices are powered by
energy-constrained sources so that an IoT device with
exhausted battery will be useless. This impacts on the
overall performance of the network lifetime. We therefore
look at network lifetime, particularly focusing on the
number of nodes with no energy (dead nodes) or small
amount of energy (faded nodes). Performance results
indicate a remarkable reduction in the number of dead
nodes in use of the proposed approach. The accuracy of the
QoS information obtained is also presented to prove that
PAMSer always captures better accurate QoS metrics than
centralized methods and near the constrained flooding
approach. On the other hand, PAMSer experiences slightly
high latency on average. This is because centralized
methods spend less time to explore the services, as the QoS
information of the services is assumed to be available on
the local database. Moreover, the constrained flooding
approach spreads a lot of query messages to neighbors to
discover the service information in a short time.
7. Conclusion
This paper proposed an effective and intelligent services
discovery and selection algorithms for IoT applications.
The operating principles of the proposed approach include
two main steps: a resource discovery and a service selection
steps. In the resource discovery phase, QoS information
about the services that satisfy the user requirements isFigure 8. Accuracy of QoS values of the service selected by the
existing approaches.
Figure 9. Latency: service search time.
Sådhanå (2021) 46:242 Page 11 of 13 242
discovered by employing a P2P-based research discovery
algorithm using the k-walker random walk technique. In the
service selection phase, to find the best convenient service,
an estimated dominance value for each possible service is
calculated with respect to current energy level and QoS
values through the developed optimization model. The
estimated dominance value reflects the preferability of the
services where the service with the highest dominance
value is preferred. Performance evaluations presented sig-
nificant improvements in terms of overhead, reliability and
accuracy in comparison with the existing approaches.
Emphasis will be placed on development of solutions for
service execution failures during run-time in future.
References
[1] Khanouche M E, Amirat Y, Chibani A, Kerkar M, and
Yachir A 2016 Energy-centered and QoS-aware services
selection for Internet of Things. IEEE Trans. Automat. Sci.Eng. 13: 1256–1269
[2] Atzori L, Iera A, and Morabito G 2010 The Internet of
Things: a survey. Comput. Netw. 54: 2787–2805[3] Mabrouk N B, Beauche S, Kuznetsova E, Georgantas N, and
Issarny V 2009 QoS-aware service composition in dynamic
service oriented environments. Lecture Notes in ComputerScience. Springer, pp. 123–142
[4] Papazoglou M P 2003 Service-oriented computing: concepts,
characteristics and directions. In: Proceedings of the 4thInternational Conference on Web Information SystemsEngineering, pp. 3–12
[5] White W, Palade A, and Clarke S 2018 QoS prediction for
reliable service composition in IoT. Lecture Notes inComputer Science (including subseries Lecture Notes inArtificial Intelligence and Lecture Notes in Bioinformatics)10797: 149–160
[6] Theoleyre F, Watteyne T, Bianchi G, Tuna G, Gungor V C
and Pang A C 2015 Networking and communications for
smart cities special issue editorial. Comput. Commun. 58:1–3
[7] Li L, Li S, and Zhao S 2014 QoS-aware scheduling of
service-oriented internet of things. IEEE Trans. Ind. Infor-mat. 10: 1497–1507
[8] Kouicem A, Chibani A, Tari A, Amirat Y, and Tari Z 2014
Dynamic services selection approach for the composition of
complex services in the web of objects. In: Proceedings ofthe IEEE World Forum on Internet of Things (WF-IoT),pp. 298–303
[9] Sapkota B, Roman D, Kruk S R, and Fensel D 2006
Distributed web service discovery architecture. In: Proceed-ings of the Advanced International Conference on Telecom-munications and International Conference on Internet andWeb Applications and Services, p. 136
[10] He Q, Yan J, Yang Y, Kowalczyk R, and Jin H 2013 A
decentralized service discovery approach on peer-to-peer
networks. IEEE Trans. Services Comput. 6: 64–75[11] Li J, Bai Y, Zaman N, and Leung V C M 2017 A
decentralized trustworthy context and QoS-aware service
discovery framework for the Internet of Things. IEEE Access5: 19154–19166
[12] He Q, Yan J, Yang Y, R, and Jin H 2008 Chord4S: a P2P-
based decentralised service discovery approach. In: Pro-ceedings of the IEEE International Conference on ServicesComputing, pp. 221–228
[13] Rapti E, Houstis C, Houstis E, and Karageorgos A 2016 A
bio-inspired service discovery and selection approach for IoT
applications. In: IEEE International Conference on ServicesComputing (SCC), pp. 868–871
[14] Hamzei M and Navimipour N J 2018 Toward efficient
service composition techniques in the Internet of Things.
IEEE Internet of Things J. 5: 3774–3787[15] Jin X, Chun S, Jung J, and Lee K 2017 A fast and scalable
approach for IoT service selection based on a physical
service model. Inf. Syst. Front. 19: 1357–1372[16] Cho J H, Ko H G, and Ko I Y 2017 Adaptive service
selection according to the service density in multiple QoS
aspects. IEEE Trans. Services Comput. 9: 883–894[17] Urbieta A, Gonzalez-Beltran A, Mokhtar S B, Hossain M A,
and Capra L 2017 Adaptive and context-aware service
composition for IoT-based smart cities. Future Gener.Comput. Syst. 76: 262–274
[18] Malatras A 2015 State-of-the-art survey on P2P overlay
networks in pervasive computing environments. J. Netw.Comput. Appl. 55: 1–23
[19] Navimipour N J and Milani F S 2014 A comprehensive study
of the resource discovery techniques in Peer-to-Peer net-
works. Peer-to-Peer Netw. Appl. 8: 474–492[20] Cirani S, Davoli L, Ferrari G, Leone R, Medagliani P, Picone
M, and Veltri L 2014 A scalable and self-configuring
architecture for service discovery in the Internet of Things.
IEEE Internet of Things J. 1: 508–521[21] Pourghebleh B, Hayyolalam V, and Anvigh A 2020 A
service discovery in the Internet of Things: review of current
trends and research challenges. Wireless Netw. 26: 1–21[22] Pourghebleh B, Wakil K, and Navimipour N J A 2019
Comprehensive study on the trust management techniques in
the Internet of Things. IEEE Internet of Things J. 6:
9326–9337
[23] Li X and Wu J 2005 Searching techniques in Peer-to-Peer
networks. In: Handbook on theoretical and algorithmicaspects of sensor, ad hoc wireless, and peer-to-peernetworks. CRC Press, pp. 634–659
[24] Furno A and Zimeo E 2013 Efficient cooperative discovery
of service compositions in unstructured P2P networks. In:
Proceedings of the 21st Euromicro International Conferenceon Parallel, Distributed, and Network-Based Processing,pp. 58–67
[25] Yuan B, Liu L, and Antonopoulos N 2018 Efficient service
discovery in decentralized online social networks. FutureGener. Comput. Syst. 86: 775–791
[26] Al-Oqily I and Karmouch A 2011 A decentralized self-
organizing service composition for autonomic entities. ACMTrans. Auton. Adapt. Syst. 6: 1–18
[27] Chakraborty D, Perich F, Joshi A, Finin T, and Yesha Y
2003 A reactive service composition architecture for perva-
sive computing environments. In: Mobile and WirelessCommunications. US: Springer, pp. 53–60
[28] Ahmed T, Tripathi A, and Srivastava A 2014 Rain4Service:
an approach towards decentralized web service composition.
242 Page 12 of 13 Sådhanå (2021) 46:242
In: Proceedings of IEEE International Conference onServices Computing, pp. 267–274
[29] Ahmed T, Mrissa M, and Srivastava A 2014 MagEl: a
magneto-electric effect-inspired approach for web service
composition. In: Proceedings of the IEEE InternationalConference on Web Services, pp. 455–462
[30] Rapti E, Karageorgos A, Houstis C, and Houstis E 2017
Decentralized service discovery and selection in Internet of
Things applications based on artificial potential fields. Serv.Oriented Comput. Appl. 11: 75–86
[31] Kosunalp S and Demir K 2020 SARL: a reinforcement
learning based QoS-aware IoT service discovery model. J.Electr. Eng. 71: 368–378
[32] Asghari P, Rahmani A M, and Javadi H H S 2018 Service
composition approaches in IoT: a systematic review. J. Netw.Comput. Appl. 120: 61–77
[33] Ghorbani M, Meybodi M R, and Saghiri A M 2013 A new
version of k-random walks algorithm in peer-to-peer net-
works utilizing learning automata. In: Proceedings of the 5thConference on Information and Knowledge Technology(IKT), pp. 1–6
[34] Yaqoob I, Hashem I A T, Mehmood Y, Gani A,
Mokhtar S, and Guizani S 2017 Enabling communica-
tion technologies for smart cities. IEEE Commun. Mag.55: 112–120
[35] Duan R, Chen X, and Xing T 2011 A QoS architecture for
IOT. In: Proceedings of the IEEE International Conferenceson Internet of Things and Cyber, Physical and SocialComputing, iThings/CPSCom, pp. 717–720
[36] Varga A 2010 OMNeT??. In: Modeling and Tools forNetwork Simulation. Berlin–Heidelberg: Springer,
pp. 35–59
Sådhanå (2021) 46:242 Page 13 of 13 242