WO2016074738A1 - Data routing with a machine learning-based routing model - Google Patents

Data routing with a machine learning-based routing model Download PDF

Info

Publication number
WO2016074738A1
WO2016074738A1 PCT/EP2014/074559 EP2014074559W WO2016074738A1 WO 2016074738 A1 WO2016074738 A1 WO 2016074738A1 EP 2014074559 W EP2014074559 W EP 2014074559W WO 2016074738 A1 WO2016074738 A1 WO 2016074738A1
Authority
WO
WIPO (PCT)
Prior art keywords
routing
network
flow
model
data
Prior art date
Application number
PCT/EP2014/074559
Other languages
French (fr)
Inventor
Hayim Porat
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to CN201480036847.3A priority Critical patent/CN105960779B/en
Priority to PCT/EP2014/074559 priority patent/WO2016074738A1/en
Publication of WO2016074738A1 publication Critical patent/WO2016074738A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Definitions

  • the present invention in some embodiments thereof, relates to apparatus and methods for data routing and, more specifically, but not exclusively, to apparatus and methods for data routing based on a dynamic routing model.
  • Constraint-based routing algorithms select a routing path satisfying constraints which are typically guided by a routing policy or on a service-oriented basis (e.g. Quality of Service (QoS) routing).
  • QoS Quality of Service
  • data flows are routed through a communication network, based on a routing model which applies rules for route selection to a model of the communication network.
  • the accuracy of both the routing model and the network model directly affects the quality of route selection, since an inaccurate model may result in the failure of the selected route to meet the required criteria.
  • network model means a representation of network structure and network parameters.
  • routing model means a set of algorithms and parameters thereof that are used to make routing decisions based on provided data of flow requests and the network model.
  • Embodiments herein use machine learning to dynamically update the routing model which configures data flows through the network.
  • the failure or success of routed data flows to achieve a respective required level of service (LOS) is evaluated and the routing model is updated in accordance with the evaluation.
  • the routing model is continuously updated by applying machine learning analytics to data sets which indicate the failure or success of flow routings to adhere to the LOS.
  • the routing model automatically adapts to changes in the communication network and data flow within the network, thereby enabling data flow routing to be performed according to actual network conditions.
  • applying machine learning analytics means processing a dataset by the routing model with any machine learning technique known in the art.
  • the routing model is adjusted dynamically, to track changes occurring within the network.
  • the network model is a connected graph, where the edges represent links (either physical or logical) and the vertices represent switching nodes.
  • Different routing parameter weights are associated with each edge.
  • the weight may represent static parameters such link capacity, link cost etc. and/or dynamic parameters such as available link capacity, link delay etc. There may be single or multiple weights associated with each edge.
  • a machine learning training process is applied to a set of data (denoted herein a routing log) in order to maintain a dynamic routing model.
  • the routing log includes data flow routings along with respective labels indicating the success or failure of the route to comply with level of service requirements.
  • Flow route decisions are continuously reevaluated by comparing the flow's achieved level of service to the required level of service.
  • the routing model may be dynamically updated based on the training set derived from automatic and continuous labeling.
  • the data flow is monitored and/or network parameters (e.g. BW, Delay, Jitter%) are collected by monitoring/probing mechanisms within the communication network.
  • the gathered information may also be used to determine the level of service actually achieved by a current (or logged) routing, for comparison with the required level or service.
  • an apparatus for routing data flows through a data communication network may include: a network interface, a hardware processor, a non-transitory memory, a route selection module, an analysis module and/or a learning module.
  • the network interface receives a request for routing a flow of data packets within the data communication network.
  • the non-transitory memory stores a network model of network structure and network parameters and a routing log documenting respective success or failure of a plurality of routes routing a plurality of flows.
  • the route selection module routes the flow through the network. The route is selected based on an updateable routing model which includes rules for route selection, where the rules are applied to the network model.
  • the analysis module determines a failure of the route to comply with a respective required level of service.
  • the required level of service specifies at least one required performance measure for the flow, and stores the failure in the routing log.
  • the learning module updates the routing model by processing the routing log.
  • the route selection module reroutes the flow based on the updated routing model.
  • the learning module adjusts the network model by analyzing collected network data to identify changes in the network structure and network parameters.
  • the updating is directed to obtain a routing model that selects routes complying with respective required levels of service.
  • the updating includes applying machine learning analytics on the routing log.
  • the routing log includes a plurality of flow entries, each entry specifying a route and respective success or failure of the route to comply with the respective required level of service.
  • the updating includes applying supervised machine learning analytics on the routing log, and the respective successes or failures serve as training labels for flow entries processed by the supervised machine learning analytics.
  • the analysis module relabels success or failure of routes in the routing log based on attained data flow performance measures, and the updating includes applying the supervised machine learning analytics on the relabeled routing log.
  • the learning module updates the routing model incrementally, based on routes with modified success or failure.
  • the relabeling is performed asynchronously from data flow routing.
  • the network model includes a plurality of nodes interconnected by links, and at least one network parameter per link between two network nodes, and the route selection module applies constraint-based routing to the network parameters.
  • the analysis module receives, through the network interface, data collected by monitoring elements monitoring performance measures of the data flow routed through the data communication network, and identifies therefrom a failure of the flow to adhere to the respective required level of service.
  • the learning module develops an initial routing model by performing the machine learning analytics on a training set which includes a specified routing log and at least one of: network parameter data, network structure data, current data flow data and required levels of service.
  • the required level of service is specified by a service level agreement (SLA).
  • SLA service level agreement
  • a second aspect of the present invention there is provided a method of routing a data flow through a data communication network.
  • the method may include: i) receiving a route request for routing a flow of data packets within the data communication network; ii) selecting a route for the route request based on an updatable routing model which includes rules for route selection, the rules being applied to a network model of network structure and network parameters; iii) routing the data flow within the network through the selected route; iv) analyzing the routed data flow to determine a failure to comply with a respective required level of service, the required level of service specifying at least one required performance measure for the flow; v) storing the failure in a routing log documenting respective failures of a plurality of routes routing a plurality of flows within the data communication network; vi) updating the routing model by processing the routing log; and/or vii) rerouting the data flow through a new route selected based on the updated routing model.
  • the method further includes modifying the network model in accordance with changes in the network structure and network parameters.
  • the changes are identified by processing data collected network data.
  • the modifying includes calculating a current value of a specified parameter of the network model and inputting the calculated value into the network model.
  • the updating includes applying machine learning analytics on the routing log.
  • the routing log includes a plurality of flow entries, each entry specifying a route and the respective success or failure of the route to comply with the respective required level of service.
  • the updating includes applying supervised machine learning analytics on the routing log, and the respective successes or failures serve as training labels for flow entries processed by the supervised machine learning analytics.
  • the updating is performed incrementally.
  • the method further includes monitoring a routing of the flow through the data communication network to determine a success or failure of the flow to comply with the respective level of service, relabeling a success or failure of the route accordingly in the routing log, and updating the routing model by processing the relabeled routing log.
  • the relabeling is performed asynchronously from route selection.
  • selecting a route includes applying constraint-based routing to the network model.
  • the network model includes a plurality of nodes interconnected by links and at least one network parameter per link between two network nodes, and selecting a route includes selecting each potential link in the route by applying constraint-based routing to the network model.
  • the method further includes collecting network flow data from monitoring elements in the data communication network, and the analyzing includes comparing determining achieved performance measures for the flow and comparing the achieved performance measures to the required level of service.
  • the method further includes developing an initial routing model by applying the machine learning analytics on a training set which includes a specified routing log and at least one of: network parameter data, network structure data and required levels of service.
  • the required level of service is specified by a service level agreement (SLA).
  • SLA service level agreement
  • FIG. 1 A is a simplified block diagram of an apparatus for routing data flows through a data communication network, according to embodiments of the invention
  • FIG. IB illustrates a simplified routing log, according to an exemplary embodiment of the invention
  • FIG. 2 is a simplified flow chart of a method of routing a data flow through a data communication network, according to embodiments of the invention
  • FIG. 3 is a simplified system diagram of a routing apparatus functioning within a data communication network, according to an exemplary embodiment of the invention.
  • FIG. 4 is a simplified flowchart of a method of routing data through a network, according to an exemplary embodiment of the invention.
  • the present invention in some embodiments thereof, relates to apparatus and methods for data routing and, more specifically, but not exclusively, to apparatus and methods for data routing based on a dynamic routing model.
  • Embodiments described herein use machine learning (ML) analytics to dynamically develop and maintain a network model.
  • the network model is used to route current and newly- requested data flows.
  • the network model is updatable and may "evolve" in some sense as data flows through the data communication network.
  • supervised ML is applied to labeled flow routings.
  • supervised machine learning processes a training set which contains labeled examples in order to develop a model which detects whether new (unlabeled) data conforms to the pattern taught by the training set.
  • current and/or previous flow routings are stored and labeled, where the labels indicate the failure or success of the data flow to adhere to a respective required level of service (LOS).
  • LOS required level of service
  • Supervised ML analytics may then be applied to the labeled data set to train and/or "auto-tune" the network model.
  • past route decisions are reevaluated to determine if they still adhere to their level of service. Routes are reanalyzed according to the current network model (and optionally other data received from the network) and routings are relabeled in the routing table as necessary. In further embodiments, training action is then taken to update the routing model by applying supervised ML analytics to the relabeled routing table.
  • the routing model is modified incrementally using only modified labels.
  • the routing model may be continuously updated without going through a complex training process.
  • a tunable ML algorithm (such as lazy learning or incremental decision tree) is used to fine tune the network model based on the success or failure of the flow routings.
  • the present invention may be a system, a method, and/or a computer program product.
  • the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
  • Routing apparatus 100 configures data flows through a data communication according to a network model, determines when routings fail to adhere to a respective required level of service (LOS) and updates the routing model accordingly.
  • the LOS specifies at least one required performance measure for the respective flow.
  • routing means directing a data flow through a data communication network along a selected route.
  • Network interface 110 is an interface for communicating with other network elements.
  • Network interface 110 receives requests for routing flows of data packets within the data communication network.
  • network interface 110 further receives information from monitoring elements within the communication network.
  • network interface 110 outputs routing information to other elements in the communication network in order to facilitate data flow along a selected route.
  • Processor 120 performs processing operations and is in electrical communication with network interface 110, memory 140 and other modules in routing apparatus 100.
  • Route selection module 130 selects a route for the requested data flow and routes the flow through the network.
  • the route is selected by applying route selection rules from an updatable routing model to the network model.
  • the network model is optionally represented as a network status map.
  • route selection module 130 selects a route that is expected to comply with a specified LOS.
  • the LOS is specified in a service level agreement (SLA) between a service provider (such as an Internet service provider) and a customer/user.
  • SLA service level agreement
  • Route selection may be performed by any method known in the art.
  • at least one routing parameter is stored for each link between network nodes, and route selection module 130 selects the route by applying constraint-based routing to the stored routing parameters.
  • the network parameters are stored as a routing table 146 in memory 140.
  • route selection module 130 sends routing information to other network elements via network interface 110.
  • Analysis module 150 determines whether the data routing fails or succeeds to comply with the required LOS.
  • analysis module 150 receives data collected by monitoring elements through network interface 110.
  • the monitoring elements monitor data flows through the data communication network, and provide data which enables analysis module 150 to determine the performance measures achieved by the data flow.
  • analysis module 150 compares the achieved performance with the required performance measure(s) and determines whether the achieved performance fall within the range required by the LOS. It is noted that the range may be delimited in any manner (e.g. within specified upper and lower levels, above a specified level, below a specified level, etc.). Examples of performance measures include the maximum delay in milliseconds, maximum allowed Bit Error Rate, etc...
  • Memory 140 stores data which includes network model 141 and routing log 145.
  • Routing log 145 documents the failure or success of data flow routings, as determined by analysis module 150.
  • routing log 145 includes multiple flow entries, each entry specifying a routing and the respective success or failure of the data flow routing to comply with the required LOS.
  • routes which are not labeled in routing log 145 as failed routes are by default labeled as successful. Routing log 145 may thus serve as a training set for supervised ML analytics (which process a set of labeled data).
  • FIG. IB A routing log according to an exemplary embodiment of the invention is shown in Fig. IB.
  • Each data routing (entries 1...N) is labeled as either success or failure.
  • the routing table also stores the respective levels of service.
  • the routing may be specified by any means known in the art.
  • Learning module 160 updates the routing model by processing routing log 145.
  • the updating is optionally directed at obtaining a routing model that selects routes which comply with respective levels of service.
  • the routing model may thus adapt to changes in data flow LOS requirements, increasing the likelihood of adhering to the required performance measures.
  • learning module 160 processes routing log 145 with any type of machine learning analytics known in the art.
  • the machine learning analytics are supervised machine learning analytics which use the labeled routings as a training data set. The respective successes or failures of the routings serve as training labels for the supervised machine learning analytics.
  • the route selection module 130 reroutes one or more data flows based on the updated model. Rerouting may be performed any means known in the art, and by the same or different route selection process used to select the initial route for the given data flow.
  • analysis module 150 rechecks the route labeling according to the current performance of the routed data flow, by comparing achieved performance measures to those required by the respective LOS. Analysis module 150 determines whether the routes' respective success/failure labels are still correct and relabels the routing log entries as necessary.
  • the routing model may be continuously and/or automatically adapted to changing patterns of traffic utilization. This contrasts with standard constraint-based routing which does not take into account the changing network dynamics.
  • Analysis module 150 optionally relabels the routing log asynchronously from the route selection process. Additionally or alternately, analysis module 150 relabels the routing log periodically or upon receiving an external instruction.
  • learning module 160 updates network model 141 by processing the relabeled routing log (for example using supervised ML analytics).
  • learning module 160 updates the routing model incrementally based on routes with modified success or failure labels. This may reduce the computational burden relative to processing the entire routing log with both modified and unmodified success/failure labels.
  • tunable ML algorithms for example lazy learning or incremental decision tree
  • tunable ML algorithms are used, in order to fine tune network model 141 based on incremental changes in the success or failure of the routes.
  • learning module 160 dynamically adjusts the network model by analyzing collected network data to identify changes in said network structure and network parameters, to ensure that the network model represents the current network structure and parameters.
  • learning module 160 develops an initial routing model is by applying ML analytics on a set of training data.
  • the training data may include one or more of the following:
  • An initial routing log (e.g. provided by a network supervisor);
  • the routing apparatus is integrated into the data communication network.
  • the routing apparatus may be centralized (e.g. at a communication hub) or distributed throughout the network in multiple network elements.
  • Network and flow data is collected and analyzed in order to continuously update the routing model, which in turn modifies the network model as required to make route selections which comply with performance measure requirements.
  • the routing apparatus communicates with other network elements, in order to obtain data necessary to maintain both the routing and network models, and to configure data flows through the network.
  • the routing apparatus may communicate with one or more of:
  • Probing elements within the communication network e.g. to receive network parameter and flow data
  • Network databases e.g. to determine respective LOS requirements for data flows
  • Routers and forwarding elements e.g. to provide flow entries for routing tables
  • Flow endpoint elements e.g. to receive requests for data flows.
  • FIG. 3 An exemplary embodiment of a routing apparatus integrated into a communication network is described below for Fig. 3.
  • Fig. 2 is a simplified flow chart of a method of routing a data flow through a data communication network, according to embodiments of the invention.
  • a route request for routing a flow of data packets within the data communication network is received.
  • a route is selected for the route request based on an updatable routing model.
  • the routing model specifies rules for routing data flows, where these rules are applied to the network model (and optionally other data).
  • the route is selected by constraint-based routing as specified by the routing model. Alternate route selection rules may be used.
  • the data flow is routed through the network along the selected route.
  • the routed data flow is analyzed to determine whether it fails to comply with a respective required level of service.
  • the route is labeled as failed in a routing log.
  • routes are labeled by default as successful.
  • the routing model is updated by processing the routing log. Routing model updating may be performed incrementally and/or periodically.
  • routing model is updated by applying machine learning analytics on the routing log.
  • the routing log includes multiple flow entries, where each entry specifies a routing and a label indicating the success or failure of the routing to comply with a respective required level of service.
  • the machine learning analytics are supervised ML, which is applied to a routing log which includes a plurality of respectively labeled routes.
  • the failed data flow is rerouted based on the updated model.
  • the network model is modified to reflect the current network structure and parameters.
  • current values of one or more specified parameters stored in the network model are calculated, and the stored parameters are replaced by respective recalculated parameter values.
  • Network model modification may be performed at one or more stages, optionally including but not limited to: i) After routing model update; ii) After analyzing data route failure/success; and iii) Periodically.
  • network model modification is performed by analyzing data collected from the communication network and/or data provided by external sources (e.g. by an administrator).
  • the success/fail labels of the routes in the routing log are reevaluated based on network flow and/or other data.
  • the routing model is updated based on changes to the route labels.
  • network flow data is collected from monitoring elements in the data communication network.
  • the collected data may be used to determine the performance measures achieved by the data flow.
  • performance measures achieved by a data flow are compared to the requirements of the LOS, in order to determine the success or failure of the routing.
  • SLA level of service
  • SLA is not intended to be limiting. Other manners of establishing the required performance measures for a data flow may be used.
  • FIG. 3 is a simplified system diagram of a routing apparatus functioning within a data communication network, according to an exemplary embodiment of the invention.
  • the exemplary routing apparatus of Fig. 3 includes:
  • Labeled Flow Table 310 A routing log formatted as a flow table, with a label per flow indicating success or failure of the route to adhere to the flow's LOS.
  • the flow analysis table lists one or more performance measures (denoted "Param") required for each flow.
  • Analysis Module 320 collects network traffic parameters from metering points in communication network 350 and builds a network status map (i.e. network model). Analysis Module 320 compares measured network parameters to flow's LOS, and labels (or re-labels) the flow entry in Flow Table 310 according to updated network parameters. For example, the measured actual delay along a flow path is compared to the maximum delay allowed by the LOS, and when the maximum delay is exceeded the flow entry is labeled as failed.
  • the status map is point-to-point, per flow/tunnel metering end points, with per link based on per port metering.
  • KPI i.e. network parameters
  • OAMP Operaational Administration, Management and Performance
  • Route selection module 330 Selects routes for requested data flows using the routing model and Routing table 340.
  • Routing table 340 specifies one or more costs per link in communication network 350. Cost is a weight associated with a respective measured parameter. For example, a bigger delay on a link increases the cost associated with it, a routing model with cost minimizing routing rules would avoid such a link as much as possible (barring other constraints).
  • Tunable analytics engine 360 serves as a learning module, which updates the routing model using ML analytics.
  • the routing model is optionally updated by one or both of: i. Recalculating the routing model periodically by applying ML analytics to available data; and ii. Incremental update on the fly using online ML algorithms.
  • tunable analytics engine 360 dynamically maintains the network model so that it reflects current network structure and network parameters.
  • Network KPI and Metrics DB 370 stores the network parameters. It may be accessed by both analysis module 320 and tunable analytics engine 360; and
  • User information database 380 stores user information (e.g. SLAs) which is optionally configured by the user and/or an administrator.
  • user information e.g. SLAs
  • FIG. 4 is a simplified flowchart of a method of routing data through a network, according to an exemplary embodiment of the invention.
  • SLA and network data is input.
  • an initial routing model is built.
  • the routing model may initially be defined with a default routing model which is fed by statistics gathered from the communication network.
  • flow requests are received and a route is selected per request.
  • constraint-based routing is performed using the current routing model and network model. New routes are labeled as success by default. Network metering is performed continuously.
  • the network QoS map is updated.
  • the QoS map is an attribute of the network model which shows the level of service that is being offered by the network according to the actual load and or physical capabilities of the network. For example, at high loads the network may only be able to provide a minimum delay of 50 milliseconds.
  • flows are checked to determine if they adhere to their respective SLAs. Route decisions are reevaluated asynchronously by comparison to current network metrics, for every rate of metric updates. Routes are relabeled as necessary according to current network status. When all flows adhere to the respective SLA, flow processing continues at 430. In 460, when flows do not adhere to their respective SLAs, affected flows are relabeled as failed.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • a compound or “at least one compound” may include a plurality of compounds, including mixtures thereof.

