{'fraction_non_alphanumeric': 0.025517993456924754, 'fraction_numerical': 0.0021810250817884407, 'mean_word_length': 4.739674593241552, '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}}
Towards reliable data delivery in solar-powered wireless sensor networks

Because of the error-prone nature of wireless communication, a spectrum of solutions has been proposed at every layer of the network protocol stack on how to reliably deliver the sensory data in wireless sensor networks. Among them, a class of approaches [1, 2] is to proactively add redundancy by using simple duplication or advanced coding schemes (e.g., erasure coding [3, 4]), and send multiple copies of a message simultaneously to mitigate singlemessage losses. Due to the limited energy in traditional battery-powered sensor networks, exploiting any level of redundancy will inevitably reduce the network lifetime. However, this dilemma could be relieved in wireless sensor networks with renewable energy sources. Considering the fact that a full battery can not harvest more energy, there is an incentive to spend energy to make room for more energy. As a result, the extra spending has no impact on the node lifetime since this energy surplus would be wasted otherwise. In this work, we consider the problem of utilizing such energy surplus (if any) in solarpowered sensor networks to adaptively adjust the redundancy level of erasure codes used in communication, such that (1) the end-to-end packet delivery probability is maximized and (2) the network lifetime is not affected. A naive approach to achieve this is to add communication redundancy only when the battery is full. However, with this simple approach, erasure coding is only active during the short periods of fully charged state. Consequently, the energy surplus may not be fully utilized because adding more redundancy will have a very marginal gain if the redundancy level is already reasonably high for these periods. Thus, it could be better for a node to start increasing the redundancy level even before reaching the fully charged state. Furthermore, from the perspective of end-to-end flows, a node should not arbitrarily increase its transmission redundancy even though it has plenty of energy surplus. This is because it will take the relay node extra energy to receive the redundant communication. Another problem that a relay node has to face is how to divide its energy surplus for the passing flows such that the performance of the whole network is improved. In a word, determining the optimal redundancy level of each link is very complex, since it depends not only on the network properties (e.g., flow routes and link qualities), but also on the solar energy harvesting process. In this work, we rigorously formulate an optimization problem to determine the redundancy level of each data link over the time period of interest. The formulated problem, however, is in general hard to solve because of the combinatorics involved and the special curvature of its objective function. By exploiting special properties of the problem, we propose an effective approximated solution, which is further proved to have a constant approximation ratio. Moreover, we also recognize that the combinatoric functions involved in the objective are guaranteed to be concave, as long as the quality of considered links is not too low. Therefore, our solution can tackle the problem through convex optimization techniques. We evaluate our solution based on the real setting of our previously published solar-powered sensor network testbed [5]. Results show that the proposed scheme leads to a higher end-to-end packet delivery probability. 2. Problem Formulation We consider a network with a node setN and a link set L. Let l(i, j) ∈ L be a directional link from node i to node j where i, j ∈ N . Sensory data are generated on nodes in a subset S ⊆ N , and then forwarded through the network to particular destinations. Let rs be the rate of the sensory data generated on node s ∈ S, and fs be the route used to forward these data in the network. By assuming a BERbased (Bit Error Rate) model, the transmission of a packet is successful only when all its bits are received correctly. Thus, the successful transmission probability for a packet of m bits is (1− pe), where pe is the statistical bit error rate on this link. When erasure coding is employed, a packet is first divided into b blocks and then encoded into αb code blocks such that if b or more code blocks are received, the original packet can be decoded. The parameter α determines the degree of redundancy and is called the replication factor. Denote p = (1−pe)mb as the successful transmission probability of each code block. We can express the successful decoding probability as: