Dynamic bandwidth allocation method and optical line terminal
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-11
- Publication Date
- 2026-08-11
AI Technical Summary
因此,光纤线路终端需要一种创新的动态带宽分配方案,其可满足即时性要求,又能避免光纤网络单元上报的错误信息(例如,动态带宽报告单元(dynamic bandwidth report unit, dbru)所上报的数值)所导致的带宽分配不准确的问题
[0006]本发明提出了一种结合状态上报和流量监控两种方式的动态带宽分配方法,其优势在于:以状态上报为主,因此可满足即时性要求;兼顾了流量监控的信息,因而降低上报错误的动态带宽报告单元数值后所产生的带宽需求失真的影响;遵循流量抖动的特点,降低带宽抖动的幅度,进而加快了带宽分配的收敛时间;以及满足多个传输容器的带宽竞争需求,按照实际需求的比率,让带宽分配做到多退少补。
Smart Images

Figure CN122554741A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to dynamic bandwidth allocation technology, and more particularly to a dynamic bandwidth allocation method that combines traffic monitoring and status reporting, as well as related fiber optic line terminals. Background Technology
[0002] Gigabit Passive Optical Network (GPON) is the latest generation of broadband passive optical network standard based on the ITU-T G.984.x standard. It has many advantages such as high bandwidth, high efficiency, wide coverage, and low operating costs. Downstream (e.g., from the optical line terminal (OLT) to multiple optical network units (ONUs)) uses a broadcast method, while upstream (e.g., from multiple ONUs to the OLT) uses a time division multiple access (TDMA) method to allocate bandwidth. Each ONU shares the optical distribution network (ODN). To ensure that data does not overlap or conflict, in the upstream direction, at most one transmission container (tcont) can access the shared ODN at any given time. Fiber optic line terminals use two fields, `start_time` and `stop_time`, to indicate the start and end times of data transmission for each transmission container. The bandwidth allocated to each transmission container is measured in bytes. Furthermore, each fiber network unit (FIN) can have one or more transmission containers. Therefore, fiber optic line terminals require an innovative dynamic bandwidth allocation scheme that meets real-time requirements while avoiding inaccurate bandwidth allocation caused by erroneous information reported by the fiber network unit (e.g., values reported by the dynamic bandwidth reporting unit (DBR)). Summary of the Invention
[0003] One of the objectives of this invention is to propose a dynamic bandwidth allocation method that combines traffic monitoring and status reporting, as well as related fiber optic line terminals.
[0004] In one embodiment of the present invention, a dynamic bandwidth allocation method is disclosed. The dynamic bandwidth allocation method includes: receiving an uplink frame transmitted in a time-division multiplexing manner through multiple current bandwidths allocated by multiple transmission containers in an available uplink bandwidth of an optical fiber line terminal; and determining multiple next bandwidths to be allocated to the multiple transmission containers based on the values of multiple current dynamic bandwidth reporting units corresponding to the multiple transmission containers and the percentage of multiple current effective data.
[0005] In one embodiment of the present invention, an optical fiber line terminal is disclosed. The optical fiber line terminal includes a receiving circuit and a processor. The receiving circuit is configured to receive an uplink frame transmitted in a time-division multiplexing manner through multiple current bandwidths allocated to multiple transmission containers within an available uplink bandwidth of the optical fiber line terminal. The processor is configured to perform dynamic bandwidth allocation, wherein the processor determines multiple next bandwidths to be allocated to the multiple transmission containers based on multiple current dynamic bandwidth reporting unit values corresponding to the multiple transmission containers and multiple current effective data percentages.
[0006] This invention proposes a dynamic bandwidth allocation method that combines status reporting and traffic monitoring. Its advantages are: it prioritizes status reporting, thus meeting the requirement of immediacy; it also takes into account traffic monitoring information, thereby reducing the impact of bandwidth demand distortion caused by reporting erroneous dynamic bandwidth reporting unit values; it follows the characteristics of traffic jitter, reducing the amplitude of bandwidth jitter and thus accelerating the convergence time of bandwidth allocation; and it meets the bandwidth competition needs of multiple transmission containers, ensuring that bandwidth allocation is adjusted according to the ratio of actual demand, with more bandwidth being returned and less bandwidth being supplemented. Attached Figure Description
[0007] Figure 1 This is a schematic diagram of an optical fiber line terminal according to an embodiment of the present invention.
[0008] Figure 2 A diagram illustrating the percentage of effective data provided for traffic monitoring.
[0009] Figure 3 A schematic diagram of the dynamic bandwidth reporting unit values provided for status reporting.
[0010] Figure 4 This is a flowchart of a dynamic bandwidth allocation method according to an embodiment of the present invention.
[0011] [Symbol Explanation]
[0012] 100: Fiber optic line terminal
[0013] 102: Processor
[0014] 104: Fiber Distribution Network Interface
[0015] 106: Transmission Circuit
[0016] 108: Receiver Circuit
[0017] 110: Transfer Container
[0018] 112: Fiber Optic Network Unit
[0019] 302: Buffer
[0020] S402, S404, S406, S408, S410, S412, S414, S416, S418, S420, S422, S423, S424, S426, S428: Steps Detailed Implementation
[0021] Certain terms are used in the specification and claims to refer to specific elements. Those skilled in the art will understand that hardware manufacturers may use different names to refer to the same element. This specification and claims do not distinguish elements based on differences in name, but rather on differences in function. The terms "comprising" and "including" used throughout the specification and claims are open-ended and should be interpreted as "comprising but not limited to." Furthermore, the terms "coupled" or "coupled" herein include any direct and indirect electrical connection means. Therefore, if a first device is described as coupled to a second device, it means that the first device can be directly electrically connected to the second device, or indirectly electrically connected to the second device through other devices and connection means.
[0022] Figure 1 This is a schematic diagram of an optical line terminal (OLT) according to an embodiment of the present invention. The OLT 100 supports the dynamic bandwidth allocation method proposed in this invention and includes a processor 102 and an optical distribution network (ODN) interface 104, wherein the ODN interface 104 includes a transmission circuit (labeled "TX") 106 and a receiving circuit (labeled "RX") 104. Please note that... Figure 1Only the components relevant to this invention are illustrated. In practice, the fiber optic line terminal 100 may include other components to achieve the specified functions. For example, the fiber optic line terminal 100 may include a media access control (MAC) circuit to extract the content of the uplink frames received by the fiber distribution network interface 104 and provide it to the processor 102. The transmission circuit 106 is used to process the transmission of multiple downlink frames, each with a frame duration of 125µs. In this embodiment, the processor 102 is used to perform dynamic bandwidth allocation. Therefore, the fiber optic line terminal 100 can inform multiple fiber network units (ONUs) (labeled as "ONU1", "ONU2", ..., "ONU(x)") 112 of the bandwidth allocation results of multiple transmission containers (tcont) 110 through a downlink frame. The receiving circuit 104 is used to process the multiple uplink frames F1 to F2 transmitted by the multiple fiber network units 112. N The uplink frame is received, and the frame time of each uplink frame is 125µs. In this embodiment, the receiving circuit 108 is used to receive uplink frames (e.g., uplink frames F1 to F2) that are transmitted in time-division multiplexing through multiple current bandwidths pre_alloc_band (determined by the processor 102 in the previous dynamic bandwidth allocation) allocated by multiple transmission containers 110 respectively in the available uplink bandwidth of the fiber optic line terminal 100. N Each transmission container (100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 10 ... n-2 The bandwidth allocated by the dynamic bandwidth allocation operation is applied at time point T. n-1 The uplink frame transmission performed, the current bandwidth of transmission container 110 refers to the bandwidth of processor 102 at time point T. n-1 The bandwidth allocated by the dynamic bandwidth allocation operation is applied at time point T. nThe uplink frame transmission performed, and the next bandwidth of the transmission container 110, refer to the processor 102 at time point T. n The bandwidth allocated by the dynamic bandwidth allocation operation is applied at time point T. n+1 The uplink frame transmission performed.
[0023] In this embodiment, the dynamic bandwidth allocation performed by the processor 102 adopts the dynamic bandwidth allocation method combining traffic monitoring and status reporting disclosed in this invention. Figure 2 This is a diagram illustrating the effective data percentage information provided for traffic monitoring. In traffic monitoring mode, the fiber optic line terminal 100 (especially the processor 102 of the fiber optic line terminal 100) monitors the current bandwidth usage allocated to each transmission container in real time, such as... Figure 2 The transmission container (tcont) is currently allocated W bytes of bandwidth. Assuming the amount of valid data is V bytes, the idle bandwidth in the transmission container is (WV) bytes. At this point, the percentage of valid data is... . Figure 3 This diagram illustrates the Dynamic Bandwidth Reporting Unit (DBRU) value provided for status reporting. In status reporting mode, the fiber optic network unit 112 utilizes microtime slots to report the status of data to be transmitted temporarily stored in its buffer 302 to the fiber optic line terminal 100 in the format of a Dynamic Bandwidth Reporting Unit (labeled "DBRU"). For example, the buffer 302 can be located in dynamic random access memory (DRAM) and can be based on a fixed storage block size. The buffer 302 is divided into multiple storage blocks (size). Therefore, the number of storage blocks storing the data to be transmitted in the buffer 302 can be converted into a dynamic bandwidth reporting unit value (i.e., the value reported by the dynamic bandwidth reporting unit) and transmitted to the fiber optic line terminal 100 through uplink frames. In other words, the fiber optic line terminal 100 (especially the processor 102 of the fiber optic line terminal 100) can know the uplink bandwidth requirement of the fiber optic network unit 112 in real time through the dynamic bandwidth reporting unit value. Although the status reporting method has high real-time performance, the fiber optic network unit 112 may report incorrect dynamic bandwidth reporting unit values. Therefore, in addition to the information provided by the status reporting, the dynamic bandwidth allocation method disclosed in this invention will also refer to the information provided by traffic monitoring (e.g., effective data percentage) to determine the bandwidth allocated to each transmission container.
[0024] Figure 4 This is a flowchart illustrating a dynamic bandwidth allocation method according to an embodiment of the present invention. The dynamic bandwidth allocation method can be derived from... Figure 1 The processor 102 shown is used to execute the procedure. However, if roughly the same result can be obtained, the steps do not necessarily need to be followed exactly. Figure 4 The processor 102 executes the operation in the order shown. When the processor 102 performs dynamic bandwidth allocation, it processes the bandwidth calculation for each transmission container (tcont) sequentially. In step S402, the processor 102 determines whether the current dynamic bandwidth reporting unit value of the transmission container is zero and whether the current effective data percentage of the transmission container is lower than the threshold TH1 (e.g., TH1 = 1 / 3). When the current dynamic bandwidth reporting unit value of the transmission container is zero (dbru == 0) and the current effective data percentage of the transmission container is lower than the threshold TH1 (e.g., TH1 = 1 / 3), it indicates that the transmission container is no longer in a flow state. Therefore, the processor 102 releases its bandwidth and retains only the minimum bandwidth. In other words, the processor 102 allocates the minimum bandwidth to the transmission container as the next bandwidth for the transmission container (step S404). Note that the value (in bytes) of the minimum bandwidth can be determined according to design requirements.
[0025] When the current dynamic bandwidth reporting unit value of the transmission container is not zero and / or the current effective data percentage of the transmission container is not lower than the threshold TH1 (e.g., TH1 = 1 / 3), it indicates that the transmission container is still in a flow state. Therefore, the dynamic bandwidth allocation process will proceed to step S406. In step S406, the processor 102 will determine whether the bandwidth allocation process of the transmission container has reached a peak and a trough. A peak refers to a turning point (i.e., bandwidth decrease) after the transmission container has continuously allocated gradually increasing bandwidth, and a trough refers to a turning point (i.e., bandwidth increase) after the transmission container has continuously allocated gradually decreasing bandwidth. Before the bandwidth allocation process of the transmission container reaches a peak and a trough, the processor 102 will calculate the next bandwidth of the transmission container according to the following formulas (1) and (2) (step S408):
[0026] diff = new_dbru_value - old_dbru_value(1)
[0027] next_alloc_band = pre_alloc_band + DBRU_BLOCK_SIZE*diff(2)
[0028] In formula (1), new_dbru_value is the current dynamic bandwidth reporting unit value (i.e., the dynamic bandwidth reporting unit value reported in the uplink frame transmitted through the transmission container with a bandwidth of pre_alloc_band), old_dbru_value is the previous dynamic bandwidth reporting unit value (i.e., old_dbru_value and new_dbru_value are the dynamic bandwidth reporting unit values reported sequentially by the same fiber network unit), and diff is the difference between the current dynamic bandwidth reporting unit value and the previous dynamic bandwidth reporting unit value.
[0029] In Equation (2), pre_alloc_band is the current bandwidth allocated to the transmission container (i.e., the value obtained from the previous bandwidth calculation), next_alloc_band is the bandwidth calculation result obtained in this bandwidth calculation, which is used as the next bandwidth allocated to the transmission container, and DBRU_BLOCK_SIZE is a variable parameter (e.g., the default value is 48). In Equation (2), DBRU_BLOCK_SIZE*diff can be regarded as the adjustment amount applied to pre_alloc_band.
[0030] As can be seen from formulas (1) and (2), when the allocated bandwidth exceeds the actual demand, new_dbru_value will be less than old_dbru_value. At this time, since the difference diff will be less than 0, next_alloc_band will be less than pre_alloc_band, which can be used to detect the formation of peaks. When the allocated bandwidth is less than the actual demand, new_dbru_value will be greater than old_dbru_value. At this time, since the difference diff will be greater than 0, next_alloc_band will be greater than pre_alloc_band, which can be used to detect the formation of troughs.
[0031] After peaks and troughs appear in the bandwidth allocation process of the transmission container, the dynamic bandwidth allocation method of this invention will try to allocate bandwidth between these two points in subsequent allocations. Furthermore, when the calculated bandwidth approaches a peak, the dynamic bandwidth allocation method can slow down the rate of bandwidth increase; and when the calculated bandwidth approaches a trough, the dynamic bandwidth allocation method can slow down the rate of bandwidth decrease. Additionally, after peaks and troughs are formed, new peaks and troughs will continue to form. When the difference between a peak and a trough is no greater than a threshold TH2 (e.g., TH2 = 1000), the dynamic bandwidth allocation method of this invention will enter a fine-tuning phase to further slow down the rate of bandwidth increase and decrease. The relevant operational details are explained below.
[0032] In step S410, processor 102 determines whether the difference between the peak and the trough is not greater than a threshold TH2 (e.g., TH2 = 1000). When the difference between the peak and the trough is greater than the threshold TH2 (e.g., TH2 = 1000), processor 102 executes step S414. In step S414, when the bandwidth calculated by formula (2) is not yet close to the peak / trough, processor 103 uses the bandwidth calculated by formula (2) to determine the next bandwidth of the transmission container. However, when the bandwidth calculated by formula (2) is close to the peak / trough, processor 102 calculates the next bandwidth of the transmission container according to the following formula (3):
[0033] next_alloc_band=pre_alloc_band+(DBRU_BLOCK_SIZE*diff) / X (X>1) (3)
[0034] The relevant operations when the bandwidth calculated by formula (2) approximates the peak / trough can be represented by the following pseudocode, where peak is the peak value, trough is the trough value, and M > N > Q (e.g., M=5, N=4, Q=3):
[0035] if (diff < 0)
[0036] if (next_alloc_band < (peak+trough)*(Q / M))
[0037] next_alloc_band=pre_alloc_band+(DBRU_BLOCK_SIZE*diff) / X (X>1)
[0038] if (diff > 0)
[0039] if (next_alloc_band > (peak+trough)*(N / M))
[0040] next_alloc_band = pre_alloc_band + (DBRU_BLOCK_SIZE*diff) / X (X>1)
[0041] If the bandwidth next_alloc_band calculated by formula (2) does not approach the trough (i.e., diff < 0 and next_alloc_band >= (peak+trough)*(Q / M)), then step S414 will output the bandwidth next_alloc_band calculated by formula (2) as the bandwidth calculation result obtained in this bandwidth calculation, which will be used as the next bandwidth allocated to the transmission container. The adjustment amount applied to pre_alloc_band by formula (2) is DBRU_BLOCK_SIZE*diff. Similarly, if the bandwidth next_alloc_band calculated by formula (2) does not approach the peak (i.e., diff > 0 and next_alloc_band <= (peak+trough)*(Q / M)), then step S414 will output the bandwidth next_alloc_band calculated by formula (2) as the bandwidth calculation result obtained in this bandwidth calculation, which will be used as the next bandwidth allocated to the transmission container.
[0042] However, if the bandwidth next_alloc_band calculated by formula (2) approaches the trough (i.e., diff < 0 and next_alloc_band < (peak+trough)*(Q / M)), then step S414 will output the bandwidth next_alloc_band calculated by formula (3) as the bandwidth calculation result obtained in this bandwidth calculation, which will be used as the next bandwidth allocated to the transmission container. The adjustment amount DBRU_BLOCK_SIZE*diff / X (X>1) applied to pre_alloc_band by formula (3) will be less than the adjustment amount DBRU_BLOCK_SIZE*diff applied to pre_alloc_band by formula (2). Similarly, if the bandwidth next_alloc_band calculated by formula (2) approaches the peak (i.e., diff > 0 and next_alloc_band > (peak + trough) * (Q / M)), then step S414 will output the bandwidth next_alloc_band calculated by formula (3) as the bandwidth calculation result obtained in this bandwidth calculation, which will be used as the next bandwidth allocated to the transmission container. The adjustment amount DBRU_BLOCK_SIZE * diff / X (X > 1) applied to pre_alloc_band by formula (3) will be less than the adjustment amount DBRU_BLOCK_SIZE * diff applied to pre_alloc_band by formula (2).
[0043] When step S410 determines that the difference between the peak and the trough is not greater than the threshold TH2 (e.g., TH2 = 1000), processor 102 executes step S412. In step S412, processor 102 calculates the next bandwidth of the transmission container according to the following formula (4):
[0044] next_alloc_band=pre_alloc_band+(DBRU_BLOCK*diff) / Y (Y>X>1) (4)
[0045] During the fine-tuning phase (step S412), the adjustment amount DBRU_BLOCK_SIZE*diff is divided by a larger parameter Y (Y > X) to further reduce the rate of bandwidth change, after which new peaks or troughs will continue to form. Specifically, the adjustment amount DBRU_BLOCK_SIZE*diff / Y (Y>X>1) applied to pre_alloc_band by formula (4) will be less than the adjustment amount DBRU_BLOCK_SIZE*diff / X applied to pre_alloc_band by formula (3), and of course, it will also be less than the adjustment amount DBRU_BLOCK_SIZE*diff applied to pre_alloc_band by formula (2).
[0046] The above dynamic bandwidth allocation operation causes the bandwidth to change in a wave-like manner as new peaks and troughs are continuously formed, and adopts a form of large jumps and small fine adjustments. Therefore, before the peak / trough is formed, the bandwidth is increased or decreased significantly, and after a stable peak-trough interval is formed, the amplitude of the bandwidth change is gradually reduced. However, when the bandwidth calculation is in a special state, in order to ensure that the final allocated bandwidth is stable at a certain value, the processor 102 can also determine whether the difference diff is less than the threshold TH3, and when the difference diff is less than the threshold TH3 (that is, when the difference diff is very small), the difference diff is directly used as the adjustment amount, as shown in the following formula (5):
[0047] next_alloc_band = pre_alloc_band + diff(5)
[0048] For example, when the difference diff is very small, formula (5) can be used to replace formulas (3) and (4), however, the present invention is not limited thereto.
[0049] Additionally, if the dynamic bandwidth reporting unit value remains unchanged (i.e., diff=0), the processor 102 may further check whether the current dynamic bandwidth reporting unit value is less than the threshold TH4. When the difference diff is zero and the current dynamic bandwidth reporting unit value is less than the threshold TH4, the processor 102 will determine that the bandwidth needs to be reduced. Therefore, the current bandwidth pre_alloc_band can be multiplied by a parameter (e.g., S / 100, where S < 100) to produce a product as the bandwidth calculation result obtained in this bandwidth calculation, which will be used as the next bandwidth allocated to the transmission container, as shown in the following formula (6):
[0050] next_alloc_band = pre_alloc_band*(S / 100) (S<100)(6)
[0051] When the difference diff is zero and the current dynamic bandwidth reporting unit value is not less than the threshold TH4, the processor 102 will determine that the bandwidth needs to be increased. Therefore, the current bandwidth pre_alloc_band can be multiplied by another parameter (e.g., T / 100, where T > 100) to produce a product as the bandwidth calculation result obtained in this bandwidth calculation, which will be used as the next bandwidth allocated to the transmission container, as shown in the following formula (7):
[0052] next_alloc_band = pre_alloc_band*(T / 100) (T>100)(7)
[0053] Furthermore, if bandwidth contention is involved among multiple transmission containers, the processor 102 needs to check whether other transmission containers are in a state of bandwidth shortage before allocating the calculated bandwidth each time (step S416). For example, if the information provided by traffic monitoring indicates that the effective data ratio is 100% and the value of the dynamic bandwidth reporting unit provided by the status reporting exceeds the threshold TH5, then this transmission container can be regarded as a transmission container with bandwidth shortage. When there is no transmission container with bandwidth shortage, the next_alloc_band calculated by one of the formulas (2) to (7) can be used as the bandwidth calculation result obtained in this bandwidth calculation, and used as the next bandwidth allocated to the transmission container. However, when there is a transmission container with limited bandwidth, the processor 102 will further determine whether the next_alloc_band calculated by one of the formulas (2) to (7) is greater than the relative average bandwidth average_band of the transmission container. If the next_alloc_band is greater than the average_band, the average_band will be used to replace the next_alloc_band calculated by one of the formulas (2) to (7) as the next bandwidth allocated to the transmission container (steps S418 and S420), as shown in the following virtual code:
[0054] if (next_alloc_band > average_band)
[0055] next_alloc_band = average_band
[0056] average_band is the relative average bandwidth of each transmission container, which can be obtained by the following formula (8):
[0057] average_band(i) = (max_band(i) / ) * total_band (8)
[0058] In Equation (8), max_band(i) is the maximum bandwidth configured for the i-th transmission container (e.g., the bandwidth value calculated by the previous dynamic bandwidth allocation operation). This is the sum of the maximum bandwidths of (n+1) transmission containers (e.g., the sum of the bandwidth values calculated by (n+1) transmission containers in the previous dynamic bandwidth allocation operation), and total_band is the total bandwidth that the fiber optic line terminal can currently allocate. Furthermore, after each bandwidth allocation, this bandwidth needs to be subtracted from the total bandwidth, and other transmission containers that have not yet been allocated bandwidth will compete for the remaining bandwidth. For example, whenever a transmission container completes its bandwidth calculation, the bandwidth in formula (8)... (That is, the sum of the maximum bandwidths of the transmission containers that have not yet completed bandwidth calculation) will be updated accordingly so as to calculate the relative average bandwidth average_band of the next transmission container for use in step S418. However, this is only an example and is not intended to limit the invention.
[0059] In step S422, the processor 102 will determine whether all transmission containers have completed bandwidth calculation. If there are still transmission containers that have not completed bandwidth calculation, the process will execute step S423 to continue to calculate the bandwidth for the next transmission container.
[0060] When processor 102 determines that bandwidth calculations have been completed for all transmission containers, the process will perform final cleanup operations, allowing for adjustments to the bandwidth allocation results for some transmission containers (especially those with bandwidth shortages). In step S424, processor 102 determines whether the available uplink bandwidth of fiber optic line terminal 100 still has available bandwidth after bandwidth calculations for all transmission containers. If the available uplink bandwidth of fiber optic line terminal 100 still has available bandwidth after bandwidth calculations for all transmission containers, processor 102 will determine in step S426 whether there is at least one transmission container with bandwidth shortages. If there is at least one transmission container with bandwidth shortages, processor 102 will distribute the remaining bandwidth equally among these at least one transmission container in step S428 to further increase the bandwidth allocated to the transmission container with bandwidth shortages.
[0061] In summary, this invention proposes a dynamic bandwidth allocation method that combines status reporting and traffic monitoring. Its advantages are: it prioritizes status reporting, thus meeting real-time requirements; it also incorporates traffic monitoring information, thereby reducing the impact of bandwidth demand distortion caused by reporting erroneous dynamic bandwidth reporting unit values; it follows the characteristics of traffic jitter, reducing the amplitude of bandwidth jitter and accelerating the convergence time of bandwidth allocation; and it satisfies the bandwidth contention needs of multiple transmission containers, ensuring bandwidth allocation is adjusted according to the actual demand ratio, allowing for adjustments where necessary.
[0062] The above description is only a preferred embodiment of the present invention. All equivalent changes and modifications made in accordance with the claims of the present invention shall be within the scope of the present invention.
Claims
1. A dynamic bandwidth allocation method, comprising: Within the available uplink bandwidth of the fiber optic line terminal, receive uplink frames transmitted in a time-division multiplexing manner through multiple currently allocated bandwidths in multiple transmission containers; and Based on the current dynamic bandwidth reporting unit values corresponding to the multiple transmission containers and the current effective data percentages, the next bandwidth to be allocated to the multiple transmission containers is determined.
2. The dynamic bandwidth allocation method as described in claim 1, wherein the step of determining the next bandwidth to be allocated to the multiple transmission containers based on the multiple current dynamic bandwidth reporting unit values corresponding to the multiple transmission containers and the multiple current effective data percentages includes: For each of these multiple transport containers: Determine if the current dynamic bandwidth reporting unit value of the transmission container is zero; Determine whether the current percentage of valid data in the transmission container is below a threshold; and When the current dynamic bandwidth reporting unit value of the transmission container is zero and the current effective data percentage of the transmission container is lower than the threshold, the minimum bandwidth is allocated to the transmission container as the next bandwidth for the transmission container.
3. The dynamic bandwidth allocation method as described in claim 1, wherein the step of determining the next bandwidth to be allocated to the multiple transmission containers based on the values of the multiple current dynamic bandwidth reporting units corresponding to the multiple transmission containers and the percentage of the multiple current valid data includes: For each of these multiple transport containers: Calculate the difference between the current dynamic bandwidth reporting unit value and the previous dynamic bandwidth reporting unit value for the transmission container; The bandwidth calculation result is obtained at least based on the current bandwidth allocated to the transmission container and the difference; and The next bandwidth for the transmission container should be determined based on at least the bandwidth calculation result.
4. The dynamic bandwidth allocation method as described in claim 3, wherein the step of obtaining the bandwidth calculation result based at least on the current bandwidth allocated to the transmission container and the difference includes: The adjustment amount is calculated based on this difference; and The bandwidth calculation result is obtained based on the current bandwidth and the adjustment amount.
5. The dynamic bandwidth allocation method as described in claim 4, wherein the step of calculating the adjustment amount based on the difference comprises: Determine whether the bandwidth allocation process of the transmission container exhibits peaks and troughs; and Before the peak and trough occur during the bandwidth allocation process of the transmission container, the difference is multiplied by a first parameter to produce a first product as the adjustment amount.
6. The dynamic bandwidth allocation method as described in claim 5, wherein the step of calculating the adjustment amount based on the difference further comprises: After the peak and trough occur during the bandwidth allocation process of the transmission container, the difference is multiplied by a second parameter to produce a second product as the adjustment amount, wherein the second parameter is less than the first parameter.
7. The dynamic bandwidth allocation method of claim 6, wherein the difference is less than zero, and the step of multiplying the difference by the second parameter to generate the second product as the adjustment amount comprises: Determine whether the bandwidth calculated based on the current bandwidth and the first product is less than the threshold between the peak and the trough; and When the bandwidth calculated based on the current bandwidth and the first product is less than the threshold between the peak and the trough, the difference is multiplied by the second parameter to generate the second product as the adjustment amount.
8. The dynamic bandwidth allocation method of claim 6, wherein the difference is greater than zero, and the step of multiplying the difference by the second parameter to generate the second product as the adjustment amount comprises: Determine whether the bandwidth calculated based on the current bandwidth and the first product is greater than the threshold between the peak and the trough; and When the bandwidth calculated based on the current bandwidth and the first product is greater than the threshold between the peak and the trough, the difference is multiplied by the second parameter to generate the second product as the adjustment amount.
9. The dynamic bandwidth allocation method of claim 6, wherein the step of multiplying the difference by the second parameter to generate the second product as the adjustment amount comprises: Determine whether the difference between the peak and the trough is greater than a threshold. When the difference between the peak and the trough is greater than the threshold, the first value is used to set the second parameter; as well as When the difference between the peak and the trough is not greater than the threshold, the second value is used to set the second parameter, wherein the second value is less than the first value.
10. The dynamic bandwidth allocation method as described in claim 4, wherein the step of calculating the adjustment amount based on the difference comprises: Determine whether the difference is less than the threshold; and When the difference is less than the threshold, the difference is used directly as the adjustment amount.
11. The dynamic bandwidth allocation method of claim 3, wherein the step of obtaining the bandwidth calculation result based at least on the current bandwidth allocated to the transmission container and the difference comprises: Determine if the difference is zero; Determine whether the current dynamic bandwidth reporting unit value is less than the threshold; When the difference is zero and the current dynamic bandwidth reporting unit value is less than the threshold, the current bandwidth is multiplied by a first parameter to generate a first product as the bandwidth calculation result, wherein the first parameter is less than 1; and When the difference is zero and the current dynamic bandwidth reporting unit value is not less than the threshold, the current bandwidth is multiplied by the second parameter to generate a second product as the bandwidth calculation result, wherein the second parameter is greater than 1.
12. The dynamic bandwidth allocation method of claim 3, wherein the step of determining the next bandwidth of the transmission container based at least on the bandwidth calculation result includes: Determine if at least one transmission container with limited bandwidth exists; and When there is no bandwidth-constrained transmission container, the bandwidth calculation result is used as the next bandwidth for that transmission container.
13. The dynamic bandwidth allocation method as described in claim 3, wherein the step of determining the next bandwidth of the transmission container based at least on the bandwidth calculation result includes: Determine if there is at least one transmission container with limited bandwidth; Determine whether the calculated bandwidth is greater than the relative average bandwidth of the transmission container; and When there is a bandwidth shortage in at least one transmission container and the calculated bandwidth is greater than the relative average bandwidth of the transmission container, the relative average bandwidth is used as the next bandwidth of the transmission container.
14. The dynamic bandwidth allocation method as described in claim 3, wherein the step of determining the plurality of next bandwidths to be allocated to the plurality of transmission containers based on the plurality of current dynamic bandwidth reporting unit values corresponding to the plurality of transmission containers and the plurality of current effective data percentages further comprises: Determine whether the available uplink bandwidth still has remaining bandwidth available for allocation after the calculation of the next bandwidth for the multiple transmission containers is completed; Determine whether at least one of the multiple transmission containers has a bandwidth shortage; and If the available uplink bandwidth still has remaining bandwidth available for allocation after the calculation of the next bandwidth of the plurality of transmission containers is completed, and there is at least one transmission container with bandwidth shortage among the plurality of transmission containers, the remaining bandwidth is equally distributed to the at least one transmission container.
15. A fiber optic line terminal, comprising: A receiving circuit, configured to receive, within the available uplink bandwidth of the fiber optic line terminal, uplink frames transmitted in a time-division multiplexing manner through multiple currently allocated bandwidths of multiple transmission containers; and A processor is used to perform dynamic bandwidth allocation, wherein the processor determines the next bandwidth to be allocated to the multiple transmission containers based on the values of multiple current dynamic bandwidth reporting units corresponding to the multiple transmission containers and the percentage of multiple current valid data.
16. The fiber optic line terminal of claim 15, wherein for each of the plurality of transmission containers, the processor determines whether the current dynamic bandwidth reporting unit value of the transmission container is zero; determines whether the current effective data percentage of the transmission container is lower than a threshold; and when the current dynamic bandwidth reporting unit value of the transmission container is zero and the current effective data percentage of the transmission container is lower than the threshold, allocates the minimum bandwidth to the transmission container as the next bandwidth for the transmission container.
17. The fiber optic line terminal of claim 15, wherein for each of the plurality of transmission containers, the processor calculates the difference between the current dynamic bandwidth reporting unit value of the transmission container and the previous dynamic bandwidth reporting unit value; obtains a bandwidth calculation result based at least on the current bandwidth allocated to the transmission container and the difference; and determines the next bandwidth of the transmission container based at least on the bandwidth calculation result.
18. The fiber optic line terminal of claim 17, wherein the processor calculates the adjustment amount based on the difference and obtains the bandwidth calculation result based on the current bandwidth and the adjustment amount.
19. The fiber optic line terminal of claim 17, wherein the processor determines whether the difference is zero; determines whether the current dynamic bandwidth reporting unit value is less than a threshold; when the difference is zero and the current dynamic bandwidth reporting unit value is less than the threshold, multiplies the current bandwidth by a first parameter to generate a first product as the bandwidth calculation result, wherein the first parameter is less than 1; and when the difference is zero and the current dynamic bandwidth reporting unit value is not less than the threshold, multiplies the current bandwidth by a second parameter to generate a second product as the bandwidth calculation result, wherein the second parameter is greater than 1.
20. The fiber optic line terminal of claim 17, wherein the processor determines whether the available uplink bandwidth still has available bandwidth after the calculation of the plurality of next bandwidths of the plurality of transmission containers is completed; determines whether there is at least one transmission container with bandwidth shortage among the plurality of transmission containers; and when the available uplink bandwidth still has available bandwidth after the calculation of the plurality of next bandwidths of the plurality of transmission containers is completed and there is at least one transmission container with bandwidth shortage among the plurality of transmission containers, the processor equally distributes the remaining bandwidth to the at least one transmission container.