2
communication load incurred on WSNs. Even though the
processing requirement will not change, the network will have
more sensing and communication resources available to admit
and schedule more applications simultaneously. This will help
reduce the total execution time of a set of applications and
also the waiting time of the newly arriving applications.
In this paper, we focus on the management of a WSN
operated by a single infrastructure provider. The network is
available to application providers who want their applica-
tions to be admitted to the network for a certain amount
of time. Admitted applications need some points monitored
with specific data types, and the collected data from those
points need to be processed in base stations and centralized
units. While we focused on the application placement problem
in our previous work [8] in a similar network structure, in
this work, we deal with the application scheduling problem.
Since the applications will use the network’s resources for a
particular time, it is crucial to schedule the applications (i.e.,
arrange the order of the admission of the applications into
the network) efficiently and effectively. One of the critical
parameters to minimize is the total execution time (makespan)
of the applications, but there are other metrics that can be
important, like average waiting time, turnaround time, and rate
of completing the applications before deadlines, if any.
We propose several algorithms for application scheduling in
wireless sensor networks. We first propose a genetic algorithm
called GABAS that effectively schedules applications onto
a sensor network. GABAS reduces the total execution time
of the applications by both assigning monitoring points TO
sensor nodes and base stations and determining the admission
order in the best possible way. We also propose three greedy
algorithms, considering different criteria, which can be used
when fast decisions are needed.
We conducted extensive simulation experiments to evalu-
ate and compare our algorithms with well-known standard
scheduling algorithms. Experimental results show that GABAS
is very effective in finding an admission order for applications,
reducing total execution time. It also performs very well in
other metrics such as average turnaround time, average waiting
time, and successful completion ratio. Proposed greedy algo-
rithms, on the other hand, are very fast and effective compared
to other standard scheduling algorithms.
The rest of the paper is organized as follows: Section II
gives and discusses the related work in literature. Section III
presents our network model and problem formulation. Section
IV describes our approach and algorithms in detail, and
Section V provides the results of our simulation experiments.
Finally, Section VI concludes the paper.
II. RELATED WORK
Scheduling problem exhibits itself in all types of computer
systems and networks, where resources are limited and there
are tasks, applications, or services that need to time-share those
resources. The resources can be the processors of a computer,
the sensing and communication units of a wireless sensor
network, the physical servers and switches of a cloud data
center, or the edge computing nodes of a fog network.
There are many scheduling algorithms proposed in the
literature for processor and cloud scheduling [9]–[21]. They
use different meta-heuristics and evolutionary algorithms, such
as particle swarm optimization, genetic algorithms, and ant
colony optimization. Some of them also use greedy approaches
or classical approaches for scheduling, such as first come first
served, and shortest job first algorithms. The metrics they
usually use include makespan, average response time, energy
efficiency, utilization, execution cost, and average running
time. They schedule tasks, jobs, or virtual machines on local
or cloud computing components, like physical servers.
There are also studies on scheduling in WSNs, IoT, fog,
and edge computing. Fog and edge computing are usually
integrated with WSNs in IoT systems. Porta et al. [22] propose
EN-MASSE, a framework that deals with dynamic mission
assignment for WSNs whose sensor nodes have energy har-
vesting capabilities. It is an integer programming method that
assigns missions to sensor nodes and aims to minimize the
total run-time of the missions. Uchiteleva et al. [23] describe
a resource scheduling algorithm for WSNs. The proposed
scheduling algorithm is a resource management solution for
isolated profiles in WSNs, and the authors compare their al-
gorithm with Round Robin and Proportionally Fair scheduling
algorithms. Wei et al. [24] present a Q-learning algorithm
called ISVM-Q for task scheduling in WSNs. It optimizes
application performance and total energy consumption. De
Frias et al. [25] propose an application scheduling algorithm
for shared actuator and sensor networks. Their algorithm aims
to reduce energy consumption in the network. Edalat and
Motani [26] propose a method for task scheduling and task
mapping in a WSN consisting of sensor nodes with energy
harvesting capabilities. They consider task priority and energy
harvesting to increase fairness.
Liu et al. [27] propose Horae, a task scheduler for mobile
edge computing. The scheduler aims to improve resource
utilization in the MEC environment as well as select the
edge server that satisfies placement constraints for each task.
Javanmardi et al. [28] present FUPE, a security-aware task
scheduler for IoT fog networks. It is a fuzzy-based multi-
objective Particle Swarm Optimization algorithm. The au-
thors show that it performs better than the other compared
algorithms in terms of average response time and network
utilization. Li and Han [29] describe an artificial bee colony
algorithm (ABC) for task scheduling in the cloud. The pro-
posed ABC algorithm is compared against several works
from the literature. The evaluation metrics they consider
are makespan, maximum device workload, and total device
workload. D’Amico and Gonzalez [30] propose EAMC, which
is a multi-cluster scheduling policy. It predicts the energy
consumption of jobs and aims to reduce makespan, response
time, and total energy consumption. Singhal and Sharma [31]
present a Rock Hyrax Optimization algorithm to schedule
jobs in heterogeneous cloud systems. They consider evaluation
metrics like makespan and energy consumption.
Choudhari et al. [32] propose a priority-based task schedul-
ing algorithm for fog computing systems. Their algorithm first
assigns an arriving request to the closest fog server, placing
the task into a priority queue within that fog server. Xu et