# Patent

## Title
Distributed dynamic channel allocation technique for multi-carrier CDMA cellular systems with mobile base stations

## Abstract

A distributed dynamic channel allocation algorithm for a multi-carrier CDMA cellular system having at least one mobile base station. The distributed dynamic channel allocation algorithm uses channel power measurements from both the requesting mobile station and the mobile base station attempting to allocate an available resource to the mobile station. The distributed dynamic channel allocation algorithm attempts to allocate the best available resource for the requesting mobile station, in terms of interference, while minimizing the amount of interruption that the allocated resource may cause to existing connections in neighboring cells. Thus, the distributed dynamic channel allocation algorithm follows a “least-interference, least-interruption” strategy. The distributed dynamic channel allocation algorithm is load balancing, since it tends to assign new resources to mobile base station with lighter loads.

## Background
FIELD OF THE INVENTION
The present invention relates to a multi-carrier CDMA cellular systems, and more particularly, to a distributed dynamic channel allocation algorithm for multi-carrier CDMA cellular systems with mobile base stations.
BACKGROUND OF THE INVENTION
Code division multiple access (CDMA) techniques transmit multiple information signals on the same channel (carrier frequency), and differentiate each user sub-channel by encoding it with a unique spreading code. CDMA techniques have been employed in many digital wireless communication systems to permit a large number of system users to communicate with one another. CDMA systems treat each user as a separate signal, while treating other users as either interference or noise. As the number of interfering users increases, the corresponding interferences add to cause degradation of performance, such as an increasing bit error rate (BET) or frame error rate.
Multi-carrier CDMA systems are employed for interference avoidance rather than interference averaging. Interference avoidance is more plausible when interfering terminals are likely to get close to each other frequently; a situation which arises in a highly dynamic network such as a cellular network with mobile base stations. In fact, the case of mobile base stations is typical for battlefield networks where a number of Radio Access Points (RAPs) serve as the base station and are deployed in the field to act as switching/routing nodes for traffic generated by mobile terminals in the vicinity of such RAPs. In a commercial setting, it has been proposed to deploy RAPs on trucks or public transportation vehicles, such as buses and the like.
While conventional channel allocation techniques are satisfactory for fixed or stationary base stations, the mobility of the base stations themselves degrades the performance of such conventional channel allocation techniques in the mobile environment of the present invention. Thus, a need exists for a distributed dynamic channel allocation algorithm for multi-carrier CDMA cellular systems having mobile base stations.
SUMMARY OF THE INVENTION
Generally, a distributed dynamic channel allocation algorithm is disclosed for a multi-carrier CDMA cellular system having at least one mobile base station. The disclosed distributed dynamic channel allocation algorithm is based on channel power measurements carried out by both the mobile station requesting an allocation of a resource and the mobile base station attempting to allocate an available resource to the mobile station. Channel power measurements from both the mobile base station and the requesting mobile station are used since the mobile base stations are not fixed base stations as is the case in commercial CDMA systems.
The distributed dynamic channel allocation algorithm attempts to allocate the best available resource for the requesting mobile station, in terms of interference, while minimizing the amount of interruption that the allocated resource may cause to existing connections in neighboring cells. Thus, the distributed dynamic channel allocation algorithm follows a “least-interference, least-interruption” strategy. The distributed dynamic channel allocation algorithm of the present invention is load balancing, since it tends to assign new resources to mobile base station with lighter loads. Due to the mobility of the mobile base station, a mobile base station can cause interference to mobiles connected to another close-by mobile base station. According to another aspect of the invention, the uplink and downlink channels are not paired and can be independently assigned to requesting mobile stations.
Dynamic channel allocation processes are provided to assign resources to a new mobile station, and to assign a new resource to an existing mobile station. The dynamic channel allocation process (new mobile) and dynamic channel allocation process (new resource for existing mobile) collect measurement information on network interference and load conditions, and assign a resource to a requesting mobile station in an optimum manner.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a multi-carrier CDMA cellular system that includes a mobile base station and a mobile station in accordance with the present invention;
FIG. 2 is a sample table from an exemplary load table of FIG. 1;
FIG. 3 is a sample table from an exemplary user list of FIG. 1;
FIG. 4 is a sample table from an exemplary nominal resource availability table of FIG. 1;
FIG. 5 is a sample table from an exemplary measured resource availability table of FIG. 1;
FIG. 6 is a sample table from an exemplary realistic resource availability table of FIG. 1;
FIG. 7 is a sample table from an exemplary mobile base station (RAP) neighborhood received power list of FIG. 1;
FIG. 8 is a sample table from an exemplary demand list of FIG. 1;
FIG. 9 is a sample table from an exemplary probability of assignment table of FIG. 1;
FIG. 10 illustrates circular buffers used by the mobile base station of FIG. 1;
FIG. 11 is a sample table from an exemplary downlink interference measurement table of FIG. 1;
FIG. 12 is a sample table from an exemplary predicted new load table of FIG. 1;
FIG. 13 is a sample table from an exemplary neighborhood queue size list of FIG. 1;
FIG. 14 is a sample table from an exemplary considerate availability table of FIG. 1;
FIG. 15 is a sample table from an exemplary predicted resource availability table of FIG. 1;
FIGS. 16A and 16B, collectively, are a flow chart describing an exemplary dynamic channel allocation process (new mobile) performed by the mobile base station of FIG. 1;
FIG. 17 is a sample table from an exemplary mobile-estimated availability tables of FIG. 1;
FIG. 18 is a sample table from an exemplary total availability table of FIG. 1; and
FIG. 19 is a flow chart describing an exemplary dynamic channel allocation process (new resource for existing mobile) performed by the mobile base station of FIG. 1.



DETAILED DESCRIPTION
FIG. 1 illustrates a multi-carrier CDMA cellular system that includes a mobile base station 100 and a mobile station 150, in accordance with the present invention. According to one feature of the present invention, the distributed dynamic channel allocation algorithm is based on channel power measurements carried out by both the mobile station requesting an allocation of a resource and the mobile base station 100 attempting to allocate an available resource to the mobile station. Since the mobile stations play a role in obtaining a resource allocation, based on information they receive from the mobile base stations 100, the resource allocation is improved. A resource is defined as one PN code over one frequency band and is equal to one CDMA channel. Channel power measurements from both the mobile base station 100 and the requesting mobile station are used since the mobile base station 100 are not fixed base stations as is the case in commercial CDMA systems.
Generally, the distributed dynamic channel allocation algorithm tries to capture the best available resource for the requesting mobile station, in terms of interference, while minimizing the amount of interruption that the allocated resource may cause to existing connections in neighboring cells. Thus, according to a further feature of the present invention, the distributed dynamic channel allocation algorithm follows a “least-interference, least-interruption” strategy.
In view of the mobility of the mobile base station 100, a mobile base station 100 can cause interference to mobiles connected to another close-by mobile base station 100. Thus, information from the second mobile base station 100 only, based on its loading, will not be sufficiently accurate and real measurements from the mobile stations of the affected cell have to be collected and taken into consideration. The distributed dynamic channel allocation algorithm of the present invention is load balancing, since it tends to assign new resources to mobile base station 100 with lighter loads.
Multi-Carrier CDMA Mobile Base Station Terminology
In the vicinity of a mobile, there are N RAPs denoted Rl to RN. The forward, or downlink is divided into L CDMA frequency bands, denoted BlD to BLD. The reverse, or uplink is divided into L CDMA frequency bands, denoted BlU to BLU. According to another feature of the present invention, the uplink and downlink channels are not paired.
The mobile base stations 100 and mobile stations use a broadcast channel to announce their measurements, tables and decisions. The broadcast channel must be separate in frequency from traffic channels. Generally, a broadcast channel can be implemented by dedicating a small frequency band for such a purpose. The frequency band allocated for broadcast is then divided into a downlink portion and an uplink portion. The downlink portion is to be accessed by mobile base stations 100 and the uplink portion is to be accessed by mobile stations. Access to an uplink or downlink portion can be made through contention for PN codes or time slots.
The maximum amount of time that a mobile can wait before being allocated a resource is called the “wait period” and is equal to Twait.
As shown in FIG. 1, each mobile base station 100 includes certain hardware components, such as a processor 120, a data storage device 130, and a transmit/receive section 140. The processor 120 can be linked to each of the other listed elements, either by means of a shared data bus, or dedicated connections, as shown in FIG. 1. The transmit/receive section 140 allows the mobile base station 100 to communicate with other mobile base stations 100 and mobile stations.
The data storage device 130 is operable to store one or more instructions, which the processor 120 is operable to retrieve, interpret and execute in accordance with the present invention. In addition, the data storage device 130 includes a number of tables, discussed hereinafter, that are used by the distributed dynamic channel allocation algorithm to allocate an appropriate resource to a requesting mobile station. Finally, the data storage device 130 includes a dynamic channel allocation process (new mobile) 1600 and a dynamic channel allocation process (new resource for existing mobile) 1900 discussed further below in conjunction with FIGS. 16 and 19, respectively. The manner in which each table is utilized in deriving a dynamic channel allocation will be discussed in conjunction with the flow charts of FIGS. 16 and 19.
Mobile Base Station Tables
Load Table
A mobile base station Ri forms, and continuously updates, a load table 200, shown in FIG. 2. It is noted that since a mobile base station 100 is also referred to as a Radio Access Point (RAP), a variable, R, is used to identify a mobile base station 100. The load table 200 records ml,iD, the number of resources received from Ri over band l on the downlink and ml,iU, the number of resources transmitted to Ri over band l on the uplink.
User List
A mobile base station, Ri, keeps track of its users by maintaining a user list 300, shown in FIG. 3. The user list 300 records, Ck,li,U, the set of PN codes used by mobile Mk for transmission over BlU for the mobile base station Ri, and Ck,li,D, the set of PN codes used by the mobile base station Ri for transmission to mobile Mk over band BlD. As discussed further below, a mobile station may use more than one code over a certain band, and also more than one band, in order to fulfil the rate requirements for the service in concern. It is noted that if a mobile station is using λ number of PN codes over a certain band, the mobile station is counted as λ users, for the corresponding band, when filling up the load table.
Nominal Capacity and Availability
Each RAP Ri assumes a nominal capacity, CAPl,iU and CAPl,iD, for each band on uplink or downlink, respectively. The nominal capacity is usually determined prior to deployment of a mobile base station 100 as a result of simulations or field trials. In addition, a mobile base station Ri forms and continuously updates a nominal resource availability table 400, shown in FIG. 4, where:

