2.3 Distributed compression techniques in WSNs
2.3.1 In-network compression
In-network compression refers to a wide range of compression methods that are implemented both on the sensor node level and network level. Assuming that the sensed data is compressible, the objective of in-network compression is to find an optimal combination of routing and encoding throughout the path that the data is traversing hop by hop to reach the sink. Most of the in-network compression techniques are based on transform compression. First, a suitable compressive transform needs to be chosen depending on the signal that is to be sensed by the WSN. DCT or Fourier transform is suitable for acquiring signals such as ambient temperature, humidity, etc. Wavelet transform better captures abnormal changes in the spatial data. Wavelet can be used to detect events in an environment or signals that have drastic variations or fluctuations.
In addition to the typical transformations such as DCT, Fourier or wavelet, Karhuenen-Lo`eve Transform (KLT) is considered as a better trans- formation, since it theoretically achieves the optimal compressive basis for a given signal Gastpar et al. [2006]. While the transformation matrices of DCT and Fourier transform can be generated using a finite number of com- putations, there is no practical solution for generating the entries of a KLT matrix for a given signal profile Marco F. Duarte and Baraniuk [2012]. Re- gardless of the compressive basis that is used for in-network compression, the transmission of the data has to take place in a compressed form. The
compressed data are gathered over a spanning tree. The sink receives the compressed data and applies the decompression algorithm to extract the originally sensed data. Shen et al. Shen and Ortega [2010] introduce a data gathering technique based on transform compression.
To achieve the best compression ratio, transform compression must be applied to the complete set of data rather than on small portions of the sensed data. Therefore, when each node receives the compressed data, it has to perform a local decompression. It first extracts the raw data and appends its own data to the received data. Then the compression algorithm is applied again to build a compressed packet that is sent to the next hop.
One drawback of this approach is that the sensor nodes need to possess enough computation power and memory to decompress the partially received data, and then, append their own data. Furthermore, each SN requires a relatively powerful CPU and a relatively large amount of RAM to compress the data and send it to the next hop. Note that, a complex compression algorithm can be very heavy for the basic hardware of a typical SN. Some other SN hardware architectures provide more computation power, though with the cost of more energy consumption. The memory requirement can grow very high especially for the nodes closer to the sink. These nodes have a lot of descendants in the collection tree. Therefore, the compressed data packets that are received by these nodes will occupy a larger amount of RAM when uncompressed. The efficiency of compression algorithms depends very much on the amount of data that can be accessed centrally by the computation algorithm. This is mainly decided by the amount of data that can be loaded directly into RAM, because the compression algorithm has to process a buffer of data at once and then store the compressed buffer, in order to achieve the highest overall performance.
Assuming that the SNs possess enough computation power and memory, in-network transform compression still suffers from another drawback. The amount of computations performed by the SNs is not balanced across the sensor network. The nodes closer to the sink perform more computation and may require more RAM than the nodes that are in the middle of the collection tree hierarchy. The leaf nodes have the least computation and memory requirements, since they have only one data item and do not require to compress it at all. This leads to an inhomogeneous composition of the SNs in a WSN.
Inhomogeneity of the SNs makes the WSN very inflexible to configuration changes. It is desired that all SNs have the same hardware platform, other- wise the WSN becomes very inflexible to configuration changes. According to the homogeneity requirement, the SNs must be equipped with a hardware that can handle data compression and decompression in its worst case, i.e.,
2.3. DISTRIBUTED COMPRESSION TECHNIQUES IN WSNS 23
very close to the sink node. Having a homogeneous network enables the user to reconfigure the WSN at any time. For example, the user may want to pick another location for the sink. This is only in a network with homogeneous SN hardware platforms possible without massive reconfiguration or reloca- tion of the SNs. In the exemplified scenario, we see that a huge amount of computation power of the SNs remains unused. Only the nodes closer to the sink may fully advantage from their relative high-performance hardware.
We summarize the pros and cons of in-network transform compression as follows:
• Pros
– Higher compression ratio: By applying the transformation directly on the sensed data, in-network compression often achieves a higher compression ratio.
– Suitable for low bandwidth applications: In-network compression is one of the best solutions for scenarios where the bandwidth is very limited, but the computation power of the sensor nodes allow uncompressing, padding and re-compressing the data.
– Extensible to temporal domain: Temporal and spatio-temporal compression are direct extensions of the spatial in-network com- pression. The same methods for spatial compression are applica- ble to temporal and spatio-temporal data collection without major modifications to the state-of-the-art algorithms.
• Cons
– Complexity: Efficient implementation of the in-network compres- sion algorithms such that they can be executed by the basic hard- ware of the SNs is challenging.
– Unbalanced computation load : The computation complexity de- pends very much on the amount of data that is passing through the node. In particular, the nodes closer to the sink have to per- form more computations and require more memory to process and forward the data.
– Being sensitive to packet failures: Data communication takes place only in the compressed form. Therefore, any loss of con- nection between two nodes destroys a relatively large amount of data. Compressed data packets are more sensitive to packet loss, because more information is likely to be lost when a single packet is lost or a small part of the data is corrupted.
Similar to network perturbation and packet loss, abnormal sensor readings also have a degrading effect on in-network compression methods. Especially, when a non-robust compressive domain is selected for transformation. In sit- uations where abnormal sensor readings and unexpected events are possible, transform bases such as wavelet transform are more suitable choices to be used by in-network compression methods.