## 3 Act
### Compression and Congestion  
These compression techniques are usually used in compression of images or audio which are continuous data and have similar data values. We use these compression techniques because the sensed data are continuous and have similar values. DWT, ADPCM, and DWT can drastically reduce the number of packets required by the sensed data. Moreover, in case of congestion, the probability of a packet drop can be reduced by applying ADPCM with a big quantization step size, which reduces the amount of output data from RLC and thus the number of required packets. Dropping a packet causes the loss of the entire data contained in the dropped packet and thus reduces the amount of data, while increasing the quantization step size reduces the fineness (fidelity) of the data.  
Figure 10: Queue operation in congestion.  
Figure 11 shows the different of packet dropping and data compression with network congestion. We assume that values of the original data in Figure 11-(A) which were sensed by the sensor device on the source node are continuous stream of integer number and are similar with each other. However sometimes values might be different with other due to the events or variations in environment. With packet dropping technique only, the whole data on the dropped packets are lost and cannot be available to users as shown in Figure 11-(B). To recover the lost data, many congestion control protocol uses end-to-end retransmission, which requires energy consumption. On the other hand, with data compression - DWT and DPCM - packets with lower priority (with high frequency) are dropped first in case of congestion, and thus the sink node can reconstruct the original data with higher priority data (with low frequency) as shown in Figure 11-(C). Dropping the high frequency data removes the spike data which is very different value with other data and thus the reconstructed data are smoothed. However, with the reconstructed data, users can see the variation of sensed data and should request the source node to retransmit the original data only if they need to confirm the exact value of data. The quantization step size is increased in proportion to the strength of congestion and the fineness (fidelity) of the reconstructed data decreases in inverse proportion to the quantization step size. Therefore, the fineness of reconstructed data decreases in inverse proportion to the congestion strength.  
To reduce the packet drop and guarantee the fairness, ACT controls the forwarding rate and the generating rate together. When a node detects the congestion situation, the node notifies its child nodes to reduce the out rate. Child nodes compute the out rate for itself and its child node by dividing the  
Figure 11: Packet loss and compression.  
available out rate with the whole number of its child including itself and then also notify their child nodes the congestion with proper out rate. Child nodes then apply the computed rate to the ARC and APC.  
The ACT assigns a priority to a packet based on the result of the DWT. The DWT divides data into four groups with different frequencies. Usually, a high-frequency group has little energy and may be disregarded, while a low-frequency group has considerable energy and should not be disregarded. Therefore, groups with a low frequency should be assigned a high priority in order to prevent a packet drop during data transmission, as shown in Figure 12-(A). The ACT uses the priority for the selection of a packet to drop and the selection of the quantization step size in ADPCM [Figure 12-(B)]. The bigger the quantization step size, the lesser the number of packets generated by RLC. Therefore, when congestion occurs in a network, the ACT should set up a big quantization step size. Moreover, the ACT increases the quantization step size in proportion to the congestion strength [Figure 12-(C)].