Modifying network routing and bandwidth balance to achieve low latency and high quality fair traffic

By optimizing network routing and bandwidth balancing through machine learning, the problem of low latency and high-quality fair traffic in wide area networks has been solved, achieving efficient and fair use of network communication.

CN120982075APending Publication Date: 2025-11-18HOURGLASS SOFTWARE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380096932.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-11
Filing Date
2023-11-13
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Existing technologies struggle to achieve low latency and high-quality fair traffic in wide area networks, and network routing and bandwidth allocation suffer from inefficiencies.

Method used

Machine learning is used to optimize network routing and bandwidth balancing. By classifying network quality data and analyzing historical data, appropriate routes and bandwidth allocations are determined to meet the latency and quality standards of WANs and LANs.

Benefits of technology

It achieves low latency and high-quality fair traffic in wide area networks, optimizes network communication efficiency, and ensures the fair use of network resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120982075A_ABST
    Figure CN120982075A_ABST
Patent Text Reader

Abstract

The described techniques generally involve modifying network routing and bandwidth balance to achieve low latency and high quality fair traffic. For example, available routes between a source node on a wide area network and a destination node on the wide area network are classified based on network routing data containing network quality data representative of network quality applicable to the wide area network, and using machine learning applied to historical network routing data other than the network routing data. Furthermore, bandwidth allocations applicable to the classified available routes may be determined based on the network routing data and using results of machine learning applied to historical network routing data. The routing is then set for the data transmitted from the source node to the destination node based on the classified available routing and the predicted bandwidth allocation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This patent application claims priority to U.S. Provisional Patent Application No. 63 / 484,691, filed February 13, 2023, entitled "Optimized Network Routing and Bandwidth Balancing for lower latency and high quality 'fair' traffic using Machine Learning," and U.S. Non-Provisional Patent Application No. 18 / 464,359, filed September 11, 2023, entitled "Modifying Network Routing and Bandwidth Balancing for Lower Latency and High Quality Fair Traffic." The entire contents of the above applications are incorporated herein by reference. Technical Field

[0003] The disclosed topics relate to network routing, and more specifically, to modifying (e.g., optimizing using machine learning) network routing and bandwidth balancing to achieve low latency and high-quality fair traffic. Background Technology

[0004] For wide area networks (WANs), the shortest path between nodes can be calculated based on specific weights of the node-to-node path. Each data packet sent and received has its own data transmission latency and quality. Latency depends in part on the amount of bandwidth allocated to network communication, and also on the route the data takes. Acknowledgments or error correction can be used to ensure data transmission quality. Data throughput also depends on bandwidth, which determines the amount of data that can be sent or received between nodes within a given time period. Furthermore, due to limited capacity, WANs employ bandwidth balancing mechanisms.

[0005] The above background information related to network routing is intended to provide only an overview of some current issues and is not exhaustive. Further background information may emerge after reading the following detailed implementation. Attached Figure Description

[0006] Figure 1 This is a block diagram of an exemplary system according to one or more embodiments described herein.

[0007] Figure 2 This is a block diagram of an exemplary system according to one or more embodiments described herein.

[0008] Figure 3 is a block diagram of an exemplary system in accordance with one or more embodiments described herein.

[0009] Figure 4 is a block diagram of an exemplary wide area network topology in accordance with one or more embodiments described herein.

[0010] Figure 5 is a flow diagram of a process related to optimizing network routing and bandwidth balancing in accordance with one or more embodiments described herein.

[0011] Figure 6 is a block diagram flow diagram of a process related to optimizing network routing and bandwidth balancing in accordance with one or more embodiments described herein.

[0012] Figure 7 is a block diagram flow diagram of a process related to optimizing network routing and bandwidth balancing in accordance with one or more embodiments described herein.

[0013] Figure 8 is a block diagram flow diagram of a process related to optimizing network routing and bandwidth balancing in accordance with one or more embodiments described herein.

[0014] Figure 9 is an exemplary non-limiting computing environment in which one or more embodiments described herein can be implemented.

[0015] Figure 10 is an exemplary non-limiting network environment in which one or more embodiments described herein can be implemented. DETAILED DESCRIPTION

[0016] The subject disclosure is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the subject disclosure. It can be evident, however, that the subject disclosure can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the subject disclosure.

[0017] As previously noted, network routing and bandwidth balancing can be improved in a variety of ways, and various embodiments are described herein to achieve this and / or other purposes.

[0018] According to one embodiment, a system can include a processor and a memory storing executable instructions that, when executed by the processor, facilitate performance of operations including, based on network routing data containing network quality data representative of network quality applicable to a wide area network, and using machine learning applied to historical network routing data other than the network routing data, classifying available routes between a source node on the wide area network and a destination node on the wide area network, resulting in classified available routes, based on the network routing data, and using machine learning results applied to the historical network routing data, determining bandwidth allocations applicable to the classified available routes, resulting in predicted bandwidth allocations, and based on the classified available routes and the predicted bandwidth allocations, setting a route for data to be transmitted from the source node to the destination node.

[0019] In various embodiments, the determined route can satisfy a defined wide area network latency standard applicable to the wide area network, a defined wide area network quality of service standard applicable to the wide area network, a defined local area network latency standard applicable to the source node or the destination node, or a defined local area network quality of service standard applicable to the source node or the destination node.

[0020] In various embodiments, the network routing data can further include zone data, which can include one or more zone metrics applicable to at least one of the source node or the destination node. In this regard, the one or more zone metrics can include a zone identifier, a first number of active node pairs in a zone containing the source node or the destination node, a second number of node pair routes in the zone, an average packet latency applicable to the zone, an average network throughput applicable to the zone, a quality according to a defined quality metric applicable to the zone, or a total bandwidth applicable to the zone.

[0021] In various embodiments, at least one of the source node or the destination node can include a network router or a network switch.

[0022] In various embodiments, the network routing data can further include node pair data representative of one or more metrics applicable to a node pair containing a pair of nodes that are part of the wide area network. In this regard, the node pair data can include a route identifier applicable to the node pair, a latency applicable to the node pair, a throughput applicable to the node pair, or a quality according to a defined quality metric applicable to the node pair.

