by Jaein Jeong
One problem of the current network programming implementation of TinyOS is that it takes much longer than the traditional in-system programming due to the slow radio connection. We extended the network programming implementation of TinyOS 1.1 release so that it can reduce the programming time using the program code history. The host program generates the difference of the two program images using the Rsync algorithm and it sends the difference to the sensor nodes as script messages. The sensor nodes rebuild the program image based on the previous program version and the received script messages. The Rsync algorithm compares the two binary files and finds the matching blocks even though they are located in an arbitrary location within the files. We were able to get speed up of 9.1 for changing a constant and 2.1 to 2.5 for changing a few lines in the source code.