Abstract:
A method of reducing buffer overflow in a cellular radio network caused by a transfer of data from a buffer in a first cell to a buffer in a second cell when a handover of mobile equipment from said first cell to said second cell occurs. The method comprises temporarily increasing an amount of temporary buffer space required to handle data transferred from the buffer of the first cell to the buffer of the second cell. In one embodiment of the method, prior to increasing the amount of temporary buffer space, the amount of temporary buffer space required is calculated.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates to the field of reducing buffer overflow during handover of mobile equipment from one cell to another in a Radio Access Network. 
       BACKGROUND OF THE INVENTION 
       [0002]    A cellular mobile access network is a radio network made up of a number of cells, each cell being served by a fixed transmitter. Cells are used to cover different areas in order to provide radio coverage over a wider area than the area of one cell. 
         [0003]    As shown in  FIG. 1 , when a user with mobile equipment  1  moves between the areas covered by adjacent cells  2 ,  3 , a handover must be performed between those cells. A connection between the mobile equipment  1  and the old cell  2  is broken, and a new connection between the mobile equipment  1  and a new cell  3  is established. During this procedure, the servicing of data packets to and from the mobile equipment  1  is halted for a short time. The cells may comprise a Base Station, Radio Network Controller, or other similar device that has a downlink buffer. Data held in the downlink buffer at the old cell  2  must be transferred to the downlink buffer of the new cell  3 . 
         [0004]    In 3G networks, this is solved by a special procedure and signalling standardized by 3GPP. In current 3G networks the buffer transfer procedure is done infrequently only when the user moves between Radio Network Controllers (RNCs). In future Long Term Evolution (LTE) technology, it is planned that this procedure will be done frequently because the packets are stored in the Base Stations (BSs)  20 ,  30 , as illustrated in  FIG. 1 , and will therefore be transferred between base stations during cell handover. Nevertheless, the 3GPP solution does not ensure a continuous and seamless user experience when the user moves between cells. 
         [0005]    If the mobile equipment is active (for example it is downloading a file) when the handover occurs, there are packets stored in the downlink buffer of the BS or RNC. During the handover, these packets need to be handled in order to ensure a seamless user experience. If the packets are simply dropped, the end-user would experience a significant and long-lasting download throughput degradation at cell handover. To avoid this, 3GPP TS 43.129 specifies how packet-switched handovers are performed, but does not get round the problem of packets being lost. In future systems, such as 3GPP LTE, this procedure is triggered every time the mobile equipment is involved in a hand-over between cells. 
         [0006]    The buffer transfer procedure is not sufficient to avoid throughput degradation and packet loss from the buffer. During a handover, the service to the mobile equipment is stopped for a short time. This time period is called outage time. During outage time, the data sender (a Transmission Control Protocol, TCP, server) is unaware of the outage, and continues to send data. Using high speed networks that use, for example, High Speed Downlink Packet Access (HSDPA), enhanced HSDPA, LTE, 4G, 802.11, WiMAX, even where the outage time is short, the uninterrupted data flow to the buffer may cause a sudden buffer overflow and a large burst of packets will be lost in a sequence. This is illustrated in  FIG. 2 . Buffer growth is caused by service interruption (e.g. during a mobile handover). During this time, packet servicing from the buffer is suspended, but the buffer filling is not stopped. The buffer therefore fills at an increased rate. Regions of buffer growth are illustrated  4 ,  5 . In some circumstances, the buffer growth  5  may cause the buffer usage to exceed the buffer size, which leads to lost packets. Buffer usage may be exceeded in the buffer of the new cell or of a Radio Network Controller (RNC), depending on the hardware used. 
         [0007]      FIG. 3  shows an example measurement of a 3GPP SAE/LTE intra-system handover case. The graph shows the TCP data rate both before and after a handover between cells. Before handover, the data transfer rate is around 10 Mbps. At handover, the data rate drops to around 5 Mbps, and takes around 10 seconds to recover back to 10 Mbps. 
         [0008]    The loss caused by buffer overflow causes TCP to assume erroneously that there is congestion, and so the TCP responds by halving its congestion window. In the case of a time out, the TC data rate may be reduced to zero. In order to avoid this from happening, it is necessary to avoid buffer overflow. 
         [0009]    One solution to avoid buffer overflow is to provide a very large buffer. However, this is undesirable for the following reasons:
       1. A large buffer would be unnecessary for &gt;90% of the time, leading to inefficient use of resources;   2. Buffers in mobile nodes are costly; and   3. Large buffers have a negative impact on end-to-end applications, reduce responsiveness and increase round-trip time.       
 
       SUMMARY 
       [0013]    The invention provides dynamic allocation of the necessary amount of extra buffering to the mobile equipment that needs it during a handover. In this way, buffering cost is saved, small round-trip times can be maintained and buffer overflow can be reduced or eliminated. 
         [0014]    According to a first aspect of the invention, there is provided a method of reducing buffer overflow in a cellular radio network caused by a service interruption during a handover of mobile equipment from a first cell to a second cell occurs, the method comprising:
       temporarily increasing an amount of buffer space required to handle increased buffer usage caused by said service interruption.       
 
         [0016]    By dynamically allocating buffer space required for a handover, the amount of buffer space needed is greatly reduced compared to a static allocation of buffer space. To further increase the efficiency of buffer usage, the method may further comprise, prior to temporarily increasing an amount of temporary buffer space required, calculating the amount of temporary buffer space required to handle the increased buffer usage caused by the service interruption. 
         [0017]    The calculation may comprise either the product of the data transfer rate before cell handover and the outage time during the cell handover, or the product of the data transfer rate before cell handover and the base round trip time. The calculation is usually performed on the basis of the minimum of either the product of the data transfer rate before cell handover and the outage time during the cell handover, or the product of the data transfer rate before cell handover and the base round trip time. 
         [0018]    In order to release the reserved buffer space for other handovers, the method may further comprise releasing the reserved buffer space once a predetermined time period has elapsed. Where the data is transferred using Transmission Control Protocol, the method may further comprise sending Transmission Control Protocol rate decrease signals prior to releasing the reserved buffer space. This ensures that reserved buffer space is not released where the buffer still contains packets after the predetermined time period has elapsed. 
         [0019]    The method is suitable for implementation for most nodes in the network. For example, the amount of temporary buffer space required may be calc at any one of the first cell, the second cell, a cell controller, and the mobile equipment. 
         [0020]    According to a second aspect of the invention, there is provided a network node for use in an access network comprising:
       a buffer;   a processor for calculating an amount of temporary buffer space required; and   means for reserving a portion of the buffer according to the calculated amount of temporary buffer space required, the reserved portion for use during a cell handover.       
 
         [0024]    According to a third aspect of the invention, there is provided a network node for use in a radio access network cell comprising:
       a processor for calculating an amount of temporary buffer space required; and   a transmitter for sending the calculated amount of temporary buffer space required to a node in a second radio access network cell when handover of mobile equipment from the radio access network cell to the second radio access network cell occurs.       
 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0027]      FIG. 1  illustrates schematically buffer transfer between two cells in a mobile network during handover; 
           [0028]      FIG. 2  shows a graph illustrating the effects of service interruption on of buffer usage against time at a node holding the downlink user data packets; 
           [0029]      FIG. 3  shows a graph of TCP data transfer rate against time before and after a handover; 
           [0030]      FIG. 4  shows a flow chart illustrating the basic steps of the invention; 
           [0031]      FIG. 5  illustrates buffer occupancy when T out  is shorter than RTT base ; 
           [0032]      FIG. 6  illustrates buffer occupancy when RTT base  is shorter than T out ; 
           [0033]      FIG. 7  shows a graph of the probability of buffer overrun against outage time and buffer size; and 
           [0034]      FIG. 8  is a graph of buffer usage against time showing an example buffering peak using a wireless emulation testbed. 
           [0035]      FIG. 9  illustrates schematically a network node for providing buffer space according to one embodiment of the invention. 
           [0036]      FIG. 10  illustrates schematically the transmission of buffer size information between network nodes according to an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0037]    An extended buffer transfer procedure is provided that allows for temporary buffer inflation.  FIG. 4  shows the basic steps of an embodiment of the invention. When a handover of mobile equipment from one cell to another occurs, buffer transfer procedure is initiated  6  to the new cell. The amount of buffer space required is calculated  7 , and the downlink buffer size at the receiving node is temporarily increased  8  by a certain amount. Once the handover is complete, and the peak in buffer usage has expired, the reserved buffer space is released  9 . 
         [0038]    The amount of buffer space required is given by the following equation: 
         [0000]        B   temp   =B   default   +B   growth    (1) 
         [0039]    where B temp  is the temporarily extended downlink buffer size; 
         [0040]    B default  is the default downlink buffer size; and 
         [0041]    B growth  is the amount of buffer size required to accommodate the buffer usage peak caused by the service interruption. 
         [0042]    The inflated buffer may be implemented in several ways. For example, there may be a pool of temporary buffer space reserved for this procedure. The size of this pool can be dimensioned accordingly depending on the expected amount of handovers during unit time to the cell. 
         [0043]    In order to allocate B temp , B growth  must be calculated. B growth  depends on the actual data transfer rate before the handover (R d ), the outage time (T out ) and the base round-trip time (RTT base ). Bgrowth is approximately R d  multiplied by the minimum of either T out  or RTT base , as shown in equation 2: 
         [0000]      B growth ≅R d ×min(T out , RTT base )   (2) 
         [0044]    The buffer occupancy over time evolves differently depending on whether T out  or RTT base  is shorter.  FIG. 5  illustrates buffer occupancy when T out  is shorter than RTT base , and  FIG. 6  illustrates buffer occupancy when RTT base  is shorter than T out . 
         [0045]    Equation 1 is also valid also in for multiple TCP connections and UDP flows. 
         [0046]    The time to complete the handover is independent of the state of the TCP data flow before the handover, so the probability of buffer overrun can be calculated as the ratio of time when there is no sufficient space in the buffer to accommodate the buffer growth (T overrun ) to the TCP sawtooth period (T period ), as shown in equation 3: 
         [0000]    
       
         
           
             
               
                 
                   
                     P 
                     overrun 
                   
                   = 
                   
                     
                       T 
                       overrun 
                     
                     
                       T 
                       period 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0047]    where P overrun  is the probability of buffer overrun. 
         [0048]    Since the buffer increase is linear, the above ratio can be written as shown in equation 4: 
         [0000]    
       
         
           
             
               
                 
                   
                     P 
                     overrun 
                   
                   = 
                   
                     
                       
                         B 
                         growth 
                       
                       
                         
                           B 
                           size 
                         
                         - 
                         
                           
                             ( 
                             
                               
                                 B 
                                 size 
                               
                               - 
                               BDP 
                             
                             ) 
                           
                           / 
                           2 
                         
                       
                     
                     = 
                     
                       
                         2 
                          
                         
                             
                         
                          
                         
                           B 
                           growth 
                         
                       
                       
                         
                           B 
                           size 
                         
                         + 
                         BDP 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0049]    where BDP is the bandwidth-delay product. 
         [0050]    Referring to  FIG. 7 , P overrun  can be seen with various outage times and buffer sizes calculated for a link rate of R d =10 Mbps and RTT base  of 200 ms. It can be seen that the probability of buffer overrun can be reduced if the buffer is appropriately sized to take handover outages into consideration. 
         [0051]    Referring to  FIG. 8 , an example buffering peak is shown using a wireless emulation testbed. A NewReno TCP connection was measured in the congestion avoidance phase with a buffering peak caused by a link outage. Link capacity was set to 10 Mbps and the buffer size was set to 250 kbyte during the experiment. The base delay was 200 ms. The outage time was set to 50 ms and the handover occurred at around 101.45 s emulation time. As expected, the buffer increase 10 was over 60 kbyte, and the TCP transfer stopped due to ACK shortage after an RTT. This amount of buffer growth, unless compensated for, causes the TCP transfer to stop. 
         [0052]    The calculations described above predict a buffer growth of B growth =62.5 kbyte from around 30 kbyte, which closely matches the testbed result shown in  FIG. 8 . Using the analytic model, with this configuration, the probability of buffer overrun caused by handover is approximately 25%. 
         [0053]    By calculating B growth  at the BS or the mobile equipment, the buffer in the receiving node can dynamically allocate B temp  to the mobile equipment at the handover, and so the probability of buffer overrun can be reduced to 0%. 
         [0054]    After the handover has happened, the inflated buffer must to be released in order to make it available for other handovers. If the TCP data transfer is in a steady state, then the buffer occupancy decreases automatically after the outage time is over. The duration of the buffer peak is T peak , and is defined according to equation 5: 
         [0000]        T   peak   =T   out   +RTT   base    (5) 
         [0055]    There are several strategies to deflate the buffer after T peak :
       Temporary buffer deletion   TCP friendly temporary buffer deflation       
 
         [0058]    Temporary Buffer Deletion 
         [0059]    A simple implementation of buffer deflation is to simply deallocate and free up the temporary buffer after T peak  has expired. If there are packets in the buffer, they are deleted. 
         [0060]    This strategy is easy to implement. Since the buffer overrun under normal steady state TCP data transfer is over within T peak  automatically, in most cases there would be no packets to be discarded due to buffer deletion. Even if some packets were deleted, the majority of packets will still reach the receiving node and TCP recovery from packet losses happens significantly faster than without buffer inflation. 
         [0061]    TCP Friendly Temporary Buffer Deflation 
         [0062]    Temporary buffer deletion is not an optimal solution. New applications may start during the inflated period, or existing applications increase their data transfer rate for some reason, and so the temporary buffer still contains data packets after T peak . In this case, it is necessary to send rate decrease signals via TCP to gradually free up the temporary buffer. 
         [0063]    The proposed algorithm has the following steps: 
         [0064]    1. Start timer T final  when T peak  has elapsed 
         [0065]    2. On each packet departure from the buffer, the temporary buffer is decreased to (100+Burst)% of the actual buffer occupancy, but only if it is less than the current buffer size. 
         [0066]    3. After every T signal  time N signal  packets are discarded from the queue. A faster TCP response is obtained if a packet is discarded from the head of the queue. When the buffer occupancy goes to zero, the deflation process ends. 
         [0067]    4. When T final  expires, free up the buffer regardless of its content and end the deflation process. 
         [0068]    T final  is a system parameter and it is necessary to be robust against non-responsive applications, for example streaming applications. T final  should be sufficiently large to ensure that TCP has a chance to respond before the timer expires, for example 5-10 seconds. 
         [0069]    Burst % is necessary to keep some buffer space for bursty packet arrivals. Recommended setting for Burst % is around 10%. 
         [0070]    T signal  controls the time frequency of when the algorithm sends a congestion signal to the TCP sender. The value is not crucial, but it is necessary to have it more than the expected RTT, for example around 1 second. 
         [0071]    N signal  is the number of packets to be discarded at each T signal  period. The setting depends on the responsiveness and number of active TCP flows to the mobile. The recommended setting is between 1-4. 
         [0072]    Example Calculation 
         [0073]    Assume the following network case:
       N=100 users in a cell   Base round-trip time RTT=100 ms   Handover interruption time 100 ms   Handover frequency: F=1/minute       
 
         [0078]    The usual setting for downlink buffers is BDP or 2*BDP. This is to ensure that TCP can survive a single buffer drop event. 
         [0079]    Assume that the buffer growth is B growth =R d *RTT. It means that if the buffer size is BDP, the probability of buffer overrun is P overrun =100%. If the buffer size is 2BDP, then P overrun  is calculated according to equation 6: 
         [0000]    
       
         
           
             
               
                 
                   
                     P 
                     overrun 
                   
                   = 
                   
                     
                       2 
                       × 
                       
                         BDP 
                         
                           ( 
                           
                             
                               2 
                                
                               BDP 
                             
                             + 
                             BDP 
                           
                           ) 
                         
                       
                     
                     = 
                     
                       67 
                        
                       % 
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0080]    By dynamically allocating temporary buffer space to each user when a handover is required, P overrun  is reduced to 0%. 
         [0081]    If, instead of dynamically allocating temporary buffer space, a larger buffer was provided, in order to achieve a maximum overrun probability of P overrun , a buffer size must be provided according to equation 7: 
         [0000]    
       
         
           
             
               
                 
                   
                     B 
                     size 
                   
                   &gt; 
                   
                     
                       BDP 
                       × 
                       
                         ( 
                         
                           2 
                           - 
                           
                             P 
                             overrun 
                           
                         
                         ) 
                       
                     
                     
                       P 
                       overrun 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0082]    Table 1 shows the buffer size required for a selection of P overrun  values: 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                   
               
               
                   
                 P overrun   
                 B size  (as multiples of BDP) 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 50% 
                 3 
               
               
                   
                 10% 
                 19 
               
               
                   
                  1% 
                 199 
               
               
                   
                   
               
             
          
         
       
     
         [0083]    In contrast, the invention only requires extra buffer space during a handover. Using the same assumptions as the example above: 
         [0000]      Number of handovers per second= N*F= 100/60=1.67 
         [0000]      Average amount of temporary buffer space required= N*F*T   peak   =N*F* ( RTT+T   out )=1.67*0.2=0.33 
         [0084]    In summary, using the invention it is sufficient to allocate 1 BDP extra buffer space for the entire cell instead of e.g., 19*N=1900 BDP per cell. This means that the required extra buffer space in the node is between BDP/(N*BDP) and BDP/(N*2*BDP) that is between: 1% and 0.5%. The invention allows an operator to 0  guarantee that TCP performance is not degraded during to handovers even at high data speeds or high mobility, whilst providing only a small amount of additional buffer space. 
         [0085]    From the current 67%-100% overflow probability, the invention can reduce the overflow probability 0%. The data rate is not affected by intra-system handovers. Hardware cost is minimised by optimizing necessary buffer space from a pool. The invention requires just 0.5-1% extra buffering than is currently provided. In contrast, if buffer overrun were to be eliminated by simply allocating more buffer space statically, approximately 20 times more buffer space would be required, which has prohibitive costs. 
         [0086]    Furthermore, the invention allows retransmissions losses to be reduced or eliminated, and by keeping buffer space low between handovers, fast response times can be ensured. 
         [0087]    In  FIG. 9  a network node  900  is shown for use in an access network. The network node  900  comprises a buffer  901  a processor  902  for calculating an amount of temporary buffer space  903  required and means  904  for reserving a portion of the buffer according to the calculated amount of temporary buffer space required, the reserved portion for use during a cell handover. 
         [0088]    In  FIG. 10  a network node  1010  is illustrated for use in a radio access network cell. In this embodiment the network node  1010  also comprises a processor  1012  for calculating an amount of temporary buffer space  1013  required but a transmitter  1014  is also provided for sending the calculated amount of temporary buffer space  1013  required to a node  1020  in a second radio access network cell. The node  1020  in the second radio access network cell is also furnished with a processor  1022  for situations when handover of mobile equipment from the radio access network cell to the second radio access network cell occurs. 
         [0089]    It will be appreciated by the person of skill in the art that various modifications may be made to the above described embodiments without departing from the scope of the present invention. For example, the invention has been described in relation to TCP data flow, but can also be used for non-responsive data traffic e.g., non-standard TCP protocols, or UDP applications. Furthermore, the invention is described with reference to specific hardware. It will be appreciated that the calculations may be performed at various nodes in the network, for example at the mobile equipment, at the old cell, at a new cell, or at a central cell controller such as a Radio Network Controller.