Bandwidth management method, system, device and storage medium

By dividing multiple CE devices into load groups in the routing device and adjusting the speed limit according to the contracted bandwidth and link status, the problems of load sharing and flexible speed limit in the prior art are solved, and the optimization of resource utilization is achieved and Improvement of user experience.

CN115250238BActive Publication Date: 2024-12-27CHINA TELECOM CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210869918.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-22
Publication Date
2024-12-27
Estimated Expiration
2042-07-22

AI Technical Summary

Technical Problem

The existing link aggregation technology cannot achieve load sharing across CE devices, and the three-layer routing protocol cannot flexibly limit speeds, which cannot meet user business and intelligent operation and maintenance needs.

Method used

In the routing device, by determining multiple CE devices of the same user as load groups, the speed limit bandwidth of each link is adjusted according to the contracted bandwidth and link routing status, so as to achieve adaptive speed limit and load balancing.

Benefits of technology

It realizes automatic speed limit adjustment when link changes, improves resource utilization efficiency, meets users' business bandwidth needs, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115250238B_ABST
    Figure CN115250238B_ABST
Patent Text Reader

Abstract

The present invention provides a bandwidth management method, system, device and storage medium, the method comprising the steps of: a routing device determines a plurality of CE devices belonging to the same user as a load group; the routing device determines the speed limit bandwidth corresponding to each CE device according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group; and the routing device monitors each link, obtains the link routing state corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the link routing state; the link is a link connecting the CE device and the routing device; the present application realizes changes with the link inside the routing device, and can perform adaptive speed limit based on the contracted bandwidth to achieve load balancing and optimize resource utilization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a bandwidth management method, system, device and storage medium. Background Art

[0002] Users and operators generally sign a service bandwidth contract. When multiple CE (Customer Edge) devices of the same user are connected to the same routing device of the operator, the existing link aggregation technology cannot achieve load sharing across CE devices and can only be used as a primary and a backup. Although the existing three-layer routing protocol can achieve load sharing, it cannot flexibly limit the speed because the speed limit of the physical port connected to the user's CE is fixed at the initial opening. Once the link changes (such as adding or deleting links, failures, etc.), the routing device will not automatically recalculate and configure a new speed limit bandwidth for each physical port, that is, it cannot flexibly limit the speed based on the service bandwidth purchased by the user, and cannot meet the business and intelligent operation and maintenance needs. Summary of the invention

[0003] In view of the problems in the prior art, the purpose of the present invention is to provide a bandwidth management method, system, device and storage medium, which can be implemented within the routing device with link changes, and can perform adaptive speed limiting based on the contracted bandwidth to achieve load balancing and optimize resource utilization.

[0004] To achieve the above object, the present invention provides a bandwidth management method, which comprises the following steps:

[0005] The routing device determines multiple CE devices belonging to the same user as a load group;

[0006] The routing device determines the speed limit bandwidth corresponding to each of the CE devices according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group; and

[0007] The routing device monitors each link, obtains the link routing status corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the link routing status; the link is the link connecting the CE device and the routing device.

[0008] Optionally, the method further comprises:

[0009] The routing device obtains the congestion status corresponding to each link, and executes the corresponding congestion management strategy on the link when the congestion status is congestion; the congestion status is congestion or non-congestion.

[0010] Optionally, the routing device determines multiple CE devices belonging to the same user as a load group, including:

[0011] The routing device establishes a routing table storing routing information between the routing device and the CE device based on a layer 3 routing protocol;

[0012] The routing device identifies multiple links corresponding to multiple CE devices belonging to the same user according to the routing table, and divides the multiple CE devices into the same load group.

[0013] Optionally, the routing device determines the speed limit bandwidth corresponding to each of the CE devices according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group, including:

[0014] The speed limit bandwidth corresponding to each of the CE devices is the ratio of the contracted bandwidth to the number of the CE devices.

[0015] Optionally, adjusting the speed limit bandwidth corresponding to each link according to the link routing state includes:

[0016] The routing device updates the number of CE devices in the load group according to the link routing state;

[0017] The routing device adjusts the speed limit bandwidth corresponding to each link according to the updated number of CE devices in the load group.

[0018] Optionally, adjusting the speed limit bandwidth corresponding to each link according to the link routing state includes:

[0019] Taking the number of CE devices in the load group as the initial number;

[0020] The routing device obtains, as a first quantity, the number of links whose link routing status is unreachable; the link routing status is unreachable or reachable;

[0021] Taking the difference between the initial quantity and the first quantity as the second quantity;

[0022] The routing device adjusts the speed limit bandwidth corresponding to each link according to the second number.

[0023] Optionally, adjusting the speed limit bandwidth corresponding to each link according to the link routing state includes:

[0024] The routing device uses the ratio of the subscribed bandwidth to the second number as the speed limit bandwidth corresponding to the link whose link routing status is reachable.

[0025] Optionally, the congestion management strategy is a QoS scheduling strategy.