[0023] In various embodiments, the operations described above further include setting a bandwidth for the determined route that satisfies the defined wide area network quality criteria based on the routing and using machine learning applied to past routes other than the route. In this regard, the defined wide area network quality criteria can be satisfied according to a threshold wide area network quality metric. Further, the threshold wide area network quality metric can include a latency metric or a quality of service metric associated with other routes other than the route.

[0024] In various embodiments, the operations described above further include determining the network routing data.

[0025] In another embodiment, a non-transitory machine readable medium can include executable instructions that, when executed by a processor, facilitate performance of operations including classifying available routes between a source node and a destination node that are part of a wide area network based on network routing data containing network quality data representative of network quality applicable to the wide area network and using machine learning applied to historical network routing data generated at a time prior to generation of the network routing data, resulting in classified available routes, determining bandwidth allocations applicable to the classified available routes based on the network routing data and using machine learning applied to the historical network routing data, resulting in predicted bandwidth allocations, and setting a route for data to be transmitted from the source node to the destination node based on the classified available routes and the predicted bandwidth allocations.

[0026] In various embodiments, the historical network routing data can include one or more metrics that can include historical area data containing one or more historical area metrics applicable to the wide area network, or historical node pair data representative of one or more historical metrics applicable to a node pair containing a pair of nodes that are part of the wide area network, or historical network quality data representative of historical network quality applicable to the wide area network.

[0027] In various embodiments, the determined route can satisfy a defined wide area network latency criteria applicable to the wide area network, a defined wide area network quality of service criteria applicable to the wide area network, a defined local area network latency criteria applicable to at least one of the source node or the destination node, or a defined local area network quality of service criteria applicable to at least one of the source node or the destination node.

[0028] According to yet another embodiment, a method can include, based on network routing data representative of network quality applicable to a wide area network, and using machine learning applied to historical network routing data other than the network routing data, classifying, by a network device comprising a processor, available routes between a source node on the wide area network and a destination node on the wide area network, resulting in classified available routes, based on the network routing data, and using machine learning applied to the historical network routing data, determining, by the network device, bandwidth allocations applicable to the classified available routes, resulting in predicted bandwidth allocations, and based on the classified available routes and the predicted bandwidth allocations, setting, by the network device, a route for data to be transmitted from the source node to the destination node.

[0029] In various embodiments, the network routing data can include zone data, and wherein the zone data comprises one or more zone indicators applicable to the source node or the destination node.

[0030] In various embodiments, the network routing data can include node pair data representative of one or more indicators applicable to a pair of nodes on the wide area network.

[0031] It should be appreciated that additional manifestations, configurations, implementations, protocols, etc. can be utilized in connection with the following components described herein or different / additional components that would be appreciated by one skilled in the art.

[0032] Optimized network routing and bandwidth balancing for low latency and high quality fair traffic is implemented herein (e.g., using computerized tools). Various embodiments herein can utilize network big data and machine learning. For example, machine learning herein can utilize multi-classification on network data to determine which available routes data should take, and how much bandwidth data transmission from node to node should be allocated, to improve latency and quality (e.g., for larger zones and node-to-node pairs).

[0033] In various embodiments herein, bandwidth and / or memory cache can be reserved for data reporting herein (e.g., by systems herein). For example, metric data herein can be used to train and predict routing and bandwidth calculations herein (e.g., using machine learning). In various embodiments, metric data can be processed continuously. Machine learning herein can be continuously trained with historical data as well as current statistics over a data retention period (e.g., older data is purged). Systems herein can then utilize this training data to classify available routes between node A (e.g., source node) and node B (e.g., destination node) (node A and node B make up a node pair (e.g., source and destination)) into a category (e.g., one of the 16 non-limiting example categories described herein, although these categories are example and other suitable number or combination of categories can be contemplated), and perform additional predictions regarding how much bandwidth to allocate to the node pair in order to first achieve low latency and high quality traffic overall from a broader perspective, and then to the node pair. Predictions can be made for each possible route (e.g., through multiple nodes) that data can take, where these routes are assigned a route ID. For example, bandwidth for allocation set by systems herein can depend on bandwidth predictions and / or routing predictions herein. In various embodiments, broader network ranges (e.g., wide area networks) can be prioritized over more local ranges (e.g., local area networks).

[0034] Non-limiting example categories each route can have can include:

[0035] 1. Class A: Wide Low Latency, Wide High Quality, Local Low Latency, Local High Quality

[0036] 2. Class B: Wide Low Latency, Wide High Quality, Local Low Latency, Local Low Quality

[0037] 3. Class C: Wide Low Latency, Wide High Quality, Local High Latency, Local High Quality

[0038] 4. Class D: Wide Low Latency, Wide High Quality, Local High Latency, Local Low Quality

[0039] 5. Class E: Wide Low Latency, Wide Low Quality, Local Low Latency, Local High Quality

[0040] 6. Class F: Wide Low Latency, Wide Low Quality, Local Low Latency, Local Low Quality

[0041] 7. Class G: Wide Low Latency, Wide Low Quality, Local High Latency, Local High Quality

[0042] 8. Class H: Wide-area low latency, wide-area low quality, local high latency, local low quality

[0043] 9. Class A: Wide-area high latency, wide-area high quality, local low latency, local high quality

[0044] 10. Class B: Wide-area high latency, wide-area high quality, local low latency, local low quality

[0045] 11. Class C: Wide-area high latency, wide-area high quality, local high latency, local high quality

[0046] 12. Class D: Wide-area high latency, wide-area high quality, local high latency, local low quality

[0047] 13. Class A: Wide-area high latency, wide-area low quality, local low latency, local high quality

[0048] 14. Class B: Wide-area high latency, wide-area low quality, local low latency, local low quality

[0049] 15. Class C: Wide-area high latency, wide-area low quality, local high latency, local high quality

[0050] 16. Class D: Wide-area high latency, wide-area low quality, local high latency, local low quality

[0051] Once each possible route for the node pair’s traffic is classified (e.g., by the systems herein), another potential prediction can be made (e.g., by the systems herein) for each route regarding the respective bandwidth allocation. Once the route and bandwidth allocation are determined, the route to be taken and the bandwidth to be allocated can be set (e.g., by the systems herein) for that network traffic. The goal can be to determine values that first achieve wide-area low latency and wide-area high quality. This, along with the amount of bandwidth to be allocated, can optimize the wide-area network, making communication more efficient at a macro level.

