Abstract:
Apparatus and methods are provided for transitioning wireless devices between a plurality of states having increasing resource intensity from a least resource intensive state to a most resource intensive second state. All power-on wireless devices are ranked. A respective subset of the power-on wireless devices is assigned to each state, the power-on wireless devices of the subsets having rankings which increase with resource intensity of the state. Signalling is generated to the wireless devices to instruct them to implement any change in state. The priorities which are calculated for the purpose of state scheduling are preferably the same as those, or at least based upon the priorities used for packet scheduling.

Description:
RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. application Ser. No. 10/346,077 filed Jan. 17, 2003 and claims the benefit thereof, which itself claims the benefit of U.S. Provisional Application No. 60/349,518 filed Jan. 18, 2002, the contents of which are incorporated in its entirety herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The invention relates to systems and methods for implementing state transitions for high speed data transmission in wireless access networks. 
       BACKGROUND OF THE INVENTION 
       [0003]    Current wireless network designs provide for a shared high bandwidth forward channel from a base station to mobile stations for delivering high speed data services. Such a shared channel has been defined for example by wireless standards including 1xEV-DO, 1xEV-DV, MC-DV and UMTS/HSDPA. 
         [0004]    In a wireless access network, all users that have acquired the system can be classified into two basic groups: active user group (active user pool) or dormant—user group (dormant user pool). For a user in the active state, it has all necessary dedicated resources allocated for sending and receiving data. Due to the limited resources of a wireless access system, the maximum number of active users supported is restricted to a certain number. All other users then have to be kept in the dormant state. In order to support more active users, some mechanism to allow more operational modes of active state have been proposed. One example is to allow three states—active, control-hold and dormant states. For a user operating on control-hold mode, less resources are consumed than by a user who is operating on active state. In the current 1xEV and UMTS proposals, one fat pipe (e.g., forward packet data channel) is designed for down link packet data transmission. All active mode user&#39;s data can be scheduled to be transmitted over the fat pipe. A packet scheduler decides which user&#39;s packet among all active mode users is selected to be transmitted based on a scheduling algorithm. A scheduling algorithm, by taking some input parameters, such as each mobile station&#39;s real time channel condition, packet deadline, minimum required data rate, fairness, etc., calculates the priority of each user. The user with the highest priority is selected and its packet is transmitted. Typically some mechanism is provided for deciding when to move an active user to a dormant state or vice versa, or to decide when to move a user between the active and the control-hold state. Currently available solutions for state transition control are mainly timer-based. For example, in a timer-based state transition system, for moving an active user out of its active state, a timer is set for an active state user upon its data buffer becoming empty. If some new data arrives before the expiration of the timer, the timer is then reset. Otherwise, the active user is moved from the active state pool at the expiration of this timer. For moving a dormant user to the active state, a FIFO (first-in, first-out) principle is typically employed. 
         [0005]    The timer that is employed for such state transitions can be a fixed value (for example as used in 1xRTT) or it can be dynamically changed. The adaptation of the timer value may depend on traffic load, activity of a user&#39;s traffic, etc. 
         [0006]    There are a number of problems with the above discussed solutions. For example, in respect of moving an active user out of active state, keeping a user with an empty data buffer in the active pool prevents a dormant user with a full data buffer from getting into the active state pool. Keeping an active user with lower scheduler priority in the active state pool may prevent dormant users with high scheduler priority from getting into the active state pool. These together may cause the system to have a higher outage rate and decrease the multiple user diversity gain. In consequence, the overall system throughput and capacity may drop. 
         [0007]    For moving a dormant user into the active state, the simple FIFO principle may move a low priority user into the active state while keeping a dormant user with high priority outside the active state. This again may cause reduced system throughput. 
         [0008]    In summary, the current state transition control methods are not optimal for packet switching services. This is because they were designed originally for circuit switching services. Lower overall system capacity is provided because more care is given to the users in the active state, and less fairness is given to support all registered users. System throughput in highly bursty traffic mixed cases will also be lower because the number of full-buffer active users is not high enough to provide sufficient multi-user diversity. 
         [0009]    Referring to  FIG. 1 , shown as a very simple wireless network in which a single BTS (base station transceiver)  10  together with two mobile stations MS  12 , MS  14 . The forward channel  18  is a shared data channel which is transmitted by the BTS  10  to the mobile stations  12 ,  14 , but at a given instant data is only sent to one of the two mobile stations using the shared data channel  18 . Each mobile station feeds back information to the BTS  10  to enable it to make decisions as to which mobile station should receive access to the shared data channel at a given instant. In the illustrated example, channel  14  from MS  12  to BTS  10  sends C/I, pilot information and acknowledgement information for MS  12 , and channel  16  sends C/I, pilot information and acknowledgement information for mobile station  14 . 
         [0010]    In conventional 2-state MAC systems, only active and dormant users are allowed. There is a maximum number of active users each of which are given a dedicated resource at full-rate. 
         [0011]    In 3-state MAC systems, there is still the active state in which there is a maximum number of users each of which transmits on reverse channel at full-rate, and there is a control-hold state in which users transmit on the reverse channel at a reduced rate. Typically there would be a maximum number of control-hold users, and a dedicated resource is provided but at a gated rate. Finally there is the dormant state in which there is simply a common resource. 
         [0012]    MAC state transitions control the allocation/release of dedicated resources, the assignment of full/gated-rate operation. 
         [0013]    Referring again to  FIG. 1 , in the three state system, a mobile station in the dormant state would not send any C/I or pilot information back to the BTS. A mobile station in active state would generate these at the maximum defined rate. For example, these might be sent back to the BTS every 1.25 ms. Control-hold users would then send this information back to the BTS at a reduced rate, for example ¼ as often. This would result in the C/I, pilot being sent back every 5 ms for example. All of these signals sent back by the mobile station to the BTS generate interference for other users, and as such it is desirable to send them as infrequently as possible. Users in the active state generate the highest interference. 
         [0014]    There are many different scheduler designs for deciding which user gets the access to the shared data channel  18 . Schedulers make a choice between active users when scheduling the shared data channel. In the simplest example, the scheduler ranks all active users, and selects the top user for transmission on the shared data channel  18 . Ranking is performed among active state users only. Schedulers do not consider users outside the active state. 
       SUMMARY OF THE INVENTION 
       [0015]    According to one broad aspect, the invention provides a method of transitioning a plurality of wireless devices between a plurality of states having increasing resource intensity from a least resource intensive state to a most resource intensive second state comprising: ranking all power-on wireless devices; assigning a respective subset of the power-on wireless devices to each state, the power-on wireless devices of the subsets having rankings which increase with resource intensity of the state; and signalling to the wireless devices to instruct them to implement any change in state. 
         [0016]    In some embodiments, the states are MAC (media access control) states. 
         [0017]    In some embodiments, the MAC states comprise, in increasing order of resource intensity, Dormant, Control-Hold, and Active. 
         [0018]    In some embodiments, a respective predetermined maximum number of wireless devices are allowed to be in at least one of the MAC states, and wherein the subsets are defined subject to these respective predetermined maximum numbers. 
         [0019]    In some embodiments, a respective predetermined maximum number of wireless devices are allowed to be in the Control-Hold and Active MAC states, and wherein the subsets are defined subject to these respective predetermined maximum numbers. 
         [0020]    In some embodiments, the method further comprises transmitting a shared channel to the wireless devices on an ongoing basis, scheduling wireless devices in the most resource intensive MAC state on a time division basis access to the shared channel. 
         [0021]    In some embodiments, the method further comprises scheduling wireless devices by ranking all wireless devices in the most resource intensive MAC state, and at a given scheduling period scheduling the wireless device which is ranked highest. 
         [0022]    In some embodiments, the ranking performed in scheduling wireless devices is substantially similar to the ranking performed in assigning MAC states. 
         [0023]    In some embodiments, the ranking performed in scheduling wireless devices is substantially similar to the ranking performed in assigning MAC states in that short term parameters are used to determine rankings for scheduling, and corresponding long term parameters are used to determine rankings for assigning MAC states. 
         [0024]    In some embodiments, the ranking is performed as a function of a selected data rate, an average throughput, a minimum required data rate, a minimum packet deadline, a buffer empty time, and a drop rate for each user. 
         [0025]    In some embodiments, the method further comprises prior to assigning a respective subset of the power-on wireless devices to each MAC state, applying at least one constraint to re-organize the rankings. 
         [0026]    In some embodiments, applying at least one constraint to re-organize the rankings comprises defining at least one state transition from a previous state to a new state which is not allowed to occur, and re-organizing the rankings to eliminate any such state transitions. 
         [0027]    In some embodiments, the MAC states comprise, in increasing order of resource intensity, Dormant, Control-Hold, and Active, and the at least one state transition which is not allowed to occur is from dormant to control-hold. 
         [0028]    In some embodiments, the MAC states comprise, in increasing order of resource intensity, Dormant, Control-Hold, and Active, and the at least one state transition which is not allowed to occur is from Active to Dormant for an Active wireless device with a full buffer and from Control-Hold to Dormant for a Control-Hold device with a full buffer. 
         [0029]    In some embodiments, the method further involves ranking wireless devices having a full buffer above wireless devices having an empty buffer. 
         [0030]    In some embodiments, the method involves for the purpose of state scheduling, treating a wireless device in the Active state or the Control-Hold state having a buffer empty time less than a buffer empty time threshold or satisfying some other constraint as though the wireless device had a full buffer. 
         [0031]    In some embodiments, ranking all power-on wireless devices comprises: for at least one state, determining a state priority for each wireless device in the at least one state by filtering scheduling priorities determined for the wireless device; for at least one other state, for each wireless device in the at least one other state, determining a state priority for each wireless device without the use of scheduling priorities; ranking in order according to state priority all wireless devices with a full buffer to generate a first ranking; ranking in order according to state priority all wireless devices with an empty buffer to generate a second ranking; combining the first ranking with the second ranking with the first ranking above the second ranking. 
         [0032]    In some embodiments, the method further comprises before generating said second ranking, scaling each state priority of a wireless device with an empty buffer by a quantity which generally decreases as a function of buffer empty time. 
         [0033]    According to one broad aspect, the invention provides an apparatus adapted to control transitioning a plurality of wireless devices between a plurality of states having increasing resource intensity from a least resource intensive state to a most resource intensive second state comprising: a state scheduler adapted to: a) rank all power-on wireless devices; b) assign a respective subset of the power-on wireless devices to each state, the power-on wireless devices of the subsets having rankings which increase with resource intensity of the state; and c) signal to the wireless devices to instruct them to implement any change in state. 
         [0034]    In some embodiments, the states are MAC (media access control) states. 
         [0035]    In some embodiments, the MAC states comprise, in increasing order of resource intensity, Dormant, Control-Hold, and Active. 
         [0036]    In some embodiments, an apparatus adapts to allow a respective predetermined maximum number of wireless devices to be in at least one of the MAC states, and wherein the subsets are defined subject to these respective predetermined maximum numbers. 
         [0037]    In some embodiments, a respective predetermined maximum number of wireless devices are allowed to be in the Control-Hold and Active MAC states, and wherein the subsets are defined subject to these respective predetermined maximum numbers. 
         [0038]    In some embodiments, an apparatus further comprises transmit circuitry adapted to transmit a shared channel to the wireless devices on an ongoing basis; and a packet scheduler adapted to schedule wireless devices in the most resource intensive MAC state on a time division basis access to the shared channel. 
         [0039]    In some embodiments, the scheduler schedules wireless devices by ranking all wireless devices in the most resource intensive MAC state, and at a given scheduling period schedules the wireless device which is ranked highest. 
         [0040]    In some embodiments, the ranking performed by the packet scheduler is substantially similar to the ranking performed by the state scheduler. 
         [0041]    In some embodiments, the ranking performed by the packet scheduler is substantially similar to the ranking performed by the state scheduler in that short term parameters are used to determine rankings for scheduling, and corresponding long term parameters are used to determine rankings for assigning MAC states. 
         [0042]    In some embodiments, the ranking is performed as a function of a selected data rate, an average throughput, a minimum required data rate, a minimum packet deadline, a buffer empty time, and a drop rate for each user. 
         [0043]    In some embodiments, an apparatus further adapts to, prior to assigning a respective subset of the power-on wireless devices to each MAC state, apply at least one constraint to re-organize the rankings. 
         [0044]    In some embodiments, applying at least one constraint to re-organize the rankings comprises defining at least one state transition from a previous state to a new state which is not allowed to occur, and re-organizing the rankings to eliminate any such state transitions. 
         [0045]    In some embodiments, the MAC states comprise, in increasing order of resource intensity, Dormant, Control-Hold, and Active, and the at least one state transition which is not allowed to occur is from dormant to control-hold. 
         [0046]    In some embodiments, the MAC states comprise, in increasing order of resource intensity, Dormant, Control-Hold, and Active, and the at least one state transition which is not allowed to occur is from Active to Dormant for an active wireless device with a full buffer and from Control-Hold to Dormant for a Control-Hold device with a full buffer. 
         [0047]    In some embodiments, the state scheduler is adapted to rank all power-on wireless devices by: for at least one state, determining a state priority for each wireless device in the at least one state by filtering scheduling priorities determined for the wireless device; for at least one other state, for each wireless device in the at least one other state, determining a state priority for each wireless device without the use of scheduling priorities; ranking in order according to state priority all wireless devices with a full buffer to generate a first ranking; ranking in order according to state priority all wireless devices with an empty buffer to generate a second ranking; combining the first ranking with the second ranking with the first ranking above the second ranking. 
         [0048]    In some embodiments, the state scheduler is further adapted to, before generating said second ranking, scaling each state priority of a wireless device with an empty buffer by a quantity which generally decreases as a function of buffer empty time. 
         [0049]    In some embodiments, an apparatus comprises a base station. 
         [0050]    According to another broad aspect, the invention provides an apparatus for transitioning a plurality of wireless devices between a plurality of states having increasing resource intensity from a least resource intensive state to a most resource intensive second state comprising: means for ranking all power-on wireless devices; means for assigning a respective subset of the power-on wireless devices to each state, the power-on wireless devices of the subsets having rankings which increase with resource intensity of the state; and means for signalling to the wireless devices to instruct them to implement any change in state. 
         [0051]    According to another broad aspect, the invention provides a processing platform readable medium having code stored thereon for execution by a processing platform, for, when executed transitioning a plurality of wireless devices between a plurality of states having increasing resource intensity from a least resource intensive state to a most resource intensive second state, the processing platform readable comprising: code means for ranking all power-on wireless devices; code means for assigning a respective subset of the power-on wireless devices to each state, the power-on wireless devices of the subsets having rankings which increase with resource intensity of the state; and code means for generating signalling messages to be transmitted to the wireless devices to instruct them to implement any change in state. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0052]    Preferred embodiments of the invention will now be described with reference to the attached drawings in which: 
           [0053]      FIG. 1  is a schematic diagram of a very simple wireless network having a shared data channel from a base station to multiple mobile stations; 
           [0054]      FIG. 2  is a block diagram of a state scheduler provided by an embodiment of the invention; 
           [0055]      FIG. 3  is a flowchart of the functionality implemented by the state scheduler of  FIG. 2 ; 
           [0056]      FIGS. 4 and 5  contain example performance evaluation results comparing timer-based state transitions with priority-based state transitions; 
           [0057]      FIG. 6  is a block diagram of packet scheduled functionalities; 
           [0058]      FIG. 7  is a block diagram of state scheduler functionality; 
           [0059]      FIG. 8  is an illustrative example of a first ranking strategy; 
           [0060]      FIG. 9  is an illustrative example of a second ranking strategy; and 
           [0061]      FIG. 10  is an example messaging sequence for instructing a mobile station to move between various states. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0062]    Referring now to  FIG. 2 , shown is a priority-based state scheduler provided by an embodiment of the invention. This might for example be implemented within a base station transceiver such as BTS  10  of  FIG. 1 . 
         [0063]    This state scheduler is generally indicated at  20 , and has a set of inputs for each user/mobile station to be state scheduled and ultimately defines an active mode user pool  26  which is used by a scheduler  32 . In the illustrated example, the input  22  for “user  1 ” is shown to include channel conditions, packet transmission deadline, minimum data rate, drop rate, buffer occupancy, buffer empty time, delivered data rate per user. These are very specific input parameters which are included for the purpose of illustration only. Additional parameters may also be in employed and/or completely different parameters. A set of inputs is shown for each user in the system. In the illustrated example, it is assumed that there are N users. The input parameters may be actively passed to the state scheduler  20 , or alternatively and/or in combination, the state scheduler may simply access stored data for each user. Typically, the state scheduler would be implemented as a combination of software and processing hardware. For example, this could be implemented in an ASIC, a general purpose processor with software, an FPGA, DSP, etc. 
         [0064]    The state scheduler  20  processes the data received in respect of each of the users and performs a priority ranking of the users. The actual priority ranking is discussed in further detail below. The users that are prioritized at the top, for example the first Na users, are then assigned the most resource intensive state, for example in the illustrated example the previously described “active state”. Similarly, the next highest prioritized group of users, for example users prioritized from rank Na+1 to Na+Nc, would be assigned the next most resource intensive MAC state, for example previously described “control-hold” state. The remaining users, namely those ranked from Na+Nc+1 through to user N are assigned the least resource intensive state, for example the previously described “dormant” state.  FIG. 2  shows the priority ranking produced by the state scheduler generally indicated by  24 , and shows the active mode user pool  26 , a control-hold user pool  28 , and a dormant user pool  30 . The base station with MAC layer protocol includes messaging which is designed to inform users of changes in their state. For example, a user transitioning from control-hold to active mode would be informed of this change. Such messaging is conventional and will not be described in detail here. 
         [0065]    Referring again to  FIG. 2 , after state scheduling has been performed by the state scheduler, and the priority ranking and state updating completed, the active mode user pool  26  alone is used by the packet scheduler  32 . Packet scheduling can proceed as in conventional systems without the need for any change. However, as discussed previously, the packet scheduler typically does perform a prioritization algorithm of its own in determining which user is to be selected for packet transmission. In a preferred embodiment of the invention, the state scheduler  20  employs a priority algorithm which is similar to in as many respects as possible the prioritization algorithm employed by the packet scheduler  32 . 
         [0066]    It is noted that the rate of update of states implemented by the state scheduler  20  would typically be substantially slower than the rate of prioritization and packet scheduling by the packet scheduler  32 . For example, where packet scheduling might be performed by the packet scheduler every 1.25 ms, it may only be necessary to update the states of each of the users every 100 scheduling periods, i.e. every 0.125 s. For this reason, it is not possible for the state scheduler  20  to perform identically to the packet scheduler  32 . The state scheduler  20  necessarily has to operate on different information than the packet scheduler  32 . In a preferred embodiment, where the packet scheduler  32  may perform prioritization on the basis of real-time or short-term data, for a given parameter, for example real-time C/I, the state scheduler employs long-term statistics, for example filtered C/I. The state scheduler  20  can use identical equations but employs filtered or long-term values instead of real-time or short-term values for example. 
         [0067]    The embodiment shown in  FIG. 2  assumes three MAC layer states.  FIG. 3  is a flowchart of the state scheduling in its most simple implementation, namely when there are only two MAC layer states. The method begins at step  3 - 1  with the ranking of all power on users. Next, at step  3 - 2 , subsets of power-on users are identified according to rank for the number of different states. At step  3 - 3 , layer  2  or layer  3  state transition messages are generated and transmitted such that the required state transitions are actually implemented in the mobile stations. Finally, at step  3 - 4 , packet scheduling is performed for active users until the next update of the states. 
         [0068]    As an example of a state scheduler priority algorithm, the following equation may be employed: 
         [0000]        P   i   =f ( r   selected     —     i   , T   i   ,  r     i   *,D   i   ,E   i   ,d   r,i ) 
         [0000]    where r selected     —     i  i is the selected data rate for user i based on C/I, T i  is the average data rate for user i,  r   i * is the minimum required data rate for user i, D i  is the minimum packet deadline for user i, E i  is the data buffer empty time for user i, d r,i  is the drop rate for user i, and P i  is the calculated priority for user i. 
         [0069]    If some parameters are not available for users in a certain state, a constant value is used then. For example, the channel condition for a dormant user is not available, and a constant value, e.g., 0 dB is used. 
         [0070]    As discussed above, certain parameters may not be available for one or more of the states and as such constant values may be assigned. Alternatively, different equations may be employed for users in different states. 
         [0071]      FIGS. 4 and 5  show example performance evaluation results. In  FIG. 4 , the outage rate is shown for a 2-state system with mixed traffic without video. In this example the traffic mix is 27.1% HTTP, 62.6% WAP, and 10.3% FTP. Performance results are shown at curve  40  for timer-based state transitions, and at curve  42  for priority-based state transitions. The horizontal axis is the number of users. It can be seen that for the same outage rate, the priority-based state transition scheduling can support a larger number of users. For example for an outage rate of 20%, approximately 80 users can be supported in the priority-based scheduling scheme, where only about 55 can be supported in the timer-based system. 
         [0072]    Table 1 below shows further results for this same performance evaluation example. Table 1 shows the sector throughput, system capacity, and the respective gains in these two parameters when switching from the timer-based state transition to the priority-based state transition. The system capacity for this example consists of the numbers of users supported with an outage rate of 2%. 
         [0000]    
       
         
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
             
             
               
                   
                   
               
               
                   
                 2-state 
                   
               
             
          
           
               
                   
                   
                   
                 System 
                   
               
               
                 MAC 
                 Sector 
                 Gain 
                 Capacity 
                 Gain in 
               
               
                 config- 
                 throughput 
                 in 
                 (# of 
                 system 
               
               
                 uration 
                 (kb/s) 
                 throughput 
                 users) 
                 capacity 
               
               
                   
               
               
                 Timer/FIFO 
                 940 
                 — 
                 36 
                 — 
               
               
                 based state 
               
               
                 transition 
               
               
                 Priority- 
                 952 
                 1.3% 
                 60 
                 67% 
               
               
                 based state 
               
               
                 transition 
               
               
                   
               
             
          
         
       
     
         [0073]      FIG. 5  shows similar results for the 3-state example. Curve  44  shows the outage rate for the timer-based state transition system, and curve  46  results for the timer-based approach. Again, it can be seen that for a given outage rate, a larger number of users can be supported using the timer-based approach. Once again, Table 2 is provided below showing further performance results. 
         [0000]    
       
         
               
               
               
             
               
               
               
               
               
               
             
               
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
             
             
               
                   
                   
               
               
                   
                 3-states 
                   
               
             
          
           
               
                   
                   
                   
                   
                 System 
                   
               
               
                   
                 MAC 
                 Sector 
                 Gain 
                 capacity 
                 Gain in 
               
               
                   
                 config- 
                 thrp 
                 in 
                 (# of 
                 system 
               
               
                   
                 uration 
                 (kb/s) 
                 thrp 
                 users) 
                 capacity 
               
               
                   
                   
               
             
          
           
               
                   
                 Timer/FIFO 
                 957 
                 — 
                 70 
                 — 
               
               
                   
                 based state 
               
               
                   
                 transition 
               
               
                   
                 Priority- 
                 1021 
                 6.7% 
                 100 
                 43% 
               
               
                   
                 based state 
               
               
                   
                 transition 
               
               
                   
                   
               
             
          
         
       
     
       DETAILED EXAMPLE OF THE STATE SCHEDULER IMPLEMENTATION 
       [0074]    A detailed example of a state scheduler implementation will now be presented starting with an assumed packet scheduler design. 
       Packet Scheduler: 
       [0075]    This example assumes that a proportional fairness packet scheduler with β set to 1. 
         [0076]    The packet scheduler calculates a selected data rate r selected     —     i  for each user assuming all users&#39; buffers are full based on the reported C/I from each user in active state and in control-hold state. The relationship between C/I and the selected data rate is typically not a linear one and may be implemented using a table look-up. 
         [0077]    The packet scheduler calculates an average throughput T i  for each user with full data buffer (buffer full indicator B_f i =1) based on: 
         [0000]        T   i ( k )=α· T   i ( k− 1); if user i was not selected at (k−1)th scheduling instant.   Eq (2-1) 
         [0000]        T   i ( k )=α· T   i ( k− 1)+(1−α)· N   i ( k− 1); if the user was scheduled N i (k−1) bits at (k−1)th scheduling instant.  Eq. (2-2) 
         [0000]    where 
         [0000]    
       
         
           
             α 
             = 
             
               1 
               - 
               
                 
                   1.25 
                   · 
                   
                     10 
                     
                       - 
                       3 
                     
                   
                 
                 1.5 
               
             
           
         
       
     
         [0078]    The packet scheduler calculates the packet priority by 
         [0000]    
       
         
           
             
               
                 
                   
                     P 
                     i 
                   
                   = 
                   
                     
                       r 
                       select_i 
                     
                     
                       
                         ( 
                         
                           T 
                           i 
                         
                         ) 
                       
                       β 
                     
                   
                 
               
               
                 
                   Eq 
                   . 
                   
                       
                   
                    
                   
                     ( 
                     3 
                     ) 
                   
                 
               
             
           
         
       
     
         [0079]    The operation of the packet scheduler for this example is summarized in  FIG. 6 . The input generally indicated  60  by to the scheduler  62  consists of the C/I readings for the users, and B_f indicators for all the users. The selected data rate is determined for each user, for example based on predefined tables. The average throughput is calculated as above, and the priority is also calculated above and output, as indicated at  64 . These calculations might for example take place every 1.25 ms. These priorities  64  are then low-pass filtered by the state scheduler with low-pass filter  66  to generate the state priorities, P state     —     i  for active users. The packet scheduler may also calculate priorities P i  for Control-Hold users and filter these to generate P state     —     i . Only active users are ranked for packet scheduling. It is not important where the various priorities are generated. 
       State Scheduler 
       [0080]    As indicated above, the state scheduler (or packet scheduler) filters the packet priority to acquire the state priority. The state scheduler also generates state priorities for dormant users, preferably using the same mechanism as was used for active users, although not all the information may be available. C/I is not typically available for a dormant user for example and might be assumed to be some constant value, for example 0 dB. 
         [0081]    The operation of the state scheduler will be described with reference to  FIG. 7 . The inputs to the state scheduler  70  consist of the state priorities, P state     —     i    68  and buffer empty time periods E t     —     i , and the output consists of an active user list, control-hold user list and dormant user list. 
         [0082]    At the state update instant: 
         [0083]    a) The state scheduler ranks all full buffer users based on their state priority—this includes all users in active state, control-hold state and dormant state with full buffer; 
         [0084]    b) For all empty buffer users in active state and in control-hold state, the state priority is modified by P state     —     i =P state     —     i /E t     i     i , where E t     —     i  is the buffer empty time period of user i. The state scheduler ranks those users based on the modified state priority; 
         [0085]    c) Dormant users with empty buffer are not ranked; 
         [0086]    d) The two ranks are then combined with the users with full buffer having higher priority. 
         [0087]    In some embodiments, the ranking thus determined is used as is to generate the Active, Control-hold and Dormant user groups, simply by taking the top Na users for Active, the next Nc users for control-hold, and the remaining users for Dormant. 
         [0088]    In some embodiments, one or more constraints are imposed on which state transitions are allowed to occur, and these constraints are used to adjust the rankings prior to generating the user groups. 
         [0089]    In some embodiments, the rule that a dormant user with full buffer is not allowed to be moved to control-hold state is followed. For example, a previously dormant user with full buffer may be moved out of the ranking altogether if its rank places it in the control-hold group. 
         [0090]    The state scheduling process is performed less frequently than the packet scheduling, and might be carried out every M×1.25 ms for example, where M is an integer &gt;1. In one embodiment, M is 100. 
       Ranking Strategy 1  
       [0091]    In this ranking strategy, a full buffer user in active state or in control-hold state is allowed to be moved to the dormant state. This strategy will be described with reference to  FIG. 8 . 
         [0092]    Generally indicated at  86  is the ranking of users based solely according to state priority. This includes a top most ranked set of Na users, the next highest rank set of Nc users and the remaining users. Each users previous state is indicated by an appropriate shading. Generally indicated at  80  are the users that were previously in the active state or control-hold state and have a full data buffer. Generally indicated at  82  are users with an empty data buffer. Finally, generally indicated at  84  are users previously in the dormant state that have a full buffer. It can be seen in this example that the top Na users include one dormant user with a full buffer, and the next Nc users include one dormant user with a full buffer. 
         [0093]    With this ranking strategy, dormant users are not allowed to move from dormant state into control-hold state, but are allowed to move into active state. As such, any dormant users that are initially ranked to put them in the control-hold state are removed from the ranking. This is indicated symbolically by arrow  87  which shows a dormant user with full buffer being moved from the group of Nc users down to the bottom group. Generally indicated at  88  is the ranking after this re-organization has taken place. The user that was formerly in the group Nc users that was previously in dormant state has been moved down to the bottom, and one of the users which formerly fell outside of the group of users ranked in the top Na+Nc has now been moved into the control-hold user ranking range. 
       Ranking Strategy 2  
       [0094]    In this ranking strategy, a full buffer user in active state or in control-hold state is not allowed to be moved to dormant. This strategy will be described with reference to  FIG. 9 . 
         [0095]    In this example, the ranking based on state priority is generally indicated by  90 . The users in active or control-hold state with full data buffer are indicated at  92 , users in dormant state with full data buffer are indicated at  94 , and users with an empty data buffer are indicated at  96 . 
         [0096]    It can be seen that after the initial ranking, the top Na users include users in the active or control-hold state with full buffer, and include two users in dormant state with full buffer. The next Nc highest ranked users include active or control-hold users with full buffer, and include a user in the dormant state with full data buffer. The users ranked below Na+Nc include two users previously in the active state with full data buffer, indicated at user_ 3 , user_ 2  respectively, and include one user, user_ 1 , in the dormant state with full data buffer. 
         [0097]    In this ranking strategy, as before users which would be moved from dormant to control-hold state are removed off the ranking. Thus the user in dormant state ranked in the Nc users is moved out of that group off the ranking, or equivalently to the bottom. This leaves one space for an active user that was not previously in the top Na+Nc users to move into the group of Nc. However, after this takes place there is still one user, user_ 2 , which is ranked outside the top Na+Nc, and this ranking strategy does not allow this. As such, the lowest ranked dormant user which remains in the top Na is moved off the ranking to the bottom and the remaining users are bumped up accordingly. This provides room in the group Nc for the remaining active user, user_ 2 . The arrangement of rankings after such an arrangement is indicated generally at  98 . 
       Priority Plus Threshold Algorithm 
       [0098]    In order to decrease the possibility of moving an active user or control-hold user to dormant state during a packet call (e.g., a HTTP page download), the buffer empty time threshold can be used. It means that a user with an empty buffer is not moved to dormant if its buffer empty time is not larger than the pre-defined threshold. Such a user can still be viewed as a virtual full buffer user. Therefore the ranking strategy 2 can be employed. 
         [0099]    As indicated previously, messaging is employed to instruct mobile stations to move between the various states. While a user is in active or control-hold state, a channel has been set up, and a base station can communicate directly with the mobile station to instruct an appropriate state transition to occur. On the other hand, when a mobile station is in the dormant state, there is no such channel available, and a broadcast type channel suggests a paging channel would typically be employed. Also, in a multi-base station environment, it is preferred to keep all base stations that are communicating with the mobile station up to date on the state of the mobile station. 
         [0100]    The State scheduler is preferably implemented in the BTS. However the BSC should be updated with all user&#39;s state. The indication of state transitions to a mobile by a BTS is via over-the-air messages and the communication between BTSs and BSC is through internal signaling. A dormant user associated with a BTS is a user who is currently monitoring the paging/broadcast channel of this BTS. This is known by receiving a resource request from this dormant user or receiving the user&#39;s response to a page by this BTS. 
         [0101]    A symbol example of how messaging might take place is shown in  FIG. 10  where it is assumed that there is a base station controller  100 , a first base station BTS 1   102 , and a second base station BTS 2   104  communicating with a mobile station MS  106 . This scenario begins with BTS 1   102  instructing mobile station  106  to move into the active state with message  108 . BTS 1   102  also informs the base station controller  100  which in turn informs any base stations including BTS 2   104  of the state change. Next BTS 1   102  instructs the mobile station  106  to transition to the control-hold state as indicated at message  110 . This message is also conveyed through to the base station controller  100  and BTS 2   104  as before. Next, BTS 1   102  moves the mobile station  106  back into the active state as indicated by message  112 . Once again the BSC  100  and BTS 2   104  are updated. Next, it is assumed that a handoff takes place between BTS 1   102  and BTS 2   104  and as such the next message comes from BTS 2   104  instructing the mobile station  106  to move into the control-hold state. The ranking of a user might change when it moves from a first base station such as BTS 1   102  to a second base station such as BTS 2   104  and this may result in such a state transition. Now, BTS 2   104  sends messages to update the BSC  100  which in turn updates BTS 1   102 . The next step in the scenario has BTS 2   104  sending a message to the mobile station  106  generally indicated at  116  instructing the user to go into the dormant state. Again, BSC  100  and the BTS 2   104  are updated. Now the user is in dormant state and there is no active channel from either of BTS 1  or BTS 2  to send state transition messages. Thus, when it then becomes time to move the user back into the dormant state, the BSC  100  initiates the messaging by instructing both BTS 1   102  and BTS 2   104  to generate paging messages to the user instructing it to move into the active state. After a delay, the user does go back into the active state. It should be understood that this is a very specific example provided solely for the purpose of illustration, and that any sequence of state transitions is typically possible subject to any constraints which might be imposed upon the system. For example, the state transition from dormant to control-hold is not allowed in some scenarios. There may be more than two base stations involved at a given time or there may be only one involved at a given time in which case there is no updating of other base stations. Furthermore, some systems may not require a separate base station controller. 
         [0102]    Numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practised otherwise than as specifically described herein.