e sent by the transmitter; ARQ_RX_WINODW_START is the lower edge of the ARQ window at the receiver; ARQ_RX_HIGHEST_SN denotes the highest sequence number of the ARQ block received incremented by one. As shown in Figure 7-5, each ARQ block in the transmission buffer starts in NOT-SENT state before it is transmitted. When an ARQ block is initially transmitted, the ARQ_BLOCK_LIFETIME timer is set and the ARQ block transitions from NOT-SENT state to OUTSTANDING state. While an ARQ block is in OUTSTANDING state, the transmitter waits for an acknowledgement. If an acknowledgement is received, the ARQ block state transits to the DONE state. If a negative acknowledgement is received, the ARQ block state is changed to the WAITING-FOR-RE-TRANSMISSION state. When the ARQ_BLOCK_LIFETIME period expires, the ARQ block state is changed to the DISCARD state. While an ARQ block is in the WAITING-FOR-RE-TRANSMISSION state, the transmitter prepares for ARQ block re-transmission. If the ARQ block is re-transmitted, the ARQ block state is changed to OUTSTANDING. If the ARQ_BLOCK_LIFETIME period expires, the ARQ block state transits to the Re-transmission with Re-transmission without Rearrangement Rearrangement WAITING FOR NOT SENT Transmit OUTSTANDING RE-TRANSMISSION REARRANGEMENT ARQ_BLOCK_LIFETIME ARQ BLOCK_LIFETIME DISCARD ARQ_BLOCK_LIFETIME FIGURE 7-4 ARQ state machine [2] CHAPTER 7 The IEEE 802.16m MAC CPS (Part II) Arrival of ARQ block Add SN to list of SNs to be Acknowledged SN >= ARQ_RX HIGHEST SN ? SN in ARQ Window Range? ARQ_RX_HIGHEST_SN = SN + 1 ARQ Block Duplicated? = ARQ_RX Reset Timer WINDOW ARQ_RX PURGE TIMEOUT START? (for this SN ) Update ARQ_RX_WINDOW_START (Re) Set Timer Reset Timer ARQ_RX_PURGE_TIMEOUT ARQ_SYNC_LOSS_ (for this SN) TIMEOUT Discard ARQ Block Store ARQ Block FIGURE 7-5 ARQ block reconstruction at the receiver 7.2 Hybrid automatic repeat request functions discard state. While the ARQ block is in the DISCARD state, the transmitter sends a discarded message and waits for acknowledgement from the receive