[0052] Data sent from each node to the systems herein can constitute a machine learning feature vector that can be used to train the machine learning models herein and make predictions. Such data can include metrics that can be used to determine the class of a node pair and the bandwidth to be set. In various embodiments, the data of the feature vector can be as follows (e.g., each region is spatially adjacent to the node of the data transmission, where the distance of the data transmission accounts for latency due to propagation delay):

[0053] [Region Data]

[0054] 1. Region ID

[0055] 2. Number of active node pairs

[0056] 3. Number of routes per node pair

[0057] 4. Average packet delay

[0058] 5. Average network throughput

[0059] 6. 50th percentile marker of quality value

[0060] 7. Total amount of bandwidth

[0061] In various embodiments, the average packet delay (e.g., 4 in the list above) is not a raw value, but is based on a classification of the value. In various embodiments, the classification can be based on ranges of delay results. For example, class A can include 0 to 50 ms, 50 to 100 ms, 100 to 200 ms, or other suitable delays, which can be customized and / or modified. In various embodiments, the quality value marker (e.g., 6 in the list above) can be used to determine a class based on the quality value of an item (e.g., number of packet corruptions, number of lost packets, etc.), and can be calculated as low quality, medium quality, and / or high quality. It should be noted that such calculations can be customized or modified to achieve optimal results.

[0062] [Node pair data] (for all regions)

[0063] 1. Node pair ID

[0064] 2. Number of valid routes from source to destination

[0065] 3. Amount of bandwidth allocated (may be adjusted for secondary prediction)

[0066] [Route data] (for each route of each node pair)

[0067] 1. Route ID

[0068] 2. Delay

[0069] 3. Throughput

[0070] 4. Quality [target] (for each route)

[0071] • Class (e.g., as described above)

[0072] • The class can be calculated by formula with data received for delay and quality, and set using supervised learning for each route.

[0073] It should be noted that the same delay and quality classes used in the region data and / or the routes themselves can be used.

[0074] The foregoing can constitute a feature vector for machine learning training herein. The training can utilize supervised learning, where based on these values, the above multi-classification can be performed for each region, each node pair, and / or each route using real-time traffic data, and can include the data correlation herein. For example, the foregoing can be determined by computing statistics to output a class. Once each route has a classification, the system herein can determine which subset of routes can be assigned for node pair traffic, as the prediction traverses all known possible routes, which can be used as input for the prediction. The prediction feature vector can also utilize current statistics of the current state network traffic. Depending on the resulting class (where the first goal is to allow regional optimization, then local optimization), a specific route is set for the network traffic, and for this, an amount of bandwidth to be allocated is set. If the result does not yield a class that satisfies the defined criteria, the amount of bandwidth to be allocated can be adjusted (e.g., by the system herein) as a variable input for the route. If the result is satisfactory (e.g., according to the defined criteria) at this bandwidth setting, the route to be taken and the corresponding amount of bandwidth can be set for each node pair. In this regard, a prediction can be made for each route, and if not optimal (e.g., according to the defined criteria), the system herein can perform the prediction again using a different potential value for the amount of bandwidth to be allocated.

[0075] The foregoing can ensure that the network configuration herein is optimal and efficient. In various embodiments, the configuration herein can be performed by an Internet Service Provider (e.g., ISP) or other suitable network management entity. The foregoing also ensures quality of service, where network latency and quality, both micro and macro scale, are optimal, while achieving fair use of available network resources and traffic patterns.

[0076] Turning now to Figure 1FIG. 1 illustrates an example, non-limiting system 102 in accordance with one or more embodiments of the present disclosure. System 102 can include a computerized tool that can be configured to perform various operations related to optimizing network routing and bandwidth balancing. System 102 can include one or more of various components, such as memory 104, processor 106, bus 108, classification component 110, allocation component 112, and / or routing component 114. In various embodiments, system 102 can be communicatively coupled to, or can further include, a wide area network (WAN) 116, a node 118 (e.g., a source node), and / or a node 120 (e.g., a destination node). In various embodiments, one or more of memory 104, processor 106, bus 108, classification component 110, allocation component 112, routing component 114, WAN 116, node 118, and / or node 120 can be communicatively or operatively coupled (e.g., by a bus or wireless network) to each other to perform one or more functions of system 102.

[0077] According to one embodiment, classification component 110 can classify available routes between a source node (e.g., node 118) on a wide area network (e.g., WAN 116) and a destination node (e.g., node 120) on the wide area network (e.g., WAN 116) based on network routing data containing network quality data representative of network quality suitable for the wide area network (e.g., WAN 116) and using machine learning applied to historical network routing data other than the network routing data, resulting in classified available routes. Such available routes can include hops between nodes of WAN 116 between node 118 and node 120 (see, e.g., FIG. 2). Figure 4). In various embodiments, the network quality data herein can be based on one or more of various network quality metrics, such as bandwidth, bit rate, latency, packet loss, error, throughput, transmission delay, availability, jitter, and / or other suitable quality of service metrics. Such classification routing can include one or more of the non-limiting exemplary classifications discussed previously. In various embodiments, the network routing data can further include zone data. In this regard, the zone data can include one or more zone metrics applicable to at least one of a source node (e.g., node 118) or a destination node (e.g., node 120). In various embodiments, the one or more zone metrics include at least one of a zone identifier, a first number of active node pairs in a zone containing the source node (e.g., node 118) or the destination node (e.g., node 120), a second number of node pair routes in the zone, an average packet latency applicable to the zone, an average network throughput applicable to the zone, a quality according to a defined quality metric applicable to the zone, or a total bandwidth applicable to the zone. In various embodiments, a zone can correspond to a local area network (LAN) applicable to a node herein or other suitable defined zone associated with a node herein. In various embodiments, the network routing data can further include node pair data representative of one or more metrics applicable to a node pair containing a pair of nodes that are part of the WAN 116. In this regard, the node pair data can include a route identifier applicable to the node pair, a latency applicable to the node pair, a throughput applicable to the node pair, and / or a quality according to a defined quality metric applicable to the node pair. In various embodiments, the source node and / or the destination node include a network router or a network switch, or other suitable node, such as a computer, modem, hub, bridge, server, mobile device, etc.

