Abstract
Keywords
Introduction
A wireless sensor network (WSN) is usually composed of a large amount of tiny, low-cost, intelligent, and spatially dispersed sensors. Each sensor node has a specific capability including sensing, collecting, computing, and delivering data. By integrating substantial such sensors into a connected network, a WSN can monitor and gather information of the target area, often inhospitable and/or remote regions, without a prior arrangement as a traditional network. Therefore, in the past decade, WSNs have drawn extensive attention from not only the scientific community but also the industry. Meanwhile, WSNs have been successfully employed in a wide range of applications, such as battlefield surveillance, 1 environmental monitoring, 2 key object tracking, 3 and natural disaster rescue. 4
In most cases, a WSN is designed and deployed for performing a hard and complex mission. As an essentially parallel and distributed system, a WSN can decompose a complicated task into small- and low-resource-required subtasks. However, to an individual node, it only has very restricted capacity and resource, such as limited computation capacity, narrow communication bandwidth, and little storage space, which further block its possibility for accomplishing tasks independently. Therefore, the strategy for task allocation plays a vital impact on the overall performance of WSNs.
Recently, a great deal of studies and efforts have been conducted on task allocation in WSNs, and numerous fruitful achievements have been made.5–9 Most existing task allocation strategies focus on how to distribute various subtasks to sensor nodes properly so that the network performance can be optimized. This issue is normally modeled as a multi-objective constrained optimization problem which has been proved to be non-deterministic polynomial-time (NP)-hard.10,11 Many approaches have been proposed to solve this problem effectively, including reducing energy dissipation, minimizing task execution time, and prolonging network lifetime. One common limitation of these methods is that they are operated in a non-distributed and centralized manner. They all assume there is a powerful and energy sufficient node, for example, a sink node, in WSN, and all information about each individual node, such as the state of capacity, resource, and energy, can be collected and updated timely by it. Meanwhile, a computationally intensive task allocation algorithm can also be executed with high efficiency. However, as a large-scale and highly distributed network, it is infeasible to designate a normal sensor node as the sink node for its constrained power storage and processing capability. Even a base station or a gateway is not suitable in some circumstances. For instance, in a battlefield surveillance scenario, these key nodes will become the focus of hostile attacks, and once they are destroyed, the whole network will be out of work. On the contrary, if a task allocation strategy is distributed, even if part of the WSN is destructed under opponent’s attacks, the remaining sensor nodes can still cooperatively assign and perform tasks. Consequently, the property of distribution is crucial to a high-quality and robust task allocation scheme.
Another main drawback of previous task allocation strategy is that it commonly assumes each node in WSN has the same or a similar capacity, that is, the WSN is homogeneous. Although there have been some literatures introduced the term “Heterogeneity” to describe distinct capacity of different nodes, they merely referred to that each node has different processing speeds and initial energy levels.
12
In real-world applications, WSNs often face complicated tasks. In order to accomplish these tasks, multiple types of resources are required, that is, a WSN usually consists of sensor nodes with distinguishing capabilities. For instance, to avoid a place to be polluted, a comprehensive monitoring WSN is devised and deployed in the location. The WSN should contain various sensor nodes which are equipped with a variety of sensing devices, including chemical element sensors to detect the content of specific chemical elements in soil, water quality sensors to analyze the characteristics of chemical elements in water, and atmospheric sensors to monitor the amount of carbon dioxide in the air. Obviously, existing task allocation strategies are not suitable for such applications, for that they only consider the computing and processing speed while neglecting different resources owned by the nodes. Therefore, an approach that can deal with task allocation in
Moreover, task allocation is essentially a problem with high computation complexity, usually a NP-complete problem. That is, the computation load will increase exponentially with the size of WSN, which seriously restricts current methods to be applied in large-scale networks. One promising solution to this problem is that after completing a few tasks, the relations among nodes can be autonomously adapted to provide helpful guidance for future task assignment. In this article, we exploit the technology of “self-organization” to improve the performance of task allocation in WSN, and particularly concentrate on arranging and rearranging structure links in distributing tasks. Actually, self-organization has been widely used in the area of WSN, mainly adopted in wireless routing protocols.13,14 By self-organization, nodes can autonomously adjust communication links between them in order to adapt to dynamically changing topology and environmental conditions in WSNs. In so doing, the energy dissipation can be reduced and balanced and the overall network life is significantly prolonged. However, to the best of our knowledge, self-organization technology has never been adopted in task allocation, and in this article, we attempt to integrate self-organization mechanism into task allocation to further improve the performance.
With this background, in this article, we concentrate on task allocation in
Related work
In the past decade, a large number of emphasis have been given to task allocation in WSNs. To a WSN, the sensor nodes are battery-powered and the batteries are incapable of being replaced, which incurs the main challenge to task allocation, that is, minimizing energy consumption and extending the network lifetime. Meanwhile, in many real-world applications, delay of task execution is also very limited. Consequently, most existing literatures take these two aspects as the optimization objectives.
Tian and Ekici 15 proposed an application-independent task mapping and scheduling algorithm in multi-hop homogeneous WSNs, named multi-hop task mapping and scheduling (MTMS). They consider not only mapping computation tasks to sensors but also scheduling communication tasks among sensors in different layers. In addition, they developed a dynamic voltage scaling (DVS) algorithm to further reduce energy consumption. However, MTMS only considers homogeneous WSNs, which limits its application in a variety of conditions.
Xie and Qin 16 pointed out that in WSNs, energy savings and low delay are usually two conflicting objects in the context of task allocation. They presented a detailed model of energy consumption which contained energy dissipation of running as well as link. Based on the model, an energy-delay balanced heuristic strategy with an energy-adaptive window (EAW) is developed. By dynamically tuning the size of EAW, the trade-offs between power consumption and schedule length can be readily adjusted. However, residual energy of nodes and workload balance are neglected.
Based on Xie and Qin, 16 Abdelhak et al. 17 proposed an energy-balanced task scheduling and allocation strategy (EBSEL) with the purpose of extending the network’s lifetime in a single-hop cluster of homogeneous sensors. The tasks are first divided into groups while maintaining parallelism, then nodes are sorted in non-increasing order of their remaining energy. By setting a threshold, the nodes with more remaining energy are given the priority to be allocated with tasks. However, this work does not consider deadline constraints which makes it not suitable in emergent scenarios.
In Wang et al., 18 a task allocation algorithm based on score incentive mechanism (TASIM) is proposed for cluster-based WSNs. The whole sensor nodes are divided into three ranking domains according to their residual energy and performance in the previous task execution. The nodes in the first ranking domain have the highest priority to be selected as candidates. The score of each node is calculated and updated after task completion. Additionally, the uncompleted tasks on failed or dead nodes can be reallocated by cluster heads to improve the robustness. Nevertheless, in TASIM, the cluster head is responsible for both task allocation and information update, which will consume too much energy and the head may die earlier.
Due to the shortcomings of centralized approaches, such as being unsuitable for dynamic network conditions, being fragile to unstable communication links, and high computational complexity, in Pilloni et al., 19 an adaptive and decentralized task allocation negotiation (TAN) algorithm is developed for clustered WSNs. Based on non-cooperative game theory, sensor nodes negotiate with each other for task allocation. By adopting a well-known distributed stochastic algorithm (DSA), all nodes can find a suitable strategy that will reduce application execution time as well as save network energy consumption.
All the work mentioned above adopt traditional heuristic approaches to seek for optimal solution. As stated in section “Introduction,” the issue of task allocation in WSNs is usually modeled as a multi-objective optimization problem which has proven to be NP-hard. The space of feasible solutions will grow explosively which poses a huge challenge to the scalability of traditional methods. However, the bio-inspired stochastic intelligent optimization algorithms have prominent advantages over traditional heuristic methods and have been widely applied in WSNs. 20 Jin et al. 12 proposed an intelligent task allocation and scheduling (ITAS) approach which aims to maximize network lifetime under the required quality of service (QoS) constraints. A popular evolutionary algorithm, named genetic algorithm (GA), is adopted to search for the optimal solution. All chromosomes in GA are evaluated via a hybrid fitness function which includes both the computation and multi-hop communication costs. By GA operations, the chromosome with the best “genes” will be preserved as the final solution. However, the residual energy of nodes are not considered here and GA itself may be easily stuck into local optimum.
In Yang et al., 21 an energy-efficient task allocation scheme with guaranteed application deadlines is presented. Different from Jin et al., 12 a modified version of binary particle swarm optimization (PSO) algorithm is employed for the problem. Each particle is encoded as a feasible solution which is in the form of a binary matrix, and the position of one particle is updated according to the v-shaped family of transfer function. Moreover, a mutation operation is adopted in the iteration to maintain swarm diversity and reduce the probability of being trapped into local minima. However, during the process of position update, many unfeasible particles which do not meet the constraints of task workload and connectivity are produced and thus massive computation is wasted.
One shared drawback of the aforementioned approaches is that they all assume that a sensor node only has the functionalities of computation and communication, they concentrate on how to assign computation and communication load among sensors. However, in real practice, a node is usually equipped with a specific device to sense and collect certain information from the environment. Correspondingly, to execute a task, distinct types of data are required. Obviously, our issue is essentially different from the previous one and the existing approaches cannot be directly adopted to solve our problem. Therefore, in this article, we propose an efficient mechanism to assign tasks in heterogeneous WSNs.
Problem formulation
In this article, we consider a new model that is quite different from previous ones. In the following, we first describe the model of network, task, and sensor nodes, and then the problem is formulated.
System model
In our framework, a WSN is devised and deployed for accomplishing various applications in rounds, and each application consists of a number of tasks which will be assigned to multiple nodes. Unlike the directed acyclic graph (DAG) model, we assume tasks are independent and without precedent constraints, that is, tasks can be executed in an arbitrary order or in parallel. This assumption is reasonable in many real scenarios, for instance, in a surveillance system, when an object enters the target area, several attributes of the object must be sensed and collected, such as the appearance, the weight, the volume, and the moving speed. These sensings show no dependence and sensor nodes can work simultaneously to provide a more accurate and timely data. Another important feature of our task model is that a task requires different types of capacities. Here, the capacities of a task is defined as the necessary resources for successfully completing the task. More specifically, only the required capacities of a task are totally fulfilled by various nodes, the task can be performed. Therefore, a task can be denoted as a tuple
A WSN is composed of a set of sensor nodes that are dispersed in the target area. The networked system can be represented as a graph of nodes and their point-to-point links,
As simple, inexpensive, and power-limited units, sensor nodes are the basic building blocks of a WSN. A sensor node is equipped with a sensing device which can acquire parameters of physical environment, in addition, it also consists of data processing and communicating components. However, as a tiny device with restricted capacity, a sensor node is usually designed for accomplishing a particular action, such as temperature sensors, humidity sensors, and pressure sensors. Formally, a binary vector
Problem statement
Given a set of applications and each application is composed of
Each node has a unique type of capacity and only this particular capacity can be utilized by the corresponding task to which it is associated with.
The allocated tasks must be accomplished. For a task, its capacity requirements should necessarily be covered by overall capacities of the group of nodes to which it is allocated, that is,
The task allocation procedure must be performed in a decentralized manner, that is, each sensor node should decide on which task to undertake by itself, no central or external controller is required.
According to the above description, it is obvious that the issue we deal with in this work has significant distinction from the counterpart which has been well studied in the past. Due to the new features and constraints, there are several challenges to our model: (1) in a
Proposed algorithm
To achieve task assignment in a
Task allocation strategy based on node capacity
As described above, tasks in a
In Line 1, some variables and parameters are first initialized;
Improved task allocation strategy based on self-organization mechanism
In the above section, we propose an ordinary but distributed approach which can provide a feasible solution to task allocation in
By utilizing past collaboration, sensor nodes with appropriate capacities can be quickly localized, which can effectively avoid the waste of energy and time due to blind search.
By setting up an optimized path between the pair of manager node and target node, the time and energy consumption can be further reduced.
The self-organization mechanism is briefly divided into two steps which is detailed as below.
Candidate sensor node selection
When a WSN is just deployed, each node has no knowledge about capacities possessed by other nodes. By adopting task allocation strategy in Algorithm 1, the nodes with distinct capacities can be sought out. To a manager node, after distributing a task successfully, it can acquire capacities of final nodes as well as intermediate nodes. Afterward, the manager node should record this information as it may be helpful to future task allocation. In particular, if a specific capacity associated with a node is detected for the first time, it will be kept by the manager node. As the search order is from nearby to faraway, the recorded nodes are relatively close to the manager. Thus, from the perspective of capacity exploration, those nodes will be considered as potential ones for self-organization. However, we assume that the capacities of tasks on a certain manager node are similar, this assumption is reasonable because sensor nodes distributed in a specific area are unlikely to perform a variety of different tasks. Thus, another important factor that may have an impact on the decision of candidate nodes is the frequency that a node has contributed its capacity during previous task allocation. In more detail, if a node often provides its capacity in the past, it will have a higher probability to be selected as a candidate, whereas a node whose capacity is occasionally required by tasks is unlikely to be helpful in subsequent task allocation. Thus, a candidate selection should be considered comprehensively from these two aspects, that is, the node’s capacity and the frequency of using the capacity. The process is demonstrated in Algorithm 2.
In Line 1, parameter
Structural adaptation for task allocation
To a general WSN, once it is deployed, a specific routing protocol will be operated automatically, which is primarily responsible for effective data transmission. As a power-constrained network, the routing protocol in WSN is mainly concerned with how to save energy of individual node and prolong the lifetime of the whole network. In comparison, the major role of a task allocation path is assigning tasks to appropriate nodes that can cooperatively perform the task. The principal consideration is constructing an efficient path between the manager node and the target nodes, and following it, the nodes with required resources can be reached as soon as possible. Obviously, in this work, we focus on arranging and rearranging a superior path for task allocation in terms of energy savings and allocation time.
Since large number of sensor nodes are densely deployed, the two nodes that are direct neighbors are close to each other. Rather than sending information directly to the target node through single-hop communication which is usually correlated with high energy consumption, the multi-hop communication manner is preferred. Thus, for task allocation, the capacity request message
So far, we can demonstrate the self-organization mechanism in WSN. This problem can be boiled down to the following: in the beginning stage, that is, when a WSN is initially deployed, no historical information is available; therefore, the manager node will adopt Algorithm 1 to assign tasks. After completing a certain amount of tasks, the manager node can obtain messages of a few nodes with distinct capacities that have been contributed in the past. Then, the nodes to which tasks are often assigned are added to the candidate set (Algorithm 2). Afterward, the manager node will adjust the original task propagation paths and establish new paths with the candidate sensor nodes. The purpose of this adaptation is minimizing energy dissipation and allocation time for future task allocation. From above analysis, in order to achieve this goal, an optimized task delivering path is to be built up between the manager node and target nodes. Here, the optimum means that a good balance should be kept between the communication distance over two nodes and the hop number. This issue can be converted to the problem of finding a minimum hop path under the constraint that any node through the path will forward the task allocation message only to node that is within its maximum communication range. We can map this problem to the traditional problem of searching shortest paths in graph theory by regarding manager node as the source node and setting the weight of each edge to be identical. Obviously, there exist a few algorithms that can be adopted to solve this question, such as Dijkstra algorithm, which is simple but efficient. It is worth noting that this self-organization is a continuous and dynamic process, that is, the paths for task allocation will evolve as new tasks arrive sequentially which can guarantee the suitability for dynamism of the environment.
We also notice that to self-organization mechanism, the nodes in the candidate set may be repeatedly assigned with tasks afterward. This is detrimental to the balance of energy expenditure in WSN. However, by optimizing task allocation paths, the sensor nodes which are originally along the transmitting route may be removed and they do not have to forward specific task information, this will significantly reduce energy consumption. Another noteworthy issue is that the proposed strategy still can operate even when some nodes are out of work. In fact, as long as the task information can be sent to the appropriate nodes, the task will be allocated successfully. In particular, if a node along the path is destroyed, any node(s) that will transmit the task to the target nodes can be used instead of it.
Computation and communication overhead analysis
Intuitively, the proposed task allocation strategy can be briefly divided into two parts, one is task allocation based on node capacity and the other is self-organization mechanism. To the former, inserting a node to
Simulation and results
To evaluate the performance of the proposed task allocation strategy, we conduct a series of simulated experiments. To the best of our knowledge, there does not exist any mechanism that can deal with our issue which considers a different capacity request of task in the process of allocation. However, many approaches have been proposed to deal with traditional task allocation problems in WSN. Among these methods, the PSO-based task allocation algorithm has been widely used in WSNs and has been verified to be with good performance. 21 However, the original PSO-based algorithm concentrated on task allocation in heterogeneous WSNs where the sensor nodes are different in processing speed and power expenditure. Obviously, this method cannot be directly applied to solve the problem that a task requires various capacities. Thus, we extend this approach to make it suitable for our model and make a comparison with the proposed strategy. In more detail, we assume each sensor node has a specific capacity, all sensor nodes are classified into groups according to their capacities. To allocate a task, an initial feasible solution (particle) can be generated by randomly choosing a node with required capacity from each group, then the velocity and position of each particle are updated according to the value of fitness function which is concerned with energy expenditure and load balance. When the predefined maximum number of iterations is reached, the particle with the global best fitness value is referred to as the ultimate solution. Furthermore, to reveal the performance improvements gained by employing self-organization strategy, we also compare the proposed two approaches with and without self-organization scheme.
Experimental setup
In our simulation study, the WSN consists of
and to receive the data, a node consumes energy as
where
To comprehensively validate the effectiveness of the proposed approaches, four performance metrics are taken into account, which are as follows:
For ease of reference, we refer to our fundamental method as task allocation with node capacity (TA-NC), its extension by employing self-organization is called TA-S, and the benchmark which allocates tasks by PSO is referred to as TA-PSO.
Results and analysis
Performance with the number of tasks
In the first set of experiments, we examine the performance impact of varying the number of tasks. Here, the number of sensor nodes is set to be 100, and the number of applications changes from 1 to 10 (indicating task increases from 30 to 300 with a step of 30). The results are shown in Figure 1. From Figure 1(a) and (b), it can be seen that TA-S and TA-PSO exhibit similar performance in energy consumption and energy standard deviation, both noticeably outperform TA-NC. Obviously, with the increase in the task number, energy dissipation of all the three algorithms rises proportionally. However, TA-S and TA-PSO expend much less energy compared with TA-NC, and the gap is increasing with the growing of task number, this is because TA-S employs self-organization technology to fully utilize historical interaction information. In so doing, it can effectively avoid having access to nodes with undesired capacities which will otherwise incur excessive energy consumption. To TA-PSO, one of its goals is to minimize energy consumption, thus it can surely provide a solution that has the highest quality. For the similar reason, TA-S and TA-PSO achieve remarkable improvement in terms of energy consumption deviation in comparison with TA-NC, which implies that TA-S and TA-PSO can significantly extend network lifetime. Furthermore, Figure 1(c) demonstrates the deadline missing ratio of various methods, and we observe that TA-S is much more competent to allocate tasks before their deadlines (in all cases, the deadline missing ratio is below 30%), while TA-PSO shows the poorest performance (usually over 90% task cannot be successfully allocated due to the missing of deadlines). This can be explained by the fact that by adopting self-organization, the manager node can establish optimal paths between itself and the target nodes which have proper capacities; thus, when a new task arrives, the manager node will transmit it to the desired nodes through paths with lowest hops. In comparison, TA-PSO does not take hop into account, it may find nodes that are remote from the manager node which will inevitably improve the hop for task allocation. Regarding the execution time of various approaches, the result is illustrated in Figure 1(d). There is no doubt that TA-PSO consumes much more time than the other two methods, almost several orders of magnitude higher. TA-NC runs with minimum time for its extreme simplicity and is superior to TA-S, but the gap between them is slight. In summary, from above experiments, we can conclude that TA-S has the best comprehensive performance.

