Traffic scheduling method and device, communication device and readable storage medium

By dynamically adjusting traffic forwarding strategies in a multi-path network, the problem of uneven load distribution is solved, load balancing is achieved, congestion and packet loss are prevented, and the availability and stability of important services are guaranteed.

CN118842762BActive Publication Date: 2026-06-05CHINA MOBILE COMM LTD RES INST +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2024-07-05
Publication Date
2026-06-05

Smart Images

  • Figure CN118842762B_ABST
    Figure CN118842762B_ABST
Patent Text Reader

Abstract

The application discloses a traffic scheduling method and device, communication equipment and a readable storage medium, and belongs to the communication technical field. The traffic scheduling method in the application embodiment comprises the following steps: starting an equalization strategy; when the equalization strategy is a first equalization strategy, forwarding the received traffic according to a first hash traffic table; or when the equalization strategy is a second equalization strategy, deleting a first flow table item meeting a condition from the first hash traffic table to obtain a second hash traffic table, and forwarding the received traffic according to the second hash traffic table. Therefore, different equalization strategies can be started to forward traffic, so that when the congestion intervention requirement is reached, the multi-path load is optimized by means of the adjustment of the equalization strategy, so that the load among the multi-paths is balanced, and the congestion, overload packet loss and the like caused by the uneven load are prevented.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technology, specifically relating to a traffic scheduling method, apparatus, communication equipment, and readable storage medium. Background Technology

[0002] To address the network quality requirements of different services, network traffic is typically divided into two types: strict tunnel traffic and loose tunnel traffic. Strict tunnel traffic, where services typically rely on strict path designation to ensure latency and bandwidth. Loose tunnel traffic, on the other hand, has fewer path constraints and often utilizes hashing algorithms for load balancing when multiple paths exist. When multiple paths exist between repeater devices, tunnel traffic using strict paths will be forwarded along one or a few designated paths to guarantee bandwidth and latency for the services being carried. Loose tunnel traffic or public network traffic, however, is usually forwarded more evenly across multiple paths using hashing algorithms. This can easily lead to a few strictly tunneled paths becoming hotspots, resulting in uneven load distribution across multiple paths and increasing the risk of congestion and packet loss. Summary of the Invention

[0003] The purpose of this application is to provide a traffic scheduling method, apparatus, communication device, and readable storage medium to solve the problem of uneven load distribution among multiple paths caused by current traffic scheduling methods.

[0004] To solve the above-mentioned technical problems, this application is implemented as follows:

[0005] Firstly, a traffic scheduling method is provided, including:

[0006] Enable the equilibrium strategy;

[0007] When the balancing strategy is the first balancing strategy, the received traffic is forwarded according to the first hash traffic table; or, when the balancing strategy is the second balancing strategy, the first flow table entry that meets the conditions is deleted from the first hash traffic table to obtain the second hash traffic table, and the received traffic is forwarded according to the second hash traffic table.

[0008] Optionally, the first hash flow table contains at least one flow table entry, and each flow table entry includes at least one of the following:

[0009] The flow information corresponding to each flow table entry;

[0010] Forwarding information for the traffic corresponding to each flow table entry;

[0011] The lifetime of each flow table entry;

[0012] The flag bit of each flow table entry is used to indicate that the flow corresponding to each flow table entry has one or more outgoing interfaces.

[0013] Optionally, the first flow table entry satisfies any one of the following:

[0014] The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceed the threshold, and the traffic corresponding to the first flow table entry has multiple outgoing interfaces.

[0015] The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceeds a threshold. The traffic corresponding to the first flow table entry has multiple outgoing interfaces. The first flow table entry is a random or X% flow table entry in the first set that meets the first condition. The first set includes all flow table entries in the first hash traffic table whose bandwidth utilization and / or buffer queue length of the outgoing interface of the corresponding traffic exceeds a threshold. X is a value greater than 0.

[0016] The first flow table entry is a random number of Y flow table entries from the second set that satisfy the second condition. The second set includes all flow table entries in the first hash flow table that have multiple outgoing interfaces for the corresponding flow. Y is a value greater than 0.

[0017] Optionally, forwarding the received traffic according to the first hash traffic table includes:

[0018] When the first hash traffic table contains a second flow table entry that matches the flow information of the traffic, the traffic is forwarded according to the outgoing interface of the traffic corresponding to the second flow table entry;

[0019] Alternatively, if the first hash traffic table does not contain a second flow entry that matches the flow information of the traffic, the traffic is forwarded by selecting a path outgoing interface that meets the third condition from multiple path outgoing interfaces obtained based on the routing algorithm.

[0020] Optionally, the activation of the balancing strategy includes:

[0021] When the first activation condition is met, the first equilibrium strategy is activated; or, when the second activation condition is met, the second equilibrium strategy is activated.

[0022] The first activation condition includes at least one of the following:

[0023] The bandwidth utilization of some outgoing interfaces used for forwarding traffic in the multipath exceeds the first threshold.

[0024] The length of the cache queue for a portion of the outgoing interfaces used for forwarding traffic in a multipath exceeds the second threshold.

[0025] The bandwidth utilization difference between some outgoing interfaces of the multipath used for forwarding traffic exceeds the third threshold.

[0026] Received instruction to enable the first load balancing strategy;

[0027] The second activation condition includes at least one of the following:

[0028] The bandwidth utilization of some outgoing interfaces of the multipath used for forwarding traffic exceeds a fourth threshold, which is greater than the first threshold.

[0029] The cache queue of some outgoing interfaces used for forwarding traffic in a multipath exceeds a fifth threshold, which is greater than the second threshold;

[0030] The difference in bandwidth utilization between some outgoing interfaces of the multipath used for forwarding traffic exceeds a sixth threshold, and the sixth threshold is greater than the third threshold.

