Data transformation of performance statistics and ticket information for network devices for use in machine learning models

A device may receive one or more data models that have been trained using a first set of values that are in a format capable of being processed by the one or more data models. The first set of values may be associated with a set of historical network performance indicators relating to a set of network devices. The device may receive network data that includes network ticket information and performance statistics for the one or more network devices. The device may determine a set of network performance indicators relating to the one or more network devices. The device may convert the set of network performance indicators into a second set of values that are in the format capable of being processed by the one or more data models. The device may use the second set of values to generate one or more recommendations associated with improving network performance.

BACKGROUND

Machine learning allows computers to process data to make predictions. For example, a machine learning tool may use a data model to process data to make classifications, predictions, forecasting decisions, and/or the like.

SUMMARY

According to some possible implementations, a device may obtain historical network data associated with a set of network devices. The historical network data may include at least one of historical network ticket information or historical performance statistics relating to the set of network devices. The device may determine a set of historical network performance indicators for one or more groups of network devices, of the set of network devices, by analyzing the historical network data. The device may train one or more data models based on the historical network performance indicators. The device may receive, after training the one or more data models, network data for one or more network devices of the set of network devices. The network data may be received periodically over an interval and may include at least one of network ticket information or performance statistics relating to the one or more network devices. The device may determine a set of network performance indicators that are associated with the one or more network devices, of the set of network devices, by analyzing the network data. The device may generate, based on the network performance indicators and the trained one or more data models, one or more recommendations associated with improving network performance. The device may perform, based on the one or more recommendations, one or more actions associated with improving network performance.

According to some possible implementations, a method may include receiving, by a device, one or more data models that have been trained using a first set of values that are in a format capable of being processed by the one or more data models. The first set of values may be associated with a set of historical network performance indicators that relate to a set of network devices. The method may include receiving, by the device, network data for one or more network devices of the set of network devices. The network data may include network ticket information and performance statistics relating to the one or more network devices. The method may include determining, by the device, a set of network performance indicators that are associated with the one or more network devices by analyzing the network data. The method may include converting, by the device, the set of network performance indicators into a second set of values that are in the format capable of being processed by the one or more data models. The method may include generating, by the device and by providing the second set of values as input to the one or more data models, one or more recommendations associated with improving network performance. The method may include performing, by the device and based on the one or more recommendations, one or more actions associated with improving network performance.

According to some possible implementations, a non-transitory computer-readable medium may store one or more instructions that, when executed by one or more processors, cause the one or more processors to receive one or more data models that have been trained using one or more machine learning techniques and a first set of values that are in a format capable of being processed by the one or more data models. The first set of values may be associated with a set of historical network performance indicators that relate to a set of network devices. The one or more instructions may cause the one or more processors to receive network data for one or more network devices of the set of network devices. The network data may include at least one of network ticket information relating to the one or more network devices or performance statistics relating to the one or more network devices. The one or more instructions may cause the one or more processors to determine a set of network performance indicators that are associated with the one or more network devices, of the set of network devices, by analyzing the network data. The one or more instructions may cause the one or more processors to convert the set of network performance indicators into a second set of values that are in the format capable of being processed by the one or more data models. The one or more instructions may cause the one or more processors to generate, by providing the second set of values as input to the one or more data models, one or more recommendations associated with improving network performance. The one or more recommendations may include at least one of a first recommendation to modify a number of network devices used to support traffic flow, a second recommendation to modify an allocation of resources associated with at least one of the one or more network devices, or a third recommendation to reroute traffic flow associated with the set of network devices. The one or more instructions may cause the one or more processors to perform, based on the one or more recommendations, one or more actions associated with improving network performance.

DETAILED DESCRIPTION

As demand for data services continues to increase, network service providers may need to support large volumes of traffic flow over one or more networks. Without improvements to network infrastructure, increases to the number of devices accessing the one or more networks and/or increases in data usage per device may lead to decreases in quality of service, increases in network latency and packet loss, and/or the like.

To improve network infrastructure and processes that manage traffic flow, a network service provider may utilize machine learning. However, using a machine learning model to score live data may be difficult when the data received is of different types of values, is in different formats, is of different data types, and/or the like. Additionally, using the machine learning model to score live data may generate a prediction based on that particular instance of live data, but might not provide a prediction regarding a stream of data that is coming in over an interval.

Some implementations described herein provide a network management platform to transform data into a format that is capable of being processed by machine learning models, and using the machine learning models to make network management decisions. For example, the network management platform may obtain performance statistics and/or network ticket information associated with one or more network devices. In this case, the network management platform may process the performance statistics and/or the network ticket information using a natural language processing technique to determine a set of network performance indicators. In other cases, network performance indicators can be determined locally on each network device, and sent to the network management platform.

Additionally, the network management platform may convert the set of network performance indicators into a set of values that are in a format that is capable of being processed by one or more data models. Furthermore, the network management platform may provide the set of values as input to the one or more data models to cause the one or more data models to output coefficient values that may be used to make and implement network management decisions.

