METHOD FOR DISTRIBUTING DATA FLOWS BETWEEN EXTENDED NETWORKS AND COMMUNICATION SYSTEMS
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- THALES SA
- Filing Date
- 2022-10-13
- Publication Date
- 2026-04-29
AI Technical Summary
Existing load balancing strategies in communication networks are static and do not adapt to dynamic traffic flows, leading to load imbalances and resource contention, which violate Service Level Agreements (SLAs) and result in suboptimal resource utilization.
A method for distributing data flows across multiple networks by measuring network loads over a reference period, calculating target and adjusted proportions using machine learning, and minimizing distribution divergence to ensure optimal load balancing.
The method effectively adjusts to dynamic traffic patterns, preventing load spikes and network saturation, ensuring better resource utilization and adherence to SLAs.
Description
[0001] The present invention relates to the distribution of data streams between several separate networks of a communication system. The invention also relates to a computer program for distributing data streams between several separate networks of a communication system. The invention further proposes a multi-network communication system.
[0002] In the field of communication networks, traffic distribution across two or more paths within the same network uses a homogeneous multi-path routing mechanism in routers, designated by the acronym ECMP, which stands for "Equal-Cost Multi-Path Routing." IP packets of the same flow, with the same source and destination, are routed over several paths of equal cost. Equal-cost paths are defined as such by the routing algorithm's metrics: the number of hops, the maximum bandwidth, and other parameters. The traffic is distributed equally among the different paths. Furthermore, ECMP is implemented in all routing solutions.For example, these routing solutions can be of the OSPF type (Open Shortest Path First), the ISIS type (Intermediate System to Intermediate System), the EIGRP type (Enhanced Interior Gateway Routing Protocol), or the BGP type (Border Gateway Protocol). However, the distribution strategy is fixed and very limited; it does not take into account the actual load of the paths and cannot adapt to the dynamics of the traffic flow. An example of traffic distribution between several networks is described in document EP2804351A1 (NEC CORP [JP]).
[0003] To enable richer load balancing strategies, non-equal-cost multi-path routing strategies, commonly referred to as "non-equal-cost multi-path routing," have been proposed in the literature. For example, the Downward Path Criterion (DW) solution does not limit the choice of paths to those of equal cost, but also allows paths with slightly higher costs. The goal of these strategies is to utilize more paths to distribute traffic across the network.
[0004] Load balancing between different, separate, and distinct networks also exists through mechanisms such as Policy-Based Routing (PBR), Performance-Based Routing (PfR), and Software-Defined WAN (SD-WAN). These mechanisms allow traffic to be directed based on technical criteria such as available bandwidth and link quality, while meeting the Satisfaction Level Agreement (SLA). Technical criteria can also be operational: traffic can be directed based on the application type or user profile. However, these mechanisms are limited in their ability to adapt to the variability associated with heterogeneous traffic profiles.
[0005] Traffic distribution is a problem also addressed in the context of server farms, also known as cloud data centers. In this case, it involves distributing incoming application requests from a data center across different servers, virtual machines, and containers. This request distribution function is handled by a load balancer.
[0006] Most load balancers implement static rules. They assign a weight to each server, and the distribution of these weights corresponds to the target distribution of incoming requests across the servers. This distribution can be uniform, also known as "Round Robin," or non-uniform, generally referred to by the acronym WCMP, short for "Weighted Round Robin." The distribution can be based on whether the servers have the same CPU capacity or not. These strategies are also static; they work on average, but they create a systematic imbalance when faced with heterogeneous data flows, as occurs in networks and data centers.
[0007] The least-loaded strategy, commonly referred to by the English term "Least Loaded," takes into account the load status of each server and assigns incoming requests to the least loaded server. This is the strategy used by Kubernetes and HAProxy solutions. This strategy works for a very short decision-making period. The longer this period, the less effective it becomes because it operates blindly, unaware of traffic changes.
[0008] The networks and methods mentioned above are static. They do not take into account the impact of a decision on future network load. This results in a load imbalance over time and therefore violations of the SLA objective, which requires maintaining proportions between networks.
[0009] A known method exists for distributing incoming traffic across multiple networks, where the least congested network is chosen to carry the IP packets of the same flow. This method requires obtaining the loads of each network and then comparing these loads to identify the lowest one.
[0010] The difficulty with this approach is that the decisions made regarding data flow don't directly translate into load. Indeed, some sessions are very short while others are very long. The latter remain on the network for extended periods, creating additional, unpredictable load that these strategies cannot account for.
[0011] Furthermore, since decisions are made locally by each router, decisions between ingress routers are independent. This leads to resource contention and therefore suboptimal use of available resources.
[0012] The invention aims to optimize the use of a communication system comprising a set of networks.
[0013] To this end, the invention relates to a method for distributing data flows in a communication system comprising a plurality of networks separated from each other, and a set of switching equipment connected to the networks and adapted to direct an incoming flow towards one of the networks; at least one or each switching equipment of said set being configured so as to direct all the data frames of the same incoming flow to another switching equipment of said set via the same network of the plurality of networks; the method comprising the step: measuring the flows of the networks in order to calculate an effective load specific to each network over a reference period; remarkable in that the method further comprises the following steps: obtaining a target distribution of flows between the networks, the target distribution comprising target proportions associated with the networks;obtaining an incoming load value β in the networks over a period following the reference period; obtaining a persistent proportion α of flow propagating in the networks during both the reference period and the following period; estimating, with control means, a distribution setpoint comprising an adjusted proportion for each network, at least one or each adjusted proportion being a function of: one of the target proportions, one of the effective loads, the incoming load value β, and the persistent proportion α; and being capable of minimizing a distribution divergence score relative to the target distribution over the following period; distribution of incoming flow, according to the adjusted proportions, between the networks by the switching equipment.
[0014] Thanks to the process according to the invention, the proportions applied at the network input make it possible to correct and compensate for the imbalance generated by data flows that persist from one period to the next. Load spikes are avoided, as are network saturation situations. Consequently, the adjusted proportions allow for better distribution of data flows and better utilization of the available resources of the communication system.
[0015] According to other advantageous aspects of the invention, the method comprises one or more of the following features, taken individually or in all technically possible combinations: The step of obtaining the incoming load value β includes measuring the data flow entering the communication system via the switching equipment during the following period, and the step of obtaining the persistent proportion α includes measuring the flow propagating during both the reference period and at least the following period via the switching equipment. In both the step of obtaining the incoming load value β and the step of obtaining the persistent proportion α, the incoming load value β and the persistent proportion α are established using a machine learning algorithm. The communication system includes network output interfaces connecting each switching equipment to each network independently; in the measurement step, the flows are measured at said network output interfaces, said outgoing flows being measured by the switching equipment.The distribution divergence score comprises a sum of differences, each difference being associated with one of the networks and comprising the deviation between one of the target proportions and a network load ratio over the following period. The control means include a control module separate from the switching equipment; the method further includes a step of communicating the adjusted proportions to the switching equipment. The network set comprises a first network and a second network, the target proportions comprising a first target proportion for the first network and a second target proportion for the second network, the second target proportion being greater than or equal to twice the first target proportion.
[0016] The invention also relates to a computer program product comprising instructions which, when the program is executed by a computer, lead the computer to implement the method according to the invention.
[0017] The invention also relates to a communication system comprising control means, a plurality of networks separated from each other, and a set of switching equipment connected to the networks and adapted to direct an incoming flow to one of the networks; at least one or each switching equipment of said set being configured so as to direct all the data frames of the same incoming data flow to another switching equipment of said set via the same network of the plurality of networks; the communication system being configured so as to perform the data flow distribution method according to the invention.
[0018] According to other advantageous aspects of the invention, the system comprises one or more of the following features, taken individually or in all technically possible combinations: The control means are integrated into at least one or each switching device. Each switching device is a router, and each network is a wide area network.
[0019] These features and advantages of the invention will become clearer upon reading the following description, given solely by way of non-limiting example, and made with reference to the accompanying drawings, in which: [ Fig 1 ] there figure 1 is a diagram of a communication system according to the invention; [ Fig 2 ] there figure 2 is a simplified representation of the communication system of the figure 1 ; And [ Fig 3 ] there figure 3 is a diagram of a flow distribution method according to the invention.
[0020] There figure 1 represents a communication system 2 according to the invention. The communication system 2 is capable of communicating all types of digital data.
[0021] The communication system 2 comprises a plurality of networks 4, 6, including a first network 4 and a second network 6. These networks 4, 6 are separate from each other. They are independent of each other. Each network 4, 6 has its own resources. The networks include its own nodes. The networks include its own segments, which connect its own nodes. The networks 4, 6 are wide area networks, generally designated by the acronym WAN. They are wired networks and / or networks that communicate via electromagnetic waves. In contrast, the communication system 2 is a satellite communication system. The networks may or may not be of different types. They may have different or identical maximum data rates. In this example, only two networks 4, 6 are shown; however, the invention also applies to a telecommunication system 2 with more networks.
[0022] The communication system 2 further includes a set of switching devices 8 using both networks. The switching devices 8 are connected to networks 4 and 6. Each switching device 8 acts as both an input and output switching device for both networks, depending on whether a data stream enters or leaves one of the networks 4 or 6 via the switching device 8. The switching devices are bidirectional.
[0023] The switching devices 8 are configured to select one of the networks 4, 6, and route an incoming flow 10 to it. Furthermore, they are configured to direct all data frames of the same incoming flow 10 to the same output switching device 8 via a single network out of the plurality of networks. This improves the consistency of application flows.
[0024] The communication system 2 comprises, or connects, 12 external stations. These 12 external stations each include at least one user interface and at least one server, which are connected to 8 different switching devices. The server is formed by a server farm communicating with user interfaces via the communication system 2.
[0025] Each data frame, also called an IP packet, ideally includes a header with a source address and a destination address. Each data frame contains bytes on which the data is stored.
[0026] The communication system 2 includes interfaces 11 between each network 4, 6 and each switching device 8. They connect each network to each switching device. The interfaces 11 are bidirectional. Each one includes, for each network and for each switching device, a network input interface and a network output interface.
[0027] All IP packets belonging to the same incoming stream 10, for example, from a TCP session (Transmission Control Protocol) or a UDP session (User Datagram Protocol), are redirected to the same network input interface 11, and therefore to the same network. The communication system 2 allows the transfer of an input data stream 10 from a switching device 8 at the source to a switching device 8 at the destination. The switching devices 8 include telemetry capabilities, notably for independently measuring the outgoing streams of the networks.
[0028] Each switching equipment 8 includes means for measuring incoming flow on each network over predetermined time periods.
[0029] Similarly, each piece of equipment includes means for measuring outgoing flows.
[0030] For example, the flow is characterized by the average incoming flow rate during the considered time period.
[0031] In addition, each piece of equipment includes means of storing, for each period of time, an identifier of each incoming and outgoing frame and its size, formed for example by the number of bytes constituting it.
[0032] The switching devices 8 form a boundary device. In this embodiment, the set includes six switching devices 8. The switching devices 8 are switching devices, switching to one or the other of the networks. The devices are routers. Each router is configured to forward IP packets, or stream frames, from an input interface 11 of one of the networks to another output interface 11 of the same network. At least one or each router includes an input port, an output port, and a routing processor.
[0033] The communication system 2 includes a control module 14 for the switching equipment. The control module 14 is functionally connected to each switching device 8. Each switching module 8 is responsible for transmitting, at the end of each time period, the measurement of the incoming flow, the identifier of each frame entering a network, its size, and the network used, as well as the outgoing flow, the identifier of each outgoing frame, its size, and the originating network. The control module 14 centralizes the measured number of bytes output from each network. The flow measurements at the network output interfaces 11 allow for characterizing the load in each network 4, 6, since these flows depend on upstream network overloads. The control module 14 includes a data storage unit and a data processing unit, such as a processor. The storage unit stores the network flow measurements.Thanks to the connections between the switching equipment 8 and the control module 14, the latter is able to communicate a distribution instruction to the switching equipment 8, so that they direct incoming flows 10 according to this distribution instruction. To do this, the control module 14 is configured to calculate an adjusted proportion dedicated to each network.
[0034] For this purpose, each piece of equipment includes means of distributing flow according to the added proportion U4 and U6 calculated for each switching equipment and transmitted by the control module 14.
[0035] There figure 2 represents in a simplified way the communication system 2 of the figure 1 , and illustrates the process of selecting a network from among those possible via networks 4, 6. Only two switching equipment 8 are represented for clarity.
[0036] In this case, the target flow distribution, or intended distribution, comprises a first target proportion p4, equal to one-third, which applies to the first network 4; and a second target proportion p6, equal to two-thirds, which applies to the second network 6. In this case, the second target proportion p6 is equal to twice the first target proportion p4. The sum of the target proportions is equal to 1. The target proportions are fixed a priori during configuration, for example, based on the capacities of the networks.
[0037] The control module 14 is configured to communicate the same adjusted proportions U4 and U6 to each switching unit 8; their sum is 1. The first adjusted proportion U4 corresponds to the proportion of flow entering 10 into an entry switching unit and switched into the first network 4, and the second adjusted proportion U6 corresponds to the proportion of flow entering 10 into the entry switching unit and switched into the second network 6. The control module is adapted to smooth out and balance the deviations from the target distribution by calculating and then applying an adjusted proportion, or distribution ratio, to each network.
[0038] There figure 3 represents a diagram of a data flow distribution process in a communication system. The communication system corresponds to those described in relation to one of the figures 1 à 2 .
[0039] The process includes a step 100 for obtaining a target flow distribution p, comprising target proportions associated with each network. The target proportions are defined according to optimal operating conditions of the communication system. At this step, the target proportions p4 and p6 are communicated by the control module to the switching equipment. The target proportions are predefined or calculated following a change in the operation of the communication system. When the maximum flow rate of a network decreases due to a malfunction, the target proportion corresponding to that network decreases, and the target proportion of the other network increases.
[0040] The process includes a step 102 for measuring network flow, optionally at the network inputs and / or outputs, to calculate an effective load specific to each network over a reference period t, also called the first period. A load corresponds to the number of bytes leaving a network during the reference period t. It is calculated by the control module 14 from the number of outgoing bytes received from each switching device. To determine the self-loads during the reference period, the switching devices only count the bytes leaving the networks. Each switching device communicates these byte counts for each network to the control module. The control module adds up the byte counts over the reference period t for each network and obtains the self-load of each network over the reference period.In measurement step 102 of network fluxes, for the reference period t, we denote X(t) the load on the first network, and Y(t) the load on the second network. The total load across all networks is denoted Z(t), and satisfies the equation Z(t) = X(t) + Y(t). In measurement step 102, the fluxes are measured at the network output interfaces, with these outgoing fluxes being preferentially measured by the switching equipment.
[0041] The process includes a step 104 of obtaining an incoming load value β in the networks during a period t+1 following the reference period t. The incoming load β corresponds to the number of bytes entering the communication system during the following period t+1. During the following period t+1, the switching devices 8 observe the frame headers to identify frames corresponding to incoming flows starting during the following period t+1. When a switching device 8 identifies such a flow, it counts the number of bytes. Each switching device 8 performs this count for each network during the following period t+1. Then, the switching devices 8 transmit the byte counts for each network to the control module, which adds them together to obtain the incoming load β. The following period and the reference period have the same duration.The following period is indexed t+1, and the charges on the networks are written X(t+1) and Y(t+1) over this following period.
[0042] The process includes a step of obtaining 106 a persistent proportion α of flux propagating in the networks during the reference period t and the following period t+1. At the reference period t, the flux is decomposed into a part P1 ending during the reference period t, and a part P2 propagating both during the reference period t and the following period t+1.
[0043] The persistent proportion α is given by the formula α = P2 / (P1+P2). Parts P1 and P2 are identified by the frame headers and the number of bytes in the frames. During the reference period t and the following period t+1, the switching equipment identifies frames from streams that terminate during the reference period t. These frames propagate during the reference period t but not during the following period t+1. The switching equipment then transmits the number of bytes in these frames to the control module, which, by summing them for all networks, obtains part P1. In addition, the switching equipment identifies frames from streams that propagate during both the reference period t and the following period t+1. The switching equipment transmits the number of bytes in these frames to the control module. By adding up these numbers of bytes for all networks, the control module obtains the P2 part.The persistent proportion α includes a combination of flows whose propagation time is greater than the reference period; and flows whose propagation time is less than said period but whose routing is straddling the two periods t and t+1.
[0044] Based on the collected data, for the following period t+1, the estimated loads of the first and second networks are respectively X(t+1) = α * X(t) + β * U4; and Y(t+1) = α * Y(t) + β * U6; where U4 and U6 are unknowns to be identified. These equations form a predictive model of the load in the networks for the following period t+1. Similarly, we write Z(t+1) = α * Z(t) + β.
[0045] Step 104, for obtaining the incoming load value β, involves measuring the data flow entering the communication system via the switching equipment during the following period t+1, and step 106, for obtaining the persistent proportion α, involves measuring the flow propagating during the reference period t and at least the following period t+1. The incoming load value β and the persistent proportion α are retrospective data, obtained after observations and calculations. Communication according to the adjusted proportions takes place after the following period, i.e., during a third period t+2. Thanks to the measurement steps on real and observed data, the distribution setpoint is more accurate.
[0046] According to one alternative of the invention, in step 104 of obtaining the incoming load value β and in step 106 of obtaining the persistent proportion α, the incoming load value β and the persistent proportion α are retrieved or calculated using a machine learning algorithm. According to another embodiment, the incoming load value β and the persistent proportion α are calculated based on a traffic matrix. The traffic matrix describes the past exchanges of frames between the switching equipment 8 connected to the network 4, 6 under consideration.
[0047] In the context of a machine learning algorithm, the input data includes parameters chosen from among: the relevant switching equipment, the date, time, source address, destination address, frame header data, at least one network load, and at least one target proportion. The algorithm is trained using supervised learning. The training data comes from measurements or simulations of communication systems. The incoming load value β and the persistent proportion α are a priori data, which allows the distribution directive to be applied as early as the following period t+1. This alternative accelerates flow control.
[0048] The process includes an estimation step 108, performed by the control module 14, of the distribution setpoint comprising an adjusted proportion U4 or U6 for each network. In the estimation step 108, at least one or each adjusted proportion of a network depends on: the target proportion p4 or p6 of the network, the effective load X(t) or Y(t) associated with the network, the incoming load value β, and the persistent proportion α; and is capable of minimizing, over the following period, a distribution divergence score relative to the target distribution. The distribution divergence score is also called the balancing criterion.
[0049] The divergence score comprises a sum of differences; each difference being associated with one of the networks and comprising the deviation between its target proportion and a ratio of network load to the total load of the communication system 2 over a set T of periods. The sum is calculated across all networks. The sum is a sum of absolute values of the differences, or a quadratic sum of said differences. Other mathematical formulas are considered.
[0050] Estimated load ratios for the following period are expressed as X(t+1) / Z(t+1) and Y(t+1) / Z(t+1) for the first and second networks, respectively. For each network, the estimated load ratio is equal to the estimated load of that network divided by the total load in the system, these loads being calculated for the following period t+1.
[0051] In the quadratic version, the divergence score J is written in the form: J = ∑ n = 0 T X t + n Z t + n − ρ 4 2 + Y t + n Z t + n − ρ 6 2 where calculations are performed for different periods n: t, t+1, ..., t+n, ... T.
[0052] The solution where T=1 is optimal because it allows us to get as close as possible to the target distributions p4 and p6. It also limits the calculations required, which allows the distribution setpoint to be applied quickly. The networks receive their corrections more rapidly, and the input flows are distributed more quickly according to conditions that avoid peaks while preventing underutilization of any part of the system.
[0053] Therefore, we identify: U4 = p4 + α / β * (p4 * Y(t) - p6 * X(t)), and U6 = 1 - U4. These results optimize both the accuracy of the result and the required computation time because they are based on a linear system of two equations with two unknowns.
[0054] When the system comprises at least three networks, the divergence score J is generalized to a system with more networks. A mathematical solution allows for the identification of adjusted proportions Ui for each ith network.
[0055] The process includes a communication step 110 of the proportions adjusted to the switching equipment during which the control module communicates the proportions adjusted to the switching equipment.
[0056] The process includes a step 112 of distributing incoming flow, according to adjusted proportions, between the networks by the switching equipment.
[0057] Following distribution step 112, or between communication step 110 and distribution step 112, the process iterates. It performs network flow measurement step 102 again.
[0058] The reference period is a measurement period. It is shorter than the propagation time of at least one of the data streams, preferably shorter than the majority of the data streams. The measurement of the output streams from the networks is performed throughout the measurement phase. The duration of the reference period is between 1 and 2 seconds.
[0059] According to one option of the invention, certain steps are carried out simultaneously. For example, the production steps are optionally carried out simultaneously.
Claims
1. Method for distributing data flows in a communication system (2) comprising a plurality of networks (4, 6) that are separate from each other, and a set of routing devices (8) connected to the networks and adapted to direct an incoming flow (10) to one of the networks (4, 6); at least one or each routing device (8) of said set being configured to direct all data frames of the same incoming flow (10) to another routing device (8) of said set via the same network (4, 6) of the plurality of networks; the method comprising the following step: • measurement (102) of the network flows (4, 6) to calculate the effective load for each network over a reference period; characterised in that the method further comprises the following steps: • obtaining (100) of a target distribution of flows between the networks (4, 6), the target distribution comprising target proportions (p4, p6) associated with the networks; • obtaining (104) of an incoming load value β in the networks (4, 6) over a period following the reference period; • obtaining (106) of a persistent proportion α of flows propagating in the networks (4, 6) during both the reference period and the following period; • estimation (108), using control means (14), of a distribution instruction comprising an adjusted proportion (U4, U6) for each network (4, 6), o at least one or each adjusted proportion depending on: one of the target proportions (p4, p6), one of the effective loads, the incoming load value β, and the persistent proportion α; and capable of minimising a distribution divergence score relative to the target distribution over the following period; • distribution (112) of an incoming flow (10), according to the adjusted proportions, between the networks (4, 6) via the routing devices (8).
2. Method of distributing data flows according to claim 1, characterised in that the step of obtaining (104) the incoming load value p comprises a measurement of incoming data flows to the communication system (2) via the routing devices (8) during the following period, and the step of obtaining (106) the persistent proportion α comprises a measurement of flows propagating during both the reference period and at least the following period via the routing devices (8).
3. Method of distributing data flows according to claim 1, characterised in that, in the step of obtaining (104) the incoming load value β and in the step of obtaining (106) the persistent proportion α, the incoming load value β and the persistent proportion α are established using a machine-learning algorithm.
4. Method for distributing data flows according to one of claims 1 to 3, characterised in that the communication system (2) comprises network (4, 6) output interfaces (11) connecting each routing device (8) to each network independently; in the measurement (102) step the flows are measured at said network output interfaces (4, 6), said outgoing flows being measured by the routing devices (8).
5. Method of distributing data flows according to one of claims 1 to 4, characterised in that the distribution divergence score comprises a sum of differences, each difference being associated with one of the networks (4, 6) and comprising the deviation between one of the target proportions (p4, p6) and a network load ratio over the following period.
6. Method of distributing data flows according to one of claims 1 to 5, characterised in that the control means comprise a control module (14) separate from the routing devices (8), the method further comprising a step of communicating the adjusted proportions to the routing devices (8).
7. Method of distributing data flows according to one of claims 1 to 6, characterised in that the set of networks (4, 6) comprises a first network (4) and a second network (6), the target proportions comprising a first target proportion (p4) for the first network (4) and a second target proportion (4, 6) for the second network (6), the second target proportion being greater than or equal to double the first target proportion.
8. Computer program product comprising instructions which, when the program is executed by a computer, cause the computer to implement the data flow distribution method according to one of claims 1 to 7.
9. Communication system (2) comprising control means, a plurality of networks (4, 6) separate from each other, and a set of routing devices (8) connected to the networks and adapted to direct an incoming flow (10) to one of the networks (4, 6); at least one or each routing device of said set being configured to direct all data frames of the same incoming flow to another routing device (8) of said set via the same network (4, 6) of the plurality of networks; the communication system being configured to execute the data flow distribution process according to one of claims 1 to 7.
10. Communication system (2) according to claim 9, characterised in that the control means are integrated into at least one or each routing device.
11. Communication system (2) according to one of claims 9 to 10, characterised in that each routing device (8) is a router and each network (4, 6) is a wide area network.