  Wireless sensor networks (WSNs) have many applications and are an essential
part of IoT systems. The primary functionality of a WSN is gathering data from
specific points that are covered with sensor nodes and transmitting the
collected data to remote units for further processing. In IoT use cases, a WSN
infrastructure may need to be shared by many applications, which requires
scheduling those applications to time-share the node and network resources. In
this paper, we investigate the problem of application scheduling in WSN
infrastructures. We focus on the scenarios where applications request a set of
monitoring points to be sensed in the region a WSN spans and propose a
shared-data approach utilizing multiplexed sensing of monitoring points
requested by multiple applications, which reduces sensing and communication
load on the network. We also propose a genetic algorithm called GABAS, and
three greedy algorithms for scheduling applications onto a WSN infrastructure
considering different criteria. We performed extensive simulation experiments
to evaluate our algorithms and compare them to some standard scheduling
methods. The results show that our proposed methods perform much better than
the standard scheduling methods in terms of makespan, turnaround time, waiting
time, and successful execution rate metrics. We also observed that our genetic
algorithm is very effective in scheduling applications with respect to these
metrics.