By using machine learning to generate recommendations that may be implemented to improve network performance, the network management platform conserves network resources by determining an efficient and effective allocation of resources. Furthermore, the network management platform conserves processing resources by predicting and preventing network faults. For example, by predicting a network fault (e.g., a server crashing, a threshold amount of packet loss occurring, etc.), and performing preventative measures needed to ensure that the network fault never occurs, the network management platform conserves processing resources that might otherwise be used to fix the network fault in real-time, processing resources that might be used to reallocate network resources during the network fault, and/or the like. Moreover, using machine learning to generate recommendations that may be implemented to improve network performance prevents disruptions to service, thereby improving customer service.

FIGS. 1A-1Dare diagrams of an overview of an example implementation100described herein. As shown inFIGS. 1A-1D, example implementation100may include a network management platform that uses machine learning to train one or more data models that may be used to generate recommendations associated with improving network performance.

As shown inFIG. 1A, and by reference number105, each network device, of a set of network devices, may generate one or more network tickets and/or one or more performance statistics. For example, each network device may generate a network ticket if a network alarm is triggered, and one or more network alarms may trigger over a particular time period (e.g., an hour, a day, a month, etc.). In this case, a sensor (e.g., a hardware-based sensor, a software-based sensor, etc.) may monitor a network device and/or traffic flow associated with the network device, and a network alarm may trigger if a particular metric or value monitored by the sensor satisfies or fails to satisfy a particular threshold level of performance.

Additionally, if the network alarm is triggered, the network device hosting the sensor may generate a network ticket. A network ticket may identify a particular performance issue, such as by identifying an issue relating to packet loss, an issue relating to temperature (e.g., temperature of a component of a network device), an issue relating to latency, an issue relating to bandwidth, an issue relating to memory, and/or the like.

Furthermore, each network device may, regardless of whether a network ticket is created, monitor performance statistics. For example, a network device may monitor statistics relating to packet loss, temperature of components of the network device, latency and/or bandwidth metrics relating to traffic flow through the network device, and/or the like.

As shown by reference number110, the set of network devices may be configured to provide the network ticket information and the performance statistics to a data source. The data source may store the network ticket information and the performance statistics as historical network data. The historical network data may include historical network ticket information and historical performance statistics relating to packet loss, temperature, latency, bandwidth, and/or the like.

As shown by reference number115, the network management platform may obtain the historical network data from the data source. For example, the network management platform may query a set of historical performance statistics and/or a set of historical network tickets for further processing.

As shown by reference number120, the network management platform may determine a set of historical network performance indicators. For example, the network management platform may analyze the set of historical network data to determine a set of historical network performance indicators for each network device, for groups of network devices (e.g., based on geographic location, based on type of network device, etc.), for groups of historical network data (e.g., an indicator may aggregate different types of historical network data), and/or the like.

The set of historical network performance indicators may include a packet loss indicator, a temperature indicator, a latency indicator, a bandwidth utilization rate indicator, and/or the like. For example, a packet loss indicator may indicate average packet loss for a network device or for a group of network devices over an interval. As another example, a temperature indicator may aggregate historical network data relating to different temperature-related issues, such as a historical network data indicating that a particular component of a network device is overheating, a historical network data indicating that a fan within the network device has malfunctioned, and/or the like.

In this way, the network management platform is able to determine a set of historical network performance indicators that may be used to train one or more data models, as described further herein.

As shown inFIG. 1B, and by reference number125, the network management platform may convert the set of historical network performance indicators into a set of values that are capable of being processed by one or more data models. For example, a domain expert may, for each type of historical network performance indicator, associate ranges of historical network performance indicator values with values that are capable of being processed by a data model. Additionally, or alternatively, the network management platform may automatically identify the ranges of historical network performance indicator values (e.g., by mining publicly available data, by analyzing a set of historical network performance indicator values, etc.), and may assign values to each range.

Shown as an example, the network management platform may convert a packet loss indicator value to a value of 0, 1, or 2, based on whether the packet loss indicator value is 0%, between 0.01% and 5.00%, or more than 5%. In practice, the network management platform may determine thousands, even millions of different historical network performance indicator values, and may convert the thousands, or the millions of different historical network performance indicator values to the set of values that are capable of being processed by the one or more data models (e.g., one or more statistical models).

As shown by reference number130, the network management platform may train the one or more data models using the converted set of values. For example, the network management platform may use the converted set of values in conjunction with a location identification technique, a forecasting technique, an anomaly detection technique, and/or the like, to allow the one or more data models to be able to output values that may be used to make network management decisions, as described further herein.

In this way, the network management platform is able to convert historical network performance indicators into a set of values that is capable of being used by data models, and may use the set of values to train the data models.

As shown inFIG. 1C, and by reference number135, the network management platform may receive network ticket information and/or performance statistics. For example, the network management platform may receive a set of network tickets and/or a set of performance statistics from the set of network devices periodically throughout an interval (e.g., ten seconds, a minute, an hour, etc.). In some cases, the set of network devices may provide the network ticket information and/or the performance statistics to one or more intermediary devices (e.g., the data source, a server, a network device, etc.), and the one or more intermediary devices may forward the network ticket information and/or the performance statistics to the network management platform.

