EP-4738116-A1 - ARTIFICIAL INTELLIGENCE (AI) PROCESS SCHEDULER FOR OPTIMIZING RESOURCE UTILIZATION IN COMPUTING ENVIRONMENTS
Abstract
An artificial intelligence (AI) machine learning model learns from historical process data and current system state to optimize scheduling of processes within defined time frames. The model analyzes previous runtimes, resource usage, and available system resources to predict optimal execution times. The processes are triggered or initiated within a computing environment based on output from the model and during allowed periods, spreading resource utilization across the timeline to avoid resource overloads. This approach reduces system configuration requirements and costs by eliminating the need for large-scale setups to handle periodic spikes. The Al model continuously adapts to new services and changing conditions, providing a centralized, low-maintenance solution applicable across various platforms and services. This method improves overall data center efficiency, reduces the likelihood of failures due to overload, and optimizes resource allocation.
Inventors
- ABADI, SHIRAN
- HAIZLER, TAMAR MIRIAM
Assignees
- NCR Voyix Corporation
Dates
- Publication Date
- 20260506
- Application Date
- 20251024
Claims (15)
- A method, comprising: receiving, by a machine learning model (MLM), historical data of at least one process and at least one current state from a computing environment; obtaining, by the MLM, at least one acceptable time frame for each process within which the at least one process is to be executed within the computing environment; determining, by the MLM, at least one execution time for the at least one process; triggering the at least one process to run at the at least one execution time; and monitoring, by the MLM, resource utilization for the computing environment across a timeline during execution of the at least one process.
- The method of claim 1, wherein receiving further comprises identifying, from the historical data, runtime and usage information for the at least one process within the computing environment.
- The method of claim 1 or claim 2, wherein receiving further comprises identifying, from the at least one current state, one or more of available resources or waiting processes in the computing environment.
- The method of any preceding claim, wherein obtaining further comprises associating the at least one acceptable time frame with the at least one process; and/or wherein determining further comprises avoiding peaks and valleys in resource utilization within the computing environment during execution of the at least one process.
- The method of any preceding claim, wherein triggering further comprises assigning penalties when resource usage spikes are encountered during execution of the at least one process and when the at least one execution time is not within the at least one acceptable time frame; and/or wherein monitoring further comprises tracking processor load, memory load, disk load, and network bandwidth usage within the computing environment.
- The method of any preceding claim, further comprising assigning penalties when resource usage spikes are encountered during execution of the at least one process; and/or further comprising adapting scheduling strategies based on monitored resource utilization to optimize further executions of the at least one process within the computing environment.
- The method of any preceding claim, further comprising, generating at least one visual graphic of resource loads during execution of the at least one process within the computing environment.
- The method of any preceding claim, further comprising, receiving user-inputted criteria and generating at least one report based on the user-inputted criteria and monitored resource utilization.
- A method, comprising: performing an initial training on a machine learning model (MLM) using historical data of processes and states for a computing environment; deploying a trained MLM to optimize process scheduling within the computing environment; learning, by the trained MLM, from experience associated with attempting process runs at different times within allowed time frames; rewarding the trained MLM for completing the process runs on time while a basal load is maintained within the computing environment; penalizing the trained MLM for causing resource overloads or failing to complete the process runs within the allowed time frames; and continuously refining, by the trained MLM, scheduling strategies to achieve optimal resource utilization and process completion within the allowed time frames.
- The method of claim 9, wherein performing further comprises creating a simulated environment that mimics the computing environment for the initial training.
- The method of claim 9 or claim 10, wherein performing further comprises using a reinforcement learning algorithm while training the MLM; and/or wherein learning further comprises exploring optimal execution times for maintaining the basal load of the computing environment.
- The method of any of claims 9 to 11, wherein penalizing further comprises automatically assigning penalties to particular processes when resource usage spikes are encountered.
- The method of any of claims 9 to 12, further comprising, evaluating a performance of the trained MLM based on overall peak and valley resource loads within the computing environment; and/or further comprising, adapting the trained MLM to new processes being added to the computing environment.
- A system, comprising: a processor; a non-transitory computer-readable storage medium comprising instructions; the instructions when executed by the processor cause the processor to perform operations comprising: performing an initial training on a machine learning model (MLM) using historical data of processes and states for a computing environment; deploying the trained MLM to optimize process scheduling within the computing environment; receiving, by the trained MLM, updated historical data of the processes and current states for the computing environment; obtaining, by the trained MLM, allowed time frames for each process within which a corresponding process is to be executed within the computing environment; determining, by the trained MLM, execution times for the processes; triggering the processes to run at the execution times; monitoring, by the trained MLM, resource utilization across a timeline during execution of the processes; learning, by the trained MLM, from experience by attempting process runs at different times within the allowed time frames; rewarding the trained MLM for completing the process runs on time and maintaining a basal load for the computing environment; penalizing the trained MLM for causing resource overloads or failing to complete the process runs within the allowed time frames; and continuously refining, by the trained MLM, scheduling strategies to achieve better resource utilization and completion of the process runs within the allowed time frames.
- The system of claim 14, wherein the operations further comprise: generating visual graphics of resource loads during the process runs; and presenting the visual graphics through a user interface to end users who are operating user-operated devices.
Description
Background Systems for running different processes, such as creating machine learning predictions, synchronizing information such as updated catalog prices, or copying data, often use orchestrators that run each process at a time defined by the user at setup. At the expected time, the system runs all scheduled processes, even if multiple processes were set to run simultaneously. This can lead to system overload, requiring more resources to be allocated to support the high traffic. To account for this, systems may be configured to enable sudden resource allocation, which often necessitates larger configurations than are typically needed. For example, a system might be configured to a "large" size to support periodic overloads, even though it operates at minimal usage the majority of the time. Such inefficient resource allocation leads to higher maintenance costs and potential system failures during peak usage periods, while leaving resources underutilized during off-peak times. Summary According to a first aspect of the present invention there is provided a method, comprising: receiving, by a machine learning model (MLM), historical data of at least one process and at least one current state from a computing environment; obtaining, by the MLM, at least one acceptable time frame for each process within which the at least one process is to be executed within the computing environment; determining, by the MLM, at least one execution time for the at least one process; triggering the at least one process to run at the at least one execution time; and monitoring, by the MLM, resource utilization for the computing environment across a timeline during execution of the at least one process. Aptly, wherein receiving further comprises identifying, from the historical data, runtime and usage information for the at least one process within the computing environment. Aptly, wherein receiving further comprises identifying, from the at least one current state, one or more of available resources or waiting processes in the computing environment. Aptly, wherein obtaining further comprises associating the at least one acceptable time frame with the at least one process. Aptly, wherein determining further comprises avoiding peaks and valleys in resource utilization within the computing environment during execution of the at least one process. Aptly, wherein triggering further comprises assigning penalties when resource usage spikes are encountered during execution of the at least one process and when the at least one execution time is not within the at least one acceptable time frame. Aptly, wherein monitoring further comprises tracking processor load, memory load, disk load, and network bandwidth usage within the computing environment. Aptly, the method further comprises assigning penalties when resource usage spikes are encountered during execution of the at least one process. Aptly, the method further comprises adapting scheduling strategies based on monitored resource utilization to optimize further executions of the at least one process within the computing environment. Aptly, the method further comprises generating at least one visual graphic of resource loads during execution of the at least one process within the computing environment. Aptly, the method further comprises receiving user-inputted criteria and generating at least one report based the user-inputted criteria and monitored resource utilization. According to a second aspect of the present invention there is provided a method, comprising: performing an initial training on a machine learning model (MLM) using historical data of processes and states for a computing environment; deploying a trained MLM to optimize process scheduling within the computing environment; learning, by the trained MLM, from experience associated with attempting process runs at different times within allowed time frames; rewarding the trained MLM for completing the process runs on time while a basal load is maintained within the computing environment; penalizing the trained MLM for causing resource overloads or failing to complete the process runs within the allowed time frames; and continuously refining, by the trained MLM, scheduling strategies to achieve optimal resource utilization and process completion within the allowed time frames. Aptly, wherein performing further comprises creating a simulated environment that mimics the computing environment for the initial training. Aptly, wherein performing further comprises using a reinforcement learning algorithm while training the MLM. Aptly, wherein learning further comprises exploring optimal execution times for maintaining the basal load of the computing environment. Aptly, wherein penalizing further comprises automatically assigning penalties to particular processes when resource usage spikes are encountered. Aptly, the method further comprises evaluating a performance of the trained MLM based on overall peak and valley resource loads