[0078] According to one embodiment, the assignment component 112 can determine bandwidth assignments applicable to the classified available routes based on the network routing data and using machine learning results applied to historical network routing data, resulting in predicted bandwidth assignments. Such bandwidth assignment predictions can include bandwidth predictions that optimize overall network quality herein (e.g., first promoting low latency and high overall network quality for the WAN 116 and LANs corresponding to the nodes 118, 120 and / or other nodes on the WAN 116). In various embodiments, the historical network routing data can include one or more metrics. Such metrics can include historical zone data containing one or more historical zone metrics applicable to a wide area network, or historical node pair data representative of one or more historical metrics applicable to a node pair containing a pair of nodes that are part of a wide area network, or historical network quality data representative of historical network quality applicable to a wide area network, or other suitable historical metrics.

[0079] According to one embodiment, the routing component 114 can set a route for data transmitted from a source node (e.g., node 118) to a destination node (e.g., node 120) based on the categorized available routes and the predicted bandwidth allocations. In various embodiments, the determined route can meet a defined wide area network latency standard applicable to the wide area network, a defined wide area network quality of service standard applicable to the wide area network, a defined local area network latency standard applicable to the source node or the destination node, and / or a defined local area network quality of service standard applicable to the source node or the destination node. In various embodiments, the set route can include an overall optimal WAN 116 latency, WAN 116 quality, LAN latency, and / or LAN quality according to a defined latency and / or quality optimization process. In this regard, in various embodiments, a more extensive network scope (e.g., wide area network) can take precedence over a more local scope (e.g., local area network). The goal can be to determine a value that first achieves a wide area low latency and a wide area high quality. This, along with the amount of bandwidth to be allocated, can optimize the wide area network, thereby making communication more efficient on a macro level.

[0080] Turning now to Figure 2 , an example non-limiting system 202 according to one or more embodiments herein is shown. The system 202 can include a computerized tool that can be configured to perform various operations related to optimizing network routing and bandwidth balancing. The system 202 can be similar to the system 102 and can include one or more of various components, such as the memory 104, the processor 106, the bus 108, the categorization component 110, the allocation component 112, and / or the routing component 114. In various embodiments, the system 202 can be communicatively coupled to the WAN 116, the node 118, and / or the node 120, or can further include these components. The system 202 can further include a bandwidth component 204. In various embodiments, one or more of the memory 104, the processor 106, the bus 108, the categorization component 110, the allocation component 112, the routing component 114, the WAN 116, the node 118, the node 120, and / or the bandwidth component 204 can be communicatively or operatively coupled (e.g., by a bus or a wireless network) to one another to perform one or more functions of the system 202.

[0081] According to one embodiment, the bandwidth component 204 can set a bandwidth for a route that has been determined to meet a defined wide area network quality standard based on the route and using machine learning applied to past routes other than the route. In various embodiments, the defined wide area network quality standard can be met according to a threshold wide area network quality metric. In this regard, the threshold wide area network quality metric can include a latency metric or a quality of service metric associated with other routes other than the route. Depending on the resulting category (with a first goal being to allow regional optimization, and then local optimization), the bandwidth allocation component 204 can set an amount of bandwidth to allocate for the given route. If the result does not yield a category that meets the defined standard, the amount of bandwidth to allocate can be adjusted as a variable input to the route (e.g., by the system herein). If the result is satisfactory under the bandwidth setting (e.g., according to the defined standard), the route and the corresponding amount of bandwidth to employ can be set for each node pair. In this regard, a prediction can be made for each route (e.g., by the allocation component 112 and / or the bandwidth component 204), and if not optimal (e.g., according to the defined standard), the allocation component 112 and / or the bandwidth component 204 can perform the prediction again using a different potential value for the amount of bandwidth to allocate.

[0082] Turning now to Figure 3 , an example non-limiting system 302 according to one or more embodiments herein is shown. The system 302 can include a computerized tool that can be configured to perform various operations related to optimizing network routing and bandwidth balancing. The system 302 can be similar to the system 202, and can include one or more of various components, such as the memory 104, the processor 106, the bus 108, the classification component 110, the allocation component 112, the routing component 114, and / or the bandwidth component 204. In various embodiments, the system 302 can be communicatively coupled to the WAN 116, the nodes 118, and / or the nodes 120, or can further include these components. The system 302 can further include a routing data component 304. In various embodiments, one or more of the memory 104, the processor 106, the bus 108, the classification component 110, the allocation component 112, the routing component 114, the WAN 116, the nodes 118, the nodes 120, the bandwidth component 204, and / or the routing data component 304 can be communicatively or operatively coupled (e.g., by a bus or a wireless network) to one another to perform one or more functions of the system 302.

[0083] According to one embodiment, the routing data component 304 can determine network routing data applicable to the WAN 116. As described above, such network routing data can include network quality data, zone data, node pair data, or other suitable network routing data. In various embodiments, the routing data component 304 can determine or measure network quality data, zone data, node pair data, or other suitable network routing data using one or more suitable sensors or measurement devices or components. In various embodiments, for example, the classification component 110 (or other suitable component) can utilize this network routing data to classify available routes between a source node (e.g., node 118) on a wide area network (e.g., WAN 116) and a destination node (e.g., node 120) on the wide area network (e.g., WAN 116) to result in classified available routes.

[0084] Various embodiments herein can employ artificial intelligence or machine learning systems and techniques to facilitate learning user behavior, context-based scenarios, preferences, and the like, in order to facilitate taking automated actions with high degrees of confidence. Utility-based analysis can be utilized to weigh the benefits of taking an action against the cost of taking an incorrect action. Probability or statistical-based analysis can be employed in conjunction with the foregoing and / or the following.

[0085] It should be noted that the systems and / or associated controllers, servers, or machine learning components herein can include artificial intelligence components, which can employ artificial intelligence (A.I.) models and / or machine learning (M.L.) or machine learning models, which can learn to perform the above-described or below-described functions (e.g., by being trained using historical training data and / or feedback data).

