3.3.1 Bulk and Doze Parameters
In order to achieve the goal we state above, we have to define the algorithm to initiate Doze and Bulk parameters for all sensor nodes. In a Poisson arrival system, the maximal Bulk number of a sensor node is limited by many causes such as buffer size of a sensor node, network bandwidth, data packet size, etc. The Bulk stands for the number of data packets a sensor node will transfer at most within one sleep cycle. As a result, the Bulk number was bounded by the transmission time of each data packet. Doze parameter indicates the sleep time of a sensor node before it sends out data. When a sensor node is sleeping for Doze time length, it will still wake up to receive data there its children nodes are ready to transmit data.
3.3.2 Transmission Rate Constraint
Let Pm be the number of data packets can be transmitted within one time slot A sensor node has to transmit Bulk data packets within the Doze sleep cycles. Since both
Time Slot
SYN Transmission Transmission …
Ttx CW+RTS+CTS+Data+ACK
Figure 3. Contents of Time Slot
Transmission
the receiving and transmitting actions might happen in the same time slot, the expected bandwidth is only half of the bandwidth.
m
k
P
koze 2 Bulk
D
(1)3.3.3 Buffer Overflow Constraint
In a Poisson arrival system, we can not guarantee the buffer is overflow-free no matter how big it is. What we can do is just setting an overflow probability threshold and controlling the overflow probability under this threshold. For a sensor node, the numbers of incoming data from children nodes are determined, so we only have to investigate the relations between the remaining buffer space and self-sensed data packets. Let the buffer size of node k be Bufferk . C(k) stands for all the children nodes connected to node k. The remaining buffer space bk is that Bufferk takes away the maximal possible arrival data within the Dozek sleep cycles. We will calculate the overflow probability with buffer size bk.
If a sensor network has a data latency restriction, we will consider the latency for the leaf nodes only because the leaf nodes have the largest data latency in all nodes. For a data packet been transmitted to the sink from a leaf node, it will suffer the following latency factors: carrier sense latency, backoff latency, sleep latency, queuing latency,
and transmission latency [12]. Carrier sense latency indicates that the sensor node performs the carrier sense action. Backoff latency is that when a sensor node fails on carrier sense, it will redo the carrier sense action after a random short time period.
When the sensor node is in sleep, it will not transmit the self-sensed data packet or received immediately. The waiting time between data packet arrival and transmission is sleep latency. The queuing latency indicates the waiting time of a data packet in buffer from beginning transmission to being delivered. The transmission latency is the time required to transmit a packet out and it depends on the network bandwidth. Comparing to other latency factors, carrier sense latency and backoff latency are smaller and we can ignore them.
Let P(k) be a set of nodes including all the ancestor nodes connected to node k, i.e.
all the nodes will pass the data packets which are sensed by node k to sink. The expected latency includes sleep latency, queuing latency, and transmission latency. W(k) is the average queuing time for data packets in Node k.
In order to confront the latency constraint, we should calculate the worst case of latency and use it as the upper bound.
After the above restrictions are considered, we can finally study the relation between Bulk and Doze. For the node k, Bulkk must be greater than the number of possible arrival data packets within Dozek or the buffer will overflow.
k k
If the number of data packets in buffer is less than Bulk, a sensor node can turn off radio and stop everything to sleep after transmitting all the data packets in buffer. On the other hand, if the number of data packets in buffer is greater than Bulk, it has to wait for the next time slot.
3.3.5 Initial Scheduling
After understanding all the restrictions and relations of Bulk and Doze, we can generate an initial schedule for networks. A series graphics in figure 4 has shown the schedule initiate diagram step by step. Firstly, we have every sensor node use its
“following node number” as the initial Bulk number as shown in figure 4(b). Since we have got every node an initial Bulk number, we can calculate its Doze parameter by (6) as shown in figure 4(c). After generating every node’s Doze parameter, we can calculate the latency for the leaf nodes by using formula (5). If the latency has not reached the limit of the system, we will adjust the Doze by (5). After the new Doze parameters are attained, we can re-adjust the Bulk parameters. Then we get a sleep and transmission schedule to fit the latency constraint as shown in figure 4(d). There is one more restriction while setting Doze parameters: when a sensor node’s Doze parameter has been given and adjusted by (5), the next network chain connected to this sensor node can only decrease its Doze parameter but not increase it. This restriction is to prevent the latency of leaf nodes in a network chain be effected by another network chain and caused the packet breaks the latency constraint.
( 30,3) ( 39,6) ( 15,3)
( 15,3) ( 24,12) ( 24,15) ( 21,24) ( 18,27)
( 15,6) Figure 4(d). Schedule fits Latency Constraint
Sink
( 10,1) ( 13,2) ( 5,1)
( 5,1) ( 8,4) ( 8,5) ( 7,8) ( 6,9)
( 5,2) Figure 4(c). Initial Doze parameters
Sink
( ?,1) ( ?,2) ( ?,1)
( ?,1) ( ?,4) ( ?,5) ( ?,8) ( ?,9)
( ?,2) Figure 4(b). Initial Bulk parameters
Sink
0.05 0.2 0.2
0.2 0.1 0.1 0.1
0.2
0.1
Figure 4(a). Data Arrival Rate Sink