Abstract

An apparatus for routing data flows through a data communication network includes: a network interface, hardware processor, non-transitory memory, route selection module, analysis module and learning module. The network interface receives requests for routing a flow of data packets within the data communication network. Route selection module routes data flows through the network, based on a routing model applying routing rules to a model of network structure and network parameters. The analysis module determines when routes fail to comply with a respective required level of service (LOS) specifying at least one required performance measure for the flow. Flow routes and their respective failure or success in adhering to the LOS are stored in the routing log. The learning module updates the routing model by processing the routing log, optionally using ML analytics. Optionally, when the model is updated the route selection module reroutes one or more failed flows based on the updated model.

Description

DATA ROUTING WITH A MACHINE LEARNING-BASED ROUTING MODEL
BACKGROUND The present invention, in some embodiments thereof, relates to apparatus and methods for data routing and, more specifically, but not exclusively, to apparatus and methods for data routing based on a dynamic routing model.
Current methods for routing data through a data communication network use constraint- based routing to select routes for data flow through the network. Constraint-based routing algorithms select a routing path satisfying constraints which are typically guided by a routing policy or on a service-oriented basis (e.g. Quality of Service (QoS) routing). However, in order to route data flows efficiently and without exceeding allocated network resources an accurate model of the communication network is needed. Otherwise the route may be selected based on outdated or fixed factors, which reduce the effectiveness of the data routing process.
SUMMARY
In embodiments herein, data flows are routed through a communication network, based on a routing model which applies rules for route selection to a model of the communication network. The accuracy of both the routing model and the network model directly affects the quality of route selection, since an inaccurate model may result in the failure of the selected route to meet the required criteria.
As used herein the term "network model" means a representation of network structure and network parameters.
As used herein the term "routing model" means a set of algorithms and parameters thereof that are used to make routing decisions based on provided data of flow requests and the network model.
Embodiments herein use machine learning to dynamically update the routing model which configures data flows through the network. The failure or success of routed data flows to achieve a respective required level of service (LOS) is evaluated and the routing model is updated in accordance with the evaluation. In some embodiments, the routing model is continuously updated by applying machine learning analytics to data sets which indicate the failure or success of flow routings to adhere to the LOS. The routing model automatically adapts to changes in the communication network and data flow within the network, thereby enabling data flow routing to be performed according to actual network conditions.
As used herein the term "applying machine learning analytics" means processing a dataset by the routing model with any machine learning technique known in the art.
Optionally, the routing model is adjusted dynamically, to track changes occurring within the network.
Optionally, the network model is a connected graph, where the edges represent links (either physical or logical) and the vertices represent switching nodes. Different routing parameter weights are associated with each edge. The weight may represent static parameters such link capacity, link cost etc. and/or dynamic parameters such as available link capacity, link delay etc. There may be single or multiple weights associated with each edge.
In embodiments herein, a machine learning training process is applied to a set of data (denoted herein a routing log) in order to maintain a dynamic routing model. The routing log includes data flow routings along with respective labels indicating the success or failure of the route to comply with level of service requirements. Flow route decisions are continuously reevaluated by comparing the flow's achieved level of service to the required level of service. Thus the routing model may be dynamically updated based on the training set derived from automatic and continuous labeling.
Optionally the data flow is monitored and/or network parameters (e.g. BW, Delay, Jitter...) are collected by monitoring/probing mechanisms within the communication network. The gathered information may also be used to determine the level of service actually achieved by a current (or logged) routing, for comparison with the required level or service.
According to a first aspect of the present invention there is provided an apparatus for routing data flows through a data communication network. The apparatus may include: a network interface, a hardware processor, a non-transitory memory, a route selection module, an analysis module and/or a learning module. The network interface receives a request for routing a flow of data packets within the data communication network. The non-transitory memory stores a network model of network structure and network parameters and a routing log documenting respective success or failure of a plurality of routes routing a plurality of flows. The route selection module routes the flow through the network. The route is selected based on an updateable routing model which includes rules for route selection, where the rules are applied to the network model. The analysis module determines a failure of the route to comply with a respective required level of service. The required level of service specifies at least one required performance measure for the flow, and stores the failure in the routing log. The learning module updates the routing model by processing the routing log. Upon routing model update, the route selection module reroutes the flow based on the updated routing model. According to a first possible implementation form of the first aspect of the invention as such, the learning module adjusts the network model by analyzing collected network data to identify changes in the network structure and network parameters.
According to a second possible implementation form of the first aspect as such or according to the first implementation form of the first aspect, the updating is directed to obtain a routing model that selects routes complying with respective required levels of service.
According to a third possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the updating includes applying machine learning analytics on the routing log.
According to a fourth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the routing log includes a plurality of flow entries, each entry specifying a route and respective success or failure of the route to comply with the respective required level of service.
According to a fifth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the updating includes applying supervised machine learning analytics on the routing log, and the respective successes or failures serve as training labels for flow entries processed by the supervised machine learning analytics.
According to a sixth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the analysis module relabels success or failure of routes in the routing log based on attained data flow performance measures, and the updating includes applying the supervised machine learning analytics on the relabeled routing log. According to a seventh possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the learning module updates the routing model incrementally, based on routes with modified success or failure.
According to an eighth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the relabeling is performed asynchronously from data flow routing.
According to a ninth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the network model includes a plurality of nodes interconnected by links, and at least one network parameter per link between two network nodes, and the route selection module applies constraint-based routing to the network parameters.
According to a tenth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the analysis module receives, through the network interface, data collected by monitoring elements monitoring performance measures of the data flow routed through the data communication network, and identifies therefrom a failure of the flow to adhere to the respective required level of service.
According to a eleventh possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the learning module develops an initial routing model by performing the machine learning analytics on a training set which includes a specified routing log and at least one of: network parameter data, network structure data, current data flow data and required levels of service.
According to a twelfth possible implementation form of the first aspect as such or according to any of the preceding implementation forms of the first aspect, the required level of service is specified by a service level agreement (SLA). According to a second aspect of the present invention there is provided a method of routing a data flow through a data communication network. The method may include: i) receiving a route request for routing a flow of data packets within the data communication network; ii) selecting a route for the route request based on an updatable routing model which includes rules for route selection, the rules being applied to a network model of network structure and network parameters; iii) routing the data flow within the network through the selected route; iv) analyzing the routed data flow to determine a failure to comply with a respective required level of service, the required level of service specifying at least one required performance measure for the flow; v) storing the failure in a routing log documenting respective failures of a plurality of routes routing a plurality of flows within the data communication network; vi) updating the routing model by processing the routing log; and/or vii) rerouting the data flow through a new route selected based on the updated routing model.
According to a first possible implementation form of the second aspect, the method further includes modifying the network model in accordance with changes in the network structure and network parameters. The changes are identified by processing data collected network data.
According to a second possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the modifying includes calculating a current value of a specified parameter of the network model and inputting the calculated value into the network model.
According to a third possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the updating includes applying machine learning analytics on the routing log.
According to a fourth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the routing log includes a plurality of flow entries, each entry specifying a route and the respective success or failure of the route to comply with the respective required level of service.
According to a fifth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the updating includes applying supervised machine learning analytics on the routing log, and the respective successes or failures serve as training labels for flow entries processed by the supervised machine learning analytics.
According to a sixth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the updating is performed incrementally.
According to a seventh possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the method further includes monitoring a routing of the flow through the data communication network to determine a success or failure of the flow to comply with the respective level of service, relabeling a success or failure of the route accordingly in the routing log, and updating the routing model by processing the relabeled routing log.
According to an eighth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the relabeling is performed asynchronously from route selection.
According to a ninth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, selecting a route includes applying constraint-based routing to the network model.
According to a tenth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the network model includes a plurality of nodes interconnected by links and at least one network parameter per link between two network nodes, and selecting a route includes selecting each potential link in the route by applying constraint-based routing to the network model.
According to a eleventh possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the method further includes collecting network flow data from monitoring elements in the data communication network, and the analyzing includes comparing determining achieved performance measures for the flow and comparing the achieved performance measures to the required level of service.
According to a twelfth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the method further includes developing an initial routing model by applying the machine learning analytics on a training set which includes a specified routing log and at least one of: network parameter data, network structure data and required levels of service.
According to a thirteenth possible implementation form of the second aspect as such or according to any of the preceding implementation forms of the second aspect, the required level of service is specified by a service level agreement (SLA).
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
BRIEF DESCRIPTION OF THE DRAWINGS
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
FIG. 1 A is a simplified block diagram of an apparatus for routing data flows through a data communication network, according to embodiments of the invention; FIG. IB illustrates a simplified routing log, according to an exemplary embodiment of the invention;
FIG. 2 is a simplified flow chart of a method of routing a data flow through a data communication network, according to embodiments of the invention; FIG. 3 is a simplified system diagram of a routing apparatus functioning within a data communication network, according to an exemplary embodiment of the invention; and
FIG. 4 is a simplified flowchart of a method of routing data through a network, according to an exemplary embodiment of the invention.
DETAILED DESCRIPTION
The present invention, in some embodiments thereof, relates to apparatus and methods for data routing and, more specifically, but not exclusively, to apparatus and methods for data routing based on a dynamic routing model. Embodiments described herein use machine learning (ML) analytics to dynamically develop and maintain a network model. The network model is used to route current and newly- requested data flows. The network model is updatable and may "evolve" in some sense as data flows through the data communication network.
In embodiments herein, supervised ML is applied to labeled flow routings. In general, supervised machine learning processes a training set which contains labeled examples in order to develop a model which detects whether new (unlabeled) data conforms to the pattern taught by the training set. In embodiments herein, current and/or previous flow routings are stored and labeled, where the labels indicate the failure or success of the data flow to adhere to a respective required level of service (LOS). Supervised ML analytics may then be applied to the labeled data set to train and/or "auto-tune" the network model.
Optionally, in order to deal with the difficulties created by the constant changes in network structure and network traffic utilization, past route decisions are reevaluated to determine if they still adhere to their level of service. Routes are reanalyzed according to the current network model (and optionally other data received from the network) and routings are relabeled in the routing table as necessary. In further embodiments, training action is then taken to update the routing model by applying supervised ML analytics to the relabeled routing table.
In some embodiments, the routing model is modified incrementally using only modified labels. Thus the routing model may be continuously updated without going through a complex training process. Optionally, a tunable ML algorithm (such as lazy learning or incremental decision tree) is used to fine tune the network model based on the success or failure of the flow routings.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
Apparatus for Routing Data Flows Reference is now made to Fig. 1 A, which is a simplified block diagram of an apparatus for routing data flows through a data communication network, according to embodiments of the invention. Routing apparatus 100 configures data flows through a data communication according to a network model, determines when routings fail to adhere to a respective required level of service (LOS) and updates the routing model accordingly. The LOS specifies at least one required performance measure for the respective flow.
As used herein, the term "routing" means directing a data flow through a data communication network along a selected route.
Network interface 110 is an interface for communicating with other network elements. Network interface 110 receives requests for routing flows of data packets within the data communication network. Optionally, network interface 110 further receives information from monitoring elements within the communication network. In additional or alternate embodiments, network interface 110 outputs routing information to other elements in the communication network in order to facilitate data flow along a selected route.
Processor 120 performs processing operations and is in electrical communication with network interface 110, memory 140 and other modules in routing apparatus 100.
Route selection module 130 selects a route for the requested data flow and routes the flow through the network. The route is selected by applying route selection rules from an updatable routing model to the network model. The network model is optionally represented as a network status map. Optionally, route selection module 130 selects a route that is expected to comply with a specified LOS.
Optionally, the LOS is specified in a service level agreement (SLA) between a service provider (such as an Internet service provider) and a customer/user.
Route selection may be performed by any method known in the art. Optionally, at least one routing parameter is stored for each link between network nodes, and route selection module 130 selects the route by applying constraint-based routing to the stored routing parameters. Optionally, the network parameters are stored as a routing table 146 in memory 140.
Flow routing may be performed by any method known in the art. Optionally, route selection module 130 sends routing information to other network elements via network interface 110.
Analysis module 150 determines whether the data routing fails or succeeds to comply with the required LOS. Optionally, analysis module 150 receives data collected by monitoring elements through network interface 110. The monitoring elements monitor data flows through the data communication network, and provide data which enables analysis module 150 to determine the performance measures achieved by the data flow. Optionally, analysis module 150 compares the achieved performance with the required performance measure(s) and determines whether the achieved performance fall within the range required by the LOS. It is noted that the range may be delimited in any manner (e.g. within specified upper and lower levels, above a specified level, below a specified level, etc.). Examples of performance measures include the maximum delay in milliseconds, maximum allowed Bit Error Rate, etc... Memory 140 stores data which includes network model 141 and routing log 145. Routing log 145 documents the failure or success of data flow routings, as determined by analysis module 150. Optionally, routing log 145 includes multiple flow entries, each entry specifying a routing and the respective success or failure of the data flow routing to comply with the required LOS. Optionally, routes which are not labeled in routing log 145 as failed routes are by default labeled as successful. Routing log 145 may thus serve as a training set for supervised ML analytics (which process a set of labeled data).
A routing log according to an exemplary embodiment of the invention is shown in Fig. IB. Each data routing (entries 1...N) is labeled as either success or failure. Optionally, the routing table also stores the respective levels of service. The routing may be specified by any means known in the art.
Learning module 160 updates the routing model by processing routing log 145. The updating is optionally directed at obtaining a routing model that selects routes which comply with respective levels of service. The routing model may thus adapt to changes in data flow LOS requirements, increasing the likelihood of adhering to the required performance measures.
Optionally, learning module 160 processes routing log 145 with any type of machine learning analytics known in the art. In further optional embodiments, the machine learning analytics are supervised machine learning analytics which use the labeled routings as a training data set. The respective successes or failures of the routings serve as training labels for the supervised machine learning analytics.
In some embodiments, when the routing model is updated the route selection module 130 reroutes one or more data flows based on the updated model. Rerouting may be performed any means known in the art, and by the same or different route selection process used to select the initial route for the given data flow. Optionally, analysis module 150 rechecks the route labeling according to the current performance of the routed data flow, by comparing achieved performance measures to those required by the respective LOS. Analysis module 150 determines whether the routes' respective success/failure labels are still correct and relabels the routing log entries as necessary. Thus the routing model may be continuously and/or automatically adapted to changing patterns of traffic utilization. This contrasts with standard constraint-based routing which does not take into account the changing network dynamics. Analysis module 150 optionally relabels the routing log asynchronously from the route selection process. Additionally or alternately, analysis module 150 relabels the routing log periodically or upon receiving an external instruction.
Optionally, learning module 160 updates network model 141 by processing the relabeled routing log (for example using supervised ML analytics). In further optional embodiments, learning module 160 updates the routing model incrementally based on routes with modified success or failure labels. This may reduce the computational burden relative to processing the entire routing log with both modified and unmodified success/failure labels. Optionally tunable ML algorithms (for example lazy learning or incremental decision tree) are used, in order to fine tune network model 141 based on incremental changes in the success or failure of the routes.
Optionally, learning module 160 dynamically adjusts the network model by analyzing collected network data to identify changes in said network structure and network parameters, to ensure that the network model represents the current network structure and parameters. Optionally, learning module 160 develops an initial routing model is by applying ML analytics on a set of training data. The training data may include one or more of the following:
1) An initial routing log (e.g. provided by a network supervisor);
2) Data gathered from network (e.g. current data flows, network resources, network structure, etc.); and 3) Respective LOS parameters for specified types of data flows.
Routing Apparatus in a Data Communication Network
In some embodiments, the routing apparatus is integrated into the data communication network. The routing apparatus may be centralized (e.g. at a communication hub) or distributed throughout the network in multiple network elements. Network and flow data is collected and analyzed in order to continuously update the routing model, which in turn modifies the network model as required to make route selections which comply with performance measure requirements. Thus the network model used for route selection adapts to changing patterns of traffic utilization, as opposed to standard fixed constraint-based routing. The routing apparatus communicates with other network elements, in order to obtain data necessary to maintain both the routing and network models, and to configure data flows through the network. The routing apparatus may communicate with one or more of:
1) Probing elements within the communication network (e.g. to receive network parameter and flow data);
2) Network databases (e.g. to determine respective LOS requirements for data flows);
3) Routers and forwarding elements (e.g. to provide flow entries for routing tables); and
4) Flow endpoint elements (e.g. to receive requests for data flows).
An exemplary embodiment of a routing apparatus integrated into a communication network is described below for Fig. 3.
Method for Routing Data Flows
Reference is now made to Fig. 2, which is a simplified flow chart of a method of routing a data flow through a data communication network, according to embodiments of the invention. In 200, a route request for routing a flow of data packets within the data communication network is received.
In 210, a route is selected for the route request based on an updatable routing model. The routing model specifies rules for routing data flows, where these rules are applied to the network model (and optionally other data). Optionally, the route is selected by constraint-based routing as specified by the routing model. Alternate route selection rules may be used.
In 220, the data flow is routed through the network along the selected route.
In 230, the routed data flow is analyzed to determine whether it fails to comply with a respective required level of service.
In 240, when a failure to comply with a LOS is detected, the route is labeled as failed in a routing log. Optionally, routes are labeled by default as successful. In 250, the routing model is updated by processing the routing log. Routing model updating may be performed incrementally and/or periodically.
Optionally routing model is updated by applying machine learning analytics on the routing log. Optionally the routing log includes multiple flow entries, where each entry specifies a routing and a label indicating the success or failure of the routing to comply with a respective required level of service. In a further embodiment, the machine learning analytics are supervised ML, which is applied to a routing log which includes a plurality of respectively labeled routes.
Optionally, in 260 the failed data flow is rerouted based on the updated model.
Optionally, in 270 the network model is modified to reflect the current network structure and parameters. In some embodiments, current values of one or more specified parameters stored in the network model are calculated, and the stored parameters are replaced by respective recalculated parameter values. Network model modification may be performed at one or more stages, optionally including but not limited to: i) After routing model update; ii) After analyzing data route failure/success; and iii) Periodically.
Optionally, network model modification is performed by analyzing data collected from the communication network and/or data provided by external sources (e.g. by an administrator).
Optionally, the success/fail labels of the routes in the routing log are reevaluated based on network flow and/or other data. The routing model is updated based on changes to the route labels.
Optionally, network flow data is collected from monitoring elements in the data communication network. The collected data may be used to determine the performance measures achieved by the data flow. Optionally, performance measures achieved by a data flow are compared to the requirements of the LOS, in order to determine the success or failure of the routing.
In the exemplary embodiments presented below, the level of service is denoted an SLA. The term SLA is not intended to be limiting. Other manners of establishing the required performance measures for a data flow may be used. Exemplary Routing Apparatus in a Data Communication Network
Reference is now made to Fig. 3, which is a simplified system diagram of a routing apparatus functioning within a data communication network, according to an exemplary embodiment of the invention.
The exemplary routing apparatus of Fig. 3 includes:
I) Labeled Flow Table 310: A routing log formatted as a flow table, with a label per flow indicating success or failure of the route to adhere to the flow's LOS. The flow analysis table lists one or more performance measures (denoted "Param") required for each flow. II) Analysis Module 320 collects network traffic parameters from metering points in communication network 350 and builds a network status map (i.e. network model). Analysis Module 320 compares measured network parameters to flow's LOS, and labels (or re-labels) the flow entry in Flow Table 310 according to updated network parameters. For example, the measured actual delay along a flow path is compared to the maximum delay allowed by the LOS, and when the maximum delay is exceeded the flow entry is labeled as failed.
In the exemplary embodiment, the status map is point-to-point, per flow/tunnel metering end points, with per link based on per port metering. In order to dynamically measure KPI (i.e. network parameters) an OAMP (Operational Administration, Management and Performance) protocol such as Y.1731 is used to constantly and continuously collect and log such data. III) Route selection module 330: Selects routes for requested data flows using the routing model and Routing table 340. Routing table 340 specifies one or more costs per link in communication network 350. Cost is a weight associated with a respective measured parameter. For example, a bigger delay on a link increases the cost associated with it, a routing model with cost minimizing routing rules would avoid such a link as much as possible (barring other constraints).
IV) Tunable analytics engine 360 serves as a learning module, which updates the routing model using ML analytics. The routing model is optionally updated by one or both of: i. Recalculating the routing model periodically by applying ML analytics to available data; and ii. Incremental update on the fly using online ML algorithms.
Optionally, tunable analytics engine 360 dynamically maintains the network model so that it reflects current network structure and network parameters.
V) Network KPI and Metrics DB 370 stores the network parameters. It may be accessed by both analysis module 320 and tunable analytics engine 360; and
VI) User information database 380 stores user information (e.g. SLAs) which is optionally configured by the user and/or an administrator.
Method of Routing Data Reference is now made to Fig. 4, which is a simplified flowchart of a method of routing data through a network, according to an exemplary embodiment of the invention.
In 410, SLA and network data is input.
In 420, an initial routing model is built. For example, the routing model may initially be defined with a default routing model which is fed by statistics gathered from the communication network.
In 430, flow requests are received and a route is selected per request. For every new flow, constraint-based routing is performed using the current routing model and network model. New routes are labeled as success by default. Network metering is performed continuously.
In 440, the network QoS map is updated. The QoS map is an attribute of the network model which shows the level of service that is being offered by the network according to the actual load and or physical capabilities of the network. For example, at high loads the network may only be able to provide a minimum delay of 50 milliseconds.
In 450, flows are checked to determine if they adhere to their respective SLAs. Route decisions are reevaluated asynchronously by comparison to current network metrics, for every rate of metric updates. Routes are relabeled as necessary according to current network status. When all flows adhere to the respective SLA, flow processing continues at 430. In 460, when flows do not adhere to their respective SLAs, affected flows are relabeled as failed.
In 470 it is determined whether an online routing model update is being performed. When online routing model update is performed, in 480 the routing model is updated incrementally by applying ML to relabeled flows (as determined in 460). When an online ML update is not performed, in 490 data is accumulated and the routing model is updated periodically.
The methods as described above are used in the fabrication of integrated circuit chips.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. It is expected that during the life of a patent maturing from this application many relevant machine learning analytics, supervised machine learning analytics, data flow routing, routing models, levels of service specification and network model representations will be developed and the scope of the terms machine learning analytics, supervised machine learning analytics, data flow routing, routing model, level of service and network model are intended to include all such new technologies a priori. The terms "comprises", "comprising", "includes", "including", "having" and their conjugates mean "including but not limited to". This term encompasses the terms "consisting of and "consisting essentially of.
As used herein, the singular form "a", "an" and "the" include plural references unless the context clearly dictates otherwise. For example, the term "a compound" or "at least one compound" may include a plurality of compounds, including mixtures thereof.
The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments and/or to exclude the incorporation of features from other embodiments. The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". Any particular embodiment of the invention may include a plurality of "optional" features unless such features conflict.
Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases "ranging/ranges between" a first indicate number and a second indicate number and "ranging/ranges from" a first indicate number "to" a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements. Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.