[0086] In some embodiments, the components or systems herein can include A.I. and / or M.L. models, which can be trained (e.g., through supervised and / or unsupervised techniques) to perform the above-described or below-described functions using historical training data including various context conditions corresponding to various enhanced network optimization operations. In this example, such A.I. and / or M.L. models can further learn (e.g., through supervised and / or unsupervised techniques) to perform the above-described or below-described functions using training data including feedback data, which can be collected and / or stored (e.g., in memory) by the components or systems herein. In this example, such feedback data can include the above-described / below-described various instructions inputted into, for example, the systems herein over time in response to observed / stored context-based information.

[0087] The A.I. / M.L. components herein can initiate operations associated therewith based on defined confidence levels determined using information (e.g., feedback data). For example, based on learning to perform the above-described functions using feedback data, performance information, and / or past performance information herein, the components or systems herein can initiate operations associated with determining various thresholds herein (e.g., motion pattern thresholds, input pattern thresholds, similarity thresholds, authentication signal thresholds, audio frequency thresholds, or other suitable thresholds).

[0088] In one embodiment, the components or systems herein can perform an analysis based on utility that weighs the cost and benefit of initiating the above-described operations. In this embodiment, the components or systems herein can use one or more additional contextual conditions to determine the various thresholds herein.

[0089] To facilitate the above functionality, the components or systems herein can perform categorization, association, inference, and / or expression associated with artificial intelligence principles. For example, the components or systems herein can employ automated classification systems and / or automated classification. In one example, the components or systems herein can employ probability and / or statistics-based analysis (e.g., incorporating utility and cost into the analysis) to learn and / or generate inferences. The components or systems herein can employ any suitable machine learning-based, statistics-based, and / or probability-based techniques. For example, the components or systems herein can employ expert systems, fuzzy logic, support vector machines (SVM), hidden Markov Models (HMM), greedy search algorithms, rule-based systems, Bayesian models (e.g., Bayesian networks), neural networks, other non-linear training techniques, data fusion, utility-based analysis systems, systems employing Bayesian models, and / or the like. In another example, the components or systems herein can perform a set of machine learning computations. For example, the components or systems herein can perform a set of clustering machine learning computations, a set of logistic regression machine learning computations, a set of decision tree machine learning computations, a set of random forest machine learning computations, a set of regression tree machine learning computations, a set of least square machine learning computations, a set of instance-based machine learning computations, a set of regression machine learning computations, a set of support vector regression machine learning computations, a set of k-means machine learning computations, a set of spectral clustering machine learning computations, a set of rule learning machine learning computations, a set of Bayesian machine learning computations, a set of deep Boltzmann machine computations, a set of deep belief network computations, and / or a set of different machine learning computations.

[0090] Figure 4is a block diagram of an exemplary WAN 116 topology in accordance with one or more embodiments described herein. In this non-limiting example, WAN 116 can include one or more of node 402, node 404, node 406, node 408, node 410, node 412, node 414, node 416, node 418, node 420, node 422, node 424, user device 426, user device 428, user device 430, LAN 432, and / or LAN 434. In Figure 4 In this non-limiting example, an exemplary path (e.g., route) is depicted from node 118 to node 120 (e.g., by the bolded lines between the nodes), although this path (e.g., route) is purely exemplary and / or for illustrative purposes. In this regard, the path from node 118 to node 120 can include node 118 to node 414 to node 418 to node 120. This path can connect user device 426 to user device 430. In various embodiments, LAN 432 can include source node 118, user device 426, and / or user device 428. Similarly, LAN 434 can include destination node 120, node 418, and / or user device 430. In various embodiments, user device 426 and / or user device 430 can include a computer or a server. In various embodiments, user device 428 can include a mobile device. It should be noted that one or more of node 402, node 404, node 406, node 408, node 410, node 412, node 414, node 416, node 418, node 420, node 422, node 424, user device 426, user device 428, user device 430, LAN 432, and / or LAN 434 can be communicatively coupled to one another, and the systems herein can utilize one or more of the various paths between the nodes herein.

[0091] Turning now to Figure 5FIG. 5 shows a flowchart of a process 500 related to optimizing network routing and bandwidth balancing, in accordance with one or more embodiments herein. At 502, the routing data component 304 can determine network routing data applicable to a wide area network (e.g., WAN 116). At 504, the classification component 110 can classify available routes between a source node (e.g., node 118) on a wide area network (e.g., WAN 116) and a destination node (e.g., node 120) on the wide area network (e.g., WAN 116) based on the network routing data and using machine learning applied to historical network routing data (e.g., in addition to the network routing data), resulting in classified available routes. At 506, the allocation component 112 can determine bandwidth allocations applicable to the classified available routes (e.g., based on the network routing data and using machine learning results applied to historical network routing data), resulting in predicted bandwidth allocations. At 508, if it is determined that one or more of the classified routes meet defined criteria (e.g., a defined wide area network latency criteria applicable to the wide area network, a defined wide area network quality of service criteria applicable to the wide area network, a defined local area network latency criteria applicable to at least one of the source node or the destination node, or a defined local area network quality of service criteria applicable to at least one of the source node or the destination node) (e.g., “Yes” at 508), the process 500 can proceed to 510. If the defined criteria are not met at 508 (e.g., “No” at 508), the process can return to 506. At 510, the routing component 114 can set a route for data to be transmitted from the source node (e.g., node 118) to the destination node (e.g., node 120) (e.g., based on the classified available routes and the predicted bandwidth allocations). At 512, the bandwidth component 204 can set bandwidth for the route that has been determined to meet the defined wide area network quality criteria (e.g., based on the route and using machine learning applied to past routes other than the route).

[0092] Figure 6A block diagram flowchart of a process 600 associated with optimizing network routing and bandwidth balancing is shown, in accordance with one or more embodiments herein. At 602, the process 600 can include classifying, based on network routing data including network quality data representative of network quality applicable to a wide area network (e.g., WAN 116) and using machine learning applied to historical network routing data other than the network routing data, (e.g., by the classification component 110) available routes between a source node (e.g., node 118) on the wide area network (e.g., WAN 116) and a destination node (e.g., node 120) on the wide area network (e.g., WAN 116), resulting in classified available routes. At 604, the process 600 can include determining, based on the network routing data and using machine learning results applied to the historical network routing data, (e.g., by the assignment component 114) bandwidth assignments applicable to the classified available routes, resulting in predicted bandwidth assignments. At 606, the process 600 can include setting, based on the classified available routes and the predicted bandwidth assignments, (e.g., by the routing component 114) routes for data transmitted from the source node (e.g., node 118) to the destination node (e.g., node 120).

