Automated predictions for not-yet-completed jobs
US-2020034188-A1 · Jan 30, 2020 · US
US12112203B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12112203-B2 |
| Application number | US-202117531705-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 19, 2021 |
| Priority date | Nov 20, 2020 |
| Publication date | Oct 8, 2024 |
| Grant date | Oct 8, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system prioritizes workflows based on priority levels and calculates an amount of resource consumption associated with the workflows. Each client starts a predefined time period with a certain amount of credits that indicate a degree of resource consumption. Workflows may be run with high priorities using credits. Workflows that are run with higher priorities are scheduled to run before workflows with lower priorities. A degree of resource consumption for running a workflow may be calculated based on resources consumed by the system, such as central processing unit (CPU), memory storage, network usage and elapsed time. The degree of resource consumption for running a workflow may be calculated and converted to an amount of credits and the respective amount of credits may be deducted from a credit balance associated with the client's account. The degree of resource consumption associated with a workflow may be estimated before the workflow starts running.
Opening claim text (preview).
What is claimed is: 1. A method for prioritizing workflows comprising: receiving a first request from a first user to run a first workflow that is associated with a first task, the first request associated with a first priority level that is based on a first time sensitivity characteristic of the first task associated with the first request, wherein the first time sensitivity characteristic is based on a first goal of the first task associated with the first request; receiving a second request from a second user to run a second workflow that is associated with a second task, the second request associated with a second priority level that is higher than the first priority level, wherein: the second priority level is based on a second time sensitivity characteristic of the second request, the second time sensitivity characteristic being based on a second goal of the second task associated with the second request, and the second request is associated with the second priority level that is higher than the first priority level based on a comparison of the first time sensitivity characteristic and the second time sensitivity characteristic; identifying a set of computing resources consumed by the second workflow, the set of computing resources comprising one or more of CPU (Central Processing Unit) usage, memory, network capacity, or computation time; estimating a degree of resource consumption for the second workflow based on identifying the set of computing resources; and responsive to the second priority level being greater than the first priority level: running the second workflow before running the first workflow; and reducing a resource balance associated with the second user according to the estimated degree of resource consumption. 2. The method of claim 1 , further comprising: responsive to detecting that the second request is a synchronous request based on a function call invoked by the second request, determining to set the second priority level for the second workflow to a high priority level. 3. The method of claim 2 , wherein a determined priority level for the second priority level is adjustable by the second user. 4. The method of claim 1 , further comprising: identifying a state of the second workflow that indicates whether the second task is ready to run; and executing the second workflow responsive to determining that the state of the second workflow is ready. 5. The method of claim 1 , wherein the first user is associated with an account of credit balance, the method further comprising: identifying an elapse of a set period of time; and adding a predetermined amount of credits to the account of credit balance associated with the first user. 6. The method of claim 1 , further comprising: responsive to detecting that the resource balance of the second user is insufficient for the second task, determining to set the second priority level that is associated with the second request to a low priority. 7. The method of claim 1 , further comprising: responsive to detecting that the resource balance of the second user is insufficient for the second task, determining to halt executing the second task until the resource balance has sufficient balance. 8. The method of claim 1 , further comprising: training a machine learning model using a training dataset including data associated with historical executed workflows; and predicting, based on training the machine learning model, the degree of resource consumption associated with the second task of the second workflow before the second task starts to run. 9. The method of claim 1 , wherein the second task is placed on a high priority queue and the first task is placed on a low priority queue. 10. The method of claim 9 , wherein tasks in the high priority queue are executed by a first set of engines and tasks in the low priority queue are executed by a second set of engines different from the first set of engines. 11. A non-transitory computer-readable storage medium storing instructions for one or more computer programs executable by one or more computer processors, the instructions comprising: receiving a first request from a first user to run a first workflow that is associated with a first task, the first request associated with a first priority level that is based on a first time sensitivity characteristic of the first task associated with the first request, wherein the first time sensitivity characteristic is based on a first goal of the first task associated with the first request; receiving a second request from a second user to run a second workflow that is associated with a second task, the second request associated with a second priority level that is higher than the first priority level, wherein: the second priority level is based on a second time sensitivity characteristic of the second request, the second time sensitivity characteristic being based on a second goal of the second task associated with the second request, and the second request is associated with the second priority level that is higher than the first priority level based on a comparison of the first time sensitivity characteristic and the second time sensitivity characteristic; identifying a set of computing resources consumed by the second workflow, the set of computing resources comprising one or more of CPU (Central Processing Unit) usage, memory, network or elapsed time; estimating a degree of resource consumption for the second workflow based on identifying the set of computing resources; and responsive to the second priority level being greater than the first priority level: running the second workflow before running the first workflow; and reducing a resource balance associated with the second user according to the estimated degree of resource consumption. 12. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further comprises: responsive to detecting that the second request is a synchronous request based on a function call invoked by the second request, determining to set the second priority level for the second workflow to high. 13. The non-transitory computer-readable storage medium of claim 12 , wherein a determined priority for the second priority level is adjustable by the second user. 14. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions comprises: identifying a state of the second workflow that indicates whether the second task is ready to run; and executing the second workflow responsive to determining that the state of the second workflow is ready. 15. The non-transitory computer-readable storage medium of claim 11 , wherein the first user is associated with an account of credit balance and the instructions further comprises: identifying an elapse of a set period of time; and adding a predetermined amount of credits to the account of credit balance associated with the first user. 16. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further comprises: responsive to detecting that the resource balance of the second user is insufficient for the second task, determining to set the second priority level that is associated with the second request to a low priority. 17. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further comprises: responsive to detecting that the resource balance of the second user is insufficient for the second task, determining to halt executing the second task until the resource balance has sufficie
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.