Claims

1. An apparatus for routing data flows through a data communication network, the apparatus comprising: a network interface (110) configured to receive a request for routing a flow of data packets within said data communication network; a hardware processor (120) in electrical communication with the network interface
(110); a non-transitory memory ( 140) in electrical communication with the hardware processor (120), the memory (140) having stored thereon: a network model (141) of network structure and network parameters and a routing log (145) documenting respective success or failure of a plurality of routes routing a plurality of flows; a route selection module (130), in electrical communication with said hardware processor (120), said network interface (110) and said memory (140), configured to route said flow through said network, wherein said route is selected based on an updatable routing model which comprises rules for route selection, said rules being applied to said network model (141); an analysis module (150), in electrical communication with said hardware processor (120) and said memory (140), configured to determine a failure of said route to comply with a respective required level of service, said required level of service specifying at least one required performance measure for said flow, and to store said failure in said routing log (145); and a learning module (160), in electrical communication with said hardware processor (120), and said memory (140), configured to update said routing model by processing said routing log (145), wherein, upon said routing model update said route selection module (130) is configured to reroute said flow based on said updated routing model.
2. The apparatus of claim 1, wherein said learning module (160) is further configured adjust said network model (141) by analyzing collected network data to identify changes in said network structure and network parameters.
3. The apparatus of claims 1 or 2, wherein said updating is directed to obtain a routing model that selects routes complying with respective required levels of service.
4. The apparatus of any one of claims 1-3, wherein said updating comprises applying machine learning analytics on said routing log (145).
5. The apparatus of any one of claims 1-4, wherein said routing log (145) comprises a plurality of flow entries, each entry specifying a route and respective success or failure of said route to comply with said respective required level of service.
6. The apparatus of claim 5, wherein said updating comprises applying supervised machine learning analytics on said routing log (145), and wherein said respective successes or failures serve as training labels for flow entries processed by said supervised machine learning analytics.
7. The apparatus of claim 6, wherein said analysis module (150) is further configured to relabel success or failure of routes in said routing log (145) based on attained data flow performance measures, and wherein said updating comprises applying said supervised machine learning analytics on said relabeled routing log (145).
8. The apparatus of claim 7, wherein said learning module (160) is configured to update said routing model incrementally based on routes with modified success or failure.
9. The apparatus of claim 7 or 8, wherein said relabeling is performed asynchronously from data flow routing.
10. The apparatus of any one of claims 1-9, wherein said network model (141) comprises a plurality of nodes interconnected by links, and at least one network parameter per link between two network nodes, and wherein said route selection module (130) is configured to apply constraint-based routing to said network parameters.
11. The apparatus of any one of claims 1-10, wherein said analysis module (150) is further configured to receive, through said network interface (110), data collected by monitoring elements monitoring performance measures of said data flow routed through said data communication network and to identify therefrom a failure of said flow to adhere to said respective required level of service.
12. A method of routing a data flow through a data communication network, comprising: receiving a route request for routing a flow of data packets within said data communication network; selecting a route for said route request based on an updatable routing model comprising rules for route selection, said rules being applied to a network model (141) of network structure and network parameters; routing said data flow within said network through said selected route; analyzing said routed data flow to determine a failure to comply with a respective required level of service, said required level of service specifying at least one required performance measure for said flow; storing said failure in a routing log (145) documenting respective failures of a plurality of routes routing a plurality of flows within said data communication network; updating said routing model by processing said routing log (145); and rerouting said data flow through a new route selected based on said updated routing model.
13. The method of claim 12, wherein said routing log (145) comprises a plurality of flow entries, each entry specifying a route and respective success or failure of said route to comply with said respective required level of service, wherein said updating comprises applying supervised machine learning analytics on said routing log (145), and wherein said respective successes or failures serve as training labels for flow entries processed by said supervised machine learning analytics.
14. The method of claim 12 or 13, further comprising monitoring a routing of said flow through said data communication network to determine a success or failure of said flow to comply with said respective level of service, relabeling a success or failure of said route accordingly in said routing log (145), and updating said routing model by processing said relabeled routing log (145).
15. The method of any one of claims 12-14, further comprising collecting network flow data from monitoring elements in said data communication network, wherein said analyzing comprises comparing determining achieved performance measures for said flow and comparing said achieved performance measures to said required level of service.
PCT/EP2014/074559 2014-11-14 2014-11-14 Data routing with a machine learning-based routing model WO2016074738A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201480036847.3A CN105960779B (en) 2014-11-14 2014-11-14 Data routing method and device with machine learning-based routing model
PCT/EP2014/074559 WO2016074738A1 (en) 2014-11-14 2014-11-14 Data routing with a machine learning-based routing model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/074559 WO2016074738A1 (en) 2014-11-14 2014-11-14 Data routing with a machine learning-based routing model