[0031] The instruction to enable the second load balancing strategy has been received.

[0032] Optionally, after enabling the balancing strategy, the method further includes:

[0033] Periodically check whether the first activation condition or the second activation condition is met;

[0034] When the first activation condition is met, if the first balancing strategy is currently being executed, then the first balancing strategy will continue to be executed; or, if the second balancing strategy is currently being executed, then the first balancing strategy will be changed to be executed.

[0035] or,

[0036] When the second activation condition is met, if the first balancing strategy is currently being executed, then the second balancing strategy is switched to be executed; or, if the second balancing strategy is currently being executed, then the second balancing strategy is executed again.

[0037] Optionally, after enabling the balancing strategy, the method further includes:

[0038] Start the timer;

[0039] When the timer reaches the preset duration, the equalization strategy is turned off.

[0040] Optionally, the method further includes:

[0041] Dynamically update the first hash flow table;

[0042] Optionally, the dynamic updating of the first hash flow table includes at least one of the following:

[0043] When the first traffic matching the fourth flow entry is forwarded within the aging time of the fourth flow entry in the first hash traffic table, the lifespan of the fourth flow entry is refreshed, and / or, when the outgoing interface of the first traffic changes, the outgoing interface information in the fourth flow entry is refreshed.

[0044] When the second flow matching the fifth flow entry in the first hash flow table is not received again within the aging time of the fifth flow entry in the first hash flow table, the fifth flow entry is deleted from the first hash flow table.

[0045] When a third flow is received, and the first hash flow table does not contain flow information for the third flow, the flow table entry corresponding to the third flow is added to the first hash flow table.

[0046] When the first outgoing interface fails, all flow table entries in the first hash flow table that use the first outgoing interface as the forwarding exit will be deleted.

[0047] Secondly, a traffic scheduling device is provided, comprising:

[0048] Enable module to enable the load balancing strategy;

[0049] The processing module is configured to forward the received traffic according to the first hash traffic table when the balancing strategy is the first balancing strategy; or, when the balancing strategy is the second balancing strategy, delete the first flow table entry that meets the conditions from the first hash traffic table to obtain the second hash traffic table, and forward the received traffic according to the second hash traffic table.

[0050] Thirdly, a communication device is provided, including a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method described in the first aspect.

[0051] Fourthly, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect.

[0052] Fifthly, a computer program product is provided, including computer instructions that, when executed by a processor, implement the steps of the method described in the first aspect.

[0053] The scheme in this application embodiment allows for different load balancing strategies to be enabled for traffic forwarding. For example, when the first load balancing strategy is enabled, received traffic is forwarded according to the first hash traffic table; or when the second load balancing strategy is enabled, first flow table entries that meet certain conditions are deleted from the first hash traffic table (e.g., the bandwidth utilization of the corresponding traffic outgoing interface and / or the cache queue length exceeds a threshold), resulting in a second hash traffic table, and received traffic is forwarded according to the second hash traffic table. Therefore, when congestion intervention is required, the load balancing strategy can be adjusted to optimize multi-path load, thereby achieving load balancing across multiple paths, preventing congestion, overload, and packet loss caused by uneven load, and ensuring the availability and stability of important services carried by strict tunnel paths, thus improving the service quality of high-value services. Attached Figure Description

[0054] Figure 1 This is a flowchart of a traffic scheduling method provided in an embodiment of this application;

[0055] Figure 2 This is a schematic diagram of the deployment of the repeater device in the embodiments of this application;

[0056] Figure 3 This is a schematic diagram of the multipath traffic scheduling process in a specific embodiment of this application;

[0057] Figure 4 This is a schematic diagram of the structure of a traffic scheduling device provided in an embodiment of this application;

[0058] Figure 5 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0059] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0060] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and are not limited in number; for example, a first object can be one or more.

[0061] The following description, in conjunction with the accompanying drawings, details the traffic scheduling method, apparatus, communication equipment, and readable storage medium provided in this application through specific embodiments and application scenarios.

[0062] Please see Figure 1 , Figure 1 This is a flowchart illustrating a traffic scheduling method provided in an embodiment of this application. The method is applied to a communication device, which may be, but is not limited to, a repeater device, a repeater, or a traffic repeater device; for example... Figure 1 As shown, the method includes the following steps:

[0063] Step 11: Enable the balancing strategy;

[0064] Step 12: When the balancing strategy is the first balancing strategy, the received traffic is forwarded according to the first hash traffic table; or, when the balancing strategy is the second balancing strategy, the first flow table entry that meets the conditions is deleted from the first hash traffic table to obtain the second hash traffic table, and the received traffic is forwarded according to the second hash traffic table.

[0065] In this embodiment, the conditions that the first flow table entry must meet can be set based on actual needs, such as the bandwidth utilization of the traffic outgoing interface corresponding to the first flow table entry and / or the length of the buffer queue exceeding a threshold, etc., and there is no limitation on this. In addition, the first flow table entry can also be manually selected.

[0066] When enabling the traffic load balancing strategy, either the first or second traffic load balancing strategy can be enabled based on preset enabling conditions. If the first traffic load balancing strategy is enabled, it is executed accordingly, that is, the received traffic is forwarded according to the first hash traffic table. If the second traffic load balancing strategy is enabled, it is executed accordingly, that is, the first flow table entries that meet the conditions are deleted from the first hash traffic table (this deletion operation is only performed once to avoid deleting too many flow table entries and ensure that there are enough flow table entries for traffic forwarding), resulting in the second hash traffic table, and the received traffic is forwarded according to the second hash traffic table.

[0067] The first and second balancing strategies are distinguished based on the severity of traffic unevenness. The first balancing strategy corresponds to a lower degree of traffic unevenness, while the second balancing strategy corresponds to a higher degree of traffic unevenness.