al,iD,nom=CAPl,iD−ml,iD,

and

al,iU,nom=CAPl,iU−ml,iU.

Interference Measurements by Mobile Stations
Mobile stations connected to a mobile base station 100 periodically measure the downlink frequency bands and determine the amount of interference that exist on each band and send this information back to the mobile base station 100. These measurements do not necessarily require a separate channel for reporting to the mobile base station 100. The measurements can be reported by embedding them in the data sent by the corresponding mobile stations on their uplink channels.
The details of mobile downlink measurements are as follows. A mobile station measures the amount of interference power on each downlink frequency band. The mobile station translates the interference power into maximum number of new resources that can be added to the band without degrading the channel for the mobile. The translation from interference power to maximum number of new resources can be implemented as follows. For example, let the minimum S/I be η, the received power by mobile station M for a resource in the band in concern by P, the measured interference power be I and the amount of interference power due to a new resource (assuming the mobile base station 100 is transmitting at maximum power/resource) be Δl. Then, the maximum number of new resources determined by M for the band in concern is:




  
    a
    ≤
    
      min
      ⁢
      
        {
        
          CAP
          ,
          
            ⌊
            
              
                (
                
                  
                    P
                    η
                  
                  -
                  I
                
                )
              
              
                Δ
                I
              
            
            ⌋
          
        
        }
      
    
  
  ,




where └.┘ denotes the largest integer smaller than or equal to the enclosed quantity and CAP is the nominal capacity of the downlink band in concern.

Resource Availability Based on Reported Interference Measurements
A mobile base station Ri averages the measurements from the mobile stations to obtain a measured resource availability table 500, as shown in FIG. 5. The averaging procedure can be made such that mobile stations experiencing a bad channel may get larger weights, or stronger votes, as follows. For example, if the maximum number of new resources, or availability, determined by a mobile for a band is a, and let CAP be the nominal capacity for that band, then the modified availability is amod=4a if a≦CAP/4, amod=3a if CAP/4≦a≦CAP/2, amod=2a if CAP/2≦a≦3 CAP/4, and amod=a if 3 CAP/4≦a≦CAP.
Mobile base station Ri also measures the interference on each uplink band and determines measured availability figures in similar way to the downlink procedure. Notice that the actual load on the mobile base station 100 may not reflect availability accurately if the mobile base station 100 is receiving interference from mobile stations close to it but they belong to an adjacent mobile base station 100. Thus, the mobile base station 100 should measure the uplink.
In addition, a mobile base station Ri forms a realistic resource availability table 600, shown in FIG. 6, based on the lower of the measured and nominal availability values, as follows:

al,iD,real=min{al,iD,mrd, al,iD,nom},

and

al,iU,real=min{al,iU,mrd, al,iU,nom}

