A QoS-aware service discovery and selection mechanism for ...

13
A QoS-aware service discovery and selection mechanism for IoT environments 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

Transcript of A QoS-aware service discovery and selection mechanism for ...

Page 1: 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)

Page 2: A QoS-aware service discovery and selection mechanism for ...

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

Page 3: A QoS-aware service discovery and selection mechanism for ...

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

Page 4: A QoS-aware service discovery and selection mechanism for ...

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

Page 5: A QoS-aware service discovery and selection mechanism for ...

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

Page 6: A QoS-aware service discovery and selection mechanism for ...

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

Page 7: A QoS-aware service discovery and selection mechanism for ...

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

Page 8: A QoS-aware service discovery and selection mechanism for ...

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

Page 9: A QoS-aware service discovery and selection mechanism for ...

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

Page 10: A QoS-aware service discovery and selection mechanism for ...

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

Page 11: A QoS-aware service discovery and selection mechanism for ...

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

Page 12: A QoS-aware service discovery and selection mechanism for ...

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

Page 13: A QoS-aware service discovery and selection mechanism for ...

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