6- IoT Resource Allocation and Optimization Based on Heuristic Algorithm
6- IoT Resource Allocation and Optimization Based on Heuristic Algorithm
Article
IoT Resource Allocation and Optimization Based on
Heuristic Algorithm
Arun Kumar Sangaiah 1 , Ali Asghar Rahmani Hosseinabadi 2 , Morteza Babazadeh Shareh 3, *,
Seyed Yaser Bozorgi Rad 3 , Atekeh Zolfagharian 2 and Naveen Chilamkurti 4
1 School of Computing Science and Engineering, Vellore Institute of Technology (VIT), Vellore 632014, India;
[email protected]
2 Deportment of Computer Engineering, Islamic Azad University Behshahr Branch, Behshahr 511-48515, Iran;
[email protected] (A.A.R.H.); [email protected] (A.Z.)
3 Department of Computer Engineering, Islamic Azad University, Babol Branch, Babol 47179-95449, Iran;
[email protected]
4 Department of Computer Science and Computer Engineering, La Trobe University, Melbourne VIC 3086
Australia; [email protected]
* Correspondence: [email protected]
Received: 19 December 2019; Accepted: 12 January 2020; Published: 18 January 2020
Abstract: The Internet of Things (IoT) is a distributed system that connects everything via internet.
IoT infrastructure contains multiple resources and gateways. In such a system, the problem of
optimizing IoT resource allocation and scheduling (IRAS) is vital, because resource allocation (RA)
and scheduling deals with the mapping between recourses and gateways and is also responsible
for optimally allocating resources to available gateways. In the IoT environment, a gateway may
face hundreds of resources to connect. Therefore, manual resource allocation and scheduling is not
possible. In this paper, the whale optimization algorithm (WOA) is used to solve the RA problem
in IoT with the aim of optimal RA and reducing the total communication cost between resources
and gateways. The proposed algorithm has been compared to the other existing algorithms. Results
indicate the proper performance of the proposed algorithm. Based on various benchmarks, the
proposed method, in terms of “total communication cost”, is better than other ones.
1. Introduction
Today’s world is at the beginning of the period of communication and universal processing.
In this period, society is guided towards the always connected pattern. With the introduction of new
technologies, the coverage of networks has been widened and the number of smart objects that are
connected to the network has also been increased. A new pattern called the Internet of Things (IoT)
increases the amount of information generated on the Internet through connecting people and smart
objects. Thus, the IoT creates new challenges by connecting things and humans that we may face at
any time and place [1].
The new generation of IoT has been created to achieve quality of service (QoS). Bandwidth is
the most important source in the IoT environment, and its management is necessary for higher QoS.
Moreover, the demand for multimedia services in the IoT environment has been increased dramatically.
Different services provided in the IoT environment have different features and require different QoS
methods [2,3]. The idea behind the IoT is to connect everything to each other through the internet [4,5].
It seems that there will be many applications in the future, and one of them is the smart city [5–8]. The
use of the IoT will be seen everywhere, in food, clothing, housekeeping, transportation, education,
entertainment, and so on. For example, monitoring the urban traffic situation and choosing the right
strategy to control traffic lights represents one of the most well-known uses of the IoT [9]. Since IoT is
used in many areas, many researchers have entered this field. Regardless of the type of research on the
IoT, the main purpose is to improve human life. The first studies on the IoT are referred to Ashton’s
paper [10]. Other papers have worked on sensor design, home health systems, smart grid systems,
and so on, which are somehow associated with IoT [11–13].
To understand the importance of IoT, it should be mentioned that, according to the estimates,
the number of connected devices in the IoT will reach 16 billion by 2021, and this industry will create a
market of $900 billion by 2022 in America [14,15]. Although these values are just a prediction of the
future of the IoT, what will undoubtedly occur is the expansion of the market and IoT in future decades.
The development and advancement of the IoT is not only focused on the development of hardware.
Instead, a lot of work has been done to improve the efficiency of these systems. Many of these researches
are trying to improve the efficiency of IoT-based systems by providing software methods. One of these
problems is the IoT resource allocation problem (IRAP). This focuses on reducing the communication
cost of IoT nodes. By reducing the communication cost in IoT, the efficiency of all related systems,
such as RFID (or Radio Frequency Identification) and 5th generation wireless communications (5G),
will increase. There are two types of nodes in each IoT system. The first type of node is the resource
node. Each resource node is responsible for sensing the environment and sending data to other
parts of the system. An IoT system has a lot of resource nodes that will enable it to monitor the
whole environment. The second type of node in the system is the gateway node. A gateway node is
responsible for directing traffic toward different resource nodes. In other words, a gateway node acts
like a bridge for connecting resource nodes. An IoT system uses a limited number of gateways in order
to connect resources. In such a system, the problem is which group of resources should be connected
to each particular gateway in order to reduce the whole communication cost.
In an optimal solution, resources that pass many messages would be assigned to a single gateway.
By means of this assignment, traffic between resources would not cause traffic between gateways.
In other words, most of the traffic could be controlled by a single gateway. If we have a huge amount
of traffic between gateways, there will be a bottleneck in gateway level communication [16–20].
In recent years, evolutionary algorithms have been widely used for solving optimization problems.
These algorithms, by inspiration from nature or a physical phenomenon, attempt to optimize the
solution of hard problems. Evolutionary algorithms are used for problems for which there are no
solutions in polynomial time. Using good heuristic functions makes the evolutionary algorithm
converge to the final solution at an acceptable time [21].
This paper focuses on solving the IRAP problem. In other words, the ultimate goal of this study is
to achieve an optimal allocation pattern by providing a new method for solving the IRAP problem and
a robust and new evolutionary algorithm called the whale optimization algorithm (WOA) has been
used to solve the problem. The whale algorithm was proposed by Mirjalili in 2016, and is inspired by
the collective whale hunting method [22–24].
The structure of the paper is organized as follows: Section 2 describes the related works. The
WOA is explained in Section 3. The proposed algorithm is introduced in Section 4. Simulation results
and conclusions are presented in Sections 5 and 6 respectively.
2. Related Work
In recent years, many works have been done on binding physical resources to services in the IoT
environment and other pervasive processing environments. In these environments, a physical resource
called a smart object is selected to run a service. A number of articles focus on discovering a service
based on resources and providing them to users. However, these articles do not work on resource
allocation (RA) because resources and services are directly connected [25,26]. In this section, some
papers devoted to RA are reviewed. The most important reviewed papers have been listed in Table 1.
These papers can be divided into two categories. The first one is based on deterministic algorithms.
Sensors 2020, 20, 539 3 of 26
These methods are old and not widely used todays. The second one is based on heuristic and
evolutionary algorithms and are widely used today. In the following, we investigate them separately.
generated and then converted to an optimal solution in an evolutionary process. In some papers,
the combination of several algorithms has been used to solve the RA problem. Combining several
algorithms can lead to better solutions, because each algorithm covers the weakness of other ones. For
example, in [42], the GA and ACO are combined to provide better solutions for RA problem. In [16],
the search economics algorithm is combined with the k-means clustering algorithm to generate the
Best Solutions (BS) in the shortest time. This method has focused on the IRAP problem. In recent
years the RA problem has been tackled by deep learning-based approaches. Deep learning is suitable
for problems with large scale data [43,44]. Singh et al. [45] proposed a new RA method to meet the
service level agreements (SLA). They analyzed their method by means of two different metrics. One
of them was capacity and the other one was enforcement period. They used buffering, scheduling
and rate limiting to have a better RA. Authors in [46] see everything as resources and they illustrated
their idea through RA in internet of things. Their case study was a healthcare-driven system that was
based on IoT. They proposed a new RA method for such a system. The evaluation of the proposed
method which is called IoTR4HealthCare system was benchmarked against two existing systems using
cost and latency criteria [46]. Hatti et al. [47] proposed a RA algorithm based on fuzzy classification
of jobs. In their method they improved a fuzzy interference system (FIS) for classification of the
jobs into emergent and non-emergent. The job values should be sent to a global CPU to request
resources from the cloud. Global CPU evaluates the resource need and free resources in terms of
communication and computational cost. Based on the type of the job, a global CPU allocates resources
by considering communication and computational cost. Dou et al. [48] proposed a new method which
improved a RA algorithm with anti-jamming for the IoT nodes. In this method a novel automatic
control allocation (ACA) model has been invented in order to provide an adaptive allocation and
anti-jamming transmission. Moreover, the spreading-time technology is applied to fulfil the power
and bandwidth requests of a node. In the algorithm, a new joint stepwise recursive function has been
used to allocate resources in anti-jamming situation.
- Easy implementation
Consensus-based - Not useful for
[31] 2014
approach big problems
- Considering priority
Fuzzy based job for resources
[47] 2017 - Not suitable for
classification
every environment
There are some problems in previous methods that make us motivated to propose a new method
for this problem. The first problem is, there are many different versions of RA problem in the literatures,
Sensors 2020, 20, 539 5 of 26
but just a few of them are suitable for IoT environment. So, this paper tries to present a new method
that is adjusted for RA in IoT. The second problem is the inappropriate exploring of the problem space
that can
Sensors be20,
2020, seen
x in many papers. So, this paper tries to use a powerful heuristic algorithm in order 5 of to
27
boost the exploration process. This algorithm that has been introduced in recent years is called WOA.
3. Formal Definition of IRAP
3. Formal Definition of IRAP
Before describing the proposed algorithm, the RA problem should be defined. In the problem
Before in
mentioned describing
this study, the proposed
there are twoalgorithm, the RA
types of nodes. problem
The should
first type be defined.
is resources In the
that are problem
provided to
mentioned in this study, there are two types of nodes. The first type is resources
service instances. The second node is gateways that are connected to resources. Gateways connect that are provided to
service
differentinstances.
parts of the TheIoTsecond node
system. is gateways
Each gateway isthat are connected
responsible to resources.
for controlling Gateways
the traffic connect
of a number
different partsResources
of resources. of the IoT system. Each to
can connect gateway is responsible
different gateways. Thefor controlling the traffic of a between
cost of communication number ofa
resources.
gateway and Resources can connect
all resources to different gateways.
is predetermined [16]. The cost of communication between a gateway
and all
Oneresources
aspect of is the
predetermined
problem is that[16].the resources are distributed between gateways, such a way
One aspect
that least cost ofof the problem is is
communication that the resources are distributed between gateways, such a way that
caused.
least The
cost cost
of communication is caused.
between gateways is also an important part of the total cost. So, the other aspect of the
The cost
problem between
is the kind gateways is also connection
of gateways’ an importanttopart of the
each total Because
other. cost. So, the
of other aspect
the high of the
cost of
problem is the kind of gateways’ connection to each other. Because of the
communication between gateways, each solution of the problem connects gateways with the least high cost of communication
between
number gateways,
of connections.each solution of the problem
This connection will connects
be in thegateways
form ofwith a bustheor
least number
ring. Figureof connections.
1 shows an
This connection
example will be in the
of the connection of form of a bus
resources andor ring. Figure
gateways. 1 shows an
By changing theexample of the connection
communication model, theof
resources and gateways. By changing the communication model, the cost of communication
cost of communication also varies. One of the goals of the problem is to find a pattern for RA that has also varies.
One of the cost
the lowest goalsofofcommunication.
the problem is to find a pattern for RA that has the lowest cost of communication.
Another
Another aspect
aspect is
is the
the load
load balancing
balancing in
in the
the IoT
IoT system.
system. Load
Load balancing means that
balancing means that resources
resources are
are
logically
logically divided between gateways. Gathering all resources on a gateway will cause a bottleneck in
divided between gateways. Gathering all resources on a gateway will cause a bottleneck in
the
the system.
system. TheThe way
way for
for calculating cost and
calculating cost and load
load balancing
balancing is is described
described in
in the
the objective
objective function
function
section. The problem
section. The discussed in
problem discussed in this
this article
article is
is very
very similar
similar to
to the
thescheduling
scheduling problem
problem mentioned
mentioned
in [16,36]. In the following section, objective function and problem variables are
in [16,36]. In the following section, objective function and problem variables are defined. defined.
Where |Vg | is the total number of gateways, d rj is the total cost of transferring data between jth
g
Sensors 2020, 20, 539 6 of 26
cost and denoted as Tc . The proposed algorithm tries to minimize this function. Equation (1) calculates
Tc .
P|V g | r g
j=1 j
d × d
Tc = (1)
p
where |V g | is the total number of gateways, drj is the total cost of transferring data between jth gateway
and all resources connected to it and d g is the total cost of communication between gateways which is
calculated using Equation (2). Each inside gateway communication may cause inter gateway messaging.
Hence,
communication
cost inside a gateway has an exponential effect on total communication cost.
So, drj × d g is the best equation for calculating maximum value of the communication cost (objective
function). It should be mentioned that the objective function value is supposed to be minimized [16].
In other words, we should multiply drj in d g , because it is assumed that every single gateway may
send a message to every single resource. So, by multiplying these two values, we can calculate the
total communication cost for all resources of a gateway. If we calculate this value for all gateways,
we would have numerator part of Tc fraction.
|V g | |V g |
X X
dg = lij (2)
i=1
j=1
j,i
where lij is the cost of communication between gateways i and j. drj is calculated using Equation (3).
j
|v g |
X
drj = ε jk (3)
k =1
j
where ε jk is the cost of communication between jth gateway and all resources connected to it. |v g | is the
number of connected resources to gateway j.
Another part of the fitness function is penalty P which is considered for balancing in RA. Given
that, the proposed algorithm should reduce Tc , and P is the denominator of this function so pi = 0
indicates penalty and pi = 1 indicates normal mode in gateway i. The value of p is calculated for all
|Vr |
gateways. For gateways having resources more than |V g|
, pi = 0 is mentioned to increase the value of
Tc . Equation (4) calculates p.
|V g |
X
P = 1+ Pi (4)
i=1
where |V g | is the total gateways and pi is the penalty of each gateway which is calculated using
Equation (5).
|V |
1 i f gti ≤ ε |V gr |
Pi = (5)
0 i f gt > ε |Vr |
i |V g |
In which, gti is the number of resources assigned to gateway i, |Vr | is the number of resources and
ε is a constant number. In order to simplify understanding this section, all notations and their meaning
listed below:
Tc : Total cost (the objective function)
|V g |: Total number of gateways
|Vr |: Number of resources
j
|v g |: Number of connected resources to gateway j
drj : Total cost of transferring data between jth gateway and its resources
Sensors 2020, 20, 539 7 of 26
X (t + 1) = X∗ (t) − A D (7)
where D is the distance between the position vector of both prey X(t)∗ and whale X(t), is an
element-by-element multiplication and t is the current iteration number. A and C are coefficient vectors,
and are defined as follows:
A = 2a r − a (8)
C = 2r (9)
where r is a random vector as length of X, each index of r includes a random number in [0,1], and the
value of a is decreased linearly from 2 to 0 in the iterations.
The bubble-net method can be performed in two ways. The first is the shrinking encompassing in
which, the value of a in Equation (8) and A are decreased. The second is the spiral updating position,
which is inspired by the helix-shaped movement of humpback whales around prey:
where D0 = |X∗ (t) − X(t)| is defined as the distance between the whale and prey, b is a constant value
used for specifying the logarithmic spiral shape, and l is a randomly generated value ∈ [−1.1].
The whales can swim around the victim through a shrinking circle and along a spiral-shaped path
concurrently:
X ∗ ( t ) − A D
i f p < 0.5
X (t + 1) = (11)
D0 ebl cos(2πl) + X∗ (t) i f p ≥ 0.5
where p ∈ [0,1] is a random value for describing the probability of taking either the shrinking
encompassing method or the spiral model to set the whales position. In the discovery phase,
the Humpback whales explore for prey with a random manner. The position of a whale is set by
specifying a random search agent rather than the best search agent as below:
where Xrand is a position specified randomly among the current population. The first algorithm depicts
the total structure of the WOA.
Sensors 2020, 20, 539 8 of 26
Figure2.2.Flowchart
Figure Flowchart of
of the
the proposed
proposed algorithm.
5.2.
5.2.Whale
WhaleCreating
Creating
InInthis
thisalgorithm,
algorithm, each each whale represents
represents aasolution
solutiontotothe theproblem
problem ofof RA.RA. There
There areare
twotwo types
types of
ofnodes
nodesininthethementioned
mentionedproblem: problem:gateway gatewayand andresource.
resource.Each Eachgateway
gatewayisisassignedassignedaanumbernumberof of
resources,
resources,and andtheir information
their information is sent just tojust
is sent thistogateway. On the On
this gateway. otherthehand,other gateways are connected
hand, gateways are
based on a specific
connected based topology
on a specific in order to create
topology the complete
in order to create flow
theofcomplete
information flowinofthe cloud. Dueintothe
information the
cost of data
cloud. Duetransmission
to the cost ofbetween the gateways,
data transmission their connection
between the gateways, is created with the least
their connection edges and
is created within
the
theform
leastofedges
a spanning
and in tree or a ring.
the form Accordingly,
of a spanning tree each whaleAccordingly,
or a ring. represents two eachsets of communications:
whale represents two
sets of
edges communications:
that show the connection edges between
that show the connection
gateways and edges between gateways
that show and edges
the resources that show
assigned the
to each
resources
gateway. A assigned to each gateway.
one-dimensional array w ofAsize one-dimensional
k + n is used toarraydisplayw aofwhale,
size kwhere + n is kused
is thetonumber
display of a
whale, where
gateways and n kisisthe thenumber
number ofof gatewaysThe
resources. andfirst
n isk entries
the number
of arrayof resources.
w (w[1.k]) show The first k entries of
the relationship
array wgateways.
between ( w[1..k ] ) show
w[i] = thej means
relationship between
that gateway gateways.
i sends w[i] = j means
its information to gateway that gateway i sends
j (i , j). The its
second
n information
entries of arrayto gateway
w (w[k +j 1.n ( i ]) jrepresent
). The secondgateway n entries
of eachof resource.
array w ( w w[[kp+] 1= ] )indicates
..nq representthat gateway
resourceof
p each
− k sends
resource. w[ p] = q indicates
its information to gateway thatq.resource
Table 2 showsp − k sends
an example of how thetowhale
its information gateway is displayed
q. Table in 2
the proposed
shows algorithm.
an example of howTherethe are whale
four gateways
is displayedand seven
in theresources
proposed in this example.
algorithm. The are
There length of
four
the array is and
gateways equal to 11.
seven resources in this example. The length of the array is equal to 11.
Sensors 2020, 20, 539 10 of 26
Gateway Resource
Indices 1 2 3 4 5 (r1 ) 6 (r2 ) 7 (r3 ) 8 (r4 ) 9 (r5 ) 10 (r6 ) 11 (r7 )
Allocate 3 1 4 3 1 4 4 4 3 2 1
To create a random whale, two parts of the array are filled individually. The first part is filled
firstly. If j is the random number generated for ith cell, then 1 ≤ j ≤ k and i , j. Then next n cells are
filled. For each generated random number like j, we have 1 ≤ j ≤ k. In fact, each resource is assigned
to one gateway. The fitness function for each whale is equal to objective function (Equation (1)) which
is explained in Section 3.1. The value of the fitness function is supposed to be decreased during the
algorithm. In other word, whales with lower fitness value are better than other whales.
Algorithm 1: distance W1 , W2
c = 0;
f or (i = 1; i < k + n; i + +)
i f (W1 (i) , W2 (i))
c = c + 1;
reture c;
Below, we show an example of how distance function works. There are 2 whales and 4 gateways
in Table 3. The distance between these two whales is calculated based on the corresponding cells of the
array that do not have the same value. These cells are shown in red. Accordingly, the distance between
two whales is 5.
Gateway Resource
Indices 1 2 3 4 5 (r1 ) 6 (r2 ) 7 (r3 ) 8 (r4 ) 9 (r5 ) 10 (r6 ) 11 (r7 )
W1 3 1 4 3 1 4 4 4 3 2 1
W2 3 3 4 2 1 2 2 4 3 4 1
values are changed. Table 4 shows an example of spiral function for l = 0.125 and D = 5 in which
change = b5 × 0.7c = 3. Three changed entries are in red. Green entries show the distance.
Gateway Resource
Indices 1 2 3 4 5 (r1 ) 6 (r2 ) 7 (r3 ) 8 (r4 ) 9 (r5 ) 10 (r6 ) 11 (r7 )
W1 3 1 4 3 1 4 4 4 3 2 1
Best 3 3 4 2 1 2 2 4 3 4 1
Spiral 3 1 4 1 1 2 4 4 3 4 1
Below, we show the shrinking function in an example. In Table 5, the distance between W1 and
Wbest is 4 which is shown in green. If A = 0.5, then two entries from entries having non-equal values
are changed. One of them become the best whale and the other one had a random change. These two
changed entries are shown in red.
Sensors 2020, 20, 539 12 of 26
Gateway Resource
Indices 1 2 3 4 5 (r1 ) 6 (r2 ) 7 (r3 ) 8 (r4 ) 9 (r5 ) 10 (r6 ) 11 (r7 )
W1 3 1 4 3 1 4 4 4 3 2 1
Best 3 1 4 2 1 2 2 4 3 4 1
Shrinking 3 1 4 2 1 3 4 4 3 2 1
Algorithm 4: searchprey Wi
select W j randomly f rom whale group;
D = distance (Wi , W j );
change = |A × D|;
rand = a random number in [0, 1];
i f (rand < 0.25)
shrinking (Wi , W j );
elsei f (rand < 0.5)
join (Wi , W j , change);
elsei f (rand < 0.75)
swap (Wi , W j );
else
randomwalk (Wi , change);
return Wi ;
Gateway Resource
Indices 1 2 3 4 5 (r1 ) 6 (r2 ) 7 (r3 ) 8 (r4 ) 9 (r5 ) 10 (r6 ) 11 (r7 )
W1 3 1 4 3 1 4 4 4 3 2 1
W2 3 1 4 2 1 2 4 4 2 4 1
Join 3 1 4 3 1 3 4 4 2 4 1
Sensors 2020, 20, 539 13 of 26
Gateway Resource
Indices 1 2 3 4 5 (r1 ) 6 (r2 ) 7 (r3 ) 8 (r4 ) 9 (r5 ) 10 (r6 ) 11 (r7 )
W1 3 1 4 3 1 4 4 4 3 2 1
W2 3 3 4 2 1 4 4 4 2 4 1
Swap 3 3 4 2 1 4 4 4 3 2 1
5.7. Parameter a
One of the most important parameters in the proposed method is a. The value of A which
determines the type of executing function in any steps of the algorithm is calculated based on parameter
a according to Equation (14).
A = 2ar − a (14)
The value of a is considered between 2 to 0 in descending form. So, at the beginning of the
algorithm it is likely that the value of A is greater than one and the searchprey function is executed. As
the value of a decreases, the value of A also becomes less than one in most cases. Therefor shrinking
function will be executed. In this way, after the discovery of new solutions, the algorithm enters the
exploitation phase. In fact, decreasing the value of a helps to narrow the spiral movement around the
prey and whales focus on optimizing the final solution.
round, the nearest resource is considered for each node. The output of this algorithm varies according
to the order in which the gateways are selected, so by scanning gateways in different orders, various
solutions can be produced for the problem. The point of this graph clustering method is that the
penalty of the produced solutions is equal to zero, because it fully observes load balancing.
Algorithm 5: GraphClustering
Input : Gateway and Resource Communication Cost Matrix
Output : A solution f or
selectedResources = {};
whale = zero array in length |G| + |R|;
while (selectedResources , Resources) {
f oreach Gateway like Gi {
f ind R j as a Resource with lowest cost f or Gi ;
assign Ri to Gi in whale;
Sensors 2020, 20, x 15 of 27
}
}algorithm varies according to the order in which the gateways are selected, so by scanning gateways
set
in Gateway
differentrandomly
orders, in whale; solutions can be produced for the problem. The point of this graph
various
return whale;
clustering method is that the penalty of the produced solutions is equal to zero, because it fully
observes load balancing.
(a) An example of the problem (b) Clustering using the proposed method
Figure3.3. Graph
Figure Graph clustering.
clustering.
6. Implementation and
6. Implementation andAnalysis
Analysis
This
This section
section provides
provides the simulation
the simulation of the proposed
of the proposed algorithmalgorithm
and then and then its
evaluates evaluates its
performance.
performance. Simulation is done in MATLAB software environment on a desktop
Simulation is done in MATLAB software environment on a desktop computer. Given that there is no computer. Given
that theretime
processing is noinprocessing time init the
the evaluations, evaluations,
is not necessaryittoisintroduce
not necessary to introduce
the computer the computer
specifications and
specifications
software version. and software version.
None
None of of
thethe prior
prior researcheson
researches onthetheRARAproblem
problem inin cloud
cloud computing
computingused
useda acommon
common and
andpublic
public
dataset. Creating a dataset covers all conditions of the scheduling problem. Given that
dataset. Creating a dataset covers all conditions of the scheduling problem. Given that data are not data are notthe
the same, we re-implemented some of them in order to compare with previous works. Apart from
same, we re-implemented some of them in order to compare with previous works. Apart from these
these datasets, RA is an administrative problem which have to be solved before deployment of the
datasets, RA is an administrative problem which have to be solved before deployment of the network.
network. Since solving the problem is not a real-time activity, there is enough room to process and
Since solving the problem is not a real-time activity, there is enough room to process and reach the
reach the BS. Hence, the network admin could easily execute the proposed method with the network
BS. Hence, the network admin could easily execute the proposed method with the network data and
data and decide on the assignment pattern.
decide on the assignment pattern.
6.1. Dataset
The test data are generated in small, medium and large size. The number of gateways varies
from 4 to 100 and the number of resources varies from 10 to 800. A total of eight test samples are
designed for the proposed method. The list of sample tests is shown in Table 8.
6.1. Dataset
The test data are generated in small, medium and large size. The number of gateways varies from
4 to 100 and the number of resources varies from 10 to 800. A total of eight test samples are designed
for the proposed method. The list of sample tests is shown in Table 8.
In Table 8, three datasets DS1 , DS 2 , and DS 3 are small size, two datasets DS 4 and DS 5 are
In Table 8, three datasets DS1 , DS2 , and DS3 are small size, two datasets DS4 and DS5 are medium
medium size, and datasets DS and DS are large size. Regardless of scale, the cost of
size, and datasets DS7 and DS8 are7large size. 8Regardless of scale, the cost of communication between
communication between resources and gateways is a random number ∈ [1. 20] and the cost of
resources and gateways is a random number ∈ [1.20] and the cost of communication between gateways
communication between gateways is a random number ∈ [20. 40]. The cost of connection between
is a random number ∈ [20.40]. The cost of connection between gateways is always higher than the cost
gateways is always higher than the cost of connection between resources and gateways.
of connection between resources and gateways.
Each dataset has two matrices. If k is defined as the number of gateways and n denotes the
Each dataset has two matrices. If k is defined as the number of gateways and n denotes the number
number of resources, then one of these matrices is a symmetric matrix called Gatewaykk of size k k
of resources, then one of these matrices is a symmetric matrix called Gatewayk×k of size k × k which
which the
shows shows
cost the cost of communication
of communication between and
between gateways gateways andone
the other theis other onecalled
a matrix is a Resource
matrix called
k×n of
Resource of
size k × nkwhich
n size k n which shows the cost of connection between resources and gateways.
shows the cost of connection between resources and gateways. You can see the dataset You
can1 see
DS the dataset
in Figure 4. DS1 in Figure 4.
G1 G2 G3 G4
G1 0 24 40 40
G2 24 0 39 32
(Gateway)
G3 40 39 0 25
G4 40 32 25 0
R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
G1 19 7 16 5 4 3 2 2 15 8
G2 5 1 14 5 4 4 5 2 17 3
(resource)
G3 18 2 19 6 1 6 2 4 17 5
G4 8 6 15 6 14 4 7 4 15 5
Figure
Figure 4.
4. Dataset DS1..
Dataset DS1
The results of the simulation of the proposed algorithm and its comparison with the other two
algorithms indicate that whale algorithm is good at solving RA problem. Obtained results for whale
algorithm, most of the time are better than GA. In comparison with the SEIRA algorithm, the whale
Sensors 2020,
Sensors 2020, 20,
20, xx 17 of
17 of 27
27
algorithm has the same results and in some cases better results.
One One
criterion
One to evaluate
criterion
criterion to evaluate
to evaluatethetheperformance
the performanceofof
performance ofthe
theproposed
the proposed algorithm
proposed isconvergence
algorithm is
algorithm is convergencespeed.
convergence speed.
speed. ToTo do
To
do this,
this, we
do this,
savewewe save
thesave the fitness
fitness
the fitness of the
of the best
of the best whale
whale
best whale
in each in round
in each round
each round of whale
whale
of whale
of motions.
motions. Figures
Figures
motions. 5–7
5–75–7
Figures showshow
showthethe
thefitness
fitness
of three
fitness of three
datasets
of threeDS datasets
, DS
datasets
1 5 , DS
and
DS 1 ,
, DS
DS
DS 5
85 .
,, and
and DS
DS 8 .
.
1 8
Figure
Figure
Figure 5.
5. 5.
TheThefitness
The fitnessof
fitness of the
of the best
the best whale
best whale during
whaleduring
duringwhales’
whales’
whales’motion
motion in DS
in
motion DS .. 1 .
in 11DS
Figure 6.
TheThefitness
fitnessof
ofthe
the best
best whale
whale during
whaleduring
duringwhales’
whales’motion in DS
motion in .
DS 5DS
Figure 6. 6.
Figure The fitness of the best whales’ motion in 5 . 5.
Sensors 2020, 20, 539 17 of 26
Sensors 2020, 20, x 18 of 27
Figure 7. The fitness of the best whale during whales’ motion in DS8 .
Figure
Figure 7.
7. The
The fitness
fitness of
of the
the best
best whale
whale during
during whales’
whales’ motion
motion in DS ..
in DS
88
The whale algorithm is inspired by the group haunting of whales. Hence, in each round of the
proposed algorithm, The
The whaleallalgorithm
whale whales is
algorithm isshould
inspired approach
inspired by
by the groupthe
the group prey.of
haunting
haunting of From
whales.the
whales. RAin
Hence,
Hence, inproblem
round solving
each round
each of the
of the point of
proposed algorithm, all whales should approach the prey. From the RA problem solving point of view,
view, it means that, algorithm,
proposed all whales all change overapproach
whales should time. Figures
the prey.8–10
Fromshow
the RAthe fitness
problem of all
solving whales
point of for three
it means that, all whales change over time. Figures 8–10 show the fitness of all whales for three
view, it means that, all whales change over time. Figures 8–10 show the fitness of all whales for three datasets
datasets DSDS1 ,1 , DS
DS55,,and
andDS8DS . 8.
datasets DS1 , DS 5 , and DS 8 .
Figure 9.
9. Whale fitness
fitness during motion
motion in DS
DS .
Figure
Figure 9.Whale
Whale fitnessduring
during motioninin DS55.
Figure 10.
Figure Whalefitness
10. Whale fitness during
during motion in DS
motion in DS88...
Figure 10. Whale fitness during motion in DS 8
6.3. The Effect of Spiral, Shrinking and Searchprey Functions
6.3. The
6.3. The Effect
Effect of
of Spiral,
Spiral, Shrinking
Shrinking and and Searchprey
Searchprey Functions
Functions
One of the most important points to be considered in the proposed method is the efficiency of the
One of
One
designed of the
the most
most
functions. important
important
Three points to
points
main functions tonamed
be considered
be considered in the
in the proposed
spiral, shrinking proposed methodfunctions
method
and searchprey is the
is the efficiency
efficiency
have been of
of
the
the designed
designed
designed in thefunctions.
functions.
proposedThree Three
method. main
main Thefunctions
functions named spiral,
named isspiral,
spiral function shrinking
shrinking
designed to spiral and
and searchprey
searchprey
around functions
the BSfunctions
(or prey).
have
have been designed
been designed
The shrinking in the
in the
function moves proposed
proposed
a whale method.
method.
directlyTheThe spiral
spiralthe
toward function
function is designed
is designed
best whale to spiral around the
to spiralfunction
and searchprey around the BS
moves BS
(or
(or prey).
a whale The
prey).toward shrinking
The shrinking function
a randomfunctionwhale. movesmoves
The first a whale
a and
whale directly
directly
second toward
towardare
functions the best
theused whale
besttowhaleoptimize and
and thesearchprey
searchprey
existing
function
function moves
moves aa whale
whale toward
toward a
a random
random whale.
whale.
solutions and the third one is used to discover new solutions. The
The first
first and
and second
second functions
functions are
are used
used to
to optimize
optimize
the existing
the existing solutionsfunctions
solutions
If the designed and the
and the third
third
do not one
one is used
is
have used to discover
to discoverperformance,
the necessary new solutions.
new solutions. then the proposed algorithm
If
has the the
If the
same designed
designed functions
functions
performance do not
as adorandom have
not have the necessary
the necessary
algorithm performance,
whichperformance,
produces many thenrandom
then the proposed
the proposed
solutions algorithm
algorithm
for the
has
has the same
the same
problem. performance
performance
In contrast, the high as a random
as efficiency algorithm
a randomofalgorithm which produces
which makes
these functions produces many
many random
it possible random
to quickly solutions
solutions
converge for the
fortothe
an
problem.
problem.
optimumIn In contrast, the
contrast,Tothe
solution. high efficiency
high efficiency
investigate of these
of these
this issue, functions
functions
we ran makes
makes it
the proposed it possible
possible with
algorithm to quickly
to quickly converge
converge
different numbers to
to anan
of
optimum
optimum solution.
solution. To
To investigate
investigate this
this issue,
issue, we
we ran
ran the
the proposed
proposed algorithm
algorithm
whales and motions. In all runs, the multiplication of the number of whales in the number of steps is a with
with different
different numbers
numbers of
of
whales and
whales
constant and motions.
motions.
number. ThatInis,
In allin
all runs,
runs, the multiplication
the multiplication
all simulations, the same of the
of the number
number
number of whales
of whales
of solutions in
isin the number
the
producednumber of steps
of
for the steps is aa
is
problem.
constant
constant number.
number. That
of threeThat is, in all
is, inDSall simulations,
simulations, the same
the shown number
same number
in Tablesofof solutions
solutions is produced
is produced for thefor the
The results datasets 1 , DS 5 and DS8 are 10–12 respectively.
problem.
problem. The results
The results of three
ofthree datasets
threeabove
datasets DS , DS
1, DS 5 and and DS are shown in Tables 10–12 respectively.
8 arethree
shown in Tables 10–12 respectively.
The results of the tables
DS1indicate 8
5 that,DS using main functions to produce solution
yields to better solution than random ones. In contrast, if we increase the number of rounds and reduce
the number of whales, we will not get good results. We must balance between the number of whales
and the number of rounds.
Sensors 2020, 20, 539 19 of 26
To better examine the effect of a on the execution of the algorithm, we examine the proposed
method in two modes. First, a state in which a hold the algorithm in discovery phase with a value
close to 0 and then a state in which the algorithm begins with exploitation phase with a value close to
0 for a .
Figures 12–14 show the changes of the best whale for a = 2 . Both the number of whales and
rounds are set to 1000. Experiments are performed for datasets DS1 , DS 5 , and DS 8 . Focusing on the
results reveal that the obtained results are far from the optimum solutions. In addition, the process
Figure
Figure 11.11. Changes
Changes ofof
thethe factor
factor for GG==1000.
aa for 1000 .
of optimization is very slow and random.
To better examine the effect of a on the execution of the algorithm, we examine the proposed
method in two modes. First, a state in which a hold the algorithm in discovery phase with a value
close to 0 and then a state in which the algorithm begins with exploitation phase with a value close to
0 for a .
Figures 12–14 show the changes of the best whale for a = 2 . Both the number of whales and
rounds are set to 1000. Experiments are performed for datasets DS1 , DS 5 , and DS 8 . Focusing on the
results reveal that the obtained results are far from the optimum solutions. In addition, the process
of optimization is very slow and random.
Figure
Figure13.
13.Changes
Changesofofthe
thebest
bestwhale for a
whalefor a== 22 in
inDS
DS5 .5 .
Sensors 2020, 20, 539 21 of 26
Figure 13. Changes of the best whale for a = 2 in DS .
Figure 13. Changes of the best whale for a = 2 in DS 55 .
Figures 15–17
Figures 15–17 show
show the
the changes
changes of the best
of the
the best whale
best whale for aaa=== 000... Both
whale for
for Both
Both thethe number
the number
number ofof whales
whales and
and
rounds are set to 1000. Experiments are performed for datasets DS11, ,DS
DS , and
DS5 ,5 and
rounds are set to 1000. Experiments are performed for datasets DS1 , DS 5 , and DS DS
DS.
8 8..
8
Figure16.
Figure Changesofofthe
16.Changes thebest
bestwhale for a =
whalefor =00 in
inDS
DS5 .5 .
Sensors 2020, 20, 539 22 of 26
Figure 16. Changes of the best whale for a = 0 in DS 5 .
Figure
Figure17.
17.Changes
Changesofofthe
thebest
bestwhale
whalefor = 00 in
for a = inDS
DS8 .8 .
Focusing
Focusing on
on the
the results
results reveal
reveal that
that initial
initial whales are optimized
whales are quickly, and
optimized quickly, and the
the algorithm
algorithm does
does
not produce a better solution anymore. In fact, the algorithm is stuck in the local optimum.
not produce a better solution anymore. In fact, the algorithm is stuck in the local optimum.
6.5. The Effect of the Graph Clustering
6.5. The Effect of the Graph Clustering
One of the methods used to reinforce the proposed algorithm is graph clustering. This method
One of the methods used to reinforce the proposed algorithm is graph clustering. This method
produces initial solutions with better quality and thus enhances the optimization process. To investigate
produces initial solutions with better quality and thus enhances the optimization process. To
the effect of the clustering in the proposed method, we must run the algorithm without applying the
investigate the effect of the clustering in the proposed method, we must run the algorithm without
graph clustering method and using fully random initial solutions, and then compare the results with
applying the graph clustering method and using fully random initial solutions, and then compare
that of the complete algorithm. The result of this comparison is shown in Table 13. The results of this
the results with that of the complete algorithm. The result of this comparison is shown in Table 13.
table show that, whatever the size of the problem is larger, the effect of the graph clustering is greater.
The results of this table show that, whatever the size of the problem is larger, the effect of the graph
clustering is greater.
Table 13. Comparison of running algorithm in clustering and random mode.
One of the other effects of the graph clustering is the convergence rate. To investigate the effect of
graph clustering on the convergence rate, the process of the best fitness for problem DS8 is shown in
Figure 18. As seen in this figure, in the case of using clustering, convergence rate is lower. The reason
is getting stuck in local optimum in the random solution mode. However, ultimately, the method that
uses graph clustering produces better solutions. The reason for producing a better initial generation
using clustering is that it has high optimization capability.
One of the other effects of the graph clustering is the convergence rate. To investigate the effect
of graph clustering on the convergence rate, the process of the best fitness for problem DS8 is shown
in Figure 18. As seen in this figure, in the case of using clustering, convergence rate is lower. The
reason is getting stuck in local optimum in the random solution mode. However, ultimately, the
method that
Sensors 2020, 20, uses
539 graph clustering produces better solutions. The reason for producing a better
23 of 26
initial generation using clustering is that it has high optimization capability.
Figure18.
Figure Theeffect
18. The effectof
ofgraph
graphclustering
clustering on
on convergence.
convergence.
7. Conclusions
7. Conclusions
Cloud computing is a popular model for users of cloud resources because of the “pay-per-use”
Cloud computing is a popular model for users of cloud resources because of the “pay-per-use”
model. However, the RA problem is one of the most important challenges in this kind of system due to
model. However, the RA problem is one of the most important challenges in this kind of system due
the high volume of resources and user requests, which has attracted many researchers to the field. RA
to the high volume of resources and user requests, which has attracted many researchers to the field.
and scheduling refers to a method for allocating resources to users and the main objective of a schedule
RA and scheduling refers to a method for allocating resources to users and the main objective of a
is reducing runtime and allocating optimal resources to tasks. On one hand, the improper use of
schedule is reducing runtime and allocating optimal resources to tasks. On one hand, the improper
resources leads to increased energy consumption, and as a result, environmental warming. Therefore,
use of resources leads to increased energy consumption, and as a result, environmental warming.
task scheduling and RA in large systems such as cloud computing are also important besides runtime
Therefore, task scheduling and RA in large systems such as cloud computing are also important
and can’t be ignored. In this paper, a novel algorithm based on whale optimization is proposed with
besides runtime and can’t be ignored. In this paper, a novel algorithm based on whale optimization
the aim of reducing runtime of tasks and allocating optimal resources to tasks. The proposed method
is proposed with the aim of reducing runtime of tasks and allocating optimal resources to tasks. The
suggested a discrete definition for the whale algorithm in order to optimize RA problem in cloud
proposed method suggested a discrete definition for the whale algorithm in order to optimize RA
environment. Each whale is designed in the form of an array. Based on this array, a new concept of
problem in cloud environment. Each whale is designed in the form of an array. Based on this array, a
distance is defined for the distance function. This function is very useful for the whale algorithm. The
new concept of distance is defined for the distance function. This function is very useful for the
spiral function is designed for spiral movement and shrinking and searchprey functions are designed
whale algorithm. The spiral function is designed for spiral movement and shrinking and searchprey
for direct movement. The results obtained show that the proposed whale algorithm has a high ability
functions are designed for direct movement. The results obtained show that the proposed whale
to solve the RA problem in the cloud. The functions designed for base operators of the whale algorithm
have been able to search the solution space of the problem well and found reasonable solutions for
the mentioned problem by optimizing the discovered solutions. An important point in the correct
execution of the algorithm is the logical adjustment of the value of the a which enters the algorithm
from the discovery phase to the exploitation phase.
Author Contributions: This research has been carried out through a concerted effort by six authors. Hence,
any author has participated in conducting every single part of the paper. But each author’s basic role has been
summarizing in the following: A.K.S. is the first author and responsible for implementation of the proposed
method. A.A.R.H. is the consultant of the research group in Computer Networks. M.B.S. is the corresponding
author, the coordinator of the group and the designer of the proposed method. S.Y.B.R. is the consultant of the
research group in Heuristic Algorithms. A.Z. is responsible for documentation. And N.C. is the main reviewer of
the paper. All authors have read and agreed to the published version of the manuscript.
Funding: This research received no external funding.
Conflicts of Interest: The authors declare no conflict of interest.
Sensors 2020, 20, 539 24 of 26
References
1. Ortiz, A.M.; Hussein, D.; Park, S.; Han, S.N.; Crespi, N. The cluster between internet of things and social
networks: Review and research challenges. IEEE Internet Things J. 2014, 1, 206–215. [CrossRef]
2. Luckshmi, A.I.; Visalakshi, P.; Karthikeyan, N.K. Intelligent schemes for bandwidth allocation in cellular
mobile networks. In Proceedings of the 2011 International Conference on Process Automation, Control and
Computing, Coimbatore, Tamilnadu, India, 20–22 July 2011; IEEE: Piscataway, NJ, USA, 2011; pp. 1–6.
3. Kim, K.S.; Uno, S.; Kim, M.W. Adaptive QoS mechanism for wireless mobile network. J. Comput. Sci. Eng.
2010, 4, 153–172. [CrossRef]
4. Perera, C.; Zaslavsky, A.; Christen, P.; Georgakopoulos, D. Context aware computing for the internet of
things: A survey. IEEE Commun. Surv. Tutor. 2013, 16, 414–454. [CrossRef]
5. Zanella, A.; Bui, N.; Castellani, A.; Vangelista, L.; Zorzi, M. Internet of things for smart cities. IEEE Internet
Things J. 2014, 1, 22–32. [CrossRef]
6. Hosseinabadi, A.A.R.; Farahabadi, A.B.; Rostami, M.H.S.; Lateran, A.F. Presentation of a new and beneficial
method through problem solving timing of open shop by random algorithm gravitational emulation local
search. Int. J. Comput. Sci. Issues 2013, 10, 745.
7. Shareh, M.B.; Navidi, H.; Javadi, H.H.S.; HosseinZadeh, M. Preventing Sybil attacks in P2P file sharing
networks based on the evolutionary game model. Inf. Sci. 2019, 470, 94–108. [CrossRef]
8. Hosseinabadi, A.A.R.; Slowik, A.; Sadeghilalimi, M.; Farokhzad, M.; Sangaiah, A.K. An Ameliorative
Hybrid Algorithm for Solving the Capacitated Vehicle Routing Problem. IEEE Access 2019, 7, 175454–175465.
[CrossRef]
9. Misbahuddin, S.; Zubairi, J.A.; Saggaf, A.; Basuni, J.; Sulaiman, A.; Al-Sofi, A. IoT based dynamic road traffic
management for smart cities. In Proceedings of the 2015 12th International Conference on High-Capacity
Optical Networks and Enabling/Emerging Technologies (HONET), Islamabad, Pakistan, 21–23 December
2015; IEEE: Piscataway, NJ, USA, 2015; pp. 1–5.
10. Ashton, K. That ‘internet of things’ thing. RFID J. 2009, 22, 97–114.
11. Bandyopadhyay, D.; Sen, J. Internet of things: Applications and challenges in technology and standardization.
Wirel. Pers. Commun. 2011, 58, 49–69. [CrossRef]
12. Domingo, M.C. An overview of the Internet of Things for people with disabilities. J. Netw. Comput. Appl.
2012, 35, 584–596. [CrossRef]
13. Grilo, A.; Sarmento, H.; Nunes, M.; Gonçalves, J.; Pereira, P.; Casaca, A.; Fortunato, C. A wireless sensors suite
for smart grid applications. In Proceedings of the 1st International Workshop on Information Technology for
Energy Applications, Lisbon, Portugal, 6–7 September 2012.
14. Khodadadi, F.; Dastjerdi, A.V.; Buyya, R. Internet of Things: An overview. In Internet of Things; Morgan
Kaufmann: Burlington, MA, USA, 2016; pp. 3–27.
15. Ericsson Mobility Report 2016. Available online: https://www.ericsson.com/res/docs/2016/ericsson-mobility-
report-2016.pdf (accessed on 18 January 2020).
16. Tsai, C.W. SEIRA: An effective algorithm for IoT resource allocation problem. Comput. Commun. 2018, 119,
156–166. [CrossRef]
17. Kashikolaei, S.M.G.; Hosseinabadi, A.A.R.; Saemi, B.; Shareh, M.B.; Sangaiah, A.K.; Bian, G.B. An
enhancement of task scheduling in cloud computing based on imperialist competitive algorithm and
firefly algorithm. J. Supercomput. 2019, 1–28. [CrossRef]
18. Bozorgi, S.M.; Rostami, A.S.; Hosseinabadi, A.A.R.; Balas, V.E. A new clustering protocol for energy
harvesting-wireless sensor networks. Comput. Electr. Eng. 2017, 64, 233–247. [CrossRef]
19. Rostami, A.S.; Badkoobe, M.; Mohanna, F.; Hosseinabadi, A.A.R.; Sangaiah, A.K. Survey on clustering in
heterogeneous and homogeneous wireless sensor networks. J. Supercomput. 2018, 74, 277–323. [CrossRef]
20. Hosseinabadi, A.R.; Vahidi, J.; Saemi, B.; Sangaiah, A.K.; Elhoseny, M. Extended Genetic Algorithm for
Solving Open-Shop Scheduling Problem. Soft Comput. 2018, 23, 5099–5116. [CrossRef]
21. Back, T. Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic
Algorithms; Oxford University Press: Oxford, UK, 1996.
22. Mirjalili, S.; Lewis, A. The whale optimization algorithm. Adv. Eng. Softw. 2016, 95, 51–67. [CrossRef]
Sensors 2020, 20, 539 25 of 26
23. Sangaiah, A.K.; Suraki, M.Y.; Sadeghilalimi, M.; Bozorgi, S.M.; Hosseinabadi, A.A.R.; Wang, J. A new
meta-heuristic algorithm for solving the flexible dynamic job-shop problem with parallel machines. Symmetry
2019, 11, 165. [CrossRef]
24. Sangaiah, A.K.; Bian, G.B.; Bozorgi, S.M.; Suraki, M.Y.; Hosseinabadi, A.A.R.; Shareh, M.B. A novel
quality-of-service-aware web services composition using biogeography-based optimization algorithm. Soft
Comput. 2019, 1–13. [CrossRef]
25. Brumitt, B.; Meyers, B.; Krumm, J.; Kern, A.; Shafer, S. Easyliving: Technologies for intelligent environments.
In International Symposium on Handheld and Ubiquitous Computing; Springer: Heidelberg, Berlin, 2000;
pp. 12–29.
26. Fox, A.; Johanson, B.; Hanrahan, P.; Winograd, T. Integrating information appliances into an interactive
workspace. IEEE Comput. Graph. Appl. 2000, 20, 54–65. [CrossRef]
27. Tzafestas, S.; Triantafyllakis, A. Deterministic scheduling in computing and manufacturing systems: A
survey of models and algorithms. Math. Comput. Simul. 1993, 35, 397–434. [CrossRef]
28. Ben-Or, M.; Tiwari, P. A deterministic algorithm for sparse multivariate polynomial interpolation. In
Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing, Chicago, IL, USA, 1
January 1988; ACM: New York, NY, USA, 1988; pp. 301–309.
29. Román, M.; Hess, C.; Cerqueira, R.; Ranganathan, A.; Campbell, R.H.; Nahrstedt, K. A middleware
infrastructure for active spaces. IEEE Pervasive Comput. 2002, 1, 74–83. [CrossRef]
30. Garlan, D.; Siewiorek, D.P.; Smailagic, A.; Steenkiste, P. Project aura: Toward distraction-free pervasive
computing. IEEE Pervasive Comput. 2002, 1, 22–31. [CrossRef]
31. Colistra, G.; Pilloni, V.; Atzori, L. The problem of task allocation in the Internet of Things and the
consensus-based approach. Comput. Netw. 2014, 73, 98–111. [CrossRef]
32. Angelakis, V.; Avgouleas, I.; Pappas, N.; Fitzgerald, E.; Yuan, D. Allocation of heterogeneous resources of an
IoT device to flexible services. IEEE Internet Things J. 2016, 3, 691–700. [CrossRef]
33. Huang, J.; Yin, Y.; Duan, Q.; Yan, H. A game-theoretic analysis on context-aware resource allocation
for device-to-device communications in cloud-centric internet of things. In Proceedings of the 2015 3rd
International Conference on Future Internet of Things and Cloud, Rome, Italy, 24–26 August 2015; IEEE:
Piscataway, NJ, USA, 2015; pp. 80–86.
34. Kim, S. Asymptotic shapley value based resource allocation scheme for IoT services. Comput. Netw. 2016,
100, 55–63. [CrossRef]
35. Hartmann, S. A competitive genetic algorithm for resource-constrained project scheduling. Nav. Res. Logist.
1998, 45, 733–750. [CrossRef]
36. Kim, M.; Ko, I.Y. An efficient resource allocation approach based on a genetic algorithm for composite
services in IoT environments. In Proceedings of the 2015 IEEE International Conference on Web Services,
New York, NY, USA, 27 June–2 July 2015; IEEE: Piscataway, NJ, USA, 2015; pp. 543–550.
37. Yin, P.Y.; Wang, J.Y. A particle swarm optimization approach to the nonlinear resource allocation problem.
Appl. Math. Comput. 2006, 183, 232–242. [CrossRef]
38. Aerts, J.C.; Heuvelink, G.B. Using simulated annealing for resource allocation. Int. J. Geogr. Inf. Sci. 2002, 16,
571–587. [CrossRef]
39. Boctor, F.F. Resource-constrained project scheduling by simulated annealing. Int. J. Prod. Res. 1996, 34,
2335–2351. [CrossRef]
40. Belfares, L.; Klibi, W.; Lo, N.; Guitouni, A. Multi-objectives Tabu Search based algorithm for progressive
resource allocation. Eur. J. Oper. Res. 2007, 177, 1779–1799. [CrossRef]
41. Chaharsooghi, S.K.; Kermani, A.H.M. An effective ant colony optimization algorithm (ACO) for
multi-objective resource allocation problem (MORAP). Appl. Math. Comput. 2008, 200, 167–177. [CrossRef]
42. Lee, Z.J.; Lee, C.Y. A hybrid search algorithm with heuristics for resource allocation problem. Inf. Sci. 2005,
173, 155–167. [CrossRef]
43. Gai, K.; Qiu, M. Optimal resource allocation using reinforcement learning for IoT content-centric services.
Appl. Soft Comput. 2018, 70, 12–21. [CrossRef]
44. Chowdhury, A.; Raut, S.A.; Narman, H.S. DA-DRLS: Drift adaptive deep reinforcement learning based
scheduling for IoT resource management. J. Netw. Comput. Appl. 2019, 138, 51–65. [CrossRef]
Sensors 2020, 20, 539 26 of 26
45. Singh, A.; Viniotis, Y. Resource allocation for IoT applications in cloud environments. In Proceedings of the
2017 International Conference on Computing, Networking and Communications (ICNC), Silicon Valley, CA,
USA, 20 January 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 719–723.
46. Baker, T.; Ugljanin, E.; Faci, N.; Sellami, M.; Maamar, Z.; Kajan, E. Everything as a resource: Foundations and
illustration through Internet-of-things. Comput. Ind. 2018, 94, 62–74. [CrossRef]
47. Hatti, D.I.; Sutagundar, A.V. Fuzzy based job classification and resource allocation in IoT. In Proceedings
of the 2017 International Conference on Inventive Systems and Control (ICISC), Coimbatore, India, 19–20
January 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 1–4.
48. Dou, Z.; Si, G.; Lin, Y.; Wang, M. An adaptive resource allocation model with anti-jamming in IoT network.
IEEE Access 2019, 7, 93250–93258. [CrossRef]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).