[0026] The present invention also provides a bandwidth management system for implementing the above-mentioned bandwidth management method, the system comprising:

[0027] A load group determination module, in which the routing device determines multiple CE devices belonging to the same user as a load group;

[0028] A bandwidth allocation module, wherein the routing device determines the speed limit bandwidth corresponding to each CE device according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group; and

[0029] The bandwidth adjustment module, the routing device monitors each link, obtains the link routing status corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the link routing status; the link is the link connecting the CE device and the routing device.

[0030] The present invention also provides a bandwidth management device, comprising:

[0031] processor;

[0032] a memory in which an executable program of the processor is stored;

[0033] The processor is configured to execute any one of the steps of the above-mentioned bandwidth management method by executing the executable program.

[0034] The present invention also provides a computer-readable storage medium for storing a program, wherein the program implements the steps of any one of the above-mentioned bandwidth management methods when executed by a processor.

[0035] Compared with the prior art, the present invention has the following advantages and outstanding effects:

[0036] The bandwidth management method, system, device and storage medium provided by the present invention are aimed at the scenario where multiple CE devices of the same user are connected to the same routing device. No control device or external controller is required to participate. Changes with the link can be achieved inside the routing device. Adaptive speed limiting can be performed based on the contracted bandwidth to achieve load balancing, optimize resource utilization, and improve user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Other features, objectives and advantages of the present invention will become more apparent from a reading of the detailed description of non-limiting embodiments made with reference to the following accompanying drawings.

[0038] Figure 1 A schematic diagram of a bandwidth management method disclosed in an embodiment of the present invention;

[0039] Figure 2 A system architecture diagram of a bandwidth management method disclosed in an embodiment of the present invention;

[0040] Figure 3A schematic diagram of a bandwidth management method disclosed in another embodiment of the present invention;

[0041] Figure 4 A schematic diagram of step S130 in a bandwidth management method disclosed in another embodiment of the present invention;

[0042] Figure 5 A schematic diagram of a bandwidth management method disclosed in another embodiment of the present invention;

[0043] Figure 6 A schematic diagram of the structure of a bandwidth management system disclosed in one embodiment of the present invention;

[0044] Figure 7 A schematic diagram of the structure of a bandwidth management system disclosed in another embodiment of the present invention;

[0045] Figure 8 A schematic diagram of the structure of a bandwidth adjustment module 63 in a bandwidth management system disclosed in another embodiment of the present invention;

[0046] Fig. 9 A schematic diagram of the structure of a bandwidth management system disclosed in another embodiment of the present invention;

[0047] Fig.10 The present invention is a schematic diagram of a bandwidth management device disclosed in an embodiment of the present invention. DETAILED DESCRIPTION

[0048] The following describes the implementation methods of the present application through specific examples, and those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in the present application. The present application can also be implemented or applied through other different specific implementation methods, and the details in the present application can also be modified or changed in various ways according to different viewpoints and application systems without departing from the spirit of the present application. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.

[0049] The following is a detailed description of the embodiments of the present application with reference to the accompanying drawings so that those skilled in the art can easily implement the present application. The present application can be embodied in a variety of different forms and is not limited to the embodiments described herein.

[0050] In the representations of the present application, the representations with reference to the terms "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" etc. mean that the specific features, structures, materials or characteristics represented in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the represented specific features, structures, materials or characteristics may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples represented in the present application and the features of the different embodiments or examples, unless they contradict each other.

[0051] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the representation of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0052] In order to clearly describe the present application, components irrelevant to the description are omitted, and the same reference symbols are given to the same or similar components throughout the specification.

[0053] Throughout the specification, when a device is said to be "connected" to another device, this includes not only the case of "direct connection" but also the case of "indirect connection" by placing other elements therebetween. In addition, when a device is said to "include" a certain component, unless otherwise stated, it does not exclude other components, but means that other components may be included.

[0054] When a device is said to be "on" another device, it may be directly on the other device, but there may also be other devices between it. In contrast, when a device is said to be "directly" on another device, there are no other devices between it.

[0055] Although the terms first, second, etc. are used to represent various elements in some examples, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, the first interface and the second interface, etc. are represented. Moreover, as used in this article, the singular forms "one", "one" and "the" are intended to also include plural forms, unless there is an opposite indication in the context. It should be further understood that the terms "comprising" and "including" indicate the existence of features, steps, operations, elements, components, projects, kinds, and / or groups, but do not exclude the existence, occurrence or addition of one or more other features, steps, operations, elements, components, projects, kinds, and / or groups. The terms "or" and "and / or" used herein are interpreted as inclusive, or mean any one or any combination. Therefore, "A, B or C" or "A, B and / or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". Only when the combination of elements, functions, steps or operations is inherently mutually exclusive in some way, will there be an exception to this definition.