[0093] Figure 7 A block diagram flowchart of a process 700 associated with optimizing network routing and bandwidth balancing is shown, in accordance with one or more embodiments herein. At 702, the process 700 can include classifying, based on network routing data including network quality data representative of network quality applicable to a wide area network (e.g., WAN 116) and using machine learning applied to historical network routing data generated at a time prior to generation of the network routing data, (e.g., by the classification component 110) available routes between a source node (e.g., node 118) on the wide area network (e.g., WAN 116) and a destination node (e.g., node 120) that is part of the wide area network (e.g., WAN 116), resulting in classified available routes. At 704, the process 700 can include determining, based on the network routing data and using machine learning applied to the historical network routing data, (e.g., by the assignment component 112) bandwidth assignments applicable to the classified available routes, resulting in predicted bandwidth assignments. At 706, the process 700 can include setting, based on the classified available routes and the predicted bandwidth assignments, (e.g., by the routing component 114) routes for data transmitted from the source node (e.g., node 118) to the destination node (e.g., node 120).

[0094] Figure 8A block diagram flowchart of a process 800 associated with optimizing network routing and bandwidth balancing in accordance with one or more embodiments herein is shown. At 802, the process 800 can include classifying, by a network device comprising a processor (e.g., by the classification component 110), available routes between a source node (e.g., the node 118) on a wide area network (e.g., the WAN 116) and a destination node (e.g., the node 120) on the wide area network (e.g., the WAN 116), resulting in classified available routes, based on network routing data representative of network quality applicable to the wide area network (e.g., the WAN 116) and using machine learning applied to historical network routing data other than the network routing data. At 804, the process 800 can include determining, by the network device (e.g., by the assignment component 112), bandwidth assignments applicable to the classified available routes, resulting in predicted bandwidth assignments, based on the network routing data and using machine learning applied to the historical network routing data. At 806, the process 800 can include setting, by the network device (e.g., by the routing component 114), a route for data transmitted from the source node (e.g., the node 118) to the destination node (e.g., the node 120) based on the classified available routes and the predicted bandwidth assignments.

[0095] To provide additional context for various embodiments described herein, Figure 9 And the following discussion is intended to provide a brief overview of a suitable computing environment 900 in which various embodiments described herein can be implemented. While the above description has been focused on the general context of computer-executable instructions, those skilled in the art will recognize that the embodiments also can be implemented in combination with other program modules and / or as a combination of hardware and software.

[0096] Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that various methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, Internet of Things (IoT) devices, distributed computing systems, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.

[0097] Embodiments of the embodiments shown herein also can be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

[0098] Computing devices typically include a variety of media, which can include computer- readable storage media, machine-readable storage media, and / or communications media, in which these two terms are used in a different manner. Computer-readable storage media or machine- readable storage media can be any available storage media that can be accessed by a computer, including both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media or machine-readable storage media can be implemented in connection with any method or technology for storage of information, such as computer- readable or machine-readable instructions, program modules, structured data, or unstructured data.

[0099] Computer-readable storage media can include, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc (BD) or other optical disk storage, magnetic cassettes, magnetic disks storage or other magnetic storage devices, solid-state drives or other solid-state storage devices, or other tangible and / or non-transitory media which can be used to store desired information. In this regard, the terms “tangible” or “non-transitory” herein as applied to storage, memory or computer-readable media, are to be understood to refer to storage or memory that is not propagated as a propagating transitory signal per se, and are not to be construed as being limited to any standard of durability.

[0100] Computer-readable storage media can be accessed by one or more local or remote computing devices, such as by access requests, queries or other data retrieval protocols, to perform various operations on the information stored in the media.

[0101] Communication media typically embodies computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signal refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared, and other wireless media.

[0102] Referring again to Figure 9The example environment 900 for implementing various embodiments of the aspects described herein includes a computer 902, which includes a processing unit 904, a system memory 906, and a system bus 908. The system bus 908 couples the system components including, but not limited to, the system memory 906 to the processing unit 904. The processing unit 904 can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures can also be employed as the processing unit 904.

[0103] The system bus 908 can be any of various bus structures including a memory bus with or without a memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory 906 includes ROM 910 and RAM 912. The basic input / output system (BIOS) can be stored in nonvolatile memory, such as ROM, erasable programmable read-only memory (EPROM), EEPROM, which

[0104] The computer 902 also includes internal hard disk drive (HDD) 914 (e.g., EIDE, SATA), one or more external storage devices 916 (e.g., a magnetic floppy disk drive (FDD) 916, a memory stick or flash drive reader, a memory card reader, etc.), and an optical disk drive 920 (e.g., which can read from or write to a CD-ROM, DVD, BD, or another suitable optical disk 922). While the internal HDD 914 is illustrated as being within the computer 902, the internal HDD 914 can also be configured for external use in a suitable enclosure (not shown). Further, while not shown in the environment 900, a solid state drive (SSD) can be used in addition to or in place of the HDD 914. The HDD 914, external storage devices 916, and optical disk drive 920 can connect to the system bus 908 via HDD interface 924, external storage interface 926, and optical disk drive interface 928, respectively. The interface 924 for external drive implementations can include at least one or both of Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technology. Other external drive connection technology is within the scope of the embodiments described herein.

[0105] The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth for the computer 902. For the computer 902, the drives and

[0106] A plurality of program modules can be stored in the drives and RAM 912, including an operating system 930, one or more application programs 932, other program modules 934, and program data 936. All or portions of the operating system, applications, modules, and / or data can also be cached in the RAM 912. The systems and methods described herein can be implemented with various commercially available operating systems or combinations of operating systems.

