To analyze the cost induced by packet loss over wireless links, we consider an uplink model where a group of mobiles are all communication to a single base-station.
There are three major parts in the model: Base-station, Channel, Mobile, respectively.
In wireless networks, providing a broadband wireless infrastructure that can support emerging multimedia services along with traditional data service is current trend. In such a multi-service wireless environment, quality-of-service (QoS) guarantees are critical to real-time voice and video. However, due to a lack of bandwidth and timing constraints, transmitter must compute a policy which decides how many packets should be drop at the head-of-line for its buffer and the code rate for the packet to be sent.
Depending on the policy the sending end uses, different packet loss will be caused. Since we can not avoid packet loss, which results in cost, our goal is to minimize the cost in the system.
We assume that there are 18 symbols in a MAC frame, which includes Header, user data, and CRC code, and there are 10 bits in a symbol. The MAC frame is encoded by an RS code. In this paper, we consider three RS codes for adaptation, see Table 3.1.
N 20 40 60
K 18 q 1024
r c 0.9 0.45 0.3
t 1 11 21
Table 3.1 A class of adaptive RS code.
We adopt a hybrid of FEC and ARQ [4], i.e., the receiver attempts to correct errors first and, if the errors are uncorrectable, retransmission of the packet is requested.
When errors are successfully corrected, an acknowledgment (ACK) is transmitted to the sender and when errors are detected but not correctable, a negative acknowledgment (NAK) is sent. We use stop-and-wait (SW) in this thesis.
3.1 Mobile Model
To analyze the cost over a wireless link, we consider the framework show in Figure 3.1[5].
Figure 3.1 Framework for a wireless link.
In our system, we make several assumptions:
(1) Finite buffer size (size=M packets) (2) Truncate Poisson arrival
(3) Different packet importance (4) Periodic packet pattern
When the buffer is full, new arrival packet will push out the head-of-line packet.
Here, we assume that the packet is pushed for exceeding its deadline. The packet arrival process is truncate Poisson distribution, and the probability of one packet arrival during polling interval is Parrival (Parrival <1), and (1- Parrival) for no packet arrival.
There are several kinds of packet. Each packet is assumed to be marked according to its importance, and the importance of a packet depends on its content.
For instance, I-frame is more important than B-frame in MPEG video transmission.
We suppose that the order of packet arrival is fixed. If there are M kinds of packets in our system and now the tail packet in the buffer is the 3rd kind, the next arrival packet must be the 4th kind of packet.
We suppose at the end of the n transmission, the mobile which polled at the th n round receives the ACK/NAK message from the base-station. The message also th
contains the channel status information, and the mobile uses the information to update its own state. After updating, the mobile waits for next polling message. Later, in the beginning of the (n+1)th transmission, a mobile is polled by the base-station. Once this mobile receives the polling, it computes the best policy to reduce its cost. The policy decides the number of early dropping packets and the code rate for the packet to be sent. The sending packet encrypts the state and the action of the mobile, and the action within will effect the transmission time of the packet, and further effect the fair queuing algorithm.
The method to choose the policy is based on the state of the polled mobile, which includes:
(1) Prior channel state information (2) Number of successive lost packets (3) The kind of head packet in the buffer
(4) Current number of packets in the mobile buffer
In order to resist bad channel, we might decide to transmit packet with low code rate. The lower code rate we use, the more redundancies we have to transmit. We might observe that we will waste bandwidth for transmitting too many redundancies, and that will cause the mobile to push the next packet.
For example, we consider only using fair queue algorithm. We assume that there are only two mobiles in the system, which are mobile 1 and mobile 2, respectively, and we let Fi denote the time when the mobile finishes transmitting packet. Based on the fair queue algorithm, base-station decides which mobile has the right to use channel by comparing Fi in each mobile. The next packet to transmit is always the packet that has the lowest Fi. While base-station selects mobile 1 and mobile 1 chooses to transmit packet with many redundancies, we will update a bigger Fi of the
mobile 1. Therefore, mobile 1 might wait for a long time, which is called
“inter-polling time”, until the next time base-station choose it.
Dropping a valuable packet may increase the cost a lot. When the dropping movement is inevitable, dropping the packets which make less effect is better.
3.2 Channel Model
In our thesis, we assume that each mobile has its own channel. Figure 3.2 shows a state diagram for a 2-state Markov model. This model was first used by Gilbert [6]
to characterize the error sequences generated by data transmission channels. In the Good state (G) errors occurs with low probability while in the Bad state (B) they occur with high probability.
β
Figure 3.2 Gilbert model.
The state transitions are shown in Figure 3.2 and summarized by its transition probability matrix P
The steady state probabilities of being in states G and B are
β
The channel state is either good or bad and can change on packet boundaries, that is, the channel condition stays in a state during one packet duration.
There are some problems here because our channel is “partially observable”.
Although the mobile gets the channel state by the return message, it cannot do any action until receiving the next poll from the base station. It must be different for the channel in the time of receiving return message and receiving next poll. That’s the reason why we call the channel “partial observable”.
3.3 Base-station Model
The base-station has two major functions, one is to choose which mobile has the right to transmit at next round, and the other is to be a receiver end.
In the base-station, we assume that for each mobile (ith), there are two attributes Fi (i=1,2,…N) and tokeni (i=1,2,…N). Fi represents the time when the ith mobile finishes transmitting packet, and tokeni stands for how many times the ith mobile is willing to release its transmission right.
A transmission begins from the base-station, the base-station finds the smallest Fi
value, for example Fj, from F1~FN. Then, the base-station checks the value of the tokenj to see if the value is larger than zero or not. If the value is larger than zero, it means the mobile is willing to give up its transmission chance at this time. The base-station keep running the cost calculation function to decide which mobile should be polled. On the contrary, if the value is equal to zero, it means the mobile is unwilling to release its chance to transmit. The base-station sends a polling message to jth mobile and wait for its packet. Combining the results of fair queuing algorithm with cost calculation function, the base-station decides which mobile can use the channel.
After receiving the packet, it will be passed through a FEC decoder followed by a CRC decoder. We assume a very strong CRC code, with close to 100% error detection capacity. When there are no errors or errors are successfully corrected, an acknowledgement (ACK) is sent back to the sending mobile, and when one or more bit errors are detected by the CRC decoder, and then the base-station returns a negative acknowledgement (NAK) instead of an acknowledgement (ACK). We assume that ACK/NAK messages are highly reliable and take little time that can be negligible.
Assuming that packet errors during a given channel state are independent, the probability that a received packet contains a non-correctable when the channel is in the Good state is given by [5]:
, , ,
1
( ) (1 ) ,
N
i N i
T g s g s g
i t
p N p p
i
−
= +
=
∑
− (3.1), 1 (1 , ) ,b
s g b g
p = − −p (3.2) where ps,g is symbol error when the channel is in the Good state, and pb,g is bit error when the channel is in good state.
In the other hand, ps,b is symbol error when the channel is in the bad state, and
b
pb, is bit error when the channel is in the bad state.