Various example embodiments relate to bandwidth allocation, specifically to determining of scheduler parameter and/or shaper parameter.
The sharing of bandwidth in a network between multiple clients is typically handled by Weighted Fair Queue (WFQ) scheduler components. In this sharing scheme, a weight is given to each client. Each of them will receive a fraction of the total bandwidth which is proportional to their weight. By design, if any client would not be active or not request his entitled bandwidth fraction, this “free” or spare bandwidth is automatically distributed among the active clients, proportionally to the weights of those active clients. In worst case, the minimum bandwidth that each client will receive is equal to the total bandwidth multiplied by the ratio of its weight over the sum of the weights of all the clients. In best case, if there would be only one active client at a certain time, this client would get the full bandwidth.
However, in case of one or more abnormally high demanding or even potentially abusing users, these mechanisms tend to discriminate the other users. Such situations may happen when residential subscribers would host unusual services creating very high bandwidth request for example in case of P2P storage networks, or when a company would clearly abuse a residential subscription to offer commercial services.
In a slicing context, where a physical access node is virtually divided into multiple virtual access nodes, each of them being managed by a Virtual Network Operator hereafter abbreviated by VNO, serving its own subset of subscribers, the problem is even worse. In this mode, VNOs are isolated from each other, meaning that they only have visibility and control on the bandwidth of their own subscribers. In this mode also, the physical access node is actually managed by an Infrastructure provider, hereafter abbreviated by InP, who is in charge of sharing the bandwidth among the multiple VNOs. However, the InP has no direct visibility on the bandwidth utilization of the VNO subscribers. Therefore, if the abusing subscriber is not managed properly by the entity of the virtual network serving it, the subscribers of other virtual networks may be impacted as well.
A typical way to prevent subscribers to saturate a network is to couple WFQ schedulers with traffic shapers. Those shapers act as limiters, preventing a client to request a bandwidth higher than a configurable limit. However also these combined scheduler/shaper systems still do not sufficiently cope with the aforementioned problems of potentially abusing users.
There is thus a need for an improved method and apparatus to solve the aforementioned problems.
According to a first aspect of the invention, there is provided an apparatus comprising means for obtaining an indication of contention of a communications network; obtaining a historical bandwidth utilization indication parameter of respective participants of the communications network; determining, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
In one embodiment, the means are further configured to repeat the obtaining of said indication of contention; the obtaining of said historical bandwidth utilization indication parameter and the determining of said scheduler parameter and/or said shaper parameter at predetermined time intervals.
In another embodiment, the means are further configured for: determining a predicted indication of contention, based on history of the obtained indication of contention; and determining the scheduler parameter and/or the shaper parameter further based on the predicted indication of contention.
In a further embodiment, the means are further configured for: determining the scheduler parameter and/or the shaper parameter in case a first predetermined threshold related to the indication of contention or the predicted indication of contention is exceeded.
In another embodiment, the means are further configured for: obtaining the historical bandwidth utilization indication over a plurality of respective time windows; and determining the scheduler parameter and/or the shaper parameter based on a plurality of respective second predetermined thresholds, respective one of said time windows being associated with at least one of said respective second predetermined thresholds.
The means can also be further configured for: restoring the scheduler parameter and/or the shaper parameter to a default value in case a third predetermined threshold related to the indication of contention is/will be exceeded.
In one embodiment, the means are further configured for: storing values of the scheduler parameter and/or the shaper parameter over said predetermined respective time intervals; and determining the scheduler parameter(s) and/or the shaper parameter(s) further based on the values thereof.
In one other embodiment, the means are further configured for: implementing a reinforcement learning algorithm for determining said scheduler and/or said shaper parameter based on said indication of contention; said historical bandwidth utilization indication, and previous values of said scheduler and/or said shaper parameters.
In yet another embodiment, the means are further configured for: determining, based on the indication of contention and the historical bandwidth utilization indication, scheduler parameters and/or shaper parameters for respective ones of the participants of the network.
In one other embodiment, the scheduler parameter indicates a weight corresponding to the participant of the network for use in a Weighted Fair Queue scheduler, and the shaper parameter indicates a limit of the bandwidth allocated to the participants of the network.
In some embodiments, the participant of the network is a subscriber of a network operator.
In some other embodiments, the participant of the network is a virtual network operator or a subscriber of the virtual network operator.
In one embodiment, the means comprises: at least one processor; and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
According to a second aspect of the invention, there is provided a method comprising: obtaining an indication of contention of a communications network; obtaining a historical bandwidth utilization indication parameter of respective participants of the communications network; determining, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
According to a third aspect of the invention, there is provided a computer program comprising instructions for causing an apparatus to perform at least the following: obtaining an indication of contention of a communications network; obtaining a historical bandwidth utilization indication parameter of respective participants of the communications network; determining, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
According to a fourth aspect of the invention, there is provided an apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to with the at least one processor, cause the apparatus at least to perform: obtaining an indication of contention of a communications network; obtaining a historical bandwidth utilization indication parameter of respective participants of the communications network; determining, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
According to a fifth aspect of the invention, there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the following: obtaining an indication of contention of a communications network; obtaining a historical bandwidth utilization indication parameter of respective participants of the communications network; determining, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
According to a sixth aspect of the invention, there is provided a computer readable medium comprising program instructions for causing an apparatus to perform at least the following: obtaining an indication of contention of a communications network; obtaining a historical bandwidth utilization indication parameter of respective participants of the communications network; determining, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
According to the example embodiments, the bandwidth allocated to the participant of the network can be dynamically adjusted according to the available resource as well as the historical behaviour of the participant. Thus, a closed-loop automation is provided, and a long-term fairness can be guaranteed.
For a more complete understanding of example embodiments of the present invention, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:
Same or similar reference numerals refer to same or similar parts or components.
Example embodiments of the present application are described herein in detail and shown by way of example in the drawings. It should be understood that, although specific embodiments are discussed herein there is no intent to limit the scope of the invention to such embodiments. To the contrary, it should be understood that the embodiments discussed herein are for illustrative purposes, and that modified and alternative embodiments may be implemented without departing from the scope of the invention as defined in the claims. The sequence of method steps is not limited to the specific embodiments, the method steps may be performed in other possible sequence. Similarly, specific structural and functional details disclosed herein are merely representative for purposes of describing the embodiments. The invention described herein, however, may be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
According to the state of the art, contention in the network is limited by shaping the entire traffic flowing through a given network link, without user differentiation. The historical bandwidth utilization of individual users is not considered while shaping the traffic, it is not possible to mitigate contention while preserving user fairness.
The communication network 100 may be a fibre network. Alternatively, it may also be a cable network, e.g. a DSL or coaxial network, or also a mobile network, or any combination of both fixed and wireless network. Generally, the communication network 100 may be any shared medium communication network.
Generally, the communication network 100 comprises a network controller 110 which is communicatively connected to a network node 120. The communication network 100 also comprises a plurality of network participants 131, 132, 133 connected to the network node 120. Although only one network node 120 is shown in
Not shown on
In one example embodiment, the communication network 100 may refer to a traditional access network, where a single network operator owns the access network nodes 120 and for which the network controller 110 provides visibility and control on all the network participants 131, 132, 133 connected to the access network nodes 120. In this example embodiment, the participants 131, 132, 133 of the access network 100 are subscribers of the single network operator.
In another example embodiment, the communication network 100 may refer to a virtual access network (or network slice) operated by a VNO who is buying/renting a part of the resources of the access network nodes 120 to an InP. In this example embodiment, the participants 131, 132, 133 of the virtual access network 100 are subscribers of the VNO.
In this mode, there could be multiple VNOs sharing the same access network node 120, but the network controller 110 only provides visibility and control to the VNOs on their own subscribers. Seen from a VNO, as the network controller 110 only provide a partial view of the access node 120, corresponding to the interfaces where only his subscribers are connected to, this partial view of the access node is sometimes referred to as a virtual access node.
In yet another example embodiment, the communication network 100 may refer to network of virtual access networks, operated by an InP who is reselling/lending resources of this access node to one or more VNOs. In this example embodiment, the participants 131, 132, 133 of the network of virtual access networks 100 are VNOs.
In this mode, it must be understood that the network controller 110 provides visibility and control to the InP on the network participants 131, 132, 133, namely the VNOs, but not on the subscribers of those VNOs.
The network controller 110 is configured to communicate with the apparatus 200 implementing example embodiments of the present application, by providing input 210, 220 to the apparatus 200 and receiving the output 230 of the apparatus 200.
A skilled person shall understand that although the apparatus 200 is shown in
The apparatus 200 is configured to obtain an indication of contention of a communication network.
Specifically, in one example implementation, the apparatus may comprise means which are further configured to obtain the indication of contention as indicating a ratio of time, during which the bandwidth utilized by the participants of the network causes a contention.
More specifically, in one example, based on the actual total Bandwidth utilization of all the active network participants in the communication network during a predetermined time period, for example 5 minutes, the indication of contention is determined as a ratio of aggregated time interval(s) to the predetermined time period, during the time interval(s) the bandwidth utilized by the plurality of network participants is above a predetermined threshold, for example 95% of the total available Bandwidth.
The indication of contention is used to monitor how close is the actual Bandwidth utilization to the total link capacity (or how close is the link to contention). In other words, the indication of contention is used to monitor the remaining available bandwidth that the WFQ scheduler can still distribute to any participant of the network creating an extra demand (for example doing a speed test). Due to the rapidly varying traffic demand induced by web surfing, online gaming or other variable Bandwidth type of application, it is advantageous to monitor this remaining capacity over short periods of time, typically in the order of magnitude of user perception (in seconds). Depending on the desired loop reaction time, the contention may be expressed as a ratio of a larger time period (e.g. contention of 1% during the last 5 minutes).
It is advantageous that the indication of contention is determined in the network controller 110. However, as for determining the indication of contention, the throughput is monitored at fast pace (order of magnitude of a few seconds) and an aggregate is calculated over a longer time interval (percentage of contention in the last 5 minutes), if it would not be possible to stream the throughput measurement from the access network node 120 to the network controller 110 fast enough, the indication of contention may also be determined in the access network nodes 120 itself. In this case, only the aggregated contention level is streamed to the network controller 110.
The apparatus 200 is further configured to obtain a historical bandwidth utilization indication parameter of respective participants of the communications network.
Specifically, in one example implementation, the apparatus 200 may comprise means which are further configured to obtain the historical bandwidth utilization indication as indicating historical bandwidth consumption of respective ones of the participants of the network over at least one time window, advantageously over a plurality of time windows. For example, the network controller 110 or the access network nodes 120 may determine, for every participant of the network, the actual Bandwidth utilization over the last 5 minutes, last 15 minutes, last 1 h, last 4 h, last day, last week, last month, etc.
The apparatus 200 is further configured to determine, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to the output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
The advantage brought by the example embodiments is that the bandwidth allocated to the participant of the network can be adjusted according to the available resource as well as the historical behaviour of the participant, such that the total link utilization does not increase above a certain threshold, or in other words, that there will always be a minimum bandwidth available for the scheduler to distribute to the user in case of sudden load increase (or speedtest). Thus, a closed-loop automation is provided, and a user fairness can be provided.
In an advantageous embodiment, the apparatus 200 is further configured to repeat the obtaining of said indication of contention; the obtaining of said historical bandwidth utilization indication parameter and the determining of said scheduler parameter and/or said shaper parameter at predetermined time intervals.
According to such embodiment, the bandwidth allocated to the participant of the network can be thus dynamically adjusted, and a long-term user fairness can be guaranteed.
The predetermined time interval for repetition may relate to how often the indication of contention is updated.
Specifically, the time period for determining the indication of contention may be lower than or equal to the predetermined time interval for repetition. Setting the time period for determining the indication of contention equal to the predetermined time interval for repetition makes it easier to implement. If the time period for determining the indication of contention is lower than the predetermined time interval for repetition, it would mean that more than one contention indication per repetition interval is available, and in this case, an additional logic, e.g. computing the mean, median, maximum or any percentile of the multiple contention indications may be applied to aggregate the multiple contention indications.
In one example embodiment, the scheduler parameter indicates a weight corresponding to the participant of the network for use in a Weighted Fair Queue scheduler, and the shaper parameter indicates a limit of the bandwidth allocated to the participants of the network.
More specifically, for example, the weights may be represented either as floating numbers between 0 and 1, or by integers ranging from 0 to a maximum value that depends on the quantification (e.g. 255 for 8 bits quantification). The shaper limits may be expressed directly as data throughputs (bps, kbps, Mbps, Gbps, etc).
In one example embodiment, the apparatus 200 is further configured to determine, based on the indication of contention and the historical bandwidth utilization indication, scheduler parameters and/or shaper parameters for respective ones of the participants of the network.
A skilled person shall understand the scheduler parameters and/or shaper parameters may be updated periodically for each participant of the network, but the updated scheduler parameters and/or shaper parameters of some of the participants may stay same as the default value or as the value in the previous cycle.
As shown in this depicted embodiment of
Furthermore, the regulation engine determines the scheduler parameter and/or shaper parameter for respective participants based on the indication of contention and the historical bandwidth utilization indication of respective participants of the communications network. The scheduler parameter and/or shaper parameter determined by the regulation engine is further fed to the WFQ scheduler and the shaper for respective participant respectively. Thus, a closed-looped automation is provided.
In some embodiments, such as the one shown in
Methods for performing measurement of the historical bandwidth utilization are commonly known by a person skilled in the art and may comprise the periodical collection by the network controller 110 of counters implemented in the network node 120 such as the in-octets and out-octets counters as defined by RFC7223 (A YANG Data Model for Interface Management).
The regulation engine may dynamically adjust the WFQ scheduler weights and shaper limits such that the total link utilization does not increase above a certain threshold, or in other words, that there will always be a minimum BW available for the scheduler to distribute to the user in case of sudden load increase or potential speedtest.
In one example implementation, the indication of contention and the historical bandwidth utilization indication may be obtained by the network controller 110 and stored in its memory sometimes known as data lake. The regulation engine, which forms part of the apparatus, may be implemented as a virtual network function, abbreviated by VNF, meaning that it is implemented by software in the network controller 110, reading data from the data lake and pushing back new configuration parameters (scheduler parameter and/or shaper parameter) directly to the corresponding WFQ scheduler and/or shaper.
There are many ways of implementing the regulation engine shown in
In one example embodiment, the apparatus 201 is further configured to determine the scheduler parameter and/or the shaper parameter in case a first predetermined threshold related to the indication of contention is exceeded.
For example, if the indication of contention is above the first predetermined threshold, it suggests that the remaining available bandwidth that can still be distribute to any participant of the network creating an extra demand (for example doing a speed test) is not enough. Therefore, it is then meaningful to adjust the scheduler parameter and/or the shaper parameter so as to reduce to contention in the network.
In one example embodiment, the apparatus 201 is further configured to obtain the historical bandwidth utilization indication over a plurality of respective time windows, and to determine the scheduler parameter and/or the shaper parameter based on a plurality of respective second predetermined thresholds, respective one of said time windows being associated with at least one of said respective second predetermined thresholds.
Specifically, in one example implementation, if the indication of contention is above the first predetermined threshold, the apparatus 201 is further configured to reduce the scheduler parameter and/or the shaper parameter for the network participant, the historical bandwidth utilization indication of which is above the respective second predetermined threshold corresponding to the respective time window.
Such example implementations may also be referred to as using rule-based regulation engine.
In the example implementation shown in
Specifically, if the historical bandwidth utilization indication of a participant during certain time window is above the second predetermined threshold corresponding to that time window, the corresponding penalty will be applied to the scheduler parameter and/or the shaper parameter of this abusing participant.
For example, if the historical bandwidth utilization indication of the participant 131 during past 15 mins is above 75 GB, the scheduler parameter will be reduced by 20% and/or the shaper parameter will be reduced by 2% for the participant 131.
In another implementation, more than one second predetermined thresholds may be defined for a certain time window. Meanwhile different penalty levels may be defined accordingly. For example, if the historical bandwidth utilization indication of the participant 131 during past 60 mins is above 200 GB, the scheduler parameter will be reduced by 33% and/or the shaper parameter will be reduced by 5% for the participant 131. If the historical bandwidth utilization indication of the participant 132 during past 60 mins is above 100 GB, the scheduler parameter will be reduced by 25% and/or the shaper parameter will be reduced by 4% for the participant 132. In this case, when the historical bandwidth utilization indication of the participant crosses more than one second predetermined thresholds for the same time window, the most sever, namely, the higher penalty is applied.
Specifically, in the example implementation shown in
New weight=Original weight*(1−penalty)
Alternatively, a weight can also be decreased by an absolute penalty. In this case, the formula to apply would become:
New weight=Original weight−penalty
In the example implementation shown in
New shaper limit=Original shaper limit*(1−penalty)
Alternatively, a shaper limit can also be decreased by an absolute penalty. In this case, the formula to apply would become:
New shaper limit=Original shaper limit−penalty
In the example implementation shown in
Advantageously, the apparatus 201 is further configured to restore the scheduler parameter and/or the shaper parameter to a default value in case a third predetermined threshold related to the indication of contention is exceeded.
Specifically, for example, when the indication of contention falls below the third predetermined threshold, it suggests that no contention is detected anymore. Then the scheduler parameter and/or the shaper parameter may be restored to the default value, either immediately in one step, progressively (steps-by-steps) or in a single step after a certain delay.
According to such example embodiment, long-term user fairness can be guaranteed while maximizing the bandwidth utilization.
In this example, 3 users are connected to a WFQ scheduler and configured with the same weight. If the 3 users are requesting the peak capacity on different time, such as each of them can access the maximum bandwidth. However, if one of the subscribers would not behave like a typical residential subscriber, and for any reason request a maximum of bandwidth in permanence, this would have a significant impact on all the other subscribers, preventing them to access a high bandwidth all the time, even if they request it only from time to time.
This situation is shown in
As shown in
In the example embodiment, the apparatus 202 is further configured to determine a predicted indication of contention, based on history of the obtained indication of contention; and determine the scheduler parameter and/or the shaper parameter further based on the predicted indication of contention.
For example, similar as described for the previous embodiment, the apparatus 202 may determine the scheduler parameter and/or the shaper parameter in case a first predetermined threshold related to the predicted indication of contention is exceeded.
As shown in
Specifically, any time-series prediction algorithm can be used, included but not limited to classical machine learning algorithms like moving averages (simple, weighted, exponential, . . . ) and regression (linear, auto-regression, ARIMA and variants), as well as deep learning techniques such as artificial neural networks, convolutional neural networks (CNN), recurrent neural networks (RNN), Long-Short Term Memory (LSTM), Temporal Convolutional network (TCN), regression trees, random forest, etc.
Other functions of the apparatus 202 are similar as those described for apparatus 200, 201, and will not be repeated here.
In the example implementation shown in
Different from the previous implementation, the detection of contention here in
For example, if the prediction of the indication of contention is above the first predetermined threshold for the next time interval, the scheduler parameter and/or the shaper parameter will be reduced for the network participant, the historical bandwidth utilization indication of which is above the respective second predetermined threshold corresponding to the respective time window.
Similar as it is described for
In the example embodiment, the apparatus 203 is further configured to store values of the scheduler parameter and/or the shaper parameter over said predetermined respective time intervals; and to determine the scheduler parameter(s) and/or the shaper parameter(s) further based on the values thereof.
In the example embodiment, the apparatus 203 is further configured to implement a reinforcement learning algorithm for determining said scheduler and/or said shaper parameter based on said indication of contention; said historical bandwidth utilization indication, and previous values of said scheduler and/or said shaper parameters.
In the typical framing of a Reinforcement Learning (RL) scenario, an agent takes actions in an environment, which is interpreted into a reward and a representation of the state, which are fed back into the agent.
A reinforcement learning agent interacts with its environment in discrete time steps. At each time t, the agent receives the current state and reward. It then chooses an action from the set of available actions, which is subsequently sent to the environment. The environment moves to a new state and the reward associated with the transition is determined. The goal of a reinforcement learning agent is to learn a policy which maximizes the expected cumulative reward.
As illustrated in
In the example implementation shown in
Alternatively, in another example implementation, a cost function may be determined based on the indication of network contention and the historical bandwidth utilization indication, wherein the cost function increases when indication of network contention increases, and the cost function decreases when the historical bandwidth utilization indication increases. The scheduler parameter(s) and/or the shaper parameter(s) may further be determined using a reinforcement learning algorithm while minimizing the cost function.
Other functions of the apparatus 203 are similar as those described for apparatus 200, 201, 202 and will not be repeated here.
The advantage of such an AI-based engine is that, to the opposite of a rule-based engine that needs to be updated as new services are introduced or bandwidth demand increases, the system here automatically adapts itself to new conditions (at least if the newly introduced services are best effort).
As shown in
The scheduler parameter(s) and/or the shaper parameter(s) is determined based on the historical indication of contention, historical bandwidth utilization indication and the historical values of the scheduler parameter and/or the shaper parameter.
Similar as it is described for previous implementations, such a workflow may be executed in regular time intervals, for example every 5 minutes.
Example embodiments have been described for scheduling at the level of network operator, wherein the participants of the network are subscribers of a network operator.
In another example embodiment, the participant of the network are virtual network operators and/or subscribers of a virtual network operator.
Namely, the example embodiments may also be implemented at infrastructure provider (InP) level or even hierarchically.
As shown in
For example, a physical PON (limited to 2.4 Gbps) is shared between VNO 1 and VNO 2, VNO 1 and VNO 2 are respectively serving a plurality of subscribers (only 3 are shown in
Aspects of the invention may be implemented at the InP level and/or the VNO level in the above-described scenario.
In the example embodiment shown in
At VNO level, apparatus 205, 206 are implemented for each of the VNOs. Each apparatus 205, 206 determines scheduler parameter and/or the shaper parameter for the subscribers of the respective VNO based on the indication of contention at VNO level and the historical bandwidth utilization indication parameter of each subscriber in the VNO. The determined scheduler parameter and/or the shaper parameter will be provided to the respective level 1 WFQ scheduler and the respective shaper.
At InP level, an apparatus 204 determines scheduler parameter and/or the shaper parameter for each VNO based on the indication of contention at InP level and the historical bandwidth utilization indication parameter of each VNO.
A skilled person shall understand, the number of VNOs is shown here in
In the example of
The memory 1160 stores computer program instructions 1120 which when loaded into the processor 1110 control the operation of the apparatus 200 as explained above. In other examples, the apparatus 200 may comprise more than one memory 1160 or different kinds of storage devices.
Computer program instructions 1120 for enabling implementations of example embodiments of the invention or a part of such computer program instructions may be loaded onto the apparatus 200 by the manufacturer of the apparatus 200, by a user of the apparatus 200, or by the apparatus 200 itself based on a download program, or the instructions can be pushed to the apparatus 200 by an external device. The computer program instructions may arrive at the apparatus 200 via an electromagnetic carrier signal or be copied from a physical entity such as a computer program product, a memory device or a record medium such as a Compact Disc (CD), a Compact Disc Read-Only Memory (CD-ROM), a Digital Versatile Disk (DVD) or a Blu-ray disk.
According to an example embodiment, the apparatus 200 comprises means, wherein the means comprises at least one processor 1110, at least one memory 1160 including computer program code 1120, the at least one memory 1160 and the computer program code 1120 configured to, with the at least one processor 1110, cause the performance of the apparatus 200.
The method starts with obtaining 1210 an indication of contention of a communications network. The method continues with obtaining 1220 a historical bandwidth utilization indication parameter of respective participants of the communications network. The method further continues with determining 1230, based on the indication of contention and the historical bandwidth utilization indication, a scheduler parameter and/or a shaper parameter for being provided to an output of the apparatus, wherein, the scheduler parameter and/or the shaper parameter is related to allocating bandwidth to a participant of the network.
A skilled person shall understand that the sequence of the method is not limited to the illustrated example. The method may be implemented in other sequence. For example, the indication of contention and the historical bandwidth utilization indication may be obtained together in one step or the historical bandwidth utilization indication may be obtained prior to the indication of contention.
Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein is that the bandwidth allocated to the participant of the network can be adjusted according to the available resource as well as the historical behaviour of the participant, such that the total link utilization does not increase above a certain threshold, or in other words, that there will always be a minimum bandwidth available for the scheduler to distribute to the user in case of sudden load increase (or speedtest). Thus, a closed-loop automation is provided, and a user fairness can be provided.
Example embodiments may be applied to both upstream and downstream bandwidth allocation.
Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and/or hardware may reside on the apparatus, a separate device or a plurality of devices. If desired, part of the software, application logic and/or hardware may reside on the apparatus, part of the software, application logic and/or hardware may reside on a separate device, and part of the software, application logic and/or hardware may reside on a plurality of devices. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a ‘computer-readable medium’ may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted in
If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.
Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.
It will be obvious to a person skilled in the art that, as the technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
21382040.0 | Jan 2021 | EP | regional |