[0068] The received traffic can be selected as tunnel traffic with a strict path, tunnel traffic with a loose path, or public network traffic, etc., and there is no limitation on this.

[0069] The first hash traffic table can be obtained by the repeater device recording various types of traffic that are forwarded through the repeater device after the hash traffic table recording function is enabled.

[0070] Optionally, the first hashed traffic table contains at least one flow table entry, each flow table entry can be understood as a set of policy entries for the corresponding traffic, used to indicate the forwarding of the corresponding traffic, etc.; each flow table entry may include at least one of the following:

[0071] (1) Flow information of the traffic corresponding to each flow table entry; for example, the flow information may include, but is not limited to, at least one of the following: source address, destination address, protocol number, source port number, destination port number, flow label (such as Flowlabel), etc.

[0072] (2) Forwarding information of the traffic corresponding to each flow table entry; for example, the forwarding information may be related to the outgoing interface, such as including but not limited to the outgoing interface identifier, outgoing interface address, etc.

[0073] (3) The lifespan of each flow entry; this lifespan can be used to determine how long the corresponding flow entry has existed;

[0074] (4) A flag bit for each flow entry, which indicates that the flow corresponding to each flow entry has one or more outgoing interfaces. For example, if a new flow entry is added and the corresponding flow has only one outgoing interface, the flag bit of the flow entry can be marked as F, where F indicates that the flow corresponding to the flow entry has only one outgoing interface; or, if a new flow entry is added and the corresponding flow has multiple outgoing interfaces, the flag bit of the flow entry can be marked as S, where S indicates that the flow corresponding to the flow entry has multiple outgoing interfaces.

[0075] Optionally, forwarding the received traffic according to the first hash traffic table may include: when the first hash traffic table contains a second flow table entry that matches the flow information of the received traffic, forwarding the traffic according to the outgoing interface of the traffic corresponding to the second flow table entry; or, when the first hash traffic table does not contain a second flow table entry that matches the flow information of the received traffic, forwarding the traffic according to the outgoing interface obtained based on the routing algorithm, such as selecting the path outgoing interface that meets the third condition from multiple path outgoing interfaces obtained based on the routing algorithm to forward the traffic; the third condition may be, but is not limited to, the lowest bandwidth utilization, the shortest buffer queue length, etc., and can be selected based on actual needs. For example, in a practical implementation, for received traffic, the flow information of the traffic can be queried first (such as, but not limited to, source address, destination address, protocol number, source port number, destination port number, flow tag, etc.). Then, the queried flow information is matched with the flow information included in the flow table entries in the first hash flow table. For example, the source address and destination address can be matched simultaneously. When a match is successful, it is determined that the first hash flow table contains a second flow table entry that matches the flow information of the received traffic. For the above routing algorithm, a conventional routing algorithm can be used. For example, when the flow information cannot be matched, the path exit of the received traffic can be calculated according to the conventional routing algorithm. When there are multiple path exit interfaces, the path exit interface with the lowest bandwidth utilization or the shortest buffer queue length is selected from these multiple path exit interfaces to forward the received traffic, and the relevant information of the traffic is added to the hash flow table.

[0076] Optionally, the forwarding of received traffic based on the second hash traffic table may include: when the second hash traffic table contains a second flow table entry that matches the flow information of the received traffic, forwarding the traffic according to the outgoing interface of the traffic corresponding to the second flow table entry; or, when the second hash traffic table does not contain a second flow table entry that matches the flow information of the received traffic, forwarding the traffic according to the outgoing interface obtained based on the routing algorithm, such as selecting the path outgoing interface that meets the third condition from multiple path outgoing interfaces obtained based on the routing algorithm to forward the traffic; the third condition may be, but is not limited to, the lowest bandwidth utilization, the shortest buffer queue length, etc., and can be selected based on actual needs. For example, in a practical implementation, for received traffic, the flow information of the traffic can be queried first (such as, but not limited to, source address, destination address, protocol number, source port number, destination port number, flow tag, etc.). Then, the queried flow information is matched with the flow information included in the flow table entries in the second hash flow table. For example, both the source address and destination address can be matched simultaneously. When a match is successful, it is determined that the second hash flow table contains a second flow table entry that matches the flow information of the received traffic. For the above routing algorithm, a conventional routing algorithm can be used. For example, when the flow information cannot be matched, the path exit of the received traffic can be calculated according to the conventional routing algorithm. When there are multiple path exit interfaces, the path exit interface with the lowest bandwidth utilization or the shortest buffer queue length is selected from these multiple path exit interfaces to forward the received traffic, and the relevant information of the traffic is added to the hash flow table.

[0077] The scheme in this application embodiment allows for different load balancing strategies to be enabled for traffic forwarding. For example, when the first load balancing strategy is enabled, received traffic is forwarded according to the first hash traffic table; or when the second load balancing strategy is enabled, first flow table entries that meet certain conditions are deleted from the first hash traffic table (e.g., the bandwidth utilization of the corresponding traffic outgoing interface and / or the cache queue length exceeds a threshold), resulting in a second hash traffic table, and received traffic is forwarded according to the second hash traffic table. Therefore, when congestion intervention is required, the load balancing strategy can be adjusted to optimize the load on multiple paths used for forwarding traffic, thereby achieving load balancing across multiple paths. This prevents congestion, overload, and packet loss caused by uneven load, ensuring the availability and stability of important services carried by strict tunnel paths and improving the service quality of high-value services.

[0078] Furthermore, by adopting the scheme in this application, when congestion intervention is required, hashable traffic such as loose path tunnel traffic and public network traffic can be selected and allocated according to link utilization to ensure load balancing among multiple paths between forwarders and reduce the possibility of congestion and packet loss. At the same time, it minimizes changes to the forwarding paths of active traffic, reducing out-of-order issues caused by changes in active traffic paths.