Performance with the number of tasks: (a) energy consumption, (b) energy standard deviation, (c) deadline missing ratio, and (d) algorithm execution time.
Performance with the number of nodes
In this section, a group of experiments are done to examine the impact on the three algorithms’ performance with different number of nodes, which can verify the scalability of the these approaches. We scaled the number of nodes in WSN from 70 to 160, and the number of applications is set to 1 (30 tasks). Figure 2 plots the results. Figure 2(a) shows the energy consumption of various approaches, to TA-NC and TA-S, and they allocate tasks by delivering messages and matching the capacities within a local range of the WSN, thus the energy expenditure has little to do with the size of the network. To TA-PSO, as the power depleted for operating the algorithm itself is not taken into account, energy consumption is independent of the number of nodes. Here, both TA-S and TA-PSO outperform TA-NC, and the former two schemes achieve comparable performance. Likewise, on deadline missing ratio shown in Figure 2(c), the results are unpredictable, whereas TA-S can successfully assign much more tasks than the other two methods. With regard to the energy standard deviation, from Figure 2(b), it is dropping with the increase in the number of nodes; the reason is that when the size of the WSN becomes larger, the workload will be distributed on more nodes which can better balance energy dissipation. Similar to the outcomes in the last section, in terms of execution time, TA-NC has the top performance, TA-S needs a little more time to be implemented, while the computation complexity of TA-PSO is excessively higher compared with the other two approaches, and it is dramatically affected by the node number due to the exponential increment in searching space with the number of nodes. In conclusion, the proposed TA-S strategy performs well in scalability and is able to adapt to large-scale WSNs.