[0056] The technical terms used herein are only used to refer to specific embodiments and are not intended to limit the present application. The singular form used herein also includes the plural form unless the sentence clearly indicates the contrary meaning. The meaning of "including" used in the specification is to specify specific characteristics, regions, integers, steps, operations, elements and / or components, and does not exclude the existence or addition of other characteristics, regions, integers, steps, operations, elements and / or components.

[0057] Although not defined differently, all terms, including technical and scientific terms used herein, have the same meaning as those generally understood by those skilled in the art to which this application belongs. Terms defined in commonly used dictionaries are additionally interpreted as having meanings consistent with the relevant technical literature and the contents of the current disclosure, and unless defined, shall not be overly interpreted as ideal or very formal meanings.

[0058] Example embodiments will now be described more fully in conjunction with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present invention will be comprehensive and complete and fully convey the concepts of the example embodiments to those skilled in the art. The same reference numerals in the figures represent the same or similar structures, and thus their repeated description will be omitted.

[0059] Currently, when users access the operator's routing equipment, in order to improve service reliability and meet business growth, users often access the same edge routing equipment of the operator through multiple CE devices. Operators need to provide users with load balancing between the uplink links of multiple CE devices based on the total contracted bandwidth to achieve optimal resource utilization.

[0060] Currently, the following two access methods cannot achieve dynamic load balancing: 1. Link aggregation E-Trunk: If link aggregation is enabled between a single edge routing device and multiple CE devices, only active / standby can be achieved to enhance reliability, but load sharing cannot be achieved, resulting in a waste of link resources. 2. Layer 3 routing protocol: Through the layer 3 routing protocol (OSPF, ISIS, BGP, etc.) of the routing device itself, if there are multiple links when accessing the same destination, load sharing can be achieved through multiple routes, but the bandwidth limit of each link can only be configured initially. After configuration, the speed limit cannot be adjusted dynamically according to the actual changes in the link according to the service rate. When a fault occurs, it cannot be perceived in real time and cannot be adjusted manually in time, resulting in complaints from users due to a reduction in available bandwidth.

[0061] Therefore, under the deterministic service trend, when multiple CE devices of a user are connected to the same routing device, regardless of network changes or failures, it is required to obtain the agreed service commitments such as availability and service bandwidth, while the simple use of link aggregation and three-layer routing protocols can no longer meet the needs of flexible and reasonable speed limit and load sharing at the service level. The present invention discloses a bandwidth management method, which realizes automatic rate adjustment and load sharing based on the service contract bandwidth, and optimizes resource utilization.

[0062] like Figure 1 As shown, an embodiment of the present invention discloses a bandwidth management method. The method is applicable to a scenario where multiple CE devices are connected to the same routing device. Figure 2 As shown, it shows a system architecture diagram involved in the above-mentioned bandwidth management method, that is, a connection scenario between a CE device located at a user end and a routing device located at an operator end. Figure 2 Only two CE devices (ie, CE1 and CE2) are shown, but the present application is not limited to this number of CE devices.

[0063] In this embodiment, the bandwidth management method includes the following steps:

[0064] S110, a routing device determines multiple CE devices belonging to the same user as a load group. The routing device may be a PE (Provider Edge) router.

[0065] In specific implementation, this step may include:

[0066] S111, the routing device establishes a routing table storing routing information between the routing device and the CE device based on the three-layer routing protocol.

[0067] S112: The routing device identifies, based on the routing table, multiple links corresponding to multiple CE devices belonging to the same user, and divides the multiple CE devices into the same load group.

[0068] Specifically, the routing device itself performs load balancing based on the three-layer routing protocol (OSPF, ISIS, BGP, etc.) and establishes a routing table. Based on the three-layer routing table, the routing device identifies multiple links corresponding to multiple CE devices of the same user and marks them as a load group.

[0069] Member links under the same load group are marked with the same load group ID. When the routing device forwards traffic, all links with the same load group ID share a service bandwidth. At the same time, the routing device will update and maintain the validity of link members, that is, members in the load group, according to the link status.

[0070] Each user has a contracted bandwidth (i.e., the service bandwidth purchased by the user), which is the rated bandwidth of the user. It is also the speed limit bandwidth of the load group. Therefore, each load group has a total speed limit bandwidth.

[0071] refer to Figure 2 In this embodiment, the load group ID corresponding to the above CE devices CE1 and CE2 is 1, and then the routing device is provided with two interfaces, namely interface 1 and interface 2, and then the CE devices and the above interfaces correspond one to one, that is, one CE device is connected to one interface on the routing device. In this embodiment, the CE1 device in the above load group ID=1 is connected to interface 1 of the routing device, and the CE2 device in the load group ID=1 is connected to interface 2 of the routing device.

[0072] S120, the routing device determines the speed limit bandwidth corresponding to each of the CE devices according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group. In specific implementation, the contracted bandwidth can be evenly distributed according to the number of CE devices in the load group. It is also possible to set a weight for each link, i.e., each CE device, according to actual needs, and then allocate a speed limit bandwidth to each link according to the weight. The sum of the speed limit bandwidths corresponding to each CE device is equal to the rated bandwidth, i.e., the contracted bandwidth.