[0079] It should be noted that the solution in this application is applicable to scenarios including, but not limited to, networks where multiple types of traffic coexist, such as SRv6. This network may contain multiple repeater devices, such as... Figure 2 As shown, the traffic scheduling method in this application can be applied to repeater devices located anywhere in the network. Specifically, repeater devices in the network, by enabling Interior Gateway Protocol (IGP) (including SRv6 and other functions), can obtain the network topology and routes within the area to perform path calculations, thereby enabling them to forward data packets. When repeater devices have equal / non-equal-cost multiple paths, and the obtained public network traffic, SRv6 BE traffic, SRv6 tunnel traffic, and other traffic types are unevenly distributed, the traffic scheduling method in this application can be used to load balance the multi-path distributed traffic, thereby achieving the effect of load balancing.

[0080] In this embodiment, congestion conditions can be set based on actual conditions, thus obtaining a second hashed flow table for traffic forwarding. The first flow table entry can satisfy any of the following:

[0081] (a) The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceeds a threshold, and the traffic corresponding to the first flow table entry has multiple outgoing interfaces; this threshold can be set based on actual needs; under this (a), when executing the second load balancing strategy, the set of outgoing interfaces {PL} with bandwidth utilization and / or buffer queue length exceeding the threshold can be marked first, and then the flow table entries in the first hash flow table that match the outgoing interfaces in the set of outgoing interfaces {PL} and whose flag bit is S (this S indicates that the traffic corresponding to the flow table entry has multiple outgoing interfaces) can be selected to form the first flow table entry. Finally, the first flow table entry is deleted from the first hash flow table (this deletion operation is only performed once to avoid deleting too many flow table entries and ensure that there are enough flow table entries for traffic forwarding) to obtain the second hash flow table, and the received traffic is forwarded according to the second hash flow table.

[0082] (b) The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceeds a threshold; the traffic corresponding to the first flow table entry has multiple outgoing interfaces; and the first flow table entry is a random number of X% of flow table entries in a first set that satisfy the first condition. The first set includes all flow table entries in the first hashed traffic table whose bandwidth utilization and / or buffer queue length of the corresponding outgoing interface of the traffic exceeds the threshold, where X is a value greater than 0. The threshold and X can be set based on actual needs. The first condition can be set based on actual needs, such as, but not limited to, the lowest survival time, the highest corresponding traffic, the highest bandwidth utilization of the corresponding outgoing interface of the traffic, or the longest buffer queue length of the corresponding outgoing interface of the traffic; for example, (b) Under the second load balancing strategy, the set of outgoing interfaces {PL} whose bandwidth utilization and / or buffer queue length exceed the threshold can be marked first. Then, all flow table entries in the first hash traffic table that match the outgoing interfaces in the set of outgoing interfaces {PL} and whose flag bit is S (this S indicates that the traffic corresponding to the flow table entry has multiple outgoing interfaces) are selected. Then, according to the life-time, the X% of the flow table entries with the lowest life-time among all these flow table entries are selected to form the first flow table entry. Finally, the first flow table entry is deleted from the first hash traffic table (this deletion operation is only performed once to avoid deleting too many flow table entries and ensure that there are enough flow table entries for traffic forwarding) to obtain the second hash traffic table. The received traffic is then forwarded according to the second hash traffic table.

[0083] (c) The first flow table entry is a random number of Y flow table entries from the second set or that satisfy the second condition. The second set includes all flow table entries in the first hashed flow table that have multiple outgoing interfaces for the corresponding traffic, where Y is a value greater than 0. Y can be set based on actual needs. The second condition can be set based on actual needs, such as, but not limited to, the lowest survival time, the highest corresponding traffic, the highest bandwidth utilization of the corresponding traffic outgoing interface, or the longest buffer queue length of the corresponding traffic outgoing interface. For example, in (c), manual triggering can be used instead of threshold triggering, that is, all outgoing interfaces are manually set to be at full capacity. To meet congestion conditions, when implementing the second equalization strategy, first select all flow entries in the first hash flow table with a flag of S (where S indicates that the traffic corresponding to the flow entry has multiple outgoing interfaces). Then, based on the lifespan, select the flow entries with the lowest lifespan of Y% among all these flow entries to form the first flow entry. Finally, delete the first flow entry from the first hash flow table (this deletion operation is only performed once to avoid deleting too many flow entries and ensure that there are enough flow entries for traffic forwarding) to obtain the second hash flow table, and forward the received traffic according to the second hash flow table.

[0084] In this embodiment, the first or second load balancing strategy can be enabled as needed based on different conditions. Even without enabling the first or second load balancing strategy, forwarding paths can still be generated and traffic forwarded according to existing techniques and hash-based load balancing strategies. Enabling the load balancing strategy can include:

[0085] When the first activation condition is met, the first equilibrium strategy is activated; or, when the second activation condition is met, the second equilibrium strategy is activated.

[0086] Optionally, the first activation condition may include, but is not limited to, at least one of the following:

[0087] The bandwidth utilization of some outgoing interfaces used for forwarding traffic in a multi-path system exceeds a first threshold. This first threshold can be set based on actual needs. When the bandwidth utilization of an outgoing interface exceeds the first threshold, it indicates that the load on the path corresponding to that outgoing interface is heavy and load balancing needs to be performed.

[0088] The cache queue length of some outgoing interfaces used for forwarding traffic exceeds the second threshold; this second threshold can be set based on actual needs; when the cache queue length of an outgoing interface exceeds the second threshold, it indicates that there is a cache queue backlog at that outgoing interface, the corresponding path is heavily loaded, and load balancing needs to be performed.

[0089] The bandwidth utilization difference between some outgoing interfaces of a multipath used for forwarding traffic exceeds the third threshold; this second threshold can be set based on actual needs; when the bandwidth utilization difference between some outgoing interfaces exceeds the third threshold, it indicates that the load between the corresponding paths is uneven and load balancing needs to be performed.