Neighboring Mobile Base Stations
A mobile base station Ri keeps track of other mobile base stations 100 in the vicinity and their power levels. Thus, mobile base station Ri forms and continuously updates a mobile base station (RAP) neighborhood received power list 700, shown in FIG. 7. The power levels Pi←j set forth in the RAP neighborhood received power list 700 are received on beacon channels.
Demand List
Each mobile base station Ri forms a demand queue for the mobile stations requesting resources from that mobile base station 100. The mobile stations are lined up in the queue based on a first-come first-serve criterion. Such a criterion is easily implemented if it is assumed that a time-stamp is associated with each request. The demand queue size for Ri will be denoted QiD and QiU for downlink and uplink, respectively. The queue size may be larger than the number of users lined up, since one user may request more than one resource per uplink or downlink. In other words, Qi is the total number of requested resources per direction rather than the total number of queued mobile stations.
If the queue size is equal to some value QimaxD or QimaxU, all new requests are rejected until the queue size is reduced by one. A mobile base station Ri keeps track of the mobile stations lined up in the queue by maintaining a demand list 800, shown in FIG. 8.
Probability of Assignment Table
A mobile base station 100 keeps track of the statistics of each frequency band by computing the ratio between the number of resources successfully assigned to a band relative to the number of demands received by the mobile base station Ri. Thus, the mobile base station Ri forms and continuously updates a probability of assignment table 900, shown in FIG. 9.
The pl,i values set forth in FIG. 9 can be calculated such that old statistics are dropped off. In other words, the mobile base station 100 forgets the statistics collected some time T ago, to provide better results due to the high dynamism of the system, as old results may be misleading and not representative of current situations. To enable the mobile base station 100 to forget old data, L circular buffers 1000, shown in FIG. 10, are utilized. As shown in FIG. 10, each circular buffer 1000 has β number of bits, for example, 1000 or 210 bits (128 bytes). Clearly, β is the memory length. Each bit has a value of 1 or 0, depending on whether the resource at the time corresponding to that bit has been granted. When the buffer is full, new bits overwrite old ones as shown in FIG. 10. A probability, pl,i, is then easily computed by counting the number of ones and dividing by β.
Interference Measurement Table
When a new resource request is received by a mobile base station Ri for a mobile Mk, the requesting mobile station informs Ri with the interference measurements the mobile has collected regarding the downlink, in the manner described above. These measurements are in the form shown in FIG. 11.
Predicted Load Table
A mobile base station Ri forms a predicted new load table 1200, shown in FIG. 12, for next new mobile station that requests resources. In one implementation, a predicted new load μl,iD is computed as follows:




  
    μ
    
      l
      ,
      i
    
    D
  
  =
  
    
      p
      
        l
        ,
        i
      
      D
    
    ⁢
    
      
        ∑
        
          k
          =
          1
        
        K
      
      ⁢
      
        
          λ
          k
          D
        
        .
      
    
  




In one implementation, a predicted new load μl,iU is computed as follows:





  
    μ
    
      l
      ,
      i
    
    U
  
  =
  
    
      p
      
        l
        ,
        i
      
      U
    
    ⁢
    
      
        ∑
        
          k
          =
          1
        
        K
      
      ⁢
      
        
          λ
          k
          U
        
        .
      
    
  




Neighborhood Predicted Load and Availability List
Adjacent RAPs keep track of predicted loads of each other as well as their realistic availabilities over all bands. For example, mobile base station Ri forms and continuously updates a neighborhood queue size list 1300, shown in FIG. 13.
In order for mobile base station Ri to limit the adjacent mobile base stations 100 from future interference with its existing load on the downlink, or receiving future interference from adjacent mobile base station 100 loads on the uplink, Ri sends messages to all adjacent mobile base stations 100. The contents of these messages are availability estimates for the downlink/uplink bands based on the realistic availability table of Ri, the power level received at Ri due to the corresponding adjacent mobile base station 100 and the queue size of Ri relative to other adjacent mobile base stations 100 as well as Ri. The availability estimate sent by Ri to Rij is calculated as follows: For band BLD on downlink, let the realistic availability for Ri be αl,iD,real.
Then, an approximate availability estimate from Ri to Rij can be expressed as follows:




  
    
      a
      
        l
        ,
        D
      
      
        i
        ->
        ij
      
    
    =
    
      
        
          
            γ
            
              -
              1
            
          
          ⁡
          
            (
            
              
                P
                
                  i
                  ←
                  ij
                
              
              
                P
                max
              
            
            )
          
        
        
          -
          1
        
      
      ⁢
      
        
          (
          
            
              
                a
                
                  l
                  ,
                  ij
                
                
                  D
                  ,
                  real
                
              
              -
              
                μ
                
                  l
                  ,
                  ij
                
                D
              
            
            
              
                
                  ∑
                  
                    j
                    =
                    1
                  
                  J
                
                ⁢
                
                  a
                  
                    l
                    ,
                    ij
                  
                  
                    D
                    ,
                    real
                  
                
              
              -
              
                μ
                
                  l
                  ,
                  ij
                
                D
              
            
          
          )
        
        ·
        
          (
          
            
              a
              
                l
                ,
                i
              
              
                D
                ,
                real
              
            
            -
            
              μ
              
                l
                ,
                i
              
              D
            
          
          )
        
        ·
        
          α
          
            l
            ,
            i
          
          D
        
      
    
  
  ,




