Dynamic weighting for cloud-based provisioning systems

US11233873B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11233873-B2
Application numberUS-201715840973-A
CountryUS
Kind codeB2
Filing dateDec 13, 2017
Priority dateMay 12, 2017
Publication dateJan 25, 2022
Grant dateJan 25, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In certain embodiments, a Service Deployment Infrastructure (SDI) request engine is disclosed. The SDI request engine can perform tracking, management and provisioning of services subscribed to by users of a computer infrastructure system. The SDI request engine can be deployed to process large volumes of provisioning requests and deliver time critical applications for customers. The SDI request engine can translate each request into a list of tasks of various sizes based on the requirement and configuration of the request, and store each task in a queue. In certain embodiments, the SDI request engine may evaluate a dynamic weight associated with each task to prioritize the processing of tasks, which may improve the overall throughput of request processing.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including: receiving a provisioning request associated with a client, the provisioning request being a request to perform a set of tasks, and each task of the set of tasks corresponding to a cloud application; storing each task of the set of tasks in a queue, the queue storing the set of tasks to be processed; executing a selection protocol that generates an initial weight for each task of the set of tasks, the initial weight for the task being based on a variable characterizing the task at a particular time, and the initial weight indicating a due time for processing the task, and processing of the task being due at the due time; selecting a first subset of tasks from amongst the set of tasks stored in the queue, each task in the first subset of tasks being selected based on the initial weight assigned to the task; processing each task in the first subset of tasks during a first processing cycle, the processing causing each task in the first subset of tasks to be completed and removed from the queue; identifying a task from amongst the set of tasks, the identified task having not been selected for processing in the first subset of tasks; determining a number of times the task was previously not selected for processing; updating the initial weight assigned to the task based on the number of times the task was not selected for processing; selecting a second subset of tasks from amongst one or more tasks remaining in the queue after the selection of the first subset of tasks, the second subset of tasks including the task that was not selected for processing in the first subset of tasks, and the task being selected in the second subset of tasks due to the increased priority associated with the task; updating the initial weight for each task included in the second subset of tasks, the initial weight being updated based on a change of the variable associated with the task at a later time, and the updated initial weight representing a new due time for processing the task; and processing each task in the second subset of tasks during a second processing cycle. 2. The computer-program product of claim 1 , wherein, for each task of the set of tasks, the selection protocol is configured to calculate any combination of: an expected completion time for the task; a number of instances the task was not selected to be included in a subset of tasks for processing; a number of instances of the set of tasks that have not been processed; and a number of instances the processing of the task has failed. 3. The computer-program product of claim 1 , further comprising: generating a model by executing one or more machine-learning algorithms, the model representing an expected completion time for each task in the set of tasks. 4. The computer-program product of claim 1 , further comprising: receiving an override signal that overrides an initial weight assigned to a task of the set of tasks, the override signal causing the initial weight to be replaced with a new weight value. 5. The computer-program product of claim 1 , wherein the set of tasks are associated with provisioning the cloud application. 6. The computer-program product of claim 1 , wherein the queue stores an additional set of tasks associated with an additional provisioning request received from another client, and wherein the first subset includes at least one task from the additional set of tasks. 7. The computer-program product of claim 1 , wherein the set of tasks includes a first task and a second task, wherein the first task is included in the first subset and the second task is included in the second subset, but not the first subset, and wherein the initial weight of the second task is updated to indicate a shorter due time. 8. A computer-implemented method, comprising: receiving a provisioning request associated with a client, the provisioning request being a request to perform a set of tasks, and each task of the set of tasks corresponding to a cloud application; storing each task of the set of tasks in a queue, the queue storing the set of tasks to be processed; executing a selection protocol that generates an initial weight for each task of the set of tasks, the initial weight for the task being based on a variable characterizing the task at a particular time, and the initial weight indicating a due time for processing the task, and processing of the task being due at the due time; selecting a first subset of tasks from amongst the set of tasks stored in the queue, each task in the first subset of tasks being selected based on the initial weight assigned to the task; processing each task in the first subset of tasks during a first processing cycle, the processing causing each task in the first subset of tasks to be completed and removed from the queue; identifying a task from amongst the set of tasks, the identified task having not been selected for processing in the first subset of tasks; determining a number of times the task was previously not selected for processing; updating the initial weight assigned to the task based on the number of times the task was not selected for processing; selecting a second subset of tasks from amongst one or more tasks remaining in the queue after the selection of the first subset of tasks, the second subset of tasks including the task that was not selected for processing in the first subset of tasks, and the task being selected in the second subset of tasks due to the increased priority associated with the task; updating the initial weight for each task included in the second subset of tasks, the initial weight being updated based on a change of the variable associated with the task at a later time, and the updated initial weight representing a new due time for processing the task; and processing each task in the second subset of tasks during a second processing cycle. 9. The computer-implemented method of claim 8 , wherein, for each task of the set of tasks, the selection protocol is configured to identify any combination of: an expected completion time for the task; a number of instances the task was not selected to be included in a subset of tasks for processing; a number of instances of the set of tasks that have not been processed; and a number of instances the processing of the task has failed. 10. The computer-implemented method of claim 8 , further comprising: generating a model by executing one or more machine-learning algorithms, the model representing an expected completion time for each task in the set of tasks. 11. The computer-implemented method of claim 8 , further comprising: receiving an override signal that overrides an initial weight assigned to a task of the set of tasks, the override signal causing the initial weight to be replaced with a new weight value. 12. The computer-implemented method of claim 8 , wherein the set of tasks are associated with provisioning the cloud application. 13. The computer-implemented method of claim 8 , wherein the queue stores an additional set of tasks associated with an additional provisioning request received from another client, and wherein the first subset includes at least one task from the additional set of tasks. 14. The computer-implemented method of claim 8 , wherein the set of tasks includes a first task and a second task, wherein the first task is included in the first subset and the second task is included in the second subset, but not

Assignees

Inventors

Classifications

  • G06F9/4887Primary

    involving deadlines, e.g. rate based, periodic · CPC title

  • H04L67/62Primary

    Establishing a time schedule for servicing the requests · CPC title

  • characterised by the time relationship between creation and deployment of a service · CPC title

  • wherein the managed service relates to distributed or central networked applications · CPC title

  • H04L67/325Primary

    Electricity · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11233873B2 cover?
In certain embodiments, a Service Deployment Infrastructure (SDI) request engine is disclosed. The SDI request engine can perform tracking, management and provisioning of services subscribed to by users of a computer infrastructure system. The SDI request engine can be deployed to process large volumes of provisioning requests and deliver time critical applications for customers. The SDI reques…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/4887. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 25 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).