Abstract:
In a time division multiplex access asynchronous transfer mode wireless network wherein network interface units (NIUs) are connected to a base transceiver station (BTS) by way of a radio frequency (RF) wireless link comprising time slots which are grouped into frames, there is presently no method or apparatus to allow dynamic bandwidth allocation while maintaining a minimum bandwidth allocation to NIUs. Using a combined Guaranteed Bandwidth Allocation (GBA) scheme with a Dynamic Bandwidth Allocation (DBA) scheme, a configurable number of time slots can be permanently assigned to an NIU using GBA while the NIU can request additional timeslots using DBA. Using a queue occupancy threshold and a queuing delay threshold, the DBA scheme takes into account the GBA time slots which have been allocated, so that time slots are not unnecessarily requested by an NIU. At the BTS level, a time slot manager utilizes a frame look ahead procedure to allocate time slots based on the queue occupancy forwarded from the NIU. Additionally, a configurable parameter is defined which reflects the level of traffic in an NIU, to allow pro rated allocation of time slots.

Description:
BACKGROUND TO THE INVENTION  
         [0001]    1. Field of Invention  
           [0002]    This invention relates generally to the field of wireless communication networks and more specifically to a method of dynamically allocating bandwidth within such a network while maintaining a minimum guaranteed bandwidth.  
           [0003]    2. Description of the Related Prior Art  
           [0004]    [0004]FIG. 1 shows a wireless communication system  8  which includes a base transceiver station (BTS)  10  connected to a network  12  which may be, for example, an Asynchronous Transfer Mode (ATM) network. The BTS  10  can be an ATM switch such as the 7470 MSP™ manufactured by Alcatel Networks Corporation, configured with one or more radio interface cards, or the like. Through radio frequency (RF) transmission, BTS  10  communicates with one or more network interface units  14 . NIUs  14  in turn, are hard wired using copper wire, fibre optic cable or the like to a plurality of client hardware platforms such as a Private Branch Exchange (PBX)  16 , Local Area Network (LAN)  18 , a desktop terminal, or similar devices. The system is designed to support all forms of traffic including video, audio and bulk data transmissions.  
           [0005]    As indicated above, the base transceiver stations  10  are interlinked to network interface units  14  via RF links. One frequency is used for transmission from the BTS  10  to the NIU  14  (the “downlink” frequency), and a different frequency is used for transmission from the NIU  14  to the BTS  10  (the “uplink” frequency). In a typical configuration, microwave transmissions facilities are used operating in the 20 to 28 gigahertz range. The downlink is usually of a broadcast nature, while the uplink uses a Time Division Multiple Access (“TDMA”) technique to allow NIUs  14  to share the frequency allotted. The TDMA technique divides up the total bandwidth into a predetermined number of time slots, which are allocated to NIUs using various schemes which will be discussed below.  
           [0006]    In a TDMA wireless system, NIUs are connected to base transceiver stations by way of wireless RF links. A diagram depicting the system architecture of this arrangement is shown at FIG. 2 where an ATM system is used as an example and AAL 1 =ATM Adaptation Layer Type  1 , AAL 5 =ATM Adaptation Layer Type  5 , and CE=Circuit Emulation. In this example, traffic arriving from the Ethernet port and CE port is segmented into ATM cells using AAL 5  and AAL 1  repectively. The arriving traffic streams are then mapped onto ATM virtual channels (VC). The ATM cells are queued per service category and or per VC, and served by the scheduler. The data transmitted from NIUs to the BTS over the wireless link is formatted in accordance with TDM formatting. The uplink consists of time slots which are grouped into frames. Each NIU transmitting data via the connection monitors the system timing and transmits data in the time slots allocated to it. Each frame contains 133 time slots and each frame is 5.625 ms in duration. Each time slot can be independently assigned to an NIU and can be used to send a single ATM cell. Each time slot falls into one of the following categories: polling slot (P); contention slot (C); guard slot (G); and reservation slot. Reservation slots are further divided into dynamic bandwidth allocation (DBA) and guaranteed bandwidth allocation (GBA). In the downstream direction, information is broadcast to the NIUs. The downlink consists of MPEG packets, two such packets comprising a total of seven ATM cells. The first packet in each frame is considered the frame start packet and is used by the Medium Access Control (MAC) layer to provide information to the NIUs. The speed of the downlink is approximately 41 Mbps (ATM layer). The speed of the TDMA uplink is approximately 10 Mbps (ATM layer). Both the uplink and the downlink frames have the same duration, and they are synchronized with their frame starts offset typically by ½ frame (See FIG. 3).  
           [0007]    A radio link can support one or more virtual connections, such as ATM virtual channel and virtual path communications or IP traffic flows. Referring to the uplink transmission, the time slots may be either permanently assigned to a connection for the duration of the connection or dynamically assigned to a connection on demand. As discussed above, the former is referred to as guaranteed bandwidth allocation (GBA) and the latter as dynamic bandwidth allocation (DBA).  
           [0008]    In the GBA mode, when the connections are created, a number of dedicated time slots are assigned to individual NIU&#39;s based on the traffic parameters of the connections. The time slots which are dedicated to a NIU are always accessible to the NIU and cannot be shared by other NIUs even when those time slots are idle. Therefore, the subscribed bandwidth is guaranteed. A algorithm or rule is usually used to select the time slots. For example, the algorithm disclosed in U.S. patent application Ser. No. 09/244,165 entitled “Method And Apparatus For Controlling Traffic Flows In A Packet-Switched Network”, filed on Feb. 4, 1999 may be used to select the time slots which minimize the jitter.  
           [0009]    In the DBA mode, time slots are not dedicated to any NIU. Instead, a pool of time slots are shared among multiple NIUs. If a NIU has data to send, i.e., there are cells/packets in its queue, the NIU sends data through the assigned time slots. In the current methodology, there is a single data queue in the NIU. The queue is checked at the beginning of every 5.625 ms frame. If the queue is not empty and no request or grant is in progress, the NIU sends a bandwidth request to the BTS through a contention slot. The request contains the queue occupancy information, e.g., in terms of cells or bytes. A random access algorithm, namely Ternary Tree Splitting with Free Access which is well known in the art, is used in determining the contention slot in which the request is to be sent. At the BTS, a time slot allocation algorithm, for example the one proposed in U.S. patent application Ser. No. 09/316,439 entitled “Method And Apparatus For Assigning Time Slots Within A TDMA Transmission”, filed on May 21, 1999, is used to allocate time slots. The NIU sends the cells/packets through the assigned time slots. Partial grant is allowed and subsequent requests can be made to request for more bandwidth.  
           [0010]    The advantage of the GBA is that the subscribed bandwidth is always guaranteed. However, GBA is often inefficient in terms of bandwidth utilization when the traffic is bursty, i.e., during the idle period the bandwidth is wasted.  
           [0011]    The advantage of DBA is that the bandwidth is allocated on demand. DBA is efficient in terms of bandwidth utilization when the traffic is bursty. However, since the time slots are shared among multiple NIUs and the current DBA algorithm assigned time slots on a “best effort” basis, the required bandwidth may not be guaranteed when multiple NIUs contend for bandwidth.  
           [0012]    Given the limitations of GBA and DBA described above, a need exists for a method of allocating bandwidth to an NIU on demand while ensuring that a minimum amount of bandwidth is always available to each NIU.  
         SUMMARY OF THE INVENTION  
         [0013]    In order to overcome the deficiencies of the prior art there is provided a wireless network and a method for operating the network which combines the benefits of GBA with the advantages of DBA. The present invention focuses on the transmission and time slot allocation for the upstream transmision. In the method of the present invention, which is referred to as the “GBA+DBA mode”, a number of dedicated time slots are assigned to individual NIUs in the same way as in the GBA mode. Those dedicated time slots represent the guaranteed bandwidth. The remaining time slots are shared among the NIUs and are allocated on demand.  
           [0014]    Since traffic is usually bursty, i.e., consists of on and off periods, a NIU may temporarily receive traffic at a higher rate than the guaranteed capacity and the queue in the NIU builds up. If the NIU decides that it needs more bandwidth, it sends a bandwidth request to the BTS through either the GBA time slots (preferred) or contention time slots. In order to ensure that requests are not prematurely initiated, a queue occupancy threshold and a queueing delay threshold are introduced to determine if additional bandwidth is required. That is, if the queue occupancy exceeds a queue occupancy threshold or the queueing delay exceeds a delay threshold, the NIU is considered congested and additional bandwidth is required to alleviate the congestion. Prematurely requesting for bandwidth may cause wasting of bandwidth.  
           [0015]    In accordance with one aspect of the present invention there is provided, in a time division multiplex access (“TDMA”) wireless network wherein network interface units communicate with a base transceiver station by way of transmission of data in a plurality of time slots grouped into a plurality of frames, said time slots including one or more guaranteed bandwidth allocation (“GBA”) time slots assigned to respective network interface units and dynamic bandwidth allocation (“DBA”) time slots assignable to any of said network interface units, a method for allocating said DBA time slots to said network interface units comprising the steps of transmitting data from a queue in each of a plurality of said network interface units to said base transceiver station in said one or more GBA time slots assigned to each respective network interface unit, determining a measure of status of the queue in one of said network interface units, transmitting, if said measure of status exceeds a threshold, from said one network interface unit to said base transceiver station a request for allocation of DBA time slots including queue occupancy information, determining at said base transceiver station the availability of DBA time slots, assigning, in response to receipt of said request for allocation, to said one network interface units DBA time slots based on the queue occupancy, transmitting a message from the base transceiver station to said one network interface unit indicating the assigned DBA timeslots, and transmitting queued data from said one network interface unit to said base transceiver station in said assigned GBA and DBA time slots.  
           [0016]    In accordance with another aspect of the present invention there is provided, in a time division multiplex access (“TDMA”) wireless network wherein network interface units communicate with a base transceiver station by way of transmission of data in a plurality of time slots grouped into a plurality of frames, said time slots including guaranteed bandwidth allocation (“GBA”) time slots uniquely assigned to network interface units and dynamic bandwidth allocation (“DBA”) time slots variably assignable to said network interface units, a method for allocating said time slots to said network interface units comprising the steps of transmitting from an network interface unit to said base transceiver station a request for allocation of time slots, said request including information regarding queue occupancy, assigning at said base transceiver station to said network interface unit DBA time slots based on queue occupancy, the number of GBA time slots assigned to said network interface unit and the number of unassigned DBA time slots, and transmitting queued data from said network interface unit to said base transceiver station in said assigned GBA and DBA time slots. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]    A better understanding of the invention will be obtained by reading the description of the invention below, with reference to the following drawings, in which:  
         [0018]    [0018]FIG. 1 is a diagrammatic representation of a wireless communications network;  
         [0019]    [0019]FIG. 2 is diagram depicting the data flow in a wireless ATM network;  
         [0020]    [0020]FIG. 3 is an illustration of uplink and downlink frames;  
         [0021]    [0021]FIG. 4 is a time slot allocation message sequence;  
         [0022]    [0022]FIG. 5 an uplink timeslot map; and  
         [0023]    [0023]FIG. 6 is a flow chart depicting the sequence of events integral to the method of the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0024]    The term “GBA+DBA” refers to the mode in which a number of time slots are permanently assigned to each NIU and the NIU can request additional time slots using the DBA mechanism. The present invention focuses on the uplink transmission and on a “GBA+DBA” technique at the NIU level used in conjunction with an improved timeslot allocation procedure at the BTS level to enhance the overall assignment and utilization of bandwidth between competing NIUs. Referring to FIG. 2, the CE port is serviced using GBA while the ethernet port is serviced using GBA+DBA on a “best effort” basis. One or more virtual connections may be supported by the Ethernet port with single FIFO queue.  
         [0025]    As shown in FIG. 4, in the DBA mode when more bandwidth is required the NIU sends a “Request” to the BTS for a specified number of timeslots, the number being determined by the data queue occupancy which is measured in terms of cells or bytes. The BTS then searches for available timeslots and if found, transmits a “Grant” message back to the NIU. If there are no available time slots, the request is dropped. A new request may be made by the NIU when the current request times out and hence dropped. If time slots are available and a “Grant” is received, the NIU then begins to transmit the queued data.  
         [0026]    Currently DBA mode does not take into account GBA time slots. If the data queue in the NIU is not empty and no time slot request or grant is in progress, the NIU will request additional time slots. When the traffic is bursty and the queue may temporarily build up, a request will be generated although the temporary increase in traffic could have been handled using GBA timeslots alone. In such a case, the additional DBA time slots requested are wasted and other NIUs are deprived of these much needed DBA time slots. In short, a non-zero queue occupancy does not necessarily mean that additional bandwidth is required  
         [0027]    In order to ensure that there is no wasting of bandwidth, the present invention invokes rules to ensure that a request for additional bandwidth is not generated unless absolutely required. A delay threshold and a queue threshold are defined. The delay threshold, T delay  is the queuing delay (in seconds) which can be tolerated before the NIU sends a request for additional bandwidth. The queue occupancy threshold, T queue  is the queue occupancy level (in terms of cells or bytes) which signals congestion. Both thresholds are configurable parameters. The valid range for the queue occupancy threshold is 0≦T queue ≦Q size  and the valid range for the delay threshold is  
       0   ≤     T   delay     ≤         T   queue     ×     Δ     F                 R       ×   C       N     G                 B                 A                               
 
         [0028]    where Q size  is the size of the first-in-first-out (FIFO) queue, N GBA  is the number of GBA time slots allocated to the NIU and Δ FR  is the duration of the TDMA frame in seconds. C is a conversion factor which is used to convert T queue  to number of time slots required.  
         [0029]    When a NIU decides to request for additional bandwidth, the NIU sends a bandwidth request to the BTS. The request indicates the current queue occupancy which is converted to the number of time slots required. The BTS manages a time slot map and allocates time slots to the NIU based on its bandwidth requirement taking into account the GBA time slots which are dedicated to the NIU.  
         [0030]    An example of the time slot map which is a 133 by 18 array is shown in FIG. 5. Each row of the map corresponds to a frame and each frame contains 133 time slots. The first row corresponds to the Current Frame (the row that the time slot request is processed) and the third row, which is configurable, is the Allocation Start Frame (the row the time slot allocation starts). The time slot map starts with the current frame and is updated as the next frame becomes current. When the BTS receives a request for additional bandwidth from the NIU, the BTS checks the time slot map, for example in the manner described in U.S. patent application Ser. No. 09/316,439 entitled “Method And Apparatus For Assigning Time Slots Within A TDMA Transmission”, filed on May 21, 1999. If there is at least one time slot available within a given number of frames (i.e. the number set in the Frame Look Ahead), the BTS will grant time slots to the NIU. The number set in the Frame Look Ahead relates to the NIU request timeout. If the NIU does not receive grant within the given number of frames, it will send another request. The time slot allocation is made frame by frame until either the end of the map is reached or the number of the time slots requested is satisfied. The time slot allocation takes into account the GBA time slots.  
         [0031]    The maximum number of time slots N TS  which may be allocated for a single grant is a configurable number, for example 16 (from the Allocation Start Frame). A maximum number of DBA time slots per frame, N max  is defined for each NIU. N max  is a configurable parameter and is determined based on the peak bandwidth constraint of individual NIUs (e.g. for low bandwidth NIUs (e.g. 75 Kbps) N max =1 whereas for a high bandwidth NIU (e.g. 2 Mbps) N max =32). The advantages of setting Nmax are as follows:  
         [0032]    (a) It allows multiple NIUs to concurrently access the available bandwidth, thereby avoiding all available bandwidth being assigned to a single high-traffic NIU;  
         [0033]    (b) The burst size of the traffic can be limited by sending the traffic over multiple frames;  
         [0034]    (c) A lower traffic NIU may use a smaller number of time slots per frame but simply take more frames. This tends to reduce the chance of collision while requesting bandwidth and thereby improve throughput; and  
         [0035]    (d) NIUs with high volume traffic or very bursty traffic can be satisfied by assigning a larger N max .  
         [0036]    [0036]FIG. 6 depicts the steps which occur at both the NIU and BTS to implement the method of the present invention. With regard to the NIU at step  20  the NIU receives data from a client. At step  22 , the queue occupancy is checked. Typically the queue is checked every frame to determine if there is data in the queue. At step  23 , if a determination is made that the queue is empty, at step  24  no action is taken. If there is data in the queue then a determination is made at steps  26  and  28 , as to whether or not there is a request or a grant in progress. If either one of these criteria is met, no action is taken as shown at steps  30  and  32 . If these criteria have been satisfied otherwise, then a determination is made at step  30 , as to whether the queue occupancy threshold has been breached  
         (         i   .   e   .              i                   f                   N   queue       &gt;         T   delay     ×     N     G                 B                 A             Δ   FR     ×   C         )     ,                         
 
         [0037]    where N queue  is the current queue occupancy, and C is the conversion factor defined above. If it is not breach, no action is taken as seen at step  32 . If it is breached, then at step  34  a request for time slots is sent to the BTS in a contention slot or GBA slot which includes the current queue occupancy N queue . At step  36  a “Request in Progress” flag is generated. If, at step  38 , the request is timed out (usually after 5 frames), then the “Request in Progress” flag is deleted at step  40  and the current queue occupancy, N queue  is updated at step  42 . Another request is then generated at step  34 . If the request is not timed out, then a grant is received from the BTS at step  44 . At step  46 , the “Request in Progress” flag is then removed and a “Grant in Progress” flag is generated. At step  48 , the data transmission to empty the queue is performed. Finally, at step  50 , the “Grant in Progress” flag is removed after data transmission is complete. The flag is used to block further request when a request or grant is in progress.  
         [0038]    The following is an example of the structure of the Request Message which follows the MAC message header:  
                                                                       Reservation_request( )           {                number_time_slots                }                      
 
         [0039]    Once a request is received by the BTS, processing in the BTS occurs. At step  52 , the request is received. At step  54  there is a determination made as to whether or not time slots are available within the frame look ahead. If no time slots are available, at step  56  the request is dropped (and the request is timed out at the NIU invoking steps  40 ,  42  and  34 ). If time slots are determined to be available from the Frame Look Ahead then at step  58  time slot allocation occurs in accordance with the following procedure:  
                                                                       Set TS_count = 0 and TS_per_frame = 0;       For each frame in the time slot (TS) map starting from the       Allocation Start Frame                Set TS_count = TS_count + N GBA ;           If (TS_count&lt;N queue ) AND (TS_per_frame&lt;N max ) AND           (TS_count&lt;N TS ) Then                Allocate the time slot to the NIU;           Set TS_count = TS_count + 1;           Set TS_per_frame = TS_per_frame + 1;                End if            End for                  
 
         [0040]    To minimize the overhead of messaging on the downstream channel, the BTS may allocate a number of time slots for the same number of frames. The total time slots granted including the GBA time slots should be equal to or larger than the requested number of time slots. Partial grant is allowed when not enough time slots are available. A subsequent request may be sent for more bandwidth. The following is an example of the structure of the Grant Message which follows the MAC message header:  
                                                                                           Time_slot_allocaton( )           {                start_frame_number           number_frames           time_slot_list           {                time_slot                }                }                      
 
         [0041]    Once the allocation is complete, at step  60  the grant is sent to the NIU (and the NIU transmits the queued data to the BTS as shown at step  48 ).  
         [0042]    The advantages of the present invention are now readily apparent. “DBA+GBA” has the advantages of both DBA and GBA i.e. it can guarantee the minimum required bandwidth by using dedicated time slots and, at the same time, allow the traffic to burst above the guaranteed rate by requesting additional bandwidth when it is needed. By relying on T delay  and T queue  to determine when a request should be sent, additional bandwidth will only be requested when needed. Further, by providing the current occupancy in the request, the BTS is allowed to determine the number of DBA time sots actually required, accounting for the fact that some of the traffic will be handled by the guaranteed bandwidth dedicated to a particular NIU. At the BTS level, by having the ability to set N max  based on the traffic level in a particular NIU, time slot allocation can be tailored for high or low bandwidth NIUs.  
         [0043]    A person skilled in the art may now conceive of alternate structures and embodiments or variations of the above. All those which fall within the scope of the claims appended hereto are considered to be part of the present invention.