Smart load balancing of containers for data protection using supervised learning
AssigneeDell Products L.P.
InventorsMahesh Reddy Av, Avinash Kumar, Terry O'Callaghan
Life of this patent
Estimating the term…
Abstract
A container load balancer process helps schedule backups of containerized data based on defined attributes and historical data. Containers are classified using a KNN-based classifier based on attributes. A tagger component assigns a priority tag to each container. A monitor monitors an assignment of backup tasks to proxies for the backing up step, and a load balancer determines if the assignment distributes backup loads within a defined performance tolerance, and adjusts the assignment if not. A backup server then backs up the container data in an order determined by the classifying and the assignment or adjusted assignment.
Claims18
A computer-implemented method of balancing backups and data processing loads of container data in a network, comprising:
- predicting, using a k-nearest neighbors (KNN) machine learning process, a criticality of each container of a plurality of containers storing the container data to determine a backup order of a container relative to other containers based on attributes of the container comprising:
- container age, container importance, resource utilization, network traffic, container dependencies, frequency of changes, failure history, data sensitivity, service level requirements, and backup frequency;
- classifying, with respect to the backup order, each container, and based on attributes of each container defining a predicted criticality of the containers with respect to priority of processing in an event of emergency backup or restoration of the network;
- generating a priority score for each container based on the classifying;
- tagging each container with a priority tag based on a priority score generated for each container based on the classifying;
- continuously monitoring an assignment of backup tasks to a proxy for the backing up step, wherein the proxy comprises a server-based process acting as an intermediary between a backup server and a backup client;
- determining if the assignment evenly distributes backup loads across proxies performing the backup tasks with respect to number of backup tasks assigned to each proxy, and adjusting the assignment if not;
- configuring a policy to determine relative priority of two or more containers having a same priority score to provide a tie-breaker rule that considers factors including a number of existing protection points existing for a container, and any previous priority downgrade;
- determining if two or more containers have the same priority score, and if so, executing a tie-breaker process implementing the tie-breaker rule to determine their relative priority based on the configured policy;
- backing up the container data in an order determined by the classifying and the assignment or adjusted assignment to back up the container data in order of relative criticality so that a most critical container is backed up before subsequent containers;
- and
- performing a smart load balancing process based on the continuous monitoring step to dynamically adjust during the monitoring, the backup tasks assigned to each proxy to evenly distribute the backup loads with respect to a plurality of features used by a scheduler, and that comprise:
- processor and storage utilization, container uptime, container resource limits, and proxy availability, uptime and resource usage.
A system for dynamically balancing backups and data processing loads of container data in a network, comprising:
- a controller including:
- a first component predicting, using a k-nearest neighbors (KNN) machine learning process, a criticality of each container of a plurality of containers storing the container data to determine a backup order of a container relative to other containers based on attributes of the container comprising:
- container age, container importance, resource utilization, network traffic, container dependencies, frequency of changes, failure history, data sensitivity, service level requirements, and backup frequency;
- a classifier, classifying each container, and based on attributes of each container defining a predicted criticality of the containers with respect to priority of processing in an event of emergency backup or restoration of the network;
- a second component generating a priority score for each container based on the classifying;
- a tagger tagging each container with a priority tag based on the generated priority score;
- a monitor continuously monitoring an assignment of backup tasks to backup proxy for the backing up step, wherein the proxy comprises a server-based process acting as an intermediary between a backup server and a backup client;
- a load balancer performing a smart load balancing process based on the continuous monitoring step to dynamically adjust during the continuous monitoring, the backup tasks assigned to each proxy to equitably distribute the backup loads with respect to a plurality of features used by a scheduler, and that comprise:
- processor and storage utilization, container uptime, container resource limits, and proxy availability, uptime and resource usage, the load balancer further determining if the assignment evenly distributes backup loads across proxies performing the backup tasks with respect to number of backup tasks assigned to each proxy, and adjusting the assignment if not;
- a tie-breaker process component configuring a policy to determine relative priority of two or more containers having a same priority score to provide a tie-breaker rule that considers factors including a number of existing protection points existing for a container, and any previous priority downgrade, and determining if two or more containers have the same priority score, and if so, executing a tie-breaker process implementing the tie-breaker rule to determine their relative priority based on the configured policy;
- and
- a backup server backing up the container data in an order determined by the classifying and the assignment or adjusted assignment;
- and
- a storage device storing the container data backed up by the backup server.
A tangible computer program product having stored thereon program instructions that, when executed by a process, cause the processor to perform a method of balancing backups and data processing loads of container data in a network, comprising:
- predicting, using a k-nearest neighbors (KNN) machine learning process, a criticality of each container of a plurality of containers storing the container data to determine a backup order of a container relative to other containers based on attributes of the container comprising:
- container age, container importance, resource utilization, network traffic, container dependencies, frequency of changes, failure history, data sensitivity, service level requirements, and backup frequency;
- classifying, with respect to the backup order, each container, and based on attributes of each container defining a predicted criticality of the containers with respect to priority of processing in an event of emergency backup or restoration of the network;
- generating a priority score for each container based on the classifying;
- tagging each container with a priority tag based on a priority score generated for each container based on the classifying;
- continuously monitoring an assignment of backup tasks to a proxy for the backing up step, wherein the proxy comprises a server-based process acting as an intermediary between a backup server and a backup client;
- determining if the assignment evenly distributes backup loads across proxies performing the backup tasks with respect to number of backup tasks assigned to each proxy, and adjusting the assignment if not;
- configuring a policy to determine relative priority of two or more containers having a same priority score to provide a tie-breaker rule that considers factors including a number of existing protection points existing for a container, and any previous priority downgrade;
- determining if two or more containers have the same priority score, and if so, executing a tie-breaker process implementing the tie-breaker rule to determine their relative priority based on the configured policy;
- backing up the container data in an order determined by the classifying and the assignment or adjusted assignment to back up the container data in order of relative criticality so that a most critical container is backed up before subsequent containers;
- and
- performing a smart load balancing process based on the continuous monitoring step to dynamically adjust during the monitoring, the backup tasks assigned to each proxy to evenly distribute the backup loads with respect to a plurality of features used by a scheduler, and that comprise:
- processor and storage utilization, container uptime, container resource limits, and proxy availability, uptime and resource usage.
Dependencies are inferred from the claim text.