[0073] In this embodiment, the contracted bandwidth is evenly divided according to the number of CE devices in the load group. Therefore, the speed limit bandwidth corresponding to each of the above CE devices is the ratio of the contracted bandwidth to the number of the above CE devices. Then, in this embodiment, the load group speed limit function is enabled in the inbound and outbound directions of the load group, and the speed limit bandwidth is allocated to each CE device based on the token bucket algorithm.

[0074] For example, if the service bandwidth purchased by the user is X, the load group speed limit function is enabled in the inbound and outbound directions of the load group. Figure 2 , there are two CE devices, then there are two links in the system architecture, namely link 1 and link 2. In this embodiment, according to the speed limit bandwidth X and the link valid members link 1 and link 2, the speed limit bandwidth of link 1 and link 2 are configured to X / 2 respectively, and X / 2 bandwidth is allocated to CE1 and CE2 respectively based on the token bucket algorithm. At this time, the upload and download traffic of CE1 device per unit time cannot exceed X / 2, and the upload and download traffic of CE2 device per unit time cannot exceed X / 2.

[0075] The token bucket algorithm can not only prevent network congestion, limit the flow of traffic out of the network, and send the traffic out at a relatively uniform speed to control the number of data sent to the network when transmitting data in the network, but also allow the sending of burst data. In the token bucket algorithm, a fixed-size token bucket can generate tokens at a constant rate. If the token is not consumed, or the speed of consumption is lower than the speed of generation, the token will continue to increase until the bucket is full. The tokens generated later will overflow from the bucket. Finally, the maximum number of tokens that can be stored in the bucket will never exceed the size of the bucket. The token bucket control mechanism indicates when traffic can be sent based on whether there are tokens in the token bucket. Each token in the token bucket represents a byte. If there are tokens in the token bucket, traffic is allowed to be sent; if there are no tokens in the token bucket, traffic is not allowed to be sent. Therefore, if the burst threshold is configured reasonably and there are enough tokens in the token bucket, traffic can be sent at the peak rate.

[0076] The basic process of the token bucket algorithm is as follows: If the average sending rate configured by the user is r, a token is added to the bucket every 1 / r seconds; Assume that the bucket can store and send a maximum of b tokens. If the token bucket is full when a token arrives, the token will be discarded; When a data packet of n bytes arrives, n tokens are deleted from the token bucket, and the data packet is sent to the network; If there are less than n tokens in the token bucket, the token will not be deleted, and the data packet is considered to be outside the flow limit; The algorithm allows bursts of up to b bytes, but from the long-term operation results, the rate of data packets is limited to a constant r.

[0077] S130, the above-mentioned routing device monitors each link, obtains the link routing status corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the above-mentioned link routing status. The above-mentioned link is the link connecting the above-mentioned CE device and the routing device. Specifically, during the working process, there is a possibility that some links fail, that is, some link routes are unreachable. At this time, correspondingly, the number of valid members in the link will decrease, then it is necessary to adjust the speed limit bandwidth of each link accordingly, so as to ensure maximum resource utilization. In this embodiment, the speed limit bandwidth corresponding to each link is adjusted only when the above-mentioned link routing status changes. This is conducive to saving network overhead.

[0078] In this embodiment, after the routing device detects a link failure through its own BFD and other mechanisms, it can automatically calculate and reconfigure the speed limit bandwidth of each available link without manual intervention, thus realizing the intelligent operation and maintenance requirements and being able to flexibly configure a new speed limit bandwidth according to the real-time status of the link. Among them, BFD is a bidirectional forwarding detection mechanism that can provide millisecond-level detection and can achieve rapid detection of links. BFD can achieve rapid convergence of routing and ensure business sustainability by linking with the upper-layer routing protocol. It should be noted that in other embodiments, the CE device can also detect whether the link has failed based on the BFD mechanism. This application does not impose any restrictions on this.

[0079] In one embodiment, if Figure 3 As shown, the above step S130 may include:

[0080] S131, the above-mentioned routing device monitors each link, obtains the link routing status corresponding to each link, and updates the number of CE devices in the load group according to the above-mentioned link routing status. Since the number of CE devices in the load group is equal to the number of valid members in the link, and the CE devices and links correspond one to one, this step is to update the number of valid members in the link. In this embodiment, the above-mentioned link routing status is unreachable or reachable. When the link routing status is unreachable, it means that the link fails, then these links are non-valid members, and the corresponding links need to be removed from the valid members, and the corresponding CE devices need to be removed from the load group. Only the links whose link routing status is reachable are retained, and accordingly, only the CE devices whose links are reachable are retained in the load group.

[0081] S132, the routing device adjusts the speed limit bandwidth corresponding to each link according to the updated number of CE devices in the load group. Exemplarily, in this embodiment, the new speed limit bandwidth corresponding to each link can be the ratio of the contracted bandwidth to the updated number of CE devices. Of course, the present application is not limited to this. In other embodiments, bandwidth allocation can also be performed according to actual needs and the updated number of CE devices.