where αl,iD is a number between zero (0) and one (1) that is chosen according to the value of (αl,jD,real−μl,iD). In other words, if (a−μ) is high, then α=1, and vice versa. It is noted that if αl,ijD,real−μl,ijD,real is negative, it is replaced by zero.

The quantity Pmax is the maximum total power transmitted by a mobile base station 100 per beacon. The factor γ is equal to the ratio of (interference power caused by a resource in a mobile base station 100 to a resource in another mobile base station 100) to (interference power caused by a resource in a mobile base station 100 to a resource in the same mobile base station 100) assuming equal received power levels per resource. That is, γ−1 indicates how many foreign resources, or users, are equivalent to a native resource. This concept is based on the assumption that within each mobile base station 100 cell, there are local PN codes assigned to resources and then wrapped (or multiplied by) in a PN code specific to the mobile base station 100. Clearly, 0≦γ<<1.
For uplink, αl,Ui→ij may be computed by having Ri listening to uplink bands using Rij PN code and measure the power levels on each band. These power levels are Iijl,U. Also, Ri inquires the number of actual users on each band from Rij, say ml,ijU and computes the average power received at Ri due to a user under Rij as




  
    P
    
      l
      ,
      ij
    
    av
  
  =
  
    
      
        I
        ij
        
          l
          ,
          U
        
      
      
        m
        
          l
          ,
          ij
        
        U
      
    
    .
  




For example, the mobile base station Ri then normalizes Pl,ijav to the average power per user in its cell to get Pl,ijav and then computes:





  
    a
    
      l
      ,
      U
    
    
      i
      ->
      ij
    
  
  =
  
    
      
        (
        
          
            P
            _
          
          
            l
            ,
            ij
          
          av
        
        )
      
      
        -
        1
      
    
    ⁢
    
      
        
          γ
          
            -
            1
          
        
        (
        
          
            
              a
              
                l
                ,
                ij
              
              
                U
                ,
                real
              
            
            -
            
              μ
              
                l
                ,
                ij
              
              U
            
          
          
            
              
                ∑
                
                  j
                  =
                  1
                
                J
              
              ⁢
              
                a
                
                  l
                  ,
                  ij
                
                
                  U
                  ,
                  real
                
              
            
            -
            
              μ
              
                l
                ,
                ij
              
              U
            
          
        
        )
      
      ·
      
        (
        
          
            a
            
              l
              ,
              i
            
            
              U
              ,
              real
            
          
          -
          
            μ
            
              l
              ,
              i
            
            U
          
        
        )
      
      ·
      
        
          α
          
            l
            ,
            i
          
          U
        
        .
      
    
  




It should be mentioned that the scaling of the amount of availability, αl,ireal, according to queue, or demand, sizes as well as availability is important in order to limit capacity of adjacent mobile base stations 100 in a fair way and at the same time leave some margin for Ri to accommodate new resources with priority to Ri, since availability for Ri is not scaled relative to demands or availability of other mobile base stations 100. The method of how adjacent mobile base stations 100 will make use of availability estimate sent to them by Ri in order to account for Ri's availability, or interference, limitations will be discussed next.
Considerate Resource Availability Table
Mobile base stations 100 collect estimates of availability tables from adjacent mobile base stations 100 and form a considerate availability table 1400, shown in FIG. 14. The considerate availability values shown in FIG. 14 are obtained as follows:




  
    
      a
      
        l
        ,
        i
      
      
        D
        ,
        con
      
    
    =
    
      
        min
        
          
            j
            =
            1
          
          ,
          ...
          ⁢
          
            
          
          ,
          J
        
      
      ⁢
      
        {
        
          a
          
            l
            ,
            D
          
          
            ij
            ->
            i
          
        
        }
      
    
  
  ,
  
    
  
  ⁢
  
    
      and
      ⁢
      
        
      
      ⁢
      
        a
        
          l
          ,
          i
        
        
          U
          ,
          con
        
      
    
    =
    
      
        min
        
          
            j
            =
            1
          
          ,
          ...
          ⁢
          
            
          
          ,
          J
        
      
      ⁢
      
        
          {
          
            a
            
              l
              ,
              U
            
            
              ij
              ->
              i
            
          
          }
        
        .
      
    
  