[0090] The instruction to enable the first balancing strategy is received; for example, the instruction can be manually entered to enable the first balancing strategy.

[0091] Optionally, the second activation condition may include at least one of the following:

[0092] The bandwidth utilization of some outgoing interfaces of the multipath used for forwarding traffic exceeds a fourth threshold, which is greater than the first threshold. The fourth threshold can be set based on actual needs. When the bandwidth utilization of an outgoing interface exceeds the fourth threshold, it indicates that the load on the path corresponding to the outgoing interface is heavy, and the load is heavier than when the bandwidth utilization of the outgoing interface exceeds the first threshold. A more stringent balancing strategy, such as the second balancing strategy, needs to be adopted.

[0093] The cache queue of some outgoing interfaces used for forwarding traffic exceeds the fifth threshold, which is greater than the second threshold. The fifth threshold can be set based on actual needs. When the cache queue length of an outgoing interface exceeds the fifth threshold, it indicates that the outgoing interface has a cache queue backlog, the corresponding path is heavily loaded, and the load is heavier than when the cache queue length of the outgoing interface exceeds the second threshold. A more stringent load balancing strategy should be adopted, such as the second load balancing strategy.

[0094] The bandwidth utilization difference between some outgoing interfaces of the multipath used for forwarding traffic exceeds a sixth threshold, which is greater than the third threshold. The sixth threshold can be set based on actual needs. When the bandwidth utilization difference between some outgoing interfaces exceeds the sixth threshold, it indicates that the load between the corresponding paths is uneven, and the load is more uneven than when the bandwidth utilization difference between some outgoing interfaces exceeds the third threshold. A more stringent balancing strategy, such as the second balancing strategy, needs to be adopted.

[0095] The instruction to activate the second balancing strategy is received; for example, the instruction can be manually entered to activate the first balancing strategy.

[0096] In this way, by using the first and second activation conditions, the first or second load balancing strategy can be activated as needed and according to the degree of uneven traffic distribution, thereby improving the load balancing effect.

[0097] Optionally, after enabling the load balancing strategy as described above, the traffic scheduling method in this embodiment may further include:

[0098] Periodically check whether the first or second activation condition is met; the interval of this periodic check can be set based on actual needs.

[0099] When the first activation condition is met, if the first load balancing strategy is currently being executed, then the first load balancing strategy will continue to be executed, that is, the received traffic will be forwarded according to the first hash traffic table; or, if the second load balancing strategy is currently being executed, then the first load balancing strategy will be changed to be executed, that is, the received traffic will be forwarded according to the current first hash traffic table.

[0100] or,

[0101] When the second activation condition is met, if the first balancing strategy is currently being implemented, it is changed to the second balancing strategy, that is, the first flow table entry that meets the condition is deleted from the current first hash flow table, and the received traffic is forwarded according to the obtained hash flow table; or, if the second balancing strategy is currently being implemented, the second balancing strategy is implemented again and maintained, that is, the first flow table entry that meets the condition is deleted from the current first hash flow table, and the received traffic is forwarded according to the obtained hash flow table.

[0102] In this way, by using periodic detection, the first or second load balancing strategy can be made more suitable for the current load situation, thereby achieving load balancing across multiple paths.

[0103] In this embodiment, a timer can be introduced to enable and disable the load balancing strategy. After enabling the load balancing strategy, the traffic scheduling method in this embodiment may further include:

[0104] Start the timer; the timer is used to monitor the start time of the corresponding balancing strategy;

[0105] When the timer reaches the preset duration, the equalization strategy is turned off.

[0106] Optionally, the preset duration can be set based on actual needs. For example, when starting the timer, the initial value of the timer can be set to the value of the preset duration, and the value of the timer decreases as the activation time of the corresponding balancing strategy increases; when the value of the timer decreases to 0, it indicates that the timer's timing duration has reached the preset duration, then the corresponding balancing strategy is turned off and the timer is deleted. Alternatively, when starting the timer, the initial value of the timer can be set to 0, and the value of the timer increases as the activation time of the corresponding balancing strategy increases; when the value of the timer increases to the value of the preset duration, it indicates that the timer's timing duration has reached the preset duration, then the corresponding balancing strategy is turned off and the timer is deleted.

[0107] In one optional implementation, timers can be set for the first balancing strategy and the second balancing strategy respectively. For example, a first timer can be set for the first balancing strategy, and a second timer can be set for the second balancing strategy. Thus, if the first balancing strategy is enabled, the first timer is enabled, and the first balancing strategy is disabled when the first timer's duration reaches a first preset duration; or, if the second balancing strategy is enabled, the second timer is enabled, and the second balancing strategy is disabled when the second timer's duration reaches a second preset duration. The first and second preset durations can be the same or different.

[0108] In one optional implementation, after enabling the first or second balancing strategy, a timer Tal and a periodic detection time Tch can be set. During the enabling time of the first or second balancing strategy, at intervals of Tch, it is re-detected whether the first and second enabling conditions are met, and: A. If the first enabling condition is met, the following process is executed: ① If only the first balancing strategy is currently being executed, the first balancing strategy is maintained, and the timer Tal is refreshed to its initial value; ② If the second balancing strategy is currently being executed, the first balancing strategy is switched to be executed, and the timer Tal is refreshed to its initial value; B. If the second enabling condition is met, the following process is executed: ① If only the first balancing strategy is currently being executed, the second balancing strategy is switched to be executed, and the timer Tal is refreshed to its initial value; ② If the second balancing strategy is currently being executed, the second balancing strategy is executed again and maintained, and the timer Tal is refreshed to its initial value.

[0109] Optionally, the traffic scheduling method in this embodiment may further include:

[0110] The first hash traffic table is dynamically updated. This maintains the accuracy of the first hash traffic table, thereby ensuring effective load balancing.