As shown by reference number140, the network management platform may analyze the network ticket information and/or the performance statistics to determine a set of network performance indicators. For example, the network management platform may determine a set of network performance indicators, in the same manner described above with respect to determining historical network performance indicators.

In this way, the network management platform is able to receive network ticket information and/or performance statistics in real-time (e.g., real-time relative to a time at which the network tickets and/or the performance statistics are created and provided). Furthermore, the network management platform is able to aggregate the network ticket information and/or the performance statistics during an interval, and is able to analyze the network ticket information and/or the performance statistics to determine a set of forecasted network performance indicators or a recommended action.

As shown inFIG. 1D, and by reference number145, the network management platform may generate one or more recommendations. For example, the network management platform may provide the set of network performance indicators as input to the one or more data models to cause the one or more data models to output values associated with particular recommendations that may be implemented to improve network performance. The one or more recommendations may include a recommendation to add a network device to a particular location or to remove the network device from the particular location (e.g., a location may be a particular server rack, a particular data center, a particular geographic location, etc.), to allocate resources to the network device or from the network device, to allocate resources from the network device to another network device, to route traffic to the network device or route traffic away from the network device, and/or the like.

As shown by reference number150, the network management platform may provide a recommendation to a user device. For example, the network management platform may provide a recommendation to a user device associated with a technician to instruct the technician to implement the recommendation.

As shown by reference number155, the network management platform may provide an instruction to implement a recommendation to network router1. For example, the network management platform may, using an application programming interface (API), provide an instruction to allocate resources to network router1or to deallocate resources from network router1.

As shown by reference number160, the network management platform may provide an instruction to implement a recommendation to a robot. For example, a robot may be deployed inside of a data center, and may receive the instruction to implement the recommendation. In this case, for example, the robot may automatically add a device to a server rack, modify resources at the server rack, and/or the like.

In this way, the network management platform is able to receive, aggregate, and process real-time network tickets and/or performance statistics to enable one or more data models to generate recommendations that may be implemented to improve network performance. Furthermore, by implementing the one or more recommendations, the network management platform conserves processing resources that might otherwise be used to perform error correction techniques, to process customer service requests that are made during network faults, and/or the like.

As indicated above,FIGS. 1A-1Dare provided merely as an example. Other examples are possible and may differ from what was described with regard toFIGS. 1A-1D.

FIG. 2is a diagram of an example environment200in which systems and/or methods, described herein, may be implemented. As shown inFIG. 2, environment200may include a network device210, a data source220, a network management platform230hosted by a cloud computing environment240, a user device250, and/or a network260. Devices of environment200may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

Network device210includes one or more devices capable of receiving, storing, generating, processing, and/or providing network ticket information and/or performance statistics. For example, network device210may include a server device or a group of server devices, a router, a hub, a switch, a gateway, a repeater, a modem, a bridge, a desktop computer, a laptop computer, and/or a similar type of device. In some implementations, network device210may provide network ticket information and/or performance statistics to data source220and/or network management platform230.

Data source220includes one or more devices capable of receiving, storing, and/or providing network ticket information and/or performance statistics. For example, data source220may include a server device or a group of server devices. In some implementations, data source220may receive network ticket information and/or performance statistics from network device210, and may store the network ticket information and/or the performance statistics as historical network data. In some implementations, data source220may receive network ticket information and/or performance statistics for a network device that is actively supporting traffic (e.g., to be stored as historical network data). In some implementations, data source220may provide historical network data to network management platform230.

Network management platform230includes one or more devices capable of receiving, storing, generating, processing, and/or providing information associated with managing performance of network devices210. For example, network management platform230may include a server device (e.g., in a data center or a cloud computing environment), a data center (e.g., a multi-server micro data center), a workstation computer, a virtual machine (VM) provided in a cloud computing environment, or a similar type of device.

In some implementations, network management platform230may obtain historical network ticket information and/or performance statistics from data source220. In some implementations, network management platform230may obtain or receive network ticket information and/or performance statistics from network device210, data source220, an intermediary device (e.g., a server device, a network device, etc.), and/or the like. In some implementations, network management platform230may provide a recommendation to user device250. In some implementations, network management platform230may provide, to network device210, user device250, a device associated with a technician, and/or a robot, a set of instructions associated with improving network performance.

In some implementations, as shown, network management platform230may be hosted in cloud computing environment240. Notably, while implementations described herein describe network management platform230as being hosted in cloud computing environment240, in some implementations, network management platform230might not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or might be partially cloud-based.

Cloud computing environment240includes an environment that hosts network management platform230. Cloud computing environment240may provide computation, software, data access, storage, and/or other services that do not require end-user knowledge of a physical location and configuration of system(s) and/or device(s) that host network management platform230. As shown, cloud computing environment240may include a group of computing resource235(referred to collectively as “computing resources235and individually as “computing resource235”).

Computing resource235includes one or more personal computers, workstation computers, server devices, or another type of computation and/or communication device. In some implementations, computing resource235may host network management platform230. The cloud resources may include compute instances executing in computing resource235, storage devices provided in computing resource235, data transfer devices provided by computing resource235, etc. In some implementations, computing resource235may communicate with other computing resources235via wired connections, wireless connections, or a combination of wired and wireless connections.