[0082] Alternatively, if Figure 4 As shown, in another embodiment, the above step S130 may include:

[0083] S133: Taking the number of CE devices in the load group as the initial number.

[0084] S134, the routing device obtains the number of links whose link routing status is unreachable as a first number. The link routing status is unreachable or reachable.

[0085] S135: taking the difference between the initial quantity and the first quantity as the second quantity.

[0086] S136: The routing device adjusts the speed limit bandwidth corresponding to each link according to the second number.

[0087] Exemplarily, in this embodiment, the new speed limit bandwidth corresponding to each link can be the ratio of the contracted bandwidth to the updated number of CE devices, that is, the second number. The above ratio is used as the speed limit bandwidth corresponding to the link whose link routing state is reachable. Of course, the present application is not limited to this. In other embodiments, bandwidth allocation can also be performed according to actual needs and the above second number.

[0088] In another embodiment of the present application, another bandwidth management method is disclosed. Figure 5 As shown in the above Figure 1 On the basis of the corresponding embodiment, the steps are also included:

[0089] S140, the routing device obtains the congestion status corresponding to each link, and when the above congestion status is congested, executes the corresponding congestion management policy on the above link. The above congestion status is congested or not congested. In this embodiment, the above congestion management policy is a QoS scheduling policy. That is, when the traffic sent or received by the CE device is greater than the allocated speed limit bandwidth, the link corresponding to the CE device is congested. Referring to the above embodiment, if the speed limit bandwidth allocated to each link is X / 2, when the user traffic of the CE1 device per unit time exceeds X / 2, the congestion management policy is executed on the CE1 device, or the congestion management policy is executed on the corresponding load group with ID=1. When the user traffic of the CE2 device per unit time exceeds X / 2, the congestion management policy is executed on the CE2 device, or the congestion management policy is executed on the corresponding load group with ID=1.

[0090] When the network is congested, all data streams may be discarded. In order to meet the user's requirements for different service qualities for different applications, the network needs to be able to allocate and schedule resources according to the user's requirements and provide different service qualities for different data streams: give priority to real-time and important data packets; for ordinary data packets that are not real-time, provide a lower processing priority, and even discard them when the network is congested. Therefore, QoS came into being. Equipment that supports QoS functions can provide transmission quality services; for a certain category of data streams, it can be given a certain level of transmission priority to identify its relative importance, and use the various priority forwarding strategies, congestion avoidance and other mechanisms provided by the equipment to provide special transmission services for these data streams. A network environment configured with QoS increases the predictability of network performance, and can effectively allocate network bandwidth and make more reasonable use of network resources.

[0091] In another embodiment of the present application, another bandwidth management method is disclosed. Figure 1 On the basis of the corresponding embodiment, the steps are also included:

[0092] S150, the routing device obtains the traffic sum of each link corresponding to the above load group and uploads it. That is, the routing device counts the traffic sum of all member links in real time and uploads it, such as uploading it to other control platforms, so that the control platform can effectively allocate network bandwidth according to the traffic sum and use network resources more reasonably.

[0093] It should be noted that all the above embodiments disclosed in this application can be freely combined, and the technical solutions obtained after the combination are also within the protection scope of this application.

[0094] like Figure 6 As shown, an embodiment of the present invention further discloses a bandwidth management system 6, which includes:

[0095] In the load group determination module 61 , the routing device determines multiple CE devices belonging to the same user as a load group.

[0096] The bandwidth allocation module 62, the routing device determines the speed limit bandwidth corresponding to each of the CE devices according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group.

[0097] as well as

[0098] The bandwidth adjustment module 63, the routing device monitors each link, obtains the link routing status corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the link routing status. The link is the link connecting the CE device and the routing device.

[0099] It can be understood that the bandwidth management system of the present invention also includes other existing functional modules that support the operation of the bandwidth management system. Figure 6 The bandwidth management system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0100] The bandwidth management system in this embodiment is used to implement the above-mentioned bandwidth management method. Therefore, the specific implementation steps of the bandwidth management system can refer to the above-mentioned description of the bandwidth management method, which will not be repeated here.

[0101] In a specific implementation, the load group determination module 61 can establish a routing table storing routing information between the routing device and the CE device based on a three-layer routing protocol, and then identify multiple links corresponding to multiple CE devices belonging to the same user based on the routing table, and divide the multiple CE devices into the same load group.

[0102] Specifically, the routing device itself performs load balancing based on the three-layer routing protocol (OSPF, ISIS, BGP, etc.) and establishes a routing table. Based on the three-layer routing table, the routing device identifies multiple links corresponding to multiple CE devices of the same user and marks them as a load group.

