Abstract:
A method of dynamic bandwidth allocation comprising updating a limit value (B max,i,j ) of bandwidth, comprising subtracting from an initial value (N ij ) a value (M ij   k ) indicative of previously assigned bandwidth, and adding a predetermined bandwidth value (T ij ).

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates generally to dynamic bandwidth allocation for a communications network. 
       BACKGROUND 
       [0002]    A Passive Optical Network (PON) comprises an Optical Line Termination (OLT), which resides in a Central Office (CO) and further comprises user modems, called Optical Network Terminals (ONT) or network units, called Optical Network Units (ONU). The OLT services a number of ONT&#39;s or ONT&#39;s, typically connected in a tree arrangement via an Optical Distribution Network (ODN) using an optical power splitter, which resides close to the user premises. Since the physical medium, of one or more communication links, is shared, the ONT&#39;s are scheduled by the OLT to transmit in the upstream direction in a Time Division Multiple Access (TDMA) manner. 
         [0003]    In order to achieve high upstream bandwidth utilization the upstream scheduling must provide dynamic bandwidth allocation (DBA), which allows for bandwidth resource between lightly loaded and heavily loaded ONT&#39;s to be shared. 
         [0004]    The Gigabit Passive Optical Networking (GPON) standard ITU-T G.984.x, introduces the concept of a Transmission Container (T-CONT). A T-CONT may be viewed as an upstream queue for a particular type of traffic (for example, video, voice and data). Each ONU typically holds several T-CONT&#39;s. The bandwidth assignment in the scheduling is done purely on a per T-CONT basis. Each T-CONT in the PON system is identified by a so-called Alloc ID. The OLT grants bandwidth to ONT&#39;s via a bandwidth map (BWmap) which comprises control signals sent in a downstream direction. 
         [0005]    A Service Layer Agreement (SLA) associates each Alloc ID with respective bandwidth requirements to allow each Alloc-ID to be suitably serviced with bandwidth. The bandwidth requirements for one Alloc ID are described in terms of multiple bandwidth allocation classes. Each class has an associated bandwidth value, and together the values provide an overall bandwidth value for servicing each Alloc-ID. These limits define how a queue should be serviced with bandwidth. For example fixed bandwidth, assured bandwidth, non-assured bandwidth and best-effort bandwidth classes could be included in the SLA. Hence, a particular Alloc ID can be configured to obtain a certain amount of fixed bandwidth, up to a certain amount of assured bandwidth, up to a certain amount of non-assured bandwidth and up to a certain amount of best-effort bandwidth. 
         [0006]    In order to be able to assign bandwidth to the T-CONT&#39;s according to need, the OLT may either utilize traffic monitoring or a messaging mechanism that has been introduced in the GPON protocol where status reports (containing queue occupancy) are transmitted to the OLT upon request. The OLT must, in addition to assigning bandwidth according to need, also enforce bandwidth guarantees, bandwidth capping and prioritization policies regarding traffic from different T-CONT&#39;s. The OLT is required to continually re-calculate how bandwidth is shared since the extent of queued traffic in each T-CONT varies over time. 
         [0007]    We have realised that overly blunt, or rigid, DBA parameters result in certain services being given stricter service requirements than are actually required. This can result in sub-optimal bandwidth utilisation. We seek to provide an improved method of bandwidth allocation. 
       SUMMARY 
       [0008]    According to one aspect of the invention there is provided a method of dynamic bandwidth allocation comprising updating a limit value of bandwidth of a bandwidth allocation traffic class, the method comprising subtracting from an initial value a value indicative of previously assigned bandwidth, and adding a predetermined bandwidth limit value. 
         [0009]    The invention may be viewed as determining a limit value of a bandwidth allocation traffic class using predetermined limit value and a value of bandwidth previously granted. 
         [0010]    Bandwidth allocation may advantageously be determined using a token bucket model. Advantageously, using a token bucket model provides the dynamic bandwidth allocation process with ‘soft’, or flexible, dynamic limits based on specified effective bandwidth limits and previously granted bandwidth, which results in improved bandwidth utilisation. Further advantageously, use of the token bucket model reduces jitter and average delay. 
         [0011]    Other aspects of the invention relate to bandwidth allocation apparatus, a communications network node and machine-readable instructions (for execution by a processor of bandwidth allocation apparatus of a communications network node). 
         [0012]    According to a second aspect of the invention there is provided a communications network node comprising a processor, the processor arranged to determine bandwidth allocation for at least two other communications network nodes, wherein the processor arranged to update a limit value of bandwidth by subtracting from an initial value a value indicative of previously assigned bandwidth, and adding a predetermined bandwidth value. 
         [0013]    According to a third aspect of the invention there is provided bandwidth allocation apparatus for a communications network node comprising a processor, the processor arranged to determine bandwidth allocation for at least two other communications network nodes, wherein the processor arranged to update a limit value of bandwidth by subtracting from an initial value a value indicative of previously assigned bandwidth, and adding a predetermined bandwidth value. 
         [0014]    According to a fourth aspect of the invention there are provided machine-readable instructions for execution by a processor of bandwidth allocation apparatus, the instructions arranged to cause the processor to update a limit value of bandwidth by subtracting from an initial value a value indicative of previously assigned bandwidth, and adding a predetermined bandwidth value 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    One embodiment of the invention will now be described, by way of example only, with reference to the following drawings in which: 
           [0016]      FIG. 1  shows a communications network, and 
           [0017]      FIG. 2  shows a flow diagram. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]      FIG. 1  shows a communications network node comprising an Optical Line Termination (OLT)  1  connected to two further network nodes, namely Optical Network Units (ONU)  6  and  7 . The OLT  1  is arranged to implement Dynamic Bandwidth Allocation (DBA) for the ONU&#39;s  6  and  7 . The OLT comprises a processor configured to determine a bandwidth map which is output to the ONU&#39;s to control use of the available bandwidth. 
         [0019]    The three principle DBA tasks are: (i) bandwidth demand prediction, (ii) bandwidth sharing and (iii) grant scheduling. Bandwidth demand prediction typically involves monitoring the amount of queued traffic at each ONU. Bandwidth sharing involves calculating how the available bandwidth is divided over the various queues of traffic at each ONU. Each queue at an ONU is called a T-CONT, identified by a respective Alloc-ID, and typically relates to a particular type of traffic (for example, video, voice and data). Each ONU typically holds several T-CONT&#39;s. The bandwidth assignment in the scheduling algorithm is done purely on a per T-CONT basis. Each T-CONT is specified by a T-CONT descriptor which contains criteria relating to maximum permissible bandwidth to be assigned to the T-CONT as well as specifying how the granted bandwidth is to be shared over the different classes for each T-CONT, such as fixed bandwidth, assured bandwidth, non-assured bandwidth, best-effort bandwidth. In other words, the T-CONT descriptor contains parameters that describe the bandwidth allocation service of a T-CONT and the descriptor may contain limits for maximum permissible bandwidth as well as maximum bandwidth for various bandwidth allocation classes. Within the Gigabit Passive Optical Networking (GPON) standard upstream transmission is based on the standard 125 μs periodicity. The DBA process produces an upstream bandwidth map comprising a control signal, or sequence of control signals, sent to the ONU&#39;s which divides the bandwidth of a 125 μs upstream super frame between the ONU&#39;s. The DBA process is executed with regular intervals at the OLT  1  producing an updated bandwidth map or sequence of bandwidth maps that can be used once or iteratively until it is updated. 
         [0020]    There is now described a process of calculating bandwidth limits for each bandwidth allocation class. As described above, as an input at each DBA cycle the DBA process requires settings for maximum bandwidth rate per Alloc ID (i) and class (j). J=1, 2, 3, 4 are used to specify the classes fixed, assured, non-assured and best-effort, respectively. Effective values, T ij , of these settings, or limit values, are predetermined and defined in the T-CONT descriptors. However, instead of using the effective values directly as hard limits in the DBA process for the assured, non-assured and best-effort classes, the embodiment described below with reference to the flow diagram  200  in  FIG. 2 , is a method of providing the DBA process with ‘soft’, or flexible, dynamic limits for those classes based on specified effective bandwidth limits and previously granted bandwidth. 
         [0021]    The method is based on the so-called ‘token bucket’ analogy. In the token bucket model, tokens are placed into the bucket or logical container at a constant rate. If the bucket is full, excess tokens are discarded. Tokens are used to grant way for packets. Each arriving packet requires a token to pass. Tokens leave the bucket (ie are decremented) as packets are granted right to pass. The token bucket method enables control over average packet rate through the token rate, while allowing for a certain amount of burstiness determined by the bucket size, N maxij . It will be appreciated that in the analogy, the number of tokens in the bucket at any one time represent available bandwidth and that reported bandwidth demand for a T-CONT play the role of arriving packets. 
         [0022]    For the fixed bandwidth class of each Alloc ID, the maximum limit is set to the predetermined T-CONT descriptor value, T i1 , as shown at step  201 . 
         [0023]    Each bandwidth limit B max,i,j  (for each Alloc ID and each of the traffic classes other than fixed bandwidth class) requires a token bucket. In the current embodiment one-byte tokens are used. At a given DBA cycle the number of tokens in the bucket, N ij , sets to the maximum bandwidth limit for the specified Alloc ID and class. The number of tokens in each bucket (bandwidth limit) is changed when a token update process is executed shown by step  202 . The token update process may be executed every n DBA cycles. The bandwidth limit is then given by the number of tokens in a bucket divided by n (N ij /n). 
         [0024]    The token update process both removes and adds tokens to the buckets. At step  202   b,  the sum of tokens corresponding to all bandwidth that was granted to an Alloc ID, Σ k M ij   k , during the past n DBA cycles, are removed from the buckets (at step  202   a ) for all the different classes corresponding to this Alloc ID. The index k is used to denote the DBA cycle. At step  202   c,  each bucket is then filled with the number of tokens corresponding to the nominal bandwidth limit (as defined in the T-CONT descriptor) for each class for the n coming DBA cycles. If the nominal bandwidth limit is specified in terms of bytes per GTC frame, T ij , the bucket is filled with tokens corresponding to n·T ij  bytes, as shown at step  202   d.  The size of each bucket, N max,ij , specifies the softness of the limit. The larger the bucket is, the softer the limit is. For a hard limit, the bucket size is set to the smallest possible size, ie identical to the nominal bandwidth limit multiplied by n. 
         [0025]    Modifications and other embodiments of the disclosed invention will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of this disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.