As further shown inFIG. 2, computing resource235may include a group of cloud resources, such as one or more applications (“APPs”)235-1, one or more virtual machines (“VMs”)235-2, virtualized storage (“VSs”)235-3, one or more hypervisors (“HYPs”)235-4, or the like.

Application235-1includes one or more software applications that may be provided to or accessed by user device250. Application235-1may eliminate a need to install and execute the software applications on user device250. For example, application235-1may include software associated with network management platform230and/or any other software capable of being provided via cloud computing environment240. In some implementations, one application235-1may send/receive information to/from one or more other applications235-1, via virtual machine235-2.

Hypervisor235-4provides hardware virtualization techniques that allow multiple operating systems (e.g., “guest operating systems”) to execute concurrently on a host computer, such as computing resource235. Hypervisor235-4may present a virtual operating platform to the guest operating systems, and may manage the execution of the guest operating systems. Multiple instances of a variety of operating systems may share virtualized hardware resources.

User device250includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with managing performance of network devices210. For example, user device250may include a communication and/or computing device, such as a phone (e.g., a mobile phone, such as a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), or a similar type of device.

Network260includes one or more wired and/or wireless networks. For example, network260may include a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network, such as a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, another type of advanced generated network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, and/or a combination of these or other types of networks. In some implementations, any combination of network devices210, data source220, network management platform230, and/or user device250may be included in network260. In other cases, network devices210, data source220, network management platform230, and/or user device250may be included in different networks260.

FIG. 3is a diagram of example components of a device300. Device300may correspond to network device210, data source220, network management platform230, and/or user device250. In some implementations, network device210, data source220, network management platform230, and/or user device250may include one or more devices300and/or one or more components of device300. As shown inFIG. 3, device300may include a bus310, a processor320, a memory330, a storage component340, an input component350, an output component360, and a communication interface370.

FIG. 4is a flow chart of an example process400for transforming network data into a format capable of being processed by machine learning models, and using the machine learning models to make network management decisions. In some implementations, one or more process blocks ofFIG. 4may be performed by network management platform230. In some implementations, one or more process blocks ofFIG. 4may be performed by another device or a group of devices separate from or including network management platform230, such as network device210, data source220, and/or user device250.

As shown inFIG. 4, process400may include obtaining historical network data associated with a set of network devices (block410). For example, network management platform230may obtain, from data source220, historical network data that includes historical network ticket information and/or historical performance statistics for a set of network devices210.

A historical network ticket may include an event field identifying a particular performance issue, a description field describing the particular performance issue, a field indicating a time at which the historical network ticket was created and/or a time at which the performance issue occurred, a field indicating a network device identifier for a network device210that is a subject of the historical network ticket, a field identifying a physical location of the network device210, and/or the like. The event field may identify a particular performance issue, such as by identifying an issue relating to packet loss, an issue relating to temperature (e.g., a component of network device210may be overheating, a fan may malfunction, etc.), an issue relating to latency, an issue relating to bandwidth, an issue relating to memory, and/or the like.

A historical performance statistics may include a statistic relating to performance of a network device210, such as a statistic relating to packet loss, temperature, latency, bandwidth, memory, and/or the like.

In some implementations, prior to network management platform230obtaining historical network data, the set of network devices210may generate network tickets and/or performance statistics. For example, a network device210, of the set of network devices210, may utilize a set of sensors that monitors performance metrics associated with the network device210. In this case, if a performance metric associated with a network device210satisfies a threshold value, then a network alarm may trigger and cause the network device210to create a network ticket and/or a performance statistic. In other cases, a network ticket may be created due a complaint filed by an end-user (e.g., a user experiencing a connection issue).

As an example, a network device210may support traffic flow for one or more network services, and a sensor hosted on the network device210(or otherwise associated with the network device210) may monitor latency associated with the traffic flow. In this example, if one or more latency values recorded by the sensor satisfy a threshold latency value, a network alarm may trigger, causing the network device210to generate a network ticket and/or a performance statistic. Additionally, the network device210may provide the network ticket and/or the performance statistic to data source220, where the network ticket and/or the performance statistic can be stored as a historical network data.

As another example, a network device210may support traffic flow for one or more network services, and a sensor hosted on the network device210may monitor temperature of one or more components of the network device210while the network device210supports traffic flow. In this example, if one or more temperature readings recorded by the sensor satisfy a threshold value, a network alarm may trigger, causing the network device210to generate a network ticket and/or a performance statistic, and to provide the network ticket and/or the performance statistic to data source220.

In some implementations, data source220may store historical network data. For example, data source220may store historical network ticket information using a data structure, such as an array, a linked-list, a tree, a graph, a hash table, a database, and/or the like. In some implementations, data source220may store large quantities of data. For example, data source220may store millions, billions, or even trillions of data items. In this way, data source220may store a quantity of data that cannot be objectively processed by a human actor.

In some implementations, network management platform230may obtain historical network data. For example, network management platform230may obtain historical network data by querying data source220. As another example, network management platform230may be configured to automatically obtain or receive historical network data, from data source220, at a particular time period, a particular time interval, and/or the like without network management platform230having to query data source220.

In this way, network management platform230is able to obtain historical network data.