[0103] Member links under the same load group are marked with the same load group ID. When the routing device forwards traffic, all links with the same load group ID share a service bandwidth. At the same time, the routing device will update and maintain the validity of link members, that is, members in the load group, according to the link status.

[0104] Each user has a contracted bandwidth (i.e., the service bandwidth purchased by the user), which is the rated bandwidth of the user. It is also the speed limit bandwidth of the load group. Therefore, each load group has a total speed limit bandwidth.

[0105] The bandwidth allocation module 62 can evenly allocate the contracted bandwidth according to the number of CE devices in the load group. It can also set a weight for each link, i.e., each CE device, according to actual needs, and then allocate a speed-limited bandwidth to each link according to the weight. The sum of the speed-limited bandwidths corresponding to each CE device is equal to the rated bandwidth, i.e., the contracted bandwidth.

[0106] In this embodiment, the contracted bandwidth is evenly divided according to the number of CE devices in the load group. Therefore, the speed limit bandwidth corresponding to each of the above CE devices is the ratio of the contracted bandwidth to the number of the above CE devices. Then, in this embodiment, the load group speed limit function is enabled in the inbound and outbound directions of the load group, and the speed limit bandwidth is allocated to each CE device based on the token bucket algorithm.

[0107] For example, if the service bandwidth purchased by the user is X, the load group speed limit function is enabled in the inbound and outbound directions of the load group. Figure 2 , there are two CE devices, then there are two links in the system architecture, namely link 1 and link 2. In this embodiment, according to the speed limit bandwidth X and the link valid members link 1 and link 2, the speed limit bandwidth of link 1 and link 2 are configured to X / 2 respectively, and X / 2 bandwidth is allocated to CE1 and CE2 respectively based on the token bucket algorithm. At this time, the upload and download traffic of CE1 device per unit time cannot exceed X / 2, and the upload and download traffic of CE2 device per unit time cannot exceed X / 2.

[0108] The token bucket algorithm can not only prevent network congestion, limit the flow of traffic out of the network, and send the traffic out at a relatively uniform speed to control the number of data sent to the network when transmitting data in the network, but also allow the sending of burst data. In the token bucket algorithm, a fixed-size token bucket can generate tokens at a constant rate. If the token is not consumed, or the speed of consumption is lower than the speed of generation, the token will continue to increase until the bucket is full. The tokens generated later will overflow from the bucket. Finally, the maximum number of tokens that can be stored in the bucket will never exceed the size of the bucket. The token bucket control mechanism indicates when traffic can be sent based on whether there are tokens in the token bucket. Each token in the token bucket represents a byte. If there are tokens in the token bucket, traffic is allowed to be sent; if there are no tokens in the token bucket, traffic is not allowed to be sent. Therefore, if the burst threshold is configured reasonably and there are enough tokens in the token bucket, traffic can be sent at the peak rate.

[0109] The basic process of the token bucket algorithm is as follows: If the average sending rate configured by the user is r, a token is added to the bucket every 1 / r seconds; Assume that the bucket can store and send a maximum of b tokens. If the token bucket is full when a token arrives, the token will be discarded; When a data packet of n bytes arrives, n tokens are deleted from the token bucket, and the data packet is sent to the network; If there are less than n tokens in the token bucket, the token will not be deleted, and the data packet is considered to be outside the flow limit; The algorithm allows bursts of up to b bytes, but from the long-term operation results, the rate of data packets is limited to a constant r.

[0110] During the operation of the load group, there is a possibility that some links fail, that is, some link routes are unreachable. At this time, the number of valid members in the link will decrease accordingly, so the bandwidth adjustment module 63 needs to adjust the speed limit bandwidth of each link accordingly, so as to ensure maximum resource utilization. In this embodiment, only when the above-mentioned link routing status changes, the bandwidth adjustment module 63 adjusts the speed limit bandwidth corresponding to each link. This is conducive to saving network overhead.

[0111] In this embodiment, the bandwidth adjustment module 63 can detect link failure through its own BFD and other mechanisms, and can automatically calculate and reconfigure the speed limit bandwidth of each available link without manual intervention, thereby realizing intelligent operation and maintenance requirements and being able to flexibly configure new speed limit bandwidth according to the real-time status of the link. Among them, BFD is a bidirectional forwarding detection mechanism that can provide millisecond-level detection and can achieve rapid detection of links. BFD can achieve rapid convergence of routing and ensure business sustainability by linking with the upper-layer routing protocol. It should be noted that in other embodiments, the CE device can also detect whether the link has failed based on the BFD mechanism. This application does not impose any restrictions on this.

[0112] like Figure 7 As shown, another embodiment of the present invention further discloses a bandwidth management system 7, in which the bandwidth adjustment module 63 specifically includes:

