| Managing large-scale wireless sensor networks (WSNs) is difficult. Updating the software is one of the biggest challenges. For real-world WSN applications, we usually need to deploy hundreds or thousands of sensor nodes. Software for these self-organizing deployments often needs to be updated for a variety of reasons-fixing bugs, changing network functionality, tuning system parameters, etc.The current software update technologies are often under-satisfactory. The serial programming approach cannot apply to the large-scale sensor networks because its inefficiency. Researchers have thus introduced wireless reprogramming techniques to enable each node to be automatically updated via wireless communications.To reduce the updating cost, we employ the technique of incremental reprogramming. In incremental reprogramming, only the delta between the new code and the old code needs to be disseminated, resulting in much smaller dissemination cost. There are two major factors influencing the delta size, i.e. code similarity and differencing algorithm. We thus propose new approach incremental reprogramming approaches to reduce the delta size.(1) The code similarity problem. Preserving the similarity of the new code and the old code will effectively reduce the delta size. An efficient similarity preserving method called R3sim is proposed to optimize the binary code format for achieving a large similarity with a small metadata overhead.(2) Differencing algorithm. Existing differencing algorithms do not ensure an optimal size of binary code for dissemination. Some of them may incur a large overhead in terms of execution time and memory consumption. They are unsuitable for increasingly complex programs. We propose an efficient differencing algorithm called DASA. We prove that the DASA algorithm generates the smallest delta size for the given encoding cost. This work was published in IEEE ICC2012and was accepted by Ad-Hoc&Sensor Wireless Networks. |