As further shown inFIG. 4, process400may include determining a set of historical network performance indicators by analyzing the historical network data (block420). For example, network management platform230may analyze the set of historical network tickets and/or the performance statistics to determine a set of historical network performance indicators.

The set of historical network performance indicators may include a network latency indicator, a bandwidth utilization rate indicator, a packet loss indicator, a temperature indicator, and/or the like. Additionally, a historical network performance indicator may be determined for a network device210, for a group of network devices210of the set of network devices210(e.g., a group of network devices210in a particular location, such as a particular data center, a particular server rack, a group of network devices210of a same type, etc.), for groups of historical network tickets (e.g., an indicator may aggregate historical network tickets of the same type, historical network tickets that are of different types, etc.), for a group of historical performance indicators (e.g., an indicator may aggregate performance indicators of the same type, historical performance indicators that are of different but related types, etc.), and/or the like.

In some implementations, network management platform230may determine a historical network performance indicator for a particular network device210using historical network data obtained throughout an interval (e.g., an interval during which the historical network data was obtained, an interval between a first time and a second time, an interval covering the last minute, an interval covering the last 30 minutes, an interval covering the last hour, an interval covering the last 24 hours, etc.). For example, network management platform230may analyze the historical network data to identify one or more historical network tickets that were created by the network device210during the interval.

As an example, network management platform230may obtain historical network tickets with latency information, where each historical network ticket identifies a latency metric, a timestamp associated with the particular latency metric, an identifier of the network device210, and/or the like. In this case, network management platform230may determine a network latency indicator by taking an average or a weighted average of the latency metrics associated with the historical network tickets. Network management platform230may similarly determine other types of historical network performance indicators, such as a historical packet loss indicator, a historical bandwidth utilization rate indicator, and/or the like.

Additionally, or alternatively, network management platform230may determine a historical network performance indicator for a group of network devices210. For example, network management platform230may determine a historical network performance indicator for a group of network devices210that are located in a similar location, such as within a particular data center, a particular server rack, and/or the like, for a group of network devices210of a same type, and/or the like. In this case, network management platform230may determine the historical network latency indicator by determining initial historical network latency indicators for the group of network devices210, and taking an average or a weighted average of the initial historical network latency indicators.

Additionally, or alternatively, network management platform230may determine a historical network performance indicator for a group of historical network tickets and/or historical performance indicators that are of different types (e.g., different ticket types or different event fields, different types of performance indicators, etc.). For example, network management platform230may obtain, for a network device210or for a group of network devices210, historical network tickets of different ticket types or with different ticket event fields. In this case, network management platform230may aggregate and analyze the historical network tickets to determine the historical network performance indicator.

As an example, assume network management platform230obtains a first historical network ticket that identifies a forward error correction (FEC) metric associated with a network device210. Further assume network management platform230obtains a second historical network that identifies a cyclic redundancy check (CRC) metric associated with the network device210. In this case, network management platform230may use both the first historical network ticket and the second historical network ticket to determine a historical performance indicator that considers two different metrics that are monitored by sensors of the network device210.

In this way, network management platform230is able to determine historical network performance indicators for the historical network ticket information.

As further shown inFIG. 4, process400may include converting the set of historical network performance indicators to a set of values that are in a format capable of being processed by one or more data models (block430). For example, network management platform230may convert and aggregate the set of historical network performance indicators to a set of values that are in a format capable of being processed by one or more data models (e.g., machine learning data models, artificial intelligence models, natural language processing models, etc.).

In some implementations, network management platform230may be configured with a set of values that are in a format capable of being processed by one or more data models. For example, a domain expert may, for each type of historical network performance indicator, associate ranges of historical network performance indicator values with particular values that are capable of being processed by a data model. In this case, the ranges of historical network performance indicator values may be based on domain expert knowledge relating to standards of performance. In this way, network management platform230is able to convert the historical network performance indicators into the set of values based on the ranges provided by the domain expert.

As an example, a domain expert may identify that bandwidth values for a fiber optic connection should be at least 1.5 megabytes per second (Mbps) for both uplink data and downlink data if the connection is strong. In this example, the domain expert may associate bandwidth values under 1.3 Mbps with a value of 0, bandwidth values between 1.31 Mbps and 1.49 Mbps with a value of 1, and bandwidth values of 1.50 Mbps or higher with a value of 2. In this way, network management platform230is able to convert each historical bandwidth utilization rate indicator based on a range that each historical bandwidth utilization rate indicator falls within.

In some implementations, network management platform230may receive, from user device250, a set of values that are in a format capable of being processed by one or more data models. For example, the set of values may be configurable by a user accessing user device250, and the user may input values based on domain knowledge, prior work experience, and/or the like.

In some implementations, network management platform230may use a data mining technique to determine a set of values that are in a format capable of being processed by one or more data models. For example, network management platform230may execute a data mining technique to analyze one or more data sources (e.g., publicly accessible webpages) to identify ranges of historical network performance indicator values that may be associated with the set of values capable of being processed by the one or more data models. In this case, network management platform230may, using the identified ranges of historical network performance indicator values, convert the historical network performance indicators into values that are capable of being processed by one or more data models based on a particular range of historical network performance indicator values (or a particular threshold range of historical network performance indicator values) that each historical network performance indicator falls within.

