Initialize: Considering the active time slots of node are , |
the energy consumption of node is and the energy consumption |
is set 0. The CDS is then constructed. |
Input energy consumption of each node: |
Case 1: The process of data transmission |
1: For each node Do |
2: Sends a data packet to other nodes, |
3: Add the energy consumption of node in the header |
of packet. |
4: For each node receives the data packet Do |
5: Read the energy consumption from the header of |
data packet, then store the energy consumption in |
node . |
6: Delete the energy consumption from the header of |
data packet, and store the energy consumption of |
in the header of data packet . |
7: End for |
8: End for |
Case 2: Adjust the duty cycle of nodes |
9: For each node after one round of data transmission Do |
10: Compare the energy consumption of nodes stored in node |
, and its energy consumption in accordance with the |
order from small to large , and store its |
energy consumption . |
11: According to the (6), calculate the average energy |
consumption of neighbor nodes of node . |
12: |
13: If then |
14: Compute according to the (13); |
15: Else if then |
16: Maintain the current duty cycle. |
17: End if |
18: End for |
19: Output duty cycle of each node |
Case 3: Reconstruct CDS |
20: According to Section 4.2, construct PDS. |
21: According to Section 4.2, connect nodes in PDS, to make |
the network connection. |
22: In order to reduce transmission delay, delete redundancy nodes. |
23: At last, CDS is reconstructed. |
24: Return to step 1. |
Output the duty cycle of each node |