# Design and Analysis of an Efficient Energy Algorithm in Wireless Social Sensor Networks
###### Abstract  
Because mobile ad hoc networks have characteristics such as lack of center nodes, multi-hop routing and changeable topology, the existing checkpoint technologies for normal mobile networks cannot be applied well to mobile ad hoc networks. Considering the multi-frequency hierarchy structure of ad hoc networks, this paper proposes a hybrid checkpointing strategy which combines the techniques of synchronous checkpointing with asynchronous checkpointing, namely the checkpoints of mobile terminals in the same cluster remain synchronous, and the checkpoints in different clusters remain asynchronous. This strategy could not only avoid cascading rollback among the processes in the same cluster, but also avoid too many message transmissions among the processes in different clusters. What is more, it can reduce the communication delay. In order to assure the consistency of the global states, this paper discusses the correctness criteria of hybrid checkpointing, which includes the criteria of checkpoint taking, rollback recovery and indelibility. Based on the designed Intra-Cluster Checkpoint Dependence Graph and Inter-Cluster Checkpoint Dependence Graph, the elimination rules for different kinds of checkpoints are discussed, and the algorithms for the same cluster checkpoints, different cluster checkpoints, and rollback recovery are also given. Experimental results demonstrate the proposed hybrid checkpointing strategy is a preferable trade-off method, which not only synthetically takes all kinds of resource constraints of Ad hoc networks into account, but also outperforms the existing schemes in terms of the dependence to cluster heads, the recovery time compared to the pure synchronous, and the pure asynchronous checkpoint advantage. ad hoc network; mobile communication; synchronous checkpointing; asynchronous checkpointing; hybrid checkpointing 172166201717216620171721662017172166201717216620171721620172166201717216  
However, mobile ad hoc networks have some limitations such as lack of support of fixed networks, limited resources and changeable topological structure. Compared to the normal mobile network, its stability is worse and the failure probability is higher. Thus, it is necessary to research fault tolerance and reliability technologies for the network. In distributed systems, in order to ensure global consistency, when failures occur, the related processes firstly rollback the executed operations and then redo them. Checkpoint technologies are proposed for avoiding rollback to the initial states of the processes [1; 2]. Namely, the processes are required to store their current states at a regular or unregularly period, so they just need to roll back to a specific checkpoint instead of the initial state when a failure occurs, to greatly reduce the recovery time [3; 4]. In essence, the mobile ad hoc network is a kind of distributed network, hence the checkpoint technologies for it not only need to consider the features of distributed systems and regular mobile networks such as mobility of location and frequent disconnection, but also need take its own unique characteristics into account [5]:  
_Multi-hops routing (MH)_. Without the support of a fixed network, the communication among MH\({}_{\text{s}}\) in different clusters needs to be transmitted by multiple intermediate nodes. This will increase the number of wireless communication messages and communication delays for the checkpointing procedure. _Lack of support for fixed networks_. In regular mobile networks, the checkpoint information of MH\({}_{\text{s}}\) is mostly stored in the Mobile Support Stations (MSSs) dispatching in the fixed network because of the unreliability of storage in MH\({}_{\text{s}}\). However, there are no longer fixed hosts like MSSs in mobile ad hoc networks, hence, the existing checkpointing methods in the mobile computing environment which are dependent on MSSs are not suitable for the ad hoc network any more. _Changeable topological structure_.