## 6 Main SMEP Elements
### Data Queue and Zones  
_DataQueue_ is an array that saves a ground sensor data and compressed sensor data and the compression is executed on this _DataQueue_. Each compression makes the number of the targeted ground or compressed sensor data in _DataQueue_ reduce to the half. For this reason, the size of _DataQueue_ must be \(2^{m}+1\). Furthermore, _Zones_ array information corresponding to _DataQueue_ ranges is a basis on each compression. _Zones_ data structure is defined as the below:  
**Definition 19**. : _Given a data queue, DataQueue[0..2m], with the size \(2^{m}+1\), a Zones with respect to the data queue is defined as a data structure with the size \(m\), this is, Zones[0..m - 1], as follow:_  
1. _Zones[0] corresponds to the range DataQueue[k] for_ \(k\)_,_ \(0\leq k\leq 2^{m-1}\)_._
2. _Zones[i] for_ \(i=1,\ \ldots,m-2\) _corresponds to the range DataQueue[k] for_ \(k\)_,_ \(\sum_{j=0}^{j=i-1}2^{m-j-1}+1\leq k\leq\sum_{j=0}^{j=i-1}2^{m-j-1}+2^{m-i-1}\)_._
3. _Zones[m - 1] corresponds to the range DataQueue[k] for_ \(k\)_,_ \(2^{m}-1\leq k\leq 2^{m}\)_._
4. _Each value of Zones[m - 1] represents the number of compressions through which all sensor data in the data queue corresponding to the Zones[m - 1] have been compressed._  
When a zone corresponds to a range of DataQueue, we call _the zone covers the range_. Figure 8 illustrates _Zones[0..3]_ with respect to _DataQueue[0..24]_. In this figure _Zones[0]_ covers a range from \(S_{3,0}\) to \(S_{3,8}\). This range is relevant to one plus a half of _DataQueue_ size as an area to save the selected sensor data when _DataQueue_ is full of ground or compressed sensor data. In Figure 8, all sensor data in this range have been selected through three compressions. _Zones[1]_ covers a range from \(S_{2.0}\) (_DataQueue[9]_) to \(S_{2.4}\) (_DataQueue[12]_) taken through two compressions and the number of sensor data in this range is \(2^{2}\). _Zones[2]_ and _Zones[3]_ cover a range between \(S_{2.5}\) (_DataQueue[13]_) and \(S_{2.6}\) (_DataQueue[14]_) and between a range of \(S_{0.0}\) (_DataQueue[15]_) and \(S_{0,1}\) (_DataQueue[16]_), respectively. In particular, the range that _Zones[3]_ covers does not path through any compression in Figure 8.  
Now, we introduce operations on the _Zones_ data structure. **Definition 20**. : _The operations on \(\textbf{Zones}[\textbf{0}..\textbf{m}-\textbf{1}]=[\textbf{c_{0}},\textbf{c_{1}},\ldots,\textbf{c_{m-1}}]\) are defined as follows:_  
* _At first, ground sensor data are saved into DataQueue starting from DataQueue[0], this is, the first location of the DataQueue region corresponding to Zones[0], and the values of Zones are_ \(\overbrace{[0,\ 0,\ \ldots\ldots,0]}^{m}\) _until DataQueue is filled up with ground sensor data and_. * _Given Zones_ \(=[c_{0},\ c_{1},\ldots,\ c_{m-2},c_{m-1}]\), if \(c_{m-1}=c_{m-2}\) after a compression at the last zone Zones[\(m-1\)], then
* _the_ \(c_{m-2}\)_th compression on DataQueue is executed on the zones from_ \(c_{k}\) _such that_ \(k=min\{i|c_{i}=c_{m-1}\ \}\) _to_ \(c_{m-1}\)_,_
* _the result of Zones after the i) compression is_ \(Zones=[c_{0},\ c_{1},\ldots,\ c_{k}+1,\overbrace{0,\ldots,0}^{m-k-1}]\)_._
* _Additionally, new ground sensor data are saved into DataQueue starting from DataQueue[\(\sum_{j=0}^{j=k}2^{m-j-1}+1\)], this is, the first location of DataQueue covered by_ \(Zones[c_{k+1}]\)_. Figure 9 shows the changes of _Zones_ values in compressions and round compressions according to the _Zones operation rules_. The arrow in the figure represent the compression executed when _DataQueue_ is full. Note the round compression consists of one or more compressions and the round compression is finished when all values in _Zones_ are same. At the beginning of the _SDSC_ mode _Zones_ values are 0,0,0,0 according to _Zones operation Rule 1_ and they are also the same values until _DataQueue_ is full firstly.