[0111] Optionally, the dynamic update of the first hash flow table may include, but is not limited to, at least one of the following:

[0112] 1) When a first flow that matches the fourth flow entry in the first hashed flow table is forwarded during the aging time of the fourth flow entry, the lifespan of the fourth flow entry is refreshed, and / or, when the outgoing interface of the first flow changes, the outgoing interface information in the fourth flow entry is refreshed; the fourth flow entry can be any flow entry in the first hashed flow table, and its aging time can be set based on actual needs.

[0113] 2) When the second flow that matches the fifth flow entry in the first hash flow table is not received again during the aging time of the fifth flow entry, the lifespan of the fifth flow entry exceeds its aging time, and the fifth flow entry is deleted from the first hash flow table; the fifth flow entry can be any flow entry in the first hash flow table, and its aging time can be set based on actual needs;

[0114] 3) When a third flow is received and the first hash flow table does not contain flow information of the third flow, add the flow table entry corresponding to the third flow to the first hash flow table and initially set its lifespan to 0;

[0115] 4) When the first outgoing interface fails, such as when the first outgoing interface is shut down or the protocol is disconnected, all flow table entries in the first hash flow table that use the first outgoing interface as the forwarding exit will be deleted. The first outgoing interface can be any forwarding outgoing interface.

[0116] The following is combined with Figure 3 The traffic scheduling process in the embodiments of this application will be described in detail.

[0117] like Figure 3 As shown, the specific traffic scheduling process may include:

[0118] S1: Generate a hash traffic table (i.e., the first hash traffic table mentioned above); this hash traffic table can be obtained by the repeater device recording various types of traffic that are forwarded by the repeater device after the hash traffic table recording function is enabled; the specific recorded content can be found in the above embodiments, and will not be repeated here.

[0119] S2: Dynamically update the hash flow table; the dynamic update process in S2 can be performed simultaneously with the balancing process in S3-S5 below.

[0120] S3: Determine whether the traffic hashing balance enable conditions are met, such as whether the first enable condition or the second enable condition is met; the first enable condition and the second enable condition can be referred to in the above embodiments, and will not be repeated here.

[0121] S4-1: If the first activation condition is met, the first load balancing strategy is activated and executed (i.e., the received traffic is forwarded according to the first hash traffic table), and timer Tal is activated.

[0122] S4-2: If the second activation condition is met, the second balancing strategy is activated and executed (for specific execution process, please refer to the above embodiments), and the timer Tal is activated.

[0123] S5: Periodically check whether the first or second activation condition is met; where, A. If the first activation condition is met, execute the following process: ① If the first balancing strategy is currently being executed, continue to maintain the first balancing strategy and refresh the timer Tal to the initial value; ② If the second balancing strategy is currently being executed, change to execute the first balancing strategy and refresh the timer Tal to the initial value; B. If the second activation condition is met, execute the following process: ① If only the first balancing strategy is currently being executed, change to execute the second balancing strategy and refresh the timer Tal to the initial value; ② If the second balancing strategy is currently being executed, execute the second balancing strategy again and maintain it, and refresh the timer Tal to the initial value.

[0124] S6: When the timer reaches the preset duration, the corresponding equalization strategy is turned off.

[0125] It should be noted that the traffic scheduling method provided in this application can be executed by a traffic scheduling device or a control module within that traffic scheduling device. This application uses the example of a traffic scheduling device executing a traffic scheduling method to illustrate the traffic scheduling device provided in this application.

[0126] Please see Figure 4 , Figure 4 This is a schematic diagram of a traffic scheduling device provided in an embodiment of this application. The device is applied to a communication device, which may be, but is not limited to, a repeater device, a repeater, or a traffic repeater device; for example... Figure 4 As shown, the traffic scheduling device 40 includes:

[0127] Enable module 41 to enable the balancing strategy;

[0128] The processing module 42 is configured to forward the received traffic according to the first hash traffic table when the balancing strategy is the first balancing strategy; or, when the balancing strategy is the second balancing strategy, delete the first flow table entry that meets the conditions from the first hash traffic table to obtain the second hash traffic table, and forward the received traffic according to the second hash traffic table.

[0129] Optionally, the first hash flow table contains at least one flow table entry, and each flow table entry includes at least one of the following:

[0130] The flow information corresponding to each flow table entry;

[0131] Forwarding information for the traffic corresponding to each flow table entry;

[0132] The lifetime of each flow table entry;

[0133] The flag bit of each flow table entry is used to indicate that the flow corresponding to each flow table entry has one or more outgoing interfaces.

[0134] Optionally, the first flow table entry satisfies any one of the following:

[0135] The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceed the threshold, and the traffic corresponding to the first flow table entry has multiple outgoing interfaces.

[0136] The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceeds a threshold. The traffic corresponding to the first flow table entry has multiple outgoing interfaces. The first flow table entry is a random or X% flow table entry in the first set that meets the first condition. The first set includes all flow table entries in the first hash traffic table whose bandwidth utilization and / or buffer queue length of the outgoing interface of the corresponding traffic exceeds a threshold. X is a value greater than 0.

[0137] The first flow table entry is a random number of Y flow table entries from the second set that satisfy the second condition. The second set includes all flow table entries in the first hash flow table that have multiple outgoing interfaces for the corresponding flow. Y is a value greater than 0.

[0138] Optionally, the processing module 42 is specifically used to: when the first hash traffic table contains a second flow table entry that matches the flow information of the traffic, forward the traffic according to the outgoing interface of the traffic corresponding to the second flow table entry; or, when the first hash traffic table does not contain a second flow table entry that matches the flow information of the traffic, select a path outgoing interface that meets the third condition from multiple path outgoing interfaces obtained based on the routing algorithm to forward the traffic.