As an example, a webpage may include text describing desired bandwidth ranges for different types of connections. In this case, network management platform230may execute a data mining technique to analyze the webpage to identify the desired bandwidth ranges, and may convert each historical bandwidth indicator to a value that is capable of being processed by a data model based on which desired bandwidth range each historical bandwidth indicator falls within.

Additionally, or alternatively, network management platform230may use information recorded by sensors of the set of network devices210and historical network data to determine a set of values that are in a format that is capable of being processed by the one or more data models. For example, network management platform230may query the sensors to obtain all metrics monitored by the sensors (not just network tickets and/or performance statistics). Additionally, network management platform230may analyze the historical network data to determine which values associated with each historical network ticket are indicators of poor performance and/or which performance statistic values are indicators of poor performance. As such, network management platform230is able to determine the set of values that are in the format that is capable of being processed by the one or more data models.

As an example, assume network management platform230obtains all (or some) bandwidth information recorded by sensors of a set of network devices210. Further assume network management platform230obtains historical network ticket information and/or historical performance statistics relating to bandwidth issues for the set of network devices210. In this case, network management platform230may analyze the historical network ticket information and/or the historical performance statistics to identify bandwidth values associated with poor network performance. In this way, network management platform230is able to associate values included in the bandwidth information recorded by the sensors into a first range of values (e.g., associated with poor network performance, as reported by historical network tickets) and into a second range of values (e.g., any values reported by the sensors but not sent as part of historical network ticket information and/or historical performance statistics, which are likely bandwidth measurements that are in an acceptable bandwidth range). Additionally, network management platform230may convert the first range of values and the second range of values into values that are capable of being processed by a data model.

In some implementations, network management platform230may convert historical network performance indicators for an entire network. For example, network management platform230may determine millions, even billions of historical network performance indicators for a set of devices associated with a large network (e.g., a network extending throughout an entire country), and may convert the historical network performance indicators into a set of values capable of being processed by one or more data models. In this way, network management platform230is able to convert millions, even billions, of historical network performance indicators, such that a human or an inferior network management platform would not be objectively capable of processing.

In this way, network management platform230is able to convert the set of historical network performance indicators to a set of values capable of being processed by one or more data models.

As further shown inFIG. 4, process400may include training the one or more data models using the set of values (block440). For example, network management platform230may train the one or more models using one or more machine learning techniques and/or artificial intelligence techniques.

In some implementations, as described herein, network management platform230may train a data model using a supervised machine learning technique. Additionally, or alternatively, network management platform230may train a data model using a different type of machine learning technique, such as machine learning via clustering, dimensionality reduction, structured prediction, anomaly detection, neutral networks, reinforcement learning, and/or the like.

In some implementations, network management platform230may train a data model using a location identification technique. For example, network management platform230may train a decision tree using a location identification technique such as a K-means clustering algorithm. In this case, the K-means clustering algorithm may allow a data model to output whether to add or remove a network device210from a particular location (e.g., from a server rack, from a data center, etc.).

Additionally, or alternatively, network management platform230may train a data model using a forecasting technique. For example, network management platform230may train a data model by using a forecasting technique, such as a linear regression technique, that is capable of predicting network traffic over an interval. In this case, the historical network data may include information identifying traffic flow at particular time periods, and network management platform230may use the information to create a data model capable of forecasting time intervals associated with high traffic volume, which may, as described herein, be used to perform one or more actions to improve network performance.

Additionally, or alternatively, network management platform230may train a data model using an anomaly detection technique. For example, network management platform230may train a data model using an anomaly detection technique that outputs a predicted time period at which an anomaly (e.g., a large spike in traffic) may occur. In some cases, an anomaly may be associated with a historical network performance indicator value that is a threshold distance away from a median historical network performance indicator value. By training a data model to identify anomalies in network traffic, network management platform230may predict anomalies and may, as described herein, perform one or more actions to improve network performance.

