When developing sensor network applications, the shift from simulation to testbed causes application failures, resulting in additional time-consuming iterations between simulation and testbed. We propose transferring sensor network checkpoints between simulation and testbed to reduce the gap between simulation and testbed. Sensornet checkpointing combines the best of both simulation and testbeds: the nonintrusiveness and repeatability of simulation, and the realism of testbeds.
Sensornet CheckpointingSensornet checkpointing is mechanism for extracting network state from both real and simulated networks. A network checkpoint consists of the set of all sensor node states. Extracted node states can be stored local to each node for offline processing, such as in external flash. When network execution is finished, node states are extracted from external flash to be analyzed. Node state can also be transferred online to outside the network via radio or serial port. A network rollback, the opposite of checkpointing, restores a previously extracted state to the network. Both checkpointing and rolling back network state can be performed at any time, and is synchronous: states from all network nodes are extracted and restored at the same time. During checkpoint and rollback Sensornet Checkpointing 3 0 rollback t checkpoint network execution stopped unfreeze network freeze network t t 0