[0113] CE device quantity update unit 631, the routing device monitors each link, obtains the link routing status corresponding to each link, and updates the number of CE devices in the load group according to the above link routing status. Since the number of CE devices in the load group is equal to the number of valid members in the link, and the CE devices and links correspond one to one, this step is to update the number of valid members in the link. In this embodiment, the above link routing status is unreachable or reachable. When the link routing status is unreachable, it means that the link fails, then these links are invalid members, and the corresponding links need to be removed from the valid members, and the corresponding CE devices need to be removed from the load group. Only the links whose link routing status is reachable are retained, and accordingly, only the CE devices whose links are reachable are retained in the load group.

[0114] The bandwidth adjustment execution unit 632, the routing device adjusts the speed limit bandwidth corresponding to each link according to the updated number of CE devices in the above load group. Exemplarily, in this embodiment, the new speed limit bandwidth corresponding to each link can be the ratio of the contracted bandwidth and the updated number of CE devices. Of course, the present application is not limited to this. In other embodiments, bandwidth allocation can also be performed according to actual needs and the updated number of CE devices.

[0115] like Figure 8 As shown, in one embodiment of the present application, the bandwidth adjustment module 63 specifically includes:

[0116] The initial quantity determining unit 633 takes the quantity of CE devices in the load group as the initial quantity.

[0117] The first quantity determining unit 634, the routing device obtains the quantity of the links whose link routing status is unreachable as the first quantity. The link routing status is unreachable or reachable.

[0118] The second quantity determining unit 635 uses the difference between the initial quantity and the first quantity as the second quantity.

[0119] The third unit 636, the routing device adjusts the speed limit bandwidth corresponding to each link according to the second number.

[0120] Exemplarily, in this embodiment, the new speed limit bandwidth corresponding to each link can be the ratio of the contracted bandwidth to the updated number of CE devices, that is, the second number. The above ratio is used as the speed limit bandwidth corresponding to the link whose link routing state is reachable. Of course, the present application is not limited to this. In other embodiments, bandwidth allocation can also be performed according to actual needs and the above second number.

[0121] like Fig. 9 As shown, another embodiment of the present invention further discloses a bandwidth management system 9, which is Figure 6 On the basis of the corresponding embodiment, it also includes:

[0122] Congestion processing module 64, the routing device obtains the congestion status corresponding to each link, and when the above congestion status is congested, executes the corresponding congestion management strategy for the above link. The above congestion status is congested or not congested. In this embodiment, the above congestion management strategy is a QoS scheduling strategy. That is, when the traffic sent or received by the CE device is greater than the allocated speed limit bandwidth, the link corresponding to the CE device is congested. Referring to the above embodiment, if the speed limit bandwidth allocated to each link is X / 2, when the user traffic of the CE1 device per unit time exceeds X / 2, the congestion management strategy is executed on the CE1 device, or the congestion management strategy is executed on the corresponding load group with ID=1. When the user traffic of the CE2 device per unit time exceeds X / 2, the congestion management strategy is executed on the CE2 device, or the congestion management strategy is executed on the corresponding load group with ID=1.

[0123] Another embodiment of the present invention also discloses a bandwidth management system. Figure 6 On the basis of the corresponding embodiment, it also includes:

[0124] In the link traffic statistics upload module, the routing device obtains the traffic sum of each link corresponding to the above load group and uploads it. That is, the routing device counts the traffic sum of all member links in real time and uploads it, such as uploading it to other control platforms, so that the control platform can effectively allocate network bandwidth according to the traffic sum and use network resources more reasonably.

[0125] It should be noted that all the above embodiments disclosed in this application can be freely combined, and the technical solutions obtained after the combination are also within the protection scope of this application.

[0126] An embodiment of the present invention further discloses a bandwidth management device, including a processor and a memory, wherein the memory stores an executable program of the processor; the processor is configured to execute the steps in the above-mentioned bandwidth management method by executing the executable program. Fig.10 Schematic diagram of the structure of the bandwidth management device disclosed in the present invention. Fig.10 The electronic device 600 according to this embodiment of the present invention is described. Fig.10 The electronic device 600 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0127] like Fig.10 As shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different platform components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.

[0128] The storage unit stores program codes, which can be executed by the processing unit 610, so that the processing unit 610 executes the steps of various exemplary embodiments of the present invention described in the bandwidth management method section of this specification. For example, the processing unit 610 can execute the following steps: Figure 1 Follow the steps shown in .

[0129] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .

[0130] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0131] Bus 630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0132] The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 600, and / or communicate with any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., routing devices, modems, etc.). Such communication may be performed via an input / output (I / O) interface 650. Furthermore, the electronic device 600 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 660. The network adapter 660 may communicate with other modules of the electronic device 600 via a bus 630. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage platforms.

[0133] The present invention also discloses a computer-readable storage medium for storing a program, which implements the steps in the above-mentioned bandwidth management method when executed. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps of various exemplary implementations of the present invention described in the above-mentioned bandwidth management method of this specification.

[0134] As shown above, when the program of the computer-readable storage medium of this embodiment is executed, for the scenario where multiple CE devices of the same user are connected to the same routing device, based on the three-layer routing protocol and routing table, without the participation of the control device or external controller, the function of load balancing is realized within the routing device by adaptively limiting the speed as the link changes, ensuring that the network bearer meets the user's contracted bandwidth requirements, which is conducive to improving the user experience.