[0139] Optionally, the opening module 41 is specifically used for:

[0140] When the first activation condition is met, the first equilibrium strategy is activated; or, when the second activation condition is met, the second equilibrium strategy is activated.

[0141] The first activation condition includes at least one of the following:

[0142] The bandwidth utilization of some outgoing interfaces used for forwarding traffic in the multipath exceeds the first threshold.

[0143] The length of the cache queue for a portion of the outgoing interfaces used for forwarding traffic in a multipath exceeds the second threshold.

[0144] The bandwidth utilization difference between some outgoing interfaces of the multipath used for forwarding traffic exceeds the third threshold.

[0145] Received instruction to enable the first load balancing strategy;

[0146] The second activation condition includes at least one of the following:

[0147] The bandwidth utilization of some outgoing interfaces of the multipath used for forwarding traffic exceeds a fourth threshold, which is greater than the first threshold.

[0148] The cache queue of some outgoing interfaces used for forwarding traffic in a multipath exceeds a fifth threshold, which is greater than the second threshold;

[0149] The difference in bandwidth utilization between some outgoing interfaces of the multipath used for forwarding traffic exceeds a sixth threshold, and the sixth threshold is greater than the third threshold.

[0150] The instruction to enable the second load balancing strategy has been received.

[0151] Optionally, the flow scheduling device 40 also includes:

[0152] The detection module is used to periodically detect whether the first activation condition or the second activation condition is met after the balancing strategy is enabled.

[0153] The first execution module is configured to, when the first activation condition is met, continue executing the first balancing strategy if the first balancing strategy is currently being executed; or, if the second balancing strategy is currently being executed, switch to executing the first balancing strategy.

[0154] The second execution module is configured to, when the second activation condition is met, change from executing the first balancing strategy to executing the second balancing strategy if the first balancing strategy is currently being executed; or, if the second balancing strategy is currently being executed, execute the second balancing strategy again.

[0155] Optionally, the flow scheduling device 40 also includes:

[0156] The enable / disable module is used to start a timer after the balancing strategy is enabled, and to disable the balancing strategy when the timer reaches a preset duration.

[0157] Optionally, the flow scheduling device 40 also includes:

[0158] The update module is used to dynamically update the first hash flow table;

[0159] Optionally, the update module is configured to perform at least one of the following:

[0160] When the first traffic matching the fourth flow entry is forwarded within the aging time of the fourth flow entry in the first hash traffic table, the lifespan of the fourth flow entry is refreshed, and / or, when the outgoing interface of the first traffic changes, the outgoing interface information in the fourth flow entry is refreshed.

[0161] When the second flow matching the fifth flow entry in the first hash flow table is not received again within the aging time of the fifth flow entry in the first hash flow table, the fifth flow entry is deleted from the first hash flow table.

[0162] When a third flow is received, and the first hash flow table does not contain flow information for the third flow, the flow table entry corresponding to the third flow is added to the first hash flow table.

[0163] When the first outgoing interface fails, all flow table entries in the first hash flow table that use the first outgoing interface as the forwarding exit will be deleted.

[0164] The traffic scheduling device 40 of this application embodiment can implement each process of the above-described traffic scheduling method embodiment and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0165] Optional, such as Figure 5 As shown, this application embodiment also provides a communication device 50, including a processor 51, a communication interface 52, a clock module 53, and a memory 54; the processor 51, the communication interface 52, the clock module 53, and the memory 54 are connected to each other via a bus.

[0166] The processor 51 is used to run relevant load balancing strategies (such as a first load balancing strategy or a second load balancing strategy), determine / detect enabling conditions (such as a first enabling condition or a second enabling condition), and assist in generating and dynamically updating the hash traffic table. The processor also needs to perform traffic forwarding encapsulation, routing calculation, and traffic hashing calculation.

[0167] The clock module 53 is used for the timing operation of the corresponding timer.

[0168] The memory 54 is used to store program code, hash flow tables, and related calculation results. The memory 54 may include a receiving unit 541, a sending unit 542, a processing unit 543, and an operating system 544 (optional); the receiving unit 541 can be used to receive the processing results of other modules, the sending unit 542 can be used to send stored parameters, and the processing unit 544 can be used for basic data processing.

[0169] Optionally, the processor 51 can call programs or instructions in the memory 54 through the operating system. When the program or instructions are executed by the processor 51, they can implement the various processes of the above-described traffic scheduling method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0170] This application also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, they can implement the various processes of the above-described traffic scheduling method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.

[0171] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they can implement the various processes of the above-described traffic scheduling method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0172] Computer-readable media include both permanent and non-permanent, removable and non-removable media, which can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0173] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0174] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0175] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a service classification device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0176] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A traffic scheduling method, characterized in that, include: Enable the equilibrium strategy; When the balancing strategy is the second balancing strategy, the first flow table entry is deleted from the first hash flow table to obtain the second hash flow table, and the received traffic is forwarded according to the second hash flow table. Wherein, the first flow table entry satisfies any one of the following: The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceed the threshold, and the traffic corresponding to the first flow table entry has multiple outgoing interfaces. The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceeds a threshold; the traffic corresponding to the first flow table entry has multiple outgoing interfaces; and the first flow table entry is a random number of X% of flow table entries in the first set or satisfying the first condition. The first set includes all flow table entries in the first hash traffic table whose bandwidth utilization and / or buffer queue length of the corresponding outgoing interface exceeds the threshold, where X is a value greater than 0; the first condition includes one of the following: lowest survival time, highest traffic, highest bandwidth utilization of the outgoing interface, and longest buffer queue length of the outgoing interface. The first flow table entry is a random Y% flow table entry from the second set that satisfies the second condition. The second set includes all flow table entries in the first hashed flow table that have multiple outgoing interfaces for the corresponding traffic, where Y is a value greater than 0. The second condition includes one of the following: lowest survival time, highest traffic, highest bandwidth utilization of the traffic outgoing interface, and longest buffer queue length of the traffic outgoing interface. The balancing strategy includes: The second equilibrium strategy is activated when the second activation condition is met; wherein the second activation condition includes at least one of the following: The bandwidth utilization of some outgoing interfaces used for forwarding traffic in the multipath exceeds the fourth threshold. The length of the cache queue for a portion of the outgoing interfaces used for forwarding traffic in a multipath exceeds the fifth threshold. The bandwidth utilization difference between some outgoing interfaces of the multipath used for forwarding traffic exceeds the sixth threshold. The instruction to enable the second load balancing strategy has been received.