Additionally, or alternatively, network management platform230may train a data model using a path-finding technique. For example, network management platform230may train a data model using a path-finding technique (e.g., Dijkstra's algorithm, A* search algorithm, etc.) to identify traffic re-routing paths. In this case, the data model may consider a number of different routing paths, and may output information identifying a routing path that is associated with a most effective use of network resources (e.g., the algorithm may consider connection type (e.g., fiber versus microwave), network traffic, distance, etc.). In this way, the path-finding technique may be used to output recommended routing and/or re-routing paths for traffic flow between network devices210.

Additionally, or alternatively, network management platform230may train a data model using one or more classification algorithms. For example, network management platform230may train a data model using historical network data, one or more classification algorithms (e.g., algorithms capable of classifying network data) and historical network performance indicators. A classification algorithm may be a way to compute the probability of an output (a target variable) given a set of inputs (features), and may include a neural network, a random forest, a classification tree, and/or the like. In this case, the data model may take live network performance indicators as input, and may output a value indicating a likelihood of a network fault occurring.

In some implementations, network management platform230may test a data model. For example, network management platform230may provide, as input to the data model, test data (e.g., additional historical network data) to determine whether the data model satisfies a threshold level of accuracy. In this case, values included in the test data may be associated with a particular recommendation, and network management platform230may test the data model using the test data to determine whether output of the data model satisfies the threshold level of accuracy.

In some implementations, network management platform230may receive one or more data models that have been trained using a set of values that are in a format capable of being processed by the one or more data models. For example, network management platform230may receive, from another server device, from a device associated with a software developer, and/or the like, one or more data models that have been trained. In this way, a device other than network management platform230may train the one or more data models, and may provide the one or more data models to network management platform230.

In some implementations, network management platform230may receive one or more data models that have been trained on supplemental information. The supplemental information may include subscription information for user devices in a geographic region, location information of a set of host servers for commonly used network services (e.g., a server hosting a commonly used social media platform), and/or the like. In this case, network management platform230may train the one or more data models using the supplemental information, one or more of the above described techniques, the set of values that are in the format that is capable of being processed by the one or more data models, and/or the like.

In some cases, network management platform230may use the supplemental information as part of locally training the one or more data models, in the same manner described above.

In this way, network management platform230is able to train one or more data models that may be used to process real-time network ticket data.

As further shown inFIG. 4, process400may include determining a set of network performance indicators for one or more network devices by analyzing network data (block450). For example, network management platform230may receive a set of network tickets and/or performance statistics (collectively referred to as network data) associated with one or more network devices210, while the set of network devices210are actively supporting traffic flow, and may analyze the network data to determine a set of network performance indicators.

The set of network tickets may include information identifying a particular performance issue of a network ticket, such as by identifying an issue relating to packet loss, an issue relating to temperature (e.g., temperature of a component of a network device210), an issue relating to latency, an issue relating to bandwidth, an issue relating to memory, and/or the like. The set of network performance indicators may include a network latency indicator, a bandwidth utilization rate indicator, a packet loss indicator, a temperature indicator, and/or the like. The performance statistics may include statistics relating to performance of a network device210, such as a statistic relating to packet loss, temperature, latency, bandwidth, memory, and/or the like.

In some implementations, network management platform230may receive the network data. For example, network management platform230may receive the network data automatically from network devices210, data source220, one or more intermediary devices, and/or the like. In some implementations, network management platform230may obtain the network data (e.g., by providing a query that requests the network data to one or more of the above-mentioned devices).

In some implementations, network management platform230may determine the set of network performance indicators, in the same manner described above. For example, network management platform230may determine a first group of network performance indicators that include indicators associated with each network device210, may determine a second group of network performance indicators associated with the one or more network devices210(or subsets of the one or more network devices210), may determine a third group of network performance indicators associated with aggregating different types of network data, and/or the like.

In some implementations, network management platform230may determine the set of network performance indicators based on a trigger, such as a timer. For example, network management platform230may obtain network data throughout an interval and, at the end of the interval (e.g., the expiration of a timer), may determine the set of network performance indicators based on all (or some) of the data collected during the interval.

In this way, network management platform230is able to determine a set of network performance indicators.

As further shown inFIG. 4, process400may include converting the set of network performance indicators into another set of values that are in the format capable of being processed by the one or more data models (block460). For example, network management platform230may convert the set of network performance indicators in the same manner described above (see, e.g., block430).

In this way, network management platform230is able to convert the set of network performance indicators into another set of values that are in the format that is capable of being processed by the one or more data models.

As further shown inFIG. 4, process400may include generating, by providing the other set of values as input to the one or more data models, one or more recommendations associated with improving network performance (block470). For example, network management platform230may provide the other set of values as input to the one or more data models, which may cause the one or more data models to output values that may be used to generate one or more recommendations that may be implemented to improve network performance. The one or more recommendations may include a recommendation to modify a number of network devices210used to support traffic flow, to allocate resources to a network device210or from the network device210, to allocate resources between network devices210, to route or reroute traffic between network devices210, and/or the like.

In some implementations, network management platform230may generate a recommendation to add or remove a network device210. For example, assume a data model has been trained using the set of values and a location identification technique. In this case, network management platform230may provide the set of network performance indicators as input to the data model, which may cause the data model to output a value associated with a recommendation to add a network device210to a particular location or to remove the network device210from the particular location.

As an example, if the set of network performance indicators for a group of network devices210include network performance indicators identifying a large amount of packet loss, latency, bandwidth usage, and/or the like, the data model may output a value associated with a recommendation to add a network device210to a particular location, thereby reducing an amount of traffic flow that nearby network devices210have to handle.

Additionally, or alternatively, network management platform230may generate a recommendation to allocate resources between network devices210. For example, network management platform230may generate a recommendation to allocate additional resources to a network device210, remove excess resources from a network device210, take resources from a first network device210and allocate the resources to a second network device210, and/or the like. In this case, a data model may be trained using a machine learning technique, such as a forecasting technique, a path-finding technique, an anomaly detection technique, and/or the like. In this case, network management platform230may provide the set of network performance indicators as input to the data model, which may cause the data model to output a value associated with a recommendation to allocate resources between network devices210.

As an example, if network performance indicators for a first group of network devices210include network performance indicators identifying a large amount of packet loss, latency, bandwidth usage, and/or the like, and if network performance indicators for a second group of network devices210include network performance indicators identifying a low amount of packet loss, latency, bandwidth usage, and/or the like, then network management platform230may output a value associated with a recommendation to allocate resources by removing resources from the second group of network devices210and reallocating the resources to the first group of network devices210.

Additionally, or alternatively, network management platform230may generate a recommendation to route or reroute traffic between network devices210. For example, network management platform230may generate a recommendation to route traffic away from a particular network device210, route additional traffic to a particular network device210, reroute traffic going to a first network device210so that the traffic is routed to a second network device210, and/or the like. In this case, a data model may be trained using a path-finding technique (e.g., Dijkstra's algorithm, A* search algorithm, etc.). Additionally, network management platform230may provide the set of network performance indicators as input to the data model, which may cause the data model to output a recommendation to route or reroute traffic between network devices210.

Additionally, or alternatively, network management platform230may generate a recommendation based on a forecast of network traffic. For example, assume a data model has been trained using a set of historical network performance indicators and a forecasting technique (e.g., a linear regression algorithm). In this case, network management platform230may provide network performance indicators as input for the data model, which may cause the data model to output a prediction relating to an amount of network traffic, a prediction relating to status of one or more network devices210, and/or the like. In some cases, the prediction may be a prediction of when a new network ticket will open. Additionally, network management platform230may use the one or more predictions to generate a recommendation to add network devices210to or remove network devices210from a particular location, to recommend one or more traffic routing and/or rerouting paths, and/or the like.

Additionally, or alternatively, network management platform230may generate a recommendation to perform maintenance on a network device210. For example, network management platform230may generate a recommendation to perform maintenance on a network device210using one or more of the above-described techniques and/or methods.

In this way, network management platform230is able to generate one or more recommendations associated with improving network performance.

As further shown inFIG. 4, process400may include performing, after generating the one or more recommendations, one or more actions associated with improving network performance (block480). For example, network management platform230may perform one or more actions to improve network performance or to allow another device or party to improve network performance. The one or more actions may include providing the one or more recommendations for display on user device250, providing instructions to automatically implement the one or more recommendations, automatically implementing the one or more recommendations, and/or the like.

In some implementations, network management platform230may provide a recommendation to user device250. For example, network management platform230may provide a recommendation for display on a user interface of user device250to allow a user to view the recommendation. In some cases, network management platform230may provide additional information relating to the recommendation. For example, if a recommendation is to add a network device210to a particular server rack or data center, network management platform230may also provide cost information relating to purchasing and installation of the network device210, should the user decide to implement the recommendation.

Additionally, or alternatively, network management platform230may provide one or more instructions associated with adding or removing a network device210. For example, network management platform230may provide an instruction to a device associated with a technician to add or remove a network device210. The instruction may include information identifying the network device210that is to be added or removed, information identifying the particular location of which the network device210is to be added to or removed from, information associated with a set of installation or uninstallation instructions, and/or the like.

Furthermore, network management platform230may use information included in the request to analyze technician information, such as a set of electronic calendars associated with accounts of technicians, technician schedule information identifying whether a technician is available, technician qualification information including a set of credentials associated with qualifications of each technician, technician location information, and/or the like, and may select an available technician to add or remove the network device210. Moreover, network management platform230may provide an e-mail to a device associated with the technician, schedule an appointment in a calendar of the technician, and/or the like.

Additionally, or alternatively, network management platform230may automatically modify resources assigned to one or more network devices210. For example, network management platform230may use an application programming interface (API) to interact with one or more network devices210that are targeted for resource allocation. In this case, network management platform230may add virtual resources to a network device210, remove virtual resources from a network device210, take virtual resources from a first network device210and allocate them to a second network device210, and/or the like. Additionally, or alternatively, network management platform230may use an API to automatically power up a network device210and bring the network device210online (e.g., without input from a technician).

Additionally, or alternatively, network management platform230may provide instructions to a robot to automatically implement a recommendation. For example, network management platform230may generate a recommendation to add a network device210to a particular location or to remove the network device210from the particular location. The recommendation may include information identifying the network device210that is to be added or removed, information identifying the particular location, information associated with a set of installation or uninstallation instructions, and/or the like. In this case, network management platform230may provide the recommendation to the robot to cause the robot to automatically add the network device210or to automatically remove the network device210. For example, the robot may use one or more mechanical appendages to physically plug in cables or unplug cables needed to power on the network device210or connect the network device210to a network, may install an operating system and/or software on the network device210, and/or the like.

In this way, network management platform230is able to perform one or more actions associated with improving network performance.

By using machine learning to generate recommendations that may be implemented to improve network performance, network management platform230conserves network resources by determining an efficient and effective allocation of resources. Furthermore, network management platform230conserves processing resources by predicting and preventing network faults. For example, by predicting a network fault (e.g., a server crashing, a threshold amount of packet loss occurring, etc.), and performing preventative measures needed to ensure that the network fault never occurs, network management platform230conserves processing resources that might otherwise be used to fix the network fault in real-time, processing resources that might be used to reallocate network resources during the network fault, and/or the like.