Predicted Resource Availability Table
A mobile base station Ri forms and continuously updates the final availability table, referred to as the predicted resource availability table 1500, shown in FIG. 15. The predicted resource availability table 1500 is applied to the next new mobile request. The predicted resource availability values shown in FIG. 15 are obtained as follows:

al,iD,pred=min{al,iD,com,(al,iD,real−μl,iD)},

and

al,iU,pred=min{al,iU,com,(al,iU,real−μl,iU)}.

Distributed Dynamic Channel Allocation Processes
New Mobile
FIG. 16 is a flow chart describing an exemplary dynamic channel allocation process (new mobile) 1600. As shown in FIG. 16, the dynamic channel allocation process (new mobile) 1600 is initiated during step 1605 when a mobile station Mk broadcasts a request for a resource allocation with λkU resources on uplink and λkD resources on downlink.
Thereafter, during step 1610, the mobile base stations 100 that can hear Mk respond with their ID's and the received power levels at their antennas due to mobile, denoted PMk→Ri. The mobile base stations 100 normalize the powers during step 1615 to some nominal value, which they are supposed to receive from a mobile's beacon in normal conditions. The normalized set of powers are then denoted PMk→Ri.
A mobile station only responds to mobile base stations 100 during step 1620 that are heard by the mobile station. Such response contains a list of RAP IDs for each mobile base station 100, such as Rl, . . . , RN, the amount of required resources, such as λkU and λkD, and the downlink interference measurement table 1100.
During step 1625, the mobile also forms a table of potential mobile base stations 100 and the corresponding received power levels at the mobile's antenna due to the mobile base stations 100, denoted PRi→Mk. The mobile station normalizes the powers during step 1630 to some nominal value, which it is supposed to receive from a mobile base station 100 beacon in normal conditions. The normalized set of powers are then denoted PRi→Mk.
Only the mobile base stations 100 that find their IDs listed, such as Rl, . . . , RN, will consider the new request. All other mobile base stations 100 will ignore Mk's request.
The mobile base stations 100 Rl, . . . , RN, use the downlink interference measurement table 1100 sent by Mk as well as λkU and λkD for the next new mobile to appear, not for Mk. The mobile base stations 100 Rl, . . . , RN respond to Mk during step 1635 with their most recent predicted resource availability tables 1500 along with the location of Mk in their queues. The mobile base stations 100 Rl, . . . RN also send their normalized received power levels PMk→Ri.
Mobile Mk forms a set of mobile-estimated availability tables 1700, shown in FIG. 17, during step 1640 for each mobile base station 100 Rl, . . . , RN. For example, the mobile-estimated availability are obtained as follows:



  
    
      
        a
        
          l
          ,
          i
        
        
          D
          ,
          MobEst
        
      
      =
      
        
          
            
              P
              _
            
            
              
                R
                i
              
              ->
              
                M
                k
              
            
          
          (
          
            1
            -
            
              
                I
                
                  l
                  ,
                  k
                
                D
              
              
                
                  ∑
                  
                    l
                    =
                    1
                  
                  L
                
                ⁢
                
                  I
                  
                    l
                    ,
                    k
                  
                  D
                
              
            
          
          )
        
        ⁢
        
          a
          
            l
            ,
            i
          
          
            D
            ,
            pred
          
        
      
    
    ,
    
      
    
    ⁢
    and
  




  
    
      a
      
        l
        ,
        i
      
      
        U
        ,
        MobEst
      
    
    =
    
      
        
          P
          _
        
        
          
            M
            k
          
          ->
          
            R
            i
          
        
      
      ⁢
      
        
          a
          
            l
            ,
            i
          
          
            U
            ,
            pred
          
        
        .
      
    
  



Mobile Mk then forms a total availability table 1800, shown in FIG. 18, where:




  
    
      a
      i
      
        D
        ,
        total
      
    
    =
    
      
        ∑
        
          l
          =
          1
        
        L
      
      ⁢
      
        a
        
          l
          ,
          i
        
        
          D
          ,
          MobEst
        
      
    
  
  ,
  
    
  
  ⁢
  
    
      and
      ⁢
      
        
      
      ⁢
      
        a
        i
        
          U
          ,
          total
        
      
    
    =
    
      
        ∑
        
          l
          =
          1
        
        L
      
      ⁢
      
        
          a
          
            l
            ,
            i
          
          
            U
            ,
            MobEst
          
        
        .
      
    
  




