{'fraction_non_alphanumeric': 0.017287234042553192, 'fraction_numerical': 0.0, 'mean_word_length': 5.71875, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A task allocation strategy for complex applications in heterogeneous cluster–based wireless sensor networks

To a wireless sensor network, cooperation among multiple sensors is necessary when it executes applications that consist of several computationally intensive tasks. Most previous works in this field concentrated on energy savings as well as load balancing. However, these schemes merely considered the situations where only one type of resource is required which drastically constrains their practical applications. To alleviate this limitation, in this article, we investigate the issue of complex application allocation, where various distinctive types of resources are demanded. We propose a heuristic-based algorithm for distributing complex applications in clustered wireless sensor networks. The algorithm is partitioned into two phases, in the inter-cluster allocation stage, tasks of the application are allocated to various clusters with the purpose of minimizing energy consumption, and in the intra-cluster allocation stage, the task is distributed to appropriate sensor nodes with the consideration of both energy cost and workload balancing. In so doing, the energy dissipation can be reduced and balanced, and the lifetime of the system is extended. Simulations are conducted to evaluate the performance of the proposed algorithm, and the results demonstrate that the proposed algorithm is superior in terms of energy consumption, load balancing, and efficiency of task allocation.