**2.3 QoS guaranteed energy-efficient scheduling**

First, we give the idea of our QoS guaranteed energy-efficient scheduling and perform the algorithm of our successive scheduling in an example. In the second part, we consider the jitter constraint of packet scheduling to provide more precise QoS guarantees.

A QoS Guaranteed Energy-Efficient Scheduling for IEEE 802.16e 37

scheduler can postpone the packets to schedule them successively without violating their delay constraints. After the scheduler decides on the scheduling priorities of connections, the packets from the first priority connection, e.g. connection *i*, are scheduled. *Ci,j* is represented the *jth* packet of connection *i* and the proposed scheme schedules *Ci,j* with following steps: (1) The frames that are within *Di* for *Ci,j* and have already scheduled the packets without full-filled frames, called *FIU*. For the various applications, the proposed scheme is based on either the shortest delay or the longest delay. For the shortest delay based, if there are two or more *FIU* for *Ci,j*, the *FIU* with shorter delay receives a higher priority for *Ci,j*. The shortest delay based is applied to the urgent applications that are very strict with delay requirements and is used to prevent packets loss. Additionally, it is done to reduce the intervals of listen periods and increase the interval of sleep periods. In other words, an MSS cannot sleep in the time slots where there are already schedule packets. Thus, *FIU* is assigned first if the time slots of *FIU* are still available to accommodate *Ci,j*. On the other hand, the *FIU* with longer delay receives a higher priority in being scheduled to *Ci,j*. The longest delay based applied to scenarios which have loose delay requirements. The BS can decide on which strategy to perform in specific applications. (2) If there is no *FIU* for *Ci,j*, the scheduler will then pick a set of frames that are within *Di* for *Ci,j* and which already have scheduled packets without any available time slot. These are called *FFU*. The frames in the set are sorted by the *Di* for *Ci,j* in ascending order. The *FFU* will be the first frame and last frame in the set with the shortest delay based and longest delay based individuals. In order to reduce the number of status transitions, the scheduler will schedule the packets in successive time slots. In the successive listen periods, the MSS will not enter the sleep periods, and the number of status transitions would be reduced. Additionally, the sleep periods will be longer after their successive listen periods. To schedule the packets successively, the scheduler will find an unused frame that is next to *FFU* and is closer to the next full-filled frame, called *Fnext*. The reason for this is that *Fnext* is closer to the next fullfilled frame has more chances to schedule the listen periods successively. In other words, packets that are scheduled to *Fnext* and that is next to *FFU* will become an *FIU*. Obviously, *FIU* gains more opportunities to serve other packets in the following connections. Therefore, *FIU* will become *FFU* after full-filled frame with packets, and this *FFU* will be successive. The listen periods will be continuously without the sleep periods and the number of status transitions would be reduced. (3) If there are no *FIU* and *FFU* within *Di* for *Ci,j*, the scheduler will schedule the packet into the last unused frame within *Di* for *Ci,j* and the unused frame will then become *FIU*. The last unused frame is selected is because once a frame is scheduled to transmit or receive packets, the frame becomes an *FIU*. As we mentioned, an *FIU* has more opportunities to serve other packets in the following connections. After the above steps, the successive scheduling scheme performs packet scheduling and achieves the

Fig. 1 shows the second step in the second part of the proposed algorithm. Based on the shortest delay, the scheduler chooses the first *FFU* to determine *Fnext*. Because the 4th frame is an unused frame and is closer to the next *FFU*, which is the 5th frame, the scheduler determines the 4th frame as *Fnext* and schedules the packet into the 4th frame. Once we determine the proper frame to be filled with packets, the time slots for transmission will be more successive for their following connections of scheduling. Thus, the 4th frame becomes *FIU* and has a greater chance to be filled with packets by the proposed algorithm. The status would not be switched from 3rd to 5th frame when the 4th frame is filled up with packets.

power-saving for an MSS.
