Apparatus and method for allocating bandwidth - Patents.com
The system dynamically adjusts scheduler and bandwidth parameters to ensure fair data distribution in communication networks, optimizing download times for heavy users and maintaining service quality for others by anticipating and adapting to potential congestion.
Patent Information
- Application Number
- JP2024066586
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-04-18
- Filing Date
- 2024-04-17
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2044-04-17
AI Technical Summary
Existing bandwidth allocation methods in communication networks fail to ensure fair distribution of data volume while avoiding penalizing heavy users, particularly in scenarios with unusually high demands or abusive users, leading to unfairness among network participants.
A system that dynamically adjusts scheduler parameters and maximum bandwidth parameters based on historical utilization and contention indications, providing reduced scheduler weights and increased maximum bandwidth for users meeting bursty capacity consumption conditions, ensuring fair allocation without penalizing heavy users.
Guarantees fair bandwidth distribution by optimizing download times for heavy users and maintaining service quality for others, while anticipating and adapting to potential congestion, ensuring long-term fairness and efficient resource utilization.
Smart Images

Figure 0007753430000001 
Figure 0007753430000002 
Figure 0007753430000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to bandwidth allocation in communication networks, and in particular to determining scheduler parameters and / or maximum bandwidth parameters. [Background technology]
[0002] Sharing bandwidth among multiple clients in a communication network is typically handled by a Weighted Fair Queue (WFQ) scheduler component. In this sharing scheme, each client is given a weight. Each receives a portion of the total bandwidth proportional to their weight. By design, if any client is inactive or does not request its entitled portion of the bandwidth, this "free" or spare bandwidth is automatically distributed among the active clients in proportion to their weights. In the worst case, the minimum bandwidth each client receives is equal to the total bandwidth multiplied by the ratio of that client's weight to the sum of all clients' weights. In the best case, if there is only one client active at a given time, that client gets the entire bandwidth.
[0003] However, in the case of one or more users with unusually high demands or potentially abusive users, these mechanisms tend to discriminate against other users. Such situations can arise, for example, when a residential subscriber hosts an unusual service that creates very high bandwidth demands, such as in the case of a P2P storage network, when users download large amounts of data such as games, or when a company explicitly abuses residential subscriptions to offer commercial services.
[0004] EP 4030708 A1 discloses a method and apparatus for allocating bandwidth in a communications network. Scheduler weights and shaper rates function to allocate bandwidth to network participants based on the participants' historical bandwidth usage and indications of network contention. The system allocates bandwidth to participants by reducing their respective scheduler weights and / or shaper rates, effectively reducing the rates or weights attributed to heavy users in the event of sustained high consumption, thereby slowing down the heavy users' data consumption. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] European Patent Application Publication No. 4030708 Summary of the Invention [Problem to be solved by the invention]
[0006] Aspects of the present disclosure aim to better address the problem of ensuring a fair distribution of data volume while avoiding penalizing or even speeding up downloads that may be performed by heavy users. [Means for solving the problem]
[0007] According to the first aspect: Obtaining indications of contention in a communications network; obtaining historical bandwidth utilization indication parameters for each participant in the communications network; and in response to determining, based on the contention indication and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, providing at an output of the device a reduced value of the scheduler parameter and an increased value of the maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter; An apparatus is provided that includes means for:
[0008] Such an embodiment advantageously guarantees the heavy user the maximum level of bandwidth without increasing his download times, and especially in the case of speed tests, the bandwidth expected by all other users.
[0009] According to embodiments, such a device may include one or more of the following features:
[0010] In one embodiment, the means comprises: Responsive to determining, based on the historical bandwidth utilization indications, that the participant has ceased to meet the bursty capacity consumption condition, restoring the scheduler parameter to a pre-configured value of the scheduler parameter and / or restoring the maximum bandwidth parameter to a pre-configured value of the maximum bandwidth parameter. It is further configured as follows.
[0011] In one embodiment, the means comprises: Responsive to determining that contention in the communications network has ceased, restoring the scheduler parameters to preconfigured values of the scheduler parameters and / or restoring the maximum bandwidth parameters to preconfigured values of the maximum bandwidth parameters. It is further configured as follows.
[0012] Such a feature advantageously ensures that configuration changes applied to heavy users are not permanent and do not affect the heavy user's service experience when normal data consumption is restored.
[0013] In one embodiment, the means is further configured to predict a risk of contention based on a history of average data rates of the communication network; and to provide an indication of contention in response to determining that the predicted risk of contention exceeds a defined threshold.
[0014] Such features allow for anticipation of contention levels, ensuring faster response and adaptation.
[0015] In one embodiment, the means is further configured to implement a machine learning algorithm for predicting risk of contention based on measurements of average data rates in the communication network.
[0016] In a further embodiment, the means comprises: Obtain historical bandwidth utilization indications over multiple rolling time windows; determining that a participant meets the bursty capacity consumption condition if the amount of data consumed by the participant during at least one of the rolling time windows exceeds the baseline data amount; It is further configured for:
[0017] In one embodiment, the means is configured to test whether a participant satisfies a bursty capacity consumption condition in response to an indication of contention.
[0018] In one embodiment, the communication network is a passive optical network.
[0019] In one embodiment, the scheduler parameters and maximum bandwidth parameters relate to allocating downstream bandwidth to participants.
[0020] In one embodiment of the apparatus, the scheduler parameters indicate weights allocated to participants in the communication network for use in a weighted fair queue scheduler.
[0021] In one embodiment, the weighted fair queue scheduler is located at a network line termination of a passive optical network.
[0022] In one embodiment, the maximum bandwidth parameter is a shaper parameter for use in a traffic shaper.
[0023] In one embodiment, the traffic shaper is located in one of a network line termination of the passive optical network and a broadband network gateway connected to the network line termination.
[0024] In one embodiment, the scheduler parameters and maximum bandwidth parameters relate to allocating upstream bandwidth to participants.
[0025] In one embodiment, the scheduler parameters and maximum bandwidth parameters are for use in a dynamic bandwidth allocation module, hi one embodiment, the dynamic bandwidth allocation module is located at a network line termination of a passive optical network.
[0026] In some embodiments, participants in a communications network are subscribers of a network operator.
[0027] In some embodiments, the participants in the communications network are virtual network operators or subscribers of a virtual network operator.
[0028] In one embodiment, the means comprises at least one processor; and at least one memory containing computer program code, the at least one memory and the computer program code configured to cause, using the at least one processor, performance of the apparatus.
[0029] According to the second aspect: Obtaining indications of contention in a communications network; obtaining historical bandwidth utilization indication parameters for each participant in the communications network; and in response to determining, based on the contention indication and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, providing a reduced value of a scheduler parameter and an increased value of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter. A method is provided which includes:
[0030] In one embodiment, the steps of the computer-implemented method are repeated as follows: - Obtaining indications of contention in the communications network; - obtaining historical bandwidth utilization indication parameters of each participant of the communication network; - in response to determining, based on the contention indication and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, providing a reduced value of a scheduler parameter and an increased value of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter.
[0031] According to a third aspect, the device comprises at least: Obtaining indications of contention in a communications network; obtaining historical bandwidth utilization indication parameters for each participant in the communications network; and in response to determining, based on the contention indication and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, providing a reduced value of a scheduler parameter and an increased value of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter. A computer program is provided that includes instructions for causing the computer to:
[0032] In an exemplary embodiment, the non-transitory computer readable medium may be configured to cause an apparatus to at least: Obtaining indications of contention in a communications network; obtaining historical bandwidth utilization indication parameters for each participant in the communications network; and in response to determining, based on the contention indication and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, providing a reduced value of a scheduler parameter and an increased value of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter. The program instructions include instructions for causing the
[0033] According to a fourth aspect, an apparatus comprises at least one processor and at least one memory containing computer program code, the at least one memory and the computer program code configured to cause, using the at least one processor, performance of the apparatus.
[0034] According to one embodiment: a first acquiring circuit configured to acquire an indication of contention in the communications network; a second obtaining circuit configured to obtain historical bandwidth utilization indication parameters of each participant in the communications network; a circuit configured to provide, in response to determining that a participant is meeting a bursty capacity consumption condition based on the contention indication and the historical bandwidth utilization indication, a reduced value of a scheduler parameter and an increased value of a maximum bandwidth parameter to an output of the device, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter; An apparatus is provided comprising:
[0035] In one embodiment, the provided circuitry is configured for restoring the scheduler parameters to pre-configured values of the scheduler parameters and / or restoring the maximum bandwidth parameters to pre-configured values of the maximum bandwidth parameters in response to determining, based on the historical bandwidth utilization indications, that the participant has stopped meeting the bursty capacity consumption condition.
[0036] In one embodiment, the provided circuitry is further configured to, in response to determining that contention in the communication network has stopped, restore the scheduler parameters to preconfigured values of the scheduler parameters and / or restore the maximum bandwidth parameters to preconfigured values of the maximum bandwidth parameters.
[0037] In still a further embodiment, the first obtaining circuit is further configured to predict a risk of contention based on a history of average data rates of the communication network, and to provide an indication of contention in response to determining that the predicted risk of contention exceeds a defined threshold.
[0038] In one embodiment, the first obtaining circuit is configured to implement a machine learning algorithm for predicting a risk of contention based on a measurement of an average data rate in the communication network.
[0039] In one embodiment of the present invention, the second obtaining circuit is configured to obtain historical bandwidth utilization indications over a plurality of rolling time windows; and determine that the participant meets the bursty capacity consumption condition when the amount of data consumed by the participant during at least one of the rolling time windows exceeds a reference data amount.
[0040] In one embodiment of the apparatus, the second obtaining circuit is further configured to test whether the participant meets a bursty capacity consumption condition in response to an indication of contention.
[0041] According to an exemplary embodiment, the bandwidth allocated to a network participant that meets a bursty capacity consumption condition can be dynamically adjusted according to available resources and the participant's historical behavior, optimizing his user experience by guaranteeing full capacity data volume while providing a reasonable amount of data to all other users, and allowing a second participant to simultaneously perform a successful speed test. In this way, closed-loop automation is provided and long-term fairness can be guaranteed.
[0042] For a more complete understanding of the exemplary embodiments of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: [Brief explanation of the drawings]
[0043] [Figure 1] 1 is a diagram of a portion of an example communication network in which examples of the disclosed apparatus and methods for allocating bandwidth may be applied. [Figure 2]FIG. 1 is a functional block diagram, according to one example embodiment, of a passive optical network in which examples of the disclosed apparatus and methods for allocating bandwidth may be applied. [Figure 3] 1 is a flow diagram according to an example implementation of an apparatus and method for allocating bandwidth. [Figure 4] 10 is a graph illustrating bandwidth utilization results according to an example embodiment. [Figure 5] FIG. 10 is a functional block diagram according to another example embodiment of a passive optical network in which examples of the disclosed apparatus and methods for allocating bandwidth may be applied. [Figure 6] FIG. 10 is a functional block diagram according to another example embodiment of a passive optical network in which examples of the disclosed apparatus and methods for allocating bandwidth may be applied. [Figure 7] FIG. 1 is a block diagram illustrating an apparatus that operates in accordance with an example embodiment. [Figure 8] FIG. 1 is a diagram of an example method incorporating aspects of the example embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0044] Exemplary embodiments of the present application are described in detail herein and are illustrated by way of example in the drawings. While specific embodiments are discussed herein, it should be understood that it is not intended to limit the scope of the present invention to such embodiments. To the contrary, it should be understood that the embodiments discussed herein are for illustrative purposes, and that modifications and alternative embodiments may be implemented without departing from the scope of the present invention as defined in the claims. The sequence of method steps is not limited to the particular embodiment, and method steps may be performed in other possible sequences. Similarly, specific structural and functional details disclosed herein are merely representative for the purpose of describing embodiments. However, the invention described herein may be embodied in many alternative forms and should not be construed as being limited to only the embodiments described herein.
[0045] The current state of the art describes a technique aimed at improving bandwidth allocation efficiency in communication networks, particularly in scenarios where multiple users or devices compete for limited bandwidth resources. The method involves receiving bandwidth requests from multiple users or devices and determining an overall bandwidth allocation for each user or device. Based on this information, the system allocates bandwidth resources in a manner that maximizes the overall efficiency of the network. The prior art does this by measuring the PON every five minutes. Based on this measurement, congestion risk is predicted. If there is a congestion risk, the solution detects heavy users based on measuring individual subscriber data usage every five minutes. If a heavy user is detected, his scheduler weight is proactively reduced, e.g., from 1 to 0.1. If congestion occurs during his download, the heavy user will experience a small (e.g., 0.2%) increase in download time. Thus, the current state of the art is unable to maintain sufficient data volume for all users while guaranteeing heavy users a reduction in download time.
[0046] 1 is a diagram of a portion of an exemplary communication network in which example embodiments of the disclosure may be applied. It will be apparent to those skilled in the art that communication networks typically comprise functionality and structure other than that shown in FIG.
[0047] The communication network 100 may be a fiber network, or may be a cable network, e.g., a mobile network, or any combination of both fixed and wireless networks. In general, the communication network 100 may be any shared-medium communication network.
[0048] Generally, the communication network 100 includes a network controller 110 connected via communications to a network node 120. Additionally, the communication network 100 is made up of multiple network participants 131, 132, 133 linked to the network node 120. It should be noted that although FIG. 1 shows only one network node 120, there may be more than one network node 120 in the communication network 100. The network controller 110 is designed to monitor the bandwidth usage of the network participants 131, 132, 133, giving the network operator managing the communication network 100 visibility and control over the network participants.
[0049] 1, a weighted fair queue scheduler and traffic shaper may be implemented in the network node 120 in association with the plurality of network participants 131, 132, 133 to regulate the bandwidth allocated to each of the plurality of network participants 131, 132, 133. These weighted fair queue schedulers and traffic shapers are discussed further.
[0050] The example of communication network 100 may represent a traditional access network, where a single network operator owns the access network nodes 120, whereby a network controller 110 provides monitoring and management of all network participants 131, 132, 133 connected to the access network nodes 120. In this embodiment, the network subscribers 131, 132, 133 of the access network 100 belong to this single network operator.
[0051] In another example embodiment, the communication network 100 may refer to a virtual access network (or network slice) operated by a VNO that purchases / rents some of the resources of the access network node 120 from an infrastructure provider (InP). In this example embodiment, the participants 131, 132, 133 of the virtual access network 100 are subscribers of the VNO.
[0052] In this mode of operation, the access network node 120 may be shared by multiple VNOs, but the network controller 110 provides visibility and control only to the VNOs for their own subscribers. From the VNO's perspective, the network controller 110 provides only a partial view of the access node 120 limited to the interfaces to which the subscribers are connected, which may also be referred to as virtual access nodes. Another exemplary embodiment of the communications network 100 includes a network of virtual access networks operated by an InP that rents or resells access node resources to one or more VNOs. In this embodiment, the network participants 131, 132, 133 of the virtual access network 100 are VNOs.
[0053] It should be understood that in this mode, the network controller 110 provides the InP with visibility and control over the network participants 131, 132, 133, i.e., VNOs, but not over the subscribers of those VNOs.
[0054] The network controller 110 is configured to communicate with the device 200 implementing the exemplary embodiments of the present application by providing input data 210, 220 to the device 200 and receiving output data 230 from the device 200.
[0055] Those skilled in the art will appreciate that although device 200 is shown in FIG. 1 as being separate from network controller 110, in another example implementation it may be implemented as part of network controller 110.
[0056] The apparatus 200 is configured to obtain an indication of contention in the communication network 100. The indication of contention may be a parameter that indicates whether the communication network 100 is in a state of contention or at risk of entering such a state of contention, for example, based on a quantitative measurement and / or prediction of the risk of contention.
[0057] Specifically, in one example implementation, the apparatus 200 may comprise means further configured to determine or predict a risk of contention as a proportion of time that bandwidth utilized by participants in the network causes contention.
[0058] More specifically, in one example, based on the actual total bandwidth utilization of all active network participants in the communication network for a given time period, e.g., 5 minutes, the risk of contention is determined as the ratio of an aggregated time interval to the given time period, during which the bandwidth utilized by multiple network participants exceeds a given threshold, e.g., 95% of the total available bandwidth.
[0059] The risk of contention is used to monitor how close the actual bandwidth utilization is to the total link capacity (or how close the link is to contention). In other words, the risk of contention is used to monitor the remaining available bandwidth that the WFQ scheduler can still distribute to any participants in the network that make extra demands (e.g., running speed tests). For gaming applications or other variable bandwidth type applications, it is advantageous to monitor this remaining capacity over short periods of time, typically on the order of user-perceived magnitude (seconds). Depending on the desired loop reaction time, the risk of contention can be expressed as a percentage of a larger time period (e.g., 1% contention over the last 5 minutes).
[0060] The risk of contention is advantageously determined at the network controller 110. However, since throughput is monitored at a fast pace (on the order of a few seconds) and aggregation is calculated over a longer time interval (percentage of contention over the last five minutes) to determine the risk of contention, if it is not possible to stream throughput measurements from the access network nodes 120 to the network controller 110 fast enough, the risk of contention may also be determined at the access network nodes 120 themselves. In this case, only the aggregated contention level is streamed to the network controller 110.
[0061] The apparatus 200 is further configured to obtain historical bandwidth utilization indication parameters of each participant 131 , 132 , 133 of the communication network 100 .
[0062] Specifically, in one exemplary implementation, the apparatus 200 may comprise means further configured to obtain historical bandwidth utilization indications over at least one time window, and advantageously over multiple time windows, as indicative of the historical bandwidth consumption of each of the participants 131, 132, 133 of the communication network 100. For example, the network controller 110 or the access network node 120 may determine, for each participant of the network, the actual bandwidth utilization over the last 5 minutes, the last 15 minutes, the last hour, the last 4 hours, the last day, the last week, the last month, etc.
[0063] The apparatus 200 is further configured to determine, at least when contention exists in the communication network 100, whether the or each participant meets a bursty capacity consumption condition based on the historical bandwidth utilization indications.
[0064] The apparatus 200 is further configured to provide a reduced value of the scheduler parameter and an increased value of the maximum bandwidth parameter to an output of the apparatus 200, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to participants meeting the bursty capacity consumption condition.
[0065] An advantage provided by the exemplary embodiments is that the bandwidth allocated to participants meeting bursty capacity consumption conditions can be adjusted to guarantee adequate bandwidth to other network participants without penalizing participants meeting bursty capacity consumption, i.e., optimizing download times.
[0066] In an advantageous embodiment, apparatus 200 is further configured to repeat obtaining an indication of contention; obtaining a historical bandwidth utilization indication parameter; and determining whether the or each participant meets the bursty capacity consumption condition. The predetermined time interval between repeating may relate to how often the indication of contention or historical bandwidth utilization is updated.
[0067] In one exemplary embodiment, the scheduler parameters indicate weights corresponding to participants in the communication network 100 for use in a weighted fair queue scheduler, and the shaper parameters indicate bandwidth limits allocated to participants in the communication network 100.
[0068] More specifically, for example, the weights can be represented either as floating-point numbers between 0 and 1, or as integers between 0 and a maximum value depending on the quantification (e.g., 255 for an 8-bit quantification). The maximum bandwidth parameter can be expressed directly as a data throughput (bps, kbps, Mbps, Gbps, etc.). In one embodiment, the maximum bandwidth parameter is a shaper parameter.
[0069] Those skilled in the art will understand that for each participant 131, 132, 133 of the communication network 100, the scheduler parameters and / or maximum bandwidth parameters may be updated periodically when the communication network 100 is in a state of contention or is at risk of entering such a state of contention, provided that the participants meet the intensive capacity consumption conditions.
[0070] FIG. 2 is a functional block diagram of a passive optical network 101 employing an apparatus 201 for bandwidth allocation, according to one example embodiment.
[0071] In a known manner, the passive optical network 101 includes an access node 320 known as an optical line termination (OLT), a plurality of terminals 104 known as Optical Network Units (ONUs) close to the end users, and an optical fiber 102 carrying multiplexed upstream and downstream traffic of the terminals 104. An optical splitter 103 splits downstream traffic from the optical fiber 102 and merges upstream traffic into the optical fiber 102.
[0072] The access node 320 comprises a WFQ scheduler 6 for allocating downstream bandwidth to the terminals 104 according to their individually assigned weights. The access node 320 also includes a traffic shaper 5 for each of the terminals 104. The traffic shaper 5 imposes a maximum downstream data rate that a given terminal 104 can consume at a given moment.
[0073] Pre-configured values of scheduler parameters, ie, weights, and shaper parameters, ie, maximum data rates allocated to each terminal 104, may be stored in a configuration file 251 stored in the network manager 250.
[0074] In the embodiment depicted in FIG. 2, the apparatus 201 includes a contention module 21 for determining whether the optical network 101 is in a state of contention or at risk of entering such a state of contention, a heavy use determination module 22 for identifying the or each participant meeting a concentrated capacity consumption condition and the rules violated by those users, and an adjustment engine 23 that incorporates the indication of contention 105 from the contention module 21 and the identification 106 of the or each heavy user (if any) from the heavy use determination module 22.
[0075] The contention module 21 obtains network-level consumption data 301 from the access node 320, e.g., the available bandwidth that the WFQ scheduler 6 can still allocate to any participant in the network 101. To that end, the access node 320 includes a measurement module 325. Network-level consumption may be measured every five minutes. The contention module 21 issues an indication of contention 105 in response to determining that the network is in a state of or at risk of contention. In one embodiment, the indication of contention 105 is issued when it is determined that the risk of contention exceeds a given threshold, e.g., 80%.
[0076] The heavy usage determination module 22 obtains historical bandwidth utilization data 302 for each individual network participant from the access node 320. For example, the historical bandwidth utilization data 302 may include measurements of the individual network participant's data usage every five minutes. To that end, the access node 320 includes a measurement module 326 for each user.
[0077] The historical bandwidth utilization data 302 may be measured using a sliding window, with each measurement signal being based on a different sliding window. Such a measurement signal is composed of the amount of data consumed by a participant during a given sliding window, which is determined by a sliding window integrator. By considering the history of subscriber data rates, the heavy usage determination module 22 can ensure fairness among participants over longer periods of time.
[0078] The heavy usage determination module 22 tests the bursty consumption condition for each terminal 104. For example, the bursty capacity consumption condition may be defined as follows: each measurement signal is compared to a certain reference data amount. If the amount of data consumed during the sliding window exceeds the reference data amount, the participant is considered to meet the bursty capacity consumption condition.
[0079] 2 processes the indication of contention 105 and the results provided by the heavy use determination module 22. The adjustment engine 23 then provides reduced scheduler parameters 304 to the WFQ scheduler 6 and increased shaper parameters 303 to the shaper filter 5 for each participant that meets the bursty capacity consumption condition while the network is subject to contention. A participant's reduced scheduler parameters 304 and increased shaper parameters 303 may be defined by configuration data also present in the configuration file 251. A participant's reduced scheduler parameters 304 and increased shaper parameters 303 may be defined as absolute parameter values or as increments.
[0080] In other words, the adjustment engine 23 reduces the weight of the WFQ scheduler and increases the shape limit of a participant meeting a bursty capacity consumption when the network is at risk of being congested. This avoids penalizing a user meeting a bursty capacity consumption by over-limiting the bandwidth allocated to him, while ensuring that other participants are still provided with reasonable bandwidth.
[0081] In one example implementation, network level consumption data 301 and historical bandwidth utilization data 302 may be obtained by device 201 and stored in the memory of device 201, also known as a data lake. Coordination engine 23 may be implemented as a virtual network function (VNF), which is software implemented in the network controller, and reads data from the data lake and pushes new configuration parameters (scheduler parameters and shaper parameters) directly back to the corresponding WFQ schedulers 6 and shaper filters 5.
[0082] The contention module 21 and the heavy use determination module 22 repeat the same operations after a period of time, for example, 5 minutes. When the adjustment engine 23 determines that the contention condition has stopped and / or that an identified participant has stopped meeting the conditions, it restores the scheduler and shaper parameters for that participant to their pre-configured values.
[0083] FIG. 3 is a flow diagram of one exemplary method implementation that may be performed by apparatus 200 or 201.
[0084] In the exemplary implementation shown in FIG. 3, step 8 involves reading historical network-level consumption data 7 at regular time intervals, e.g., every 5 minutes. Step 9 consists of testing whether the risk of contention exceeds a first predetermined threshold, e.g., 80%. If so, this indicates a risk of reaching a contention state. Then, in step 11, historical bandwidth utilization data 10 of all subscribers connected to the WFQ scheduler 6 is retrieved. If at least one of the subscribers meets the bursty capacity consumption condition tested in step 14, its updated scheduler weight and shaper rate are determined in step 16 according to predefined rules 15 that ensure that the scheduler weight is decreased while the shaper rate is increased.
[0085] Step 8 may consist of predicting contention in the next time interval based on past measurements. To react faster (reducing loop reaction time), a time series prediction module can be employed for that purpose, further reducing contention time.
[0086] Specifically, any time series forecasting algorithm can be used, including, but not limited to, classical machine learning algorithms such as moving averages (simple, weighted, exponential, etc.) and regressions (linear, autoregressive, ARIMA, and variations), as well as deep learning techniques such as artificial neural networks, convolutional neural networks (CNNs), recurrent neural networks (RNNs), long short-term memory (LSTM), temporal convolutional networks (TCNs), regression trees, and random forests.
[0087] In this example, recent network-level consumption data 70 from previous time intervals may be stored to form historical network-level consumption data 7. The prediction engine needs to be fed with the history of network-level consumption data 301 (the last n measurements) instead of the most recent measurements.
[0088] If the test in step 9 or 14 is negative, step 12 is performed to restore the scheduler and shaper parameters to their default values. That is, if contention stops in step 12, the parameters may be restored for one or all participants. If bursty capacity consumption for a given participant stops, the parameters may be restored for that participant. After waiting a time interval in step 17, the method repeats to step 8, as indicated by arrow 38.
[0089] Figure 4 illustrates possible bandwidth utilization results for an example embodiment. Example bandwidth utilization for multiple users was numerically simulated over a period of time. The horizontal axis represents time in seconds. The vertical axis represents data rate. In this example, the total PON capacity 31 is 2300 Mb / s.
[0090] In this example, 128 users are connected simultaneously. There is a service specification defined by the operator that limits subscriber data rates to, say, 1 Gb / s, usually via pre-configured shaper parameters. Because 128 times 1 Gb / s is much higher than 2.3 Gb / s, the PON is overbooked. This is not a problem when all subscribers have normal usage patterns. Downloads at the peak information rate (PIR) are usually short and infrequent, so these downloads usually do not overlap.
[0091] During the first time interval 33, 126 regular users with an average PON utilization of 40% generate data usage over time depicted in the first area 25. Despite overbooking (126 times 1 Gb / s >> 2.3 Gb / s), there is no network congestion. However, when a heavy user joins the PON starting at time 35, an atypical usage pattern of downloading at PIR occurs during the second, longer time interval 34. This heavy user's data usage over time is shown as the second area 24. During time interval 20, which overlaps with time interval 34, another regular user joins and performs a speed test. The speed test is performed by a short download at data rate 18.
[0092] In this example, a heavy user is detected by the device at time 36, which causes its shaper rate to suddenly increase and its scheduler weight to decrease. For example, the shaper rate is increased from 1 Gb / s to 2 Gb / s. Before time 36, the data rate 32 available to the heavy user was limited to 1 Gb / s, resulting in the full PON capacity not being utilized. From time 36, the increased shaper rate allows the heavy user to utilize all available capacity 19. In this way, long-duration downloads 24 are optimized. In comparison, if the scheduler weight is decreased without increasing the shaper rate according to the prior art solution, long-duration downloads 24 increase by 27% for the heavy user. This also means that the congestion risk period is optimized in the same way. And the benefit of bandwidth allocation by the scheduler remains fully intact: the data rate 18 available to a normal user performing a speed test during a heavy-use event is successful. During time interval 20, the data rate 32 available to heavy users is temporarily reduced to 516 Mb / s.
[0093] 5 is a functional block diagram of a passive optical network 401 according to another example embodiment employing the device 202. Elements and functions that are identical or similar to those described in the embodiment of FIG. 2 are labeled with the same numerals as in FIG. 2, and their description will not be repeated in this embodiment.
[0094] 5, the shaper filter 405 is not implemented in the access node 420, but instead in the network's border network gateway (BNG) 28. The broadband network gateway 28 is connected to the access node 420 by an aggregation network 29 and provides individual downstream traffic streams 402 to the access node 420. Consequently, the adjustment engine 23 of the device 202 provides updated shaper parameters 403 to the shaper filter 405 via the edge network controller 26.
[0095] 6 is a functional block diagram of a passive optical network 501 according to yet another example embodiment employing the device 203. Elements and functions that are identical or similar to those described in the embodiment of FIG. 2 are labeled with the same numerals as in FIG. 2, and their description will not be repeated in this embodiment.
[0096] In the embodiment of FIG. 6, instead of controlling bandwidth allocation for downstream traffic in the passive optical network, the device 203 interacts with the dynamic bandwidth allocation module 50 of the access node 300 to allocate bandwidth for upstream traffic. The contention module 21 determines whether the upstream direction of the optical network 501 is in a state of contention or is at risk of entering such a state of contention from the upstream network-level consumption data 311 provided by the measurement module 425. The heavy use determination module 22 uses the historical upstream bandwidth utilization data 312 provided by the measurement module 426 to detect the participant or participants meeting bursty capacity consumption conditions in the upstream direction. The adjustment engine 23 provides the dynamic bandwidth allocation 50 with an increased upstream maximum bandwidth 30 and a reduced upstream weight 40 for participants meeting bursty capacity consumption in the upstream direction when the network is at risk of congestion in the upstream direction. In this way, rate shaping and weight scheduling are performed in the upstream direction by the access node 300.
[0097] Similar to what was described with reference to FIG. 2, the entire workflow must be scheduled at regular time intervals, for example every 5 minutes.
[0098] 7 is a block diagram illustrating an apparatus 1200 operating according to an example embodiment. This block diagram may be applied to any of the apparatuses 200, 201, 202, and 203 described above. The apparatus 1200 may be, for example, an electronic device such as a chip, a chipset, an electronic device, or an access network controller. The apparatus 1200 includes a processor 1110 and a memory 1160. In other examples, the apparatus 1200 may be composed of multiple processors.
[0099] 7, processor 1110 is a control unit operatively connected to read from and write to memory 1160. Processor 1110 may also be configured to receive control signals received via an input interface, and / or processor 1110 may be configured to output control signals via an output interface. In an example embodiment, processor 1110 may be configured to convert received control signals into appropriate commands for controlling functionality of the device.
[0100] The memory 1160 stores computer program instructions 1120 that, when loaded into the processor 1110, control the operation of the apparatus 1200 as described above. In other examples, the apparatus 1200 may be comprised of more than one memory 1160 or different types of storage devices.
[0101] The computer program instructions 1120 for enabling implementation of exemplary embodiments of the present invention, or portions of such computer program instructions, may be loaded into the device 1200 by a manufacturer of the device 1200, by a user of the device 1200, or by the device 1200 itself based on a downloaded program, or the instructions may be pushed to the device 1200 by an external device. The computer program instructions may arrive at the device 1200 via an electromagnetic carrier signal or may be copied from a physical entity such as a computer program product, a memory device, or a recording medium such as a compact disc (CD), compact disc read-only memory (CDROM), digital versatile disc (DVD) or Blu-ray disc.
[0102] According to an exemplary embodiment, the apparatus 1200 comprises means comprising at least one processor 1110 and at least one memory 1160 containing computer program code 1120, the at least one memory 1160 and the computer program code 1120 being configured to cause performance of the apparatus 1200 using the at least one processor 1110.
[0103] FIG. 8 is a diagram of an exemplary method 1000 incorporating aspects of previously disclosed embodiments.
[0104] The method begins by obtaining 1010 an indication of contention in the communication network. The method continues with obtaining 1020 a historical bandwidth utilization indication parameter for each participant in the communication network. The method further continues with providing 1030 reduced scheduler parameters and increased maximum bandwidth parameters to an output of the device in response to determining, based on the contention indication and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, where the scheduler parameters and shaper parameters are related to allocating bandwidth to the participant meeting the bursty capacity consumption condition.
[0105] Those skilled in the art will appreciate that the sequence of the method is not limited to the illustrated example. The method may be implemented in other sequences. For example, the contention indication and the historical bandwidth utilization indication may be obtained together in one step, or the historical bandwidth utilization indication may be obtained before the contention indication.
[0106] Without limiting in any way the scope, interpretation, or application of the claims that follow, one or more technical effects of example embodiments disclosed herein are that when a network is in a state of contention or at risk of contention, the bandwidth allocated to a participant meeting a bursty capacity consumption condition can be adjusted such that a reduction applied to that participant's scheduler weight is compensated for by an increase in that participant's shaper rate, thereby limiting the impact of the reduction applied to that participant's bandwidth. Thus, bandwidth allocation can adapt to a sudden speed test or rapid download by a second network participant while ensuring normal bandwidth attribution for all other users. In this way, closed-loop automation can be provided, and user fairness can be provided.
[0107] The illustrative embodiment is applicable to both upstream and downstream bandwidth allocation.
[0108] Embodiments of the present invention may be implemented as software, hardware, application logic, or a combination of software, hardware, and application logic. The software, application logic, and / or hardware may reside in an apparatus, separate devices, or multiple devices. If desired, portions of the software, application logic, and / or hardware may reside in an apparatus, portions of the software, application logic, and / or hardware may reside in separate devices, or portions of the software, application logic, and / or hardware may reside in multiple devices. In exemplary embodiments, the application logic, software, or instruction set is maintained on any one of a variety of conventional computer-readable media. In the context of this document, a "computer-readable medium" may be any medium or means that contains, stores, communicates, propagates, or is capable of carrying instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, an example of which is described and depicted in FIG. 7. A computer-readable medium may include a computer-readable medium, which may be any medium or means that contains or can store instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
[0109] If desired, different functions discussed herein may be performed in different orders and / or concurrently with one another. Furthermore, if desired, one or more of the functions described above may be optional or may be combined.
[0110] Various aspects of the invention are set out in the independent claims, but other aspects of the invention may consist of other combinations of features of the described embodiments and / or dependent claims with features of the independent claims, and not only of combinations explicitly set out in the claims.
[0111] It will be obvious to those skilled in the art that with the advancement of technology, the concept of the present invention can be implemented in various ways. The present invention and its embodiments are not limited to the examples described above, but can vary within the scope of the claims. [Explanation of symbols]
[0112] 5 Traffic Shaper, Shaper Filter 6. WFQ Scheduler 7 Historical Network-Level Consumption Data 8, 9, 11, 12, 14, 16, 17 steps 10 Historical Bandwidth Usage Data 15 Rules 18 Data Rates 19 All Available Capacity 20 overlapping time intervals 21 Contention Module 22 Heavy Use Decision Module 23 Adjustment Engine 26 Edge Network Controller 29 Aggregation Network 30 Increased Maximum Upload Bandwidth 31 Total PON Capacity 32 Data rates available for heavy users 33 First Time Interval 34 Second Time Interval 35, 36 time 38 Arrow 40 Reduced Upward Weight 50 Dynamic Bandwidth Allocation Module 70 recent network-level consumption data 102 Optical Fiber 103 Optical Splitter 104 terminals 105 Contention 106 Identifying Heavy Users 110 Network Controller 120 network nodes 131, 132, 133 participants 200, 201, 202, 203, 1200 equipment 210, 220 Input data 230 Output Data 250 Network Management Device 251 Configuration File 300 access nodes 301 Network Level Consumption Data 303 Increased Shaper Parameters 304 Reduced Scheduler Parameters 311 Upstream network level consumption data 325, 326 measurement module 402 Downstream Traffic Stream 403 Updated Shaper Parameters 405 Shaper Filter 425, 426 measurement module 1110 processor 1160 memory
Claims
1. Obtaining an indication of contention (105) in a communications network (100, 101, 401, 501); obtaining historical bandwidth utilization indication parameters (302, 312) of each participant (131, 132, 133; 104) of the communication network; and in response to determining, based on the indication of contention (105) and the historical bandwidth utilization indication (302, 312), that the participant is meeting a bursty capacity consumption condition, providing at an output of the device a reduced value (304, 30) of a scheduler parameter and an increased value (303, 403, 40) of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network (100, 101, 401, 501) is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, and the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, the increased value being higher than the pre-configured value of the maximum bandwidth parameter. An apparatus (200, 201, 202, 203) comprising means for:
2. The means is, Responsive to determining, based on the historical bandwidth utilization indications (302, 312), that the participant has ceased to meet the bursty capacity consumption condition, restoring the scheduler parameters to pre-configured values of the scheduler parameters and / or restoring the maximum bandwidth parameters to pre-configured values of the maximum bandwidth parameters. The apparatus (200, 201, 202, 203) of claim 1 further configured to:
3. The means is, Responsive to determining that contention in the communications network has ceased, restoring the scheduler parameters to preconfigured values of the scheduler parameters and / or restoring the maximum bandwidth parameters to preconfigured values of the maximum bandwidth parameters.
3. The apparatus (200, 201, 202, 203) of claim 1 or 2, further configured to:
4. The means is, predicting the risk of contention based on a history of average data rates of the communication network (7); providing an indication of contention in response to determining that the predicted risk of contention exceeds a defined threshold; 3. The apparatus of claim 1 or 2, further configured for:
5. The apparatus of claim 4 , wherein the means is further configured for implementing a machine learning algorithm for predicting risk of contention based on measurements of average data rates in the communication network.
6. The means is, Obtaining historical bandwidth utilization indications over multiple rolling time windows; determining that a participant meets a bursty capacity consumption condition if the amount of data consumed by the participant during at least one of the rolling time windows exceeds a reference data amount; 3. The apparatus of claim 1 or 2, further configured for:
7. 3. Apparatus according to claim 1 or 2, wherein the means is configured to test whether a participant satisfies a bursty capacity consumption condition in response to an indication of contention.
8. 3. The apparatus of claim 1 or 2, wherein the communication network is a passive optical network (201, 401), and the scheduler parameters and maximum bandwidth parameters relate to allocating downstream bandwidth to participants.
9. 9. The apparatus of claim 8, wherein the scheduler parameters indicate weights allocated to participants of the communication network for use in a weighted fair queue scheduler (6), the weighted fair queue scheduler being located at a network line termination (320, 420) of the passive optical network.
10. 9. The apparatus of claim 8, wherein the maximum bandwidth parameter is a shaper parameter for use in a traffic shaper, the traffic shaper being located in one of a network line termination (320) of the passive optical network and a broadband network gateway (28) connected to the network line termination (420).
11. 3. The apparatus of claim 1, wherein the communication network is a passive optical network (501), the scheduler parameters and the maximum bandwidth parameters are associated with allocating upstream bandwidth to participants, the scheduler parameters and the maximum bandwidth parameters are for use in a dynamic bandwidth allocation module (50), and the dynamic bandwidth allocation module is located at a network line termination of the passive optical network.
12. 3. The apparatus of claim 1 or 2, wherein the participants of the communication network are one of a subscriber of a network operator, a virtual network operator, and a subscriber of a virtual network operator.
13. 3. The apparatus of claim 1, wherein the means comprises at least one processor (1110) and at least one memory (1160) containing computer program code (1120), the at least one memory and the computer program code being configured to cause performance of the apparatus using the at least one processor.
14. obtaining an indication of contention in the communications network (9); Obtaining (11) historical bandwidth utilization indication parameters of each participant of the communication network; and in response to determining (14) that the participant is meeting a bursty capacity consumption condition based on the contention indication and the historical bandwidth utilization indication (15), providing (16) a reduced value of a scheduler parameter and an increased value of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, and the increased value being higher than the pre-configured value of the maximum bandwidth parameter (16). A method comprising:
15. The device must have at least the following: Obtaining an indication of contention in a communication network (100, 101, 401, 501); obtaining historical bandwidth utilization indication parameters (10, 302, 312) of each participant in the communications network; and in response to determining, based on the indication of contention (105) and the historical bandwidth utilization indication, that the participant is meeting a bursty capacity consumption condition, providing to an output of the device a reduced value (304, 30) of a scheduler parameter and an increased value (303, 403, 40) of a maximum bandwidth parameter, the scheduler parameter and the maximum bandwidth parameter being associated with allocating bandwidth to the participant meeting the bursty capacity consumption condition, the scheduler parameter representing a percentage of the communication network's capacity allocated to the participant when the communication network is congested, the reduced value being lower than a pre-configured value of the scheduler parameter, and the maximum bandwidth parameter representing a maximum bandwidth allocated to the participant, the increased value being higher than the pre-configured value of the maximum bandwidth parameter. A computer program containing instructions to cause a computer to perform the following:
Citation Information
Patent Citations
Method and apparatus for bandwidth allocation
EP4030708A1
Node device
JP2002344500A
Method and apparatus for bandwidth allocation
US20220232584A1