PREDICTIVE RESOURCE ALLOCATION FOR NETWORK GROWTH IN AN EDGE COMPUTING NETWORK
The present technology relates to improving computing services in a distributed network of remote computing resources, such as edge nodes in an edge compute network. In an aspect, the technology relates to a method that includes aggregating historical request data for a plurality of requests for services to be performed by one or more edge nodes; training a machine learning model based on the aggregated historical request data; generating, from the trained machine learning model, a prediction for an amount of requests for services at the one or more edge nodes; generating a predicted capacity needed to perform the predicted amount of requests; comparing the predicted capacity to a current capacity for the one or mode edge nodes; and based on the comparison, generating a recommendation for an alteration of hardware resources at the one or more edge nodes.
1 . A computer-implemented method for allocating hardware resources within a network, the method comprising:
aggregating historical request data for a plurality of requests for services to be performed by one or more edge nodes;
training a machine learning model based on the aggregated historical request data;
generating, from the trained machine learning model, a prediction for an amount of requests for services at the one or more edge nodes;
generating a predicted capacity needed to perform the predicted amount of requests;
comparing the predicted capacity to a current capacity for the one or mode edge nodes; and
based on the comparison, generating a recommendation for an alteration of hardware resources at the one or more edge nodes.
2 . The computer-implemented method of claim 1 , wherein the machine learning model is at least one of a regression model, a decision tree, a random forest, a neural network, a continual learning model, or a deep learning model.
3 . The computer-implemented method of claim 1 , wherein the aggregated historical request data includes at least one or more of the following data for a plurality of requests: a time of the request, a location of a device from which the request originated, a type of service being requested, a user identifier, a device identifier, latency data, jitter data, or packet loss.
4 . The computer-implemented method of claim 1 , further comprising, based on the generating of the recommendation for the alteration of hardware, initiating a hardware order to be installed at the one or more edge nodes.
5 . The computer-implemented method of claim 1 , further comprising:
based on the comparison, determining that the predicted capacity exceeds the current capacity for the one or more edge nodes; and
wherein the recommendation is to increase the hardware resources at the one or more edge nodes.
6 . The computer-implemented method of claim 1 , further comprising:
based on the comparison, determining that the predicted capacity is less than the current capacity for the one or more edge nodes; and
wherein the recommendation is to decrease the hardware resources at the one or more edge nodes.
7 . The computer-implemented method of claim 1 , wherein the recommendation is to transfer hardware resources from one edge node to another edge node.
8 . The computer-implemented method of claim 1 , further comprising:
generating, for the predicted amount of requests, a prediction of types of services to be requested by the predicted amount of requests; and
wherein generating the predicted capacity is further based on the predication of the types of services to be requested.
9 . A system for allocating hardware resources within a network, the system comprising:
a plurality of edge nodes having different physical locations;
a database storing historical request data for a plurality of requests;
at least one processor; and
memory, operatively connected to the at least one processor and storing instructions that, when executed by the at least one processor, cause the at least one processor to perform a set of operations comprising:
aggregating historical request data for a plurality of requests for services to be performed by one or more edge nodes in the plurality of edge nodes;
training a machine learning model based on the aggregated historical request data;
generating, from the trained machine learning model, a prediction for an amount of requests for services at the one or more edge nodes;
generating a predicted capacity needed to perform the predicted amount of requests;
comparing the predicted capacity to a current capacity for the one or mode edge nodes; and
based on the comparison, generating a recommendation for an alteration of hardware resources at the one or more edge nodes.
10 . The system of claim 9 , wherein the operations further comprise:
generating, for the predicted amount of requests, a prediction of types of services to be requested by the predicted amount of requests; and
wherein generating the predicted capacity is further based on the predication of the types of services to be requested.
11 . The system of claim 9 , wherein the operations further comprise:
based on the comparison, determining that the predicted capacity is less than the current capacity for the one or more edge nodes; and
wherein the recommendation is to decrease the hardware resources at the one or more edge nodes.
12 . The system of claim 9 , wherein the operations further comprise:
based on the comparison, determining that the predicted capacity exceeds the current capacity for the one or more edge nodes; and
wherein the recommendation is to increase the hardware resources at the one or more edge nodes.
13 . The system of claim 9 , wherein the recommendation is to transfer hardware resources from one edge node to another edge node.
14 . The system of claim 9 , wherein the machine learning model is at least one of a regression model, a decision tree, a random forest, a neural network, a continual learning model, or a deep learning model.
15 . A computer-implemented method for allocating hardware resources within a network, the method comprising:
aggregating historical request data for a plurality of requests for services to be performed by one or more edge nodes, wherein the aggregated historical request data includes performance data for the plurality of requests;
training a machine learning model based on the aggregated historical request data;
generating, by the machine learning model, a prediction for performance data for future requests;
comparing the prediction for the performance data to a predetermined performance threshold; and
based on the comparison, generating a recommendation for an alteration of hardware resources at the one or more edge nodes.
16 . The computer-implemented method of claim 15 , wherein performance data includes at least one of jitter, latency, packet loss, CPU utilization, network interface utilization, requests per second, memory utilization, network alarms, or component temperatures data for the plurality of requests.
17 . The computer-implemented method of claim 15 , wherein the machine learning model is at least one of a regression model, a decision tree, a random forest, a neural network, a continual learning model, or a deep learning model.
18 . The computer-implemented method of claim 15 , wherein:
the performance data is latency;
the predicted performance data is an average latency value for predicted requests; and
the predetermined performance threshold is a maximum latency value.
19 . The computer-implemented method of claim 18 , further comprising:
based on the comparison, determining that the predicted average latency value for the predicted requests is greater than the maximum latency value; and
wherein the recommendation is to increase the hardware resources at the one or more edge nodes.
20 . The computer-implemented method of claim 18 , further comprising:
based on the comparison, determining that the predicted average latency value for the predicted requests is less than the maximum latency value; and
wherein the recommendation is to transfer one or more hardware resources from one edge node to another edge node.