Performance with the number of nodes: (a) energy consumption, (b) energy standard deviation, (c) deadline missing ratio, and (d) algorithm execution time.
Conclusion
In this article, we study the issue of task allocation of collaborative applications in heterogeneous WSNs. We assume that a task may require distinct types of capacities, and accordingly, sensor nodes have various capacities that can be exploited for task execution. A novel scheme is developed to deal with this problem. The main idea is by transmitting the task through part of the network, the nodes with the appropriate capacities will form a group to be assigned with the task. Compared with conventional task allocation methods in WSN, the proposed approach has two desired features. First, only local information is needed, that is, it is a distributed strategy which makes it especially suitable for large-scale networks. Second, it considers heterogeneity in WSN, which makes it more applicable in more general situations. In addition, an improved version of the approach that synthesizes self-organization concept is presented. By referring to the previous information, the sensor nodes that are frequently allocated with tasks are selected as candidates, then the structural relations among nodes will be adapted such that subsequent tasks can be assigned to proper nodes immediately and in time. We conducted a series of experiments to evaluate the feasibility and effectiveness of our approaches, and the results show that the self-organization-based approach has the best comprehensive performance. Compared with PSO-based method, it achieves significant improvement in task deadline missing ratio as well as execution time. Compared with the fundamental approach, it reduces energy consumption and balances workload.
In this study, only a simple self-organization mechanism is adopted, and in the future, we intend to develop a more comprehensive self-organization mechanism to further improve the performance of the strategy. Moreover, we are also interested in applying the proposed approaches in real-world scenarios to test their practical performance. Another valuable issue is how to guarantee the topological coverage after the connections among nodes are adjusted.