Publications (1)

Publication Number Publication Date
WO2016074738A1 true WO2016074738A1 (en) 2016-05-19

Family

ID=51897278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/074559 WO2016074738A1 (en) 2014-11-14 2014-11-14 Data routing with a machine learning-based routing model

Country Status (2)

Country Link
CN (1) CN105960779B (en)
WO (1) WO2016074738A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106953802A (en) * 2017-03-01 2017-07-14 浙江工商大学 A kind of network optimal route selection method based on deep learning
WO2019125445A1 (en) * 2017-12-20 2019-06-27 Visa International Service Association Automated fault detecting control system
WO2020131522A1 (en) * 2018-12-17 2020-06-25 Loon Llc Operation of sectorized communications from aerospace platforms using reinforcement learning
FR3101498A1 (en) * 2019-09-30 2021-04-02 Orange Method for controlling a data flow associated with a process within a shared network

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075974B (en) * 2016-11-14 2021-01-15 中国移动通信有限公司研究院 Flow forwarding control method and device and SDN architecture system
CN107124365B (en) * 2017-04-25 2020-11-24 曙光信息产业(北京)有限公司 Routing strategy acquisition system based on machine learning
CN107609652B (en) * 2017-08-30 2019-10-25 第四范式(北京)技术有限公司 Execute the distributed system and its method of machine learning
CN107920175A (en) * 2017-11-04 2018-04-17 金陵科技学院 A kind of method of communication control device call route
US10958506B2 (en) 2017-12-07 2021-03-23 Cisco Technology, Inc. In-situ OAM (IOAM) network risk flow-based “topo-gram” for predictive flow positioning
CN108833310B (en) * 2018-06-12 2020-11-13 国网江苏省电力有限公司无锡供电分公司 Switch with artificial intelligence analysis
US11223538B1 (en) * 2020-09-11 2022-01-11 Hewlett Packard Enterprise Development Lp Intelligent data traffic routing in a wide area network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020145981A1 (en) * 2001-04-10 2002-10-10 Eric Klinker System and method to assure network service levels with intelligent routing
WO2004056047A1 (en) * 2002-12-13 2004-07-01 Internap Network Services Corporation Topology aware route control

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158388B (en) * 2010-02-12 2014-12-24 国际商业机器公司 Extremum route determination engine and method
CN103326943B (en) * 2012-03-23 2017-03-01 日电(中国)有限公司 Data flow heavy route method and controller
CN103716242B (en) * 2013-12-25 2017-07-18 北京邮电大学 A kind of method for routing and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020145981A1 (en) * 2001-04-10 2002-10-10 Eric Klinker System and method to assure network service levels with intelligent routing
WO2004056047A1 (en) * 2002-12-13 2004-07-01 Internap Network Services Corporation Topology aware route control

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106953802A (en) * 2017-03-01 2017-07-14 浙江工商大学 A kind of network optimal route selection method based on deep learning
CN106953802B (en) * 2017-03-01 2020-03-03 浙江工商大学 Network optimal path selection method based on deep learning
WO2019125445A1 (en) * 2017-12-20 2019-06-27 Visa International Service Association Automated fault detecting control system
WO2020131522A1 (en) * 2018-12-17 2020-06-25 Loon Llc Operation of sectorized communications from aerospace platforms using reinforcement learning
US10863369B2 (en) 2018-12-17 2020-12-08 Loon Llc Operation of sectorized communications from aerospace platforms using reinforcement learning
US11202214B2 (en) 2018-12-17 2021-12-14 Google Llc Operation of sectorized communications from aerospace platforms using reinforcement learning
US11576057B2 (en) 2018-12-17 2023-02-07 Aalyria Technologies, Inc. Operation of sectorized communications from aerospace platforms using reinforcement learning
US11751076B2 (en) 2018-12-17 2023-09-05 Aalyria Technologies, Inc. Operation of sectorized communications from aerospace platforms using reinforcement learning
FR3101498A1 (en) * 2019-09-30 2021-04-02 Orange Method for controlling a data flow associated with a process within a shared network
WO2021064310A1 (en) * 2019-09-30 2021-04-08 Orange Method for monitoring a data stream associated with a process within a shared network