[0107] The computer 902 can optionally include emulation technology. For example, a hypervisor (not shown) or other intermediary can emulate a hardware environment for the operating system 930, and the emulated hardware can optionally differ from the hardware shown in Figure 9 In such embodiments, the operating system 930 can include one of a plurality of virtual machines (VMs) hosted at the computer 902. Further, the operating system 930 can provide a runtime environment for the application programs 932, such as a Java runtime environment or a.NET framework. A runtime environment is a consistent execution environment that allows the application programs 932 to run on any operating system that includes the runtime environment. Similarly, the operating system 930 can support containers, and the application programs 932 can be in the form of containers, which are lightweight, independent, executable software packages that include, for example, code, a runtime, system tools, system libraries, and settings for an application.

[0108] Further, the computer 902 can be enabled with a security module, such as a trusted processing module (TPM). For example, using a TPM, a boot component hashes the next boot component on the fly and waits for the result to match a secure value before loading the next boot component. This process can occur at any layer of the code execution stack of the computer 902, for example, applying to the application execution level or the operating system (OS) kernel level, thereby enabling security at any level of code execution.

[0109] A user can enter commands and information into the computer 902 through one or more wire / wireless input devices, e.g., a keyboard 938, a touchscreen 940, and a pointing device, such as a mouse 942. Other input devices (not shown) can include a microphone, an infrared (IR) remote control, a radio-frequency (RF) remote control, or other remote control, a joystick, a virtual reality controller and / or virtual reality headset, a gamepad, a stylus, an image input device (e.g., a camera), a gesture sensor input device, a visual motion sensor input device, an emotion or facial detection device, a biometric input device (e.g., fingerprint or iris scanner), or the like. These and other input devices are often connected to the processing unit 904 through an input device interface 944 that can be coupled to the system bus 908, but can be connected by other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a Bluetooth® interface, etc.

[0110] A monitor 946 or other type of display device can also be connected to the system bus 908 via an interface, such as a video adapter 948. In addition to the monitor 946, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.

[0111] The computer 902 can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 950. The remote computer 950 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 902, although, for purposes of brevity, only a memory / storage device 952 is illustrated. The logical connections depicted include wire / wireless connectivity to a LAN 954 and / or a larger network, e.g., a WAN 956. Such LAN and WAN networking environments are commonplace in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.

[0112] When used in a LAN networking environment, the computer 902 can be connected to the local area network 954 through a wire / wireless communication network interface or adapter 958. The adapter 958 can facilitate wire or wireless communication to the LAN 954, which can also include a wireless access point (AP), which can be disposed thereon for communicating with the adapter 958 in wireless mode.

[0113] When used in a WAN network environment, computer 902 may include modem 960, or may otherwise connect to a communication server on WAN 956, such as via the Internet, to establish communication on WAN 956. Modem 960 may be internal or external, and may be a wired or wireless device, connected to system bus 908 via input device interface 944. In a networked environment, program modules or portions thereof depicted relative to computer 902 may be stored in remote memory / storage device 952. It should be understood that the network connection shown is an example, and other methods of establishing communication links between computers may be used.

[0114] When used in a LAN or WAN network environment, computer 902 can access cloud storage systems or other network-based storage systems, in addition to or replacing the external storage device 916 described above. Typically, a connection between computer 902 and the cloud storage system can be established via LAN 954 or WAN 956 (e.g., via adapter 958 or modem 960, respectively). After connecting computer 902 to the associated cloud storage system, external storage interface 926 can manage the storage provided by the cloud storage system with the help of adapter 958 and / or modem 960, just as it would manage other types of external storage. For example, external storage interface 926 can be configured to provide access to cloud storage sources as if these sources were physically connected to computer 902.

[0115] Computer 902 can operatively communicate with any wireless device or entity operatively positioned in wireless communication, such as printers, scanners, desktop and / or portable computers, personal digital assistants, communication satellites, any device or location associated with a wirelessly detectable tag (e.g., kiosks, newsstands, store shelves, etc.), and telephones. This can include Wi-Fi and Wireless technology. Therefore, communication can be based on a predefined structure with traditional networks, or simply ad hoc communication between at least two devices.

[0116] Now for reference Figure 10 This diagram illustrates a schematic block diagram of a computing environment 1000 according to this specification. System 1000 includes one or more clients 1002 (e.g., computers, smartphones, tablets, cameras, PDAs). Client 1002 can be hardware and / or software (e.g., threads, processes, computing devices). Client 1002 can, for example, contain cookies and / or associated contextual information by employing this specification.

[0117] The system 1000 also includes one or more servers 1004. The servers 1004 can also be hardware or a combination of hardware and software (e.g., threads, processes, computing devices). The servers 1004 can house threads to perform transformations of media items, for example, by employing aspects of the disclosure. One possible communication between a client 1002 and a server 1004 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The data packet can include a cookie and / or associated contextual information, for example. The system 1000 includes a communication framework 1006 (e.g., a global communication network such as the Internet) that can be employed to facilitate communications between the client(s) 1002 and the server(s) 1004.

[0118] Communications can be facilitated via a wired (including optical fiber) and / or wireless technology. The client(s) 1002 are operatively connected to one or more client data store(s) 1008 that can be employed to store information local to the client(s) 1002 (e.g., cookies and / or associated contextual information). Similarly, the server(s) 1004 are operatively connected to one or more server data store(s) 1010 that can be employed to store information local to the servers 1004.

[0119] In one example implementation, a client 1002 can transmit an encoded file (e.g., an encoded media item) to a server 1004. The server 1004 can store the file, decode the file, or transmit the file to another client 1002. It should be noted that a client 1002 can also transmit an uncompressed file to a server 1004, and the server 1004 can compress the file and / or transform the file according to the present disclosure. Similarly, a server 1004 can encode information and transmit the information to one or more clients 1002 via the communication framework 1006.

[0120] Aspects of the disclosure illustrated can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

[0121] The above description includes non-limiting examples of various embodiments. Of course, in order to describe the disclosed subject matter, not all possible combinations of components or method steps are described, and one of ordinary skill in the art will recognize that additional combinations and permutations of various embodiments are possible. The disclosed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.

[0122] With respect to various functions performed by the above-described components, devices, circuits, systems, etc., the terms "component," "device," "circuit," "system," etc. are intended to refer to either hardware, software, or a combination of both hardware and software, e.g., a functional equivalent, that performs the specified function, even if that structure is not structurally identical to the structure that was disclosed. Furthermore, although particular features of the disclosed subject matter can have been disclosed with respect to only one of several implementations, such features can be combined with one or more other features of the other implementations as can be desired and advantageous for any given or particular application.