2. The method according to claim 1, characterized in that, The method further includes: When the balancing strategy is the first balancing strategy, the received traffic is forwarded according to the first hash traffic table; Wherein, when the first hash traffic table contains a second flow table entry that matches the flow information of the traffic, the traffic is forwarded according to the outgoing interface of the traffic corresponding to the second flow table entry; or, when the first hash traffic table does not contain a second flow table entry that matches the flow information of the traffic, the traffic is forwarded by selecting a path outgoing interface that meets a third condition from multiple path outgoing interfaces obtained based on the routing algorithm; the third condition includes one of the following: lowest bandwidth utilization and shortest cache queue length.

3. The method according to claim 2, characterized in that, The first hash flow table contains at least one flow table entry, and each flow table entry includes at least one of the following: The flow information corresponding to each flow table entry; Forwarding information for the traffic corresponding to each flow table entry; The lifetime of each flow table entry; The flag bit of each flow table entry is used to indicate that the flow corresponding to each flow table entry has one or more outgoing interfaces.

4. The method according to claim 2 or 3, characterized in that, The enabled balancing strategy includes: When the first activation condition is met, the first equilibrium strategy is activated; wherein the first activation condition includes at least one of the following: The bandwidth utilization of some outgoing interfaces used for forwarding traffic in the multipath exceeds the first threshold. The length of the cache queue for a portion of the outgoing interfaces used for forwarding traffic in a multipath exceeds the second threshold. The bandwidth utilization difference between some outgoing interfaces of the multipath used for forwarding traffic exceeds the third threshold. The instruction to enable the first load balancing strategy has been received.

5. The method according to claim 1, characterized in that, After enabling the balancing strategy, the method further includes: Periodically check whether the second activation condition is met; When the second activation condition is met, if the first equilibrium strategy is currently being executed, the second equilibrium strategy will be changed to be executed; or, if the second equilibrium strategy is currently being executed, the second equilibrium strategy will be executed again.

6. The method according to claim 1, characterized in that, After enabling the balancing strategy, the method further includes: Start the timer; When the timer reaches the preset duration, the equalization strategy is turned off.

7. The method according to claim 2, characterized in that, The method further includes: The first hash flow table is dynamically updated.

8. The method according to claim 7, characterized in that, The dynamic updating of the first hash flow table includes at least one of the following: When the first traffic matching the fourth flow entry is forwarded within the aging time of the fourth flow entry in the first hash traffic table, the lifespan of the fourth flow entry is refreshed, and / or, when the outgoing interface of the first traffic changes, the outgoing interface information in the fourth flow entry is refreshed. When the second flow matching the fifth flow entry in the first hash flow table is not received again within the aging time of the fifth flow entry in the first hash flow table, the fifth flow entry is deleted from the first hash flow table. When a third flow is received, and the first hash flow table does not contain flow information for the third flow, the flow table entry corresponding to the third flow is added to the first hash flow table. When the first outgoing interface fails, all flow table entries in the first hash flow table that use the first outgoing interface as the forwarding exit will be deleted.

9. A flow scheduling device, characterized in that, include: Enable module to enable the load balancing strategy; The processing module is configured to, when the balancing strategy is the second balancing strategy, delete the first flow table entry from the first hash flow table to obtain the second hash flow table, and forward the received traffic according to the second hash flow table. Wherein, the first flow table entry satisfies any one of the following: The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceed the threshold, and the traffic corresponding to the first flow table entry has multiple outgoing interfaces. The bandwidth utilization and / or buffer queue length of the outgoing interface of the traffic corresponding to the first flow table entry exceeds a threshold; the traffic corresponding to the first flow table entry has multiple outgoing interfaces; and the first flow table entry is a random number of X% of flow table entries in the first set or satisfying the first condition. The first set includes all flow table entries in the first hash traffic table whose bandwidth utilization and / or buffer queue length of the corresponding outgoing interface exceeds the threshold, where X is a value greater than 0; the first condition includes one of the following: lowest survival time, highest traffic, highest bandwidth utilization of the outgoing interface, and longest buffer queue length of the outgoing interface. The first flow table entry is a random Y% flow table entry from the second set that satisfies the second condition. The second set includes all flow table entries in the first hashed flow table that have multiple outgoing interfaces for the corresponding traffic, where Y is a value greater than 0. The second condition includes one of the following: lowest survival time, highest traffic, highest bandwidth utilization of the traffic outgoing interface, and longest buffer queue length of the traffic outgoing interface. Specifically, the activation module is used to activate the second balancing strategy when a second activation condition is met; the second activation condition includes at least one of the following: The bandwidth utilization of some outgoing interfaces used for forwarding traffic in the multipath exceeds the fourth threshold. The length of the cache queue for a portion of the outgoing interfaces used for forwarding traffic in a multipath exceeds the fifth threshold. The bandwidth utilization difference between some outgoing interfaces of the multipath used for forwarding traffic exceeds the sixth threshold. The instruction to enable the second load balancing strategy has been received.

10. A communication device, characterized in that, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method as described in any one of claims 1 to 8.

11. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1 to 8.

12. A computer program product, characterized in that, Includes computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1 to 8.