Also Published As

Publication number Publication date
CN105960779B (en) 2020-01-03
CN105960779A (en) 2016-09-21

Similar Documents

Publication Publication Date Title
WO2016074738A1 (en) Data routing with a machine learning-based routing model
US11240153B1 (en) Scoring policies for predictive routing suggestions
EP3047609B1 (en) Systems and method for reconfiguration of routes
US9838296B2 (en) Bandwidth optimization systems and methods in networks
US8862744B2 (en) Optimizing traffic load in a communications network
US10142186B2 (en) System and method for designing a network for one or more entities in an enterprise
US9379949B2 (en) System and method for improved end-user experience by proactive management of an enterprise network
US10833934B2 (en) Energy management in a network
EP3371706B1 (en) System and method for generating a graphical display region indicative of conditions of a computing infrastructure
WO2008011354A2 (en) Controlled incremental multi-protocol label switching (mpls) traffic engineering
GB2539993A (en) Energy management in a network
EP3318026B1 (en) Model management in a dynamic qos environment
US11316752B2 (en) Action recommendation engine (ARE) of a closed-loop machine learning (ML) system for controlling a network
US10044621B2 (en) Methods and systems for transport SDN traffic engineering using dual variables
CN109039795A (en) A kind of Cloud Server resource monitoring method and system
US11178064B2 (en) Resource allocation device and resource allocation method
Khan et al. Intent-based networking approach for service route and QoS control on KOREN SDI
CN113079427B (en) ASON network service availability evaluation method based on network evolution model
US10630563B2 (en) Application-driven cross-stratum resource monitoring
CN105917621B (en) Method and system for data routing
Flavel et al. BGP route prediction within ISPs
US20160065461A1 (en) Risk mitigation in data center networks using virtual machine sharing
US20230291636A1 (en) Application degradation root causing and rerouting using time series clustering
Anh et al. A new localized multiconstraint QoS routing algorithm
US11824766B2 (en) Adaptive selection of network paths based on long-term predictions of user experience

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14796780

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14796780

Country of ref document: EP

Kind code of ref document: A1