[0123] The terms "exemplary" and / or "illustrative," as used herein, are intended to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited to the examples described herein. In addition, any aspect or design described herein as "exemplary" and / or "illustrative" is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms "including," "contains," "having," and other similar words are used in either the detailed description or the claims, these terms are intended to be included by way of means for

[0124] The term "or," as used herein, is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless specified otherwise, or clear from context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied. Moreover, the articles "a" and "an" as used in the application and the appended claims should generally be construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form.

[0125] The term "set," as used herein, excludes the empty set, i.e., a set with no elements. Accordingly, a "set" in the present subject disclosure includes one or more elements or entities. Likewise, the term "group," as used herein, refers to a collection of one or more entities.

[0126] The description of the subject disclosure as to the described embodiments provided herein (including the descriptions in the Abstract) is not intended to be exhaustive or to limit the disclosed embodiments to the precise form disclosed. While specific embodiments and examples are described herein for illustrative purposes, various modifications are possible so as to fall within the scope of the embodiments and examples as can be appreciated by those skilled in the art. In this regard, while the subject matter has been described in connection with various embodiments and corresponding drawings, it should be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiments for performing the same, similar, alternative, or substitute functions of the disclosed subject matter without deviating from the scope thereof. Therefore, the disclosed subject matter should not be limited to any single embodiment, but rather should be construed in the broadest and widest sense commensurate with the scope of the appended claims.

Claims

1. A system comprising: a processor; and a memory storing executable instructions that, when executed by the processor, facilitate performance of operations comprising: classifying available routes between a source node on a wide area network and a destination node on the wide area network based on network routing data containing network quality data representative of network quality applicable to the wide area network and using machine learning applied to historical network routing data other than the network routing data, resulting in classified available routes; determining bandwidth allocations applicable to the classified available routes based on the network routing data and using results of the machine learning applied to the historical network routing data, resulting in predicted bandwidth allocations; and setting a route for data transmitted from the source node to the destination node based on the classified available routes and the predicted bandwidth allocations. the route is determined to satisfy a defined wide area network latency criterion applicable to the wide area network.

2. The system of claim 1, wherein, the route is determined to satisfy a defined wide area network quality of service criterion applicable to the wide area network.

3. The system of claim 1, wherein, the route is determined to satisfy a defined local area network latency criterion applicable to the source node or the destination node.

4. The system of claim 1, wherein, the route is determined to satisfy a defined local area network quality of service criterion applicable to the source node or the destination node.

5. The system of claim 1, wherein, the network routing data further comprises zone data, and wherein 6. The system of claim 1, wherein, the zone data comprises one or more zone indicators applicable to at least one of the source node or the destination node. the one or more zone indicators comprise at least one of a zone identifier, a first number of active node pairs in a zone containing the source node or the destination node, a second number of node pair routes in the zone, an average packet latency applicable to the zone, an average network throughput applicable to the zone, a quality according to a defined quality indicator applicable to the zone, or a total bandwidth applicable to the zone.

7. The system of claim 6, wherein, at least one of the source node or the destination node comprises a network router or a network switch.

8. The system of claim 1, wherein, the network routing data further comprises node pair data representative of one or more indicators applicable to a node pair containing a pair of nodes that are part of the wide area network.

9. The system of claim 1, wherein, the node pair data comprises a route identifier applicable to the node pair, a latency applicable to the node pair, a throughput applicable to the node pair, or a quality according to a defined quality indicator applicable to the node pair.

10. The system of claim 9, wherein, the operations further comprise:

11. The system of claim 1, wherein, setting a bandwidth for the route determined to satisfy a defined wide area network quality criterion based on the route and using machine learning applied to past routes other than the route. the defined wide area network quality criterion is satisfied according to a threshold wide area network quality indicator.

12. The system of claim 11, wherein, the threshold wide area network quality indicator comprises a latency indicator or a quality of service indicator associated with other routes other than the route.

13. The system of claim 12, wherein, the operations further comprise:

14. The system of claim 1, wherein, determining the network routing data.

15. A non-transitory machine-readable medium comprising executable instructions that, when executed by a processor, facilitate performance of operations comprising: ​ classifying available routes between a source node on a wide area network and a destination node that is part of the wide area network based on network routing data that includes network quality data representative of network quality applicable to the wide area network and using machine learning applied to historical network routing data generated prior to a time of the network routing data, resulting in classified available routes; determining bandwidth allocations applicable to the classified available routes based on the network routing data and using the machine learning applied to the historical network routing data, resulting in predicted bandwidth allocations; and setting a route for data to be transmitted from the source node to the destination node based on the classified available routes and the predicted bandwidth allocations.

16. The non-transitory machine-readable medium of claim 15, wherein, the historical network routing data includes one or more metrics including: historical zone data including one or more historical zone metrics applicable to the wide area network, or historical node pair data representative of one or more historical metrics applicable to a node pair including a pair of nodes that are part of the wide area network, or historical network quality data representative of historical network quality applicable to the wide area network.

17. The non-transitory machine-readable medium of claim 15, wherein, the route is determined to satisfy: a defined wide area network latency criterion applicable to the wide area network, a defined wide area network quality of service criterion applicable to the wide area network, a defined local area network latency criterion applicable to at least one of the source node or the destination node, or a defined local area network quality of service criterion applicable to at least one of the source node or the destination node.

18. A method comprising: classifying, by a network device including a processor, available routes between a source node on a wide area network and a destination node on the wide area network based on network routing data representative of network quality applicable to the wide area network and using machine learning applied to historical network routing data other than the network routing data, resulting in classified available routes; determining, by the network device, bandwidth allocations applicable to the classified available routes based on the network routing data and using the machine learning applied to the historical network routing data, resulting in predicted bandwidth allocations; and setting, by the network device, a route for data to be transmitted from the source node to the destination node based on the classified available routes and the predicted bandwidth allocations.

19. The method of claim 18, wherein, the network routing data includes zone data, and wherein the zone data includes one or more zone metrics applicable to the source node or the destination node.

20. The method of claim 18, wherein, the network routing data includes node pair data representative of one or more metrics applicable to a pair of nodes on the wide area network.