[0135] An embodiment of the present invention discloses a computer-readable storage medium. The storage medium is a program product for implementing the above method, which can be a portable compact disk read-only memory (CD-ROM) and includes program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0136] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0137] Computer readable storage media may include data signals propagated in baseband or as part of a carrier wave, wherein readable program codes are carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program codes contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0138] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).

[0139] The bandwidth management method, system, device and storage medium provided by the embodiments of the present invention are aimed at the scenario where multiple CE devices of the same user are connected to the same routing device. Based on the three-layer routing protocol and routing table, no control device or external controller is required to participate. Changes with the link are realized inside the routing device. Adaptive speed limiting can be performed based on the contracted bandwidth to achieve load balancing, optimize resource utilization, and improve user experience.

[0140] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A bandwidth management method, characterized in that: The following steps are involved: The routing device determines multiple CE devices belonging to the same user as a load group; The routing device determines the speed limit bandwidth corresponding to each of the CE devices according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group; as well as The routing device monitors each link, obtains the link routing status corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the link routing status; the link is a link connecting the CE device and the routing device, and multiple links corresponding to multiple CE devices belonging to the same load group are marked with the same load group identifier; According to the link routing status, the speed limit bandwidth corresponding to each link is adjusted, including: When the link routing state changes, the speed limit bandwidth corresponding to each link is adjusted, and the link routing state changes include at least one of adding a link, deleting a link, and a link failure.

2. The bandwidth management method according to claim 1, characterized in that: The method further comprises: The routing device obtains the congestion status corresponding to each link, and executes the corresponding congestion management strategy on the link when the congestion status is congestion; the congestion status is congestion or non-congestion.

3. The bandwidth management method according to claim 1, characterized in that: The routing device determines multiple CE devices belonging to the same user as a load group, including: The routing device establishes a routing table storing routing information between the routing device and the CE device based on a layer 3 routing protocol; The routing device identifies multiple links corresponding to multiple CE devices belonging to the same user according to the routing table, and divides the multiple CE devices into the same load group.

4. The bandwidth management method according to claim 1, characterized in that: The routing device determines the speed limit bandwidth corresponding to each of the CE devices according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group, including: The speed limit bandwidth corresponding to each of the CE devices is the ratio of the contracted bandwidth to the number of the CE devices.

5. The bandwidth management method according to claim 1, characterized in that: The adjusting the speed limit bandwidth corresponding to each link according to the link routing state includes: The routing device updates the number of CE devices in the load group according to the link routing state; The routing device adjusts the speed limit bandwidth corresponding to each link according to the updated number of CE devices in the load group.

6. The bandwidth management method according to claim 5, characterized in that: The adjusting the speed limit bandwidth corresponding to each link according to the link routing state includes: Taking the number of CE devices in the load group as the initial number; The routing device obtains, as a first quantity, the number of links whose link routing status is unreachable; the link routing status is unreachable or reachable; Taking the difference between the initial quantity and the first quantity as the second quantity; The routing device adjusts the speed limit bandwidth corresponding to each link according to the second number.

7. The bandwidth management method according to claim 6, characterized in that: The adjusting the speed limit bandwidth corresponding to each link according to the link routing state includes: The routing device uses the ratio of the subscribed bandwidth to the second number as the speed limit bandwidth corresponding to the link whose link routing status is reachable.

8. The bandwidth management method according to claim 2, characterized in that: The congestion management strategy is a QoS scheduling strategy.

9. A bandwidth management system, used to implement the bandwidth management method as claimed in claim 1, characterized in that: The system comprises: A load group determination module, in which the routing device determines multiple CE devices belonging to the same user as a load group; A bandwidth allocation module, wherein the routing device determines the speed limit bandwidth corresponding to each CE device according to the contracted bandwidth corresponding to the user and the number of CE devices in the load group; and The bandwidth adjustment module, the routing device monitors each link, obtains the link routing status corresponding to each link, and adjusts the speed limit bandwidth corresponding to each link according to the link routing status; the link is a link connecting the CE device and the routing device, and multiple links corresponding to multiple CE devices belonging to the same load group are marked with the same load group identifier; According to the link routing status, the speed limit bandwidth corresponding to each link is adjusted, including: When the link routing state changes, the speed limit bandwidth corresponding to each link is adjusted, and the link routing state changes include at least one of adding a link, deleting a link, and a link failure.

10. A bandwidth management device, characterized in that: include: processor; a memory in which an executable program of the processor is stored; The processor is configured to execute the steps of the bandwidth management method according to any one of claims 1 to 8 by executing the executable program.

11. A computer-readable storage medium for storing a program, characterized in that: When the program is executed by a processor, the steps of the bandwidth management method according to any one of claims 1 to 8 are implemented.