Mobile Mk picks the mobile base station(s) 100 during step 1645 that can provide all the required resources on both uplink and downlink, i.e., λkU and λkD, respectively. Mobile Mk then picks the mobile base station 100 with highest aggregate availability during step 1650, i.e., the mobile base station 100 with the highest αiU,total+αiD,total.
If Mk can not find a mobile base station 100 that satisfies all the resources on one or both of directions, it either terminates the resource allocation procedure and announces that, or it may reduce the requirement by one during step 1655 and repeat the previous step. In an alternate implementation, mobile Mk picks the mobile base station(s) during step 1645 in a manner that distributes the required resources over all mobile base stations 100 (filling more available first). In this manner, resources are distributed over several mobile base stations 100 for “diversity” gain. However, it is noted that the algorithm in this case is not as load balancing as the primary embodiment.
If the mobile Mk denotes on a mobile base station(s) 100 during step 1650, it announces the mobile base station(s) 100 selection during step 1660. All other mobile base stations 100 drop Mk off their queues and update availability tables accordingly during step 1665. The successful mobile base station(s) 100 keep(s) Mk in its queue, as if Mk did not decide yet, until all requests ahead of Mk are processed and then it allocates Mk the required resources and updates the tables during step 1670. If by the time Mk is first in the queue, not enough resources are available (they have, been consumed by requests ahead of Mk), mobile Mk may choose to accept a lesser amount of resources and may get a higher priority in terms of being allocated the remaining amount of resources in the future, or Mk may choose to be rejected and program control will return to 1605 and continue in the manner described above. If Mk decides on mobile base station(s) 100, the successful mobile base station(s) 100 allocate(s) Mk the resources according to the corresponding entries in the mobile-estimated availability table 1700, i.e., Mk informs the mobile base station(s) 100 of which resources go to which bands. This is done by filling bands with the largest availability first and so on.
Until mobile Mk makes a decision, all concerned mobile base stations 100 wait for Mk and cannot process requests which came after Mk. However, a mobile base station 100 cannot wait for Mk more than the time it takes until Mk is first in the queue. If a mobile base station 100 does not receive a decision from Mk by that time, it drops Mk off its queue and announces the removal and also updates the availability tables accordingly.
If Mk is first in the queue of some mobile base station 100, such mobile base station 100 cannot wait for Mk's decision more than a certain fixed amount of time. Thus, the mobile base stations 100 will not wait indefinitely for mobile stations.
FIG. 19 is a flow chart describing an exemplary dynamic channel allocation process (new resource for existing mobile) 1900. As shown in FIG. 19, the dynamic channel allocation process (new resource for existing mobile) 1900 is initiated during step 1910 when a mobile Mk requests an additional resource from its mobile base station 100. The mobile base station 100 waits until all requests ahead of Mk in the queue are processed. The mobile base station 100 then assigns Mk the requested resources during step 1920 according to the mobile-estimated availability table 1700. It is noted that in this case the mobile Mk only receives information from its mobile base station 100. That is, the mobile-estimated table 1700 consists of only two columns for uplink and downlink. If no resources are available, mobile Mk's request may be turned down or Mk may be scheduled for a later time with higher priority, for example, during step 1930.
If a mobile Mk, or its mobile base station 100 or both, decide that a handoff is needed, the mobile Mk initiates the dynamic channel allocation process (new mobile) 1600. However, Mk keeps the connection with its current mobile base station 100 until the mobile Mk is assigned a new mobile base station 100.
It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. For example, the algorithm presented here can also be adjusted to apply to TDMA/CDMA systems, as would be apparent to a person of ordinary skill in the art.

## Claims

1. A method for allocating a resource to a mobile station in a wireless communications network having at least one mobile base station, said method comprising the steps of:
collecting measurements of interference and load in said wireless communications network, wherein said collected measurements include expected resource availability information and measured resource availability information;
processing said collected information to identify a resource for said mobile station; and
assigning said resource to said mobile station.

2. The method of claim 1, wherein said measurements are collected from both said mobile station and said base stations.

3. The method of claim 1, wherein said expected resource availability information provides a measure of the load on said wireless communications network.

4. The method of claim 1, wherein said measured resource availability information provides a measure of the interference on said wireless communications network.

5. The method of claim 1, wherein said expected resource availability is an expected capacity value for each band on said network less the number of users on said band.

6. A method for allocating a resource to a mobile station in a wireless communications network having a plurality of base stations including at least one mobile base station, said method comprising the steps of:
collecting measurements of interference and load in said wireless communications networks, wherein said collected measurements include received power measurements from neighboring base stations;
processing said collected information to identify a resource for said mobile station; and
assigning said resource to said mobile station.

7. The method of claim 6, wherein said power measurements are received from said neighboring base stations on a beacon channel.

8. The method of claim 6, wherein said received power measurements provide an indication of the distance to a neighboring base station.

9. The method of claim 6, wherein said measurements are collected from both said mobile station and said base stations.

10. A method for allocating a resource to a mobile station in a wireless communications network having a plurality of base stations including at least one mobile base station, said method comprising the steps of:
collecting measurements of interference and load in said wireless communications network, wherein said collected measurements include predicted new load information;
processing said collected information to identify a resource for said mobile station; and
assigning said resource to said mobile station.

11. The method of claim 10, wherein said predicted new load, μliD, is computed as follows:




  
    
      μ
      
        l
        ⁢
        
          
        
        ⁢
        i
      
      D
    
    =
    
      
        p
        
          l
          ⁢
          
            
          
          ⁢
          i
        
        D
      
      ⁢
      
        
          ∑
          
            k
            =
            1
          
          K
        
        ⁢
        
          λ
          k
          D
        
      
    
  
  ,




where pl,iD is a probability of assigning a resource to a band and λkD are a number of users over a downlink band.

12. A method for allocating a resource to a mobile station in a wireless communications network having a plurality of base stations including at least one mobile base station, said method comprising the steps of:
collecting measurements of interference and load in said wireless communications network;
processing said collected information to identify a resource for said mobile station such that said resource allocation minimizes a call drop rate; and
assigning said resource to said mobile station.

13. The method of claim 12, wherein said call drop rate ensures that a resource will not be assigned to said mobile station if a likelihood that allocating said resource to said mobile station will cause another mobile station to be dropped exceeds a predefined threshold.

14. A system for allocating a resource to a mobile station in a wireless communications network having at least one mobile base station, said system comprising:
a memory for storing computer readable code; and
a processor operatively coupled to said memory, said processor configured to:
collect measurements of interference and load in said wireless communications network, wherein said collected measurements include nominal resource availability information and measured resource availability information;
process said collected information to identify a resource for said mobile station; and
assign said resource to said mobile station.

15. The system of claim 14, wherein said measurements are collected from both said mobile station and said base stations.

16. The system of claim 14, wherein said nominal resource availability information provides a measure of the load on said wireless communications network.

17. The system of claim 14, wherein said measured resource availability information provides a measure of the interference on said wireless communications network.

18. The system of claim 14, wherein said nominal resource availability is a nominal capacity value for each band on said network less the number of users on said band.

19. A system for allocating a resource to a mobile station in a wireless communications network having a plurality of base stations including at least one mobile base station, said system comprising:
a memory for storing computer readable code; and
a processor operatively coupled to said memory, said processor configured to:
collect measurements of interference and load in said wireless communications network, wherein said collected measurements include received power measurements from neighboring base stations;
process said collected information to identify a resource for said mobile station; and
assign said resource to said mobile station.

20. The system of claim 19, wherein said power measurements are received from said neighboring base stations on a beacon channel.

21. The system of claim 19, wherein said received power measurements provide an indication of the distance to a neighboring base station.

22. The system of claim 19, wherein said measurements are collected from both said mobile station and said base stations.

23. A system for allocating a resource to a mobile station in a wireless communications network having a plurality of base stations including at least one mobile base station, said system comprising:
a memory for storing computer readable code; and
a processor operatively coupled to said memory, said processor configured to:
collect measurements of interference and load in said wireless communications network, wherein said collected measurements include predicted new load information;
process said collected information to identify a resource for said mobile station; and
assign said resource to said mobile station.

24. The system of claim 23, wherein said predicted new load, μliD, is computed as follows:




  
    
      μ
      
        l
        ⁢
        
          
        
        ⁢
        i
      
      D
    
    =
    
      
        p
        
          l
          ,
          i
        
        D
      
      ⁢
      
        
          ∑
          
            k
            =
            1
          
          K
        
        ⁢
        
          λ
          k
          D
        
      
    
  
  ,




where pl,iD is a probability of assigning a resource to a band and λkD are a number of users over a downlink band.

25. A system for allocating a resource to a mobile station in a wireless communications network having a plurality of base stations including at least one mobile base station, said system comprising:
collecting measurements of interference and load in said wireless communications network;
processing said collected information to identify a resource for said mobile station such that said resource allocation minimizes a call drop rate; and
assigning said resource to said mobile station.

26. The system of claim 25, wherein said call drop rate ensures that a resource will not be assigned to said mobile station if a likelihood that allocating said resource to said mobile station will cause another mobile station to be dropped exceeds a predefined threshold.