Systems and methods for optimization of data element utilization using demographic data
US-12014212-B2 · Jun 18, 2024 · US
US10474502B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10474502-B2 |
| Application number | US-201313741182-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 14, 2013 |
| Priority date | Jan 14, 2013 |
| Publication date | Nov 12, 2019 |
| Grant date | Nov 12, 2019 |
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.
Scheduling job request submitted by multiple tenants in a manner that honors multiple software license agreements for the multiple tenants. A queue persistently stores job requests that await scheduling. A job state tracking component persistently tracks a state of the job requests, and perhaps provides job requests into the queue. A software license agreement enforcer reviews the job requests in the queue, selects one or more job requests should be scheduled next based on the license agreements, and provide the selected job requests to a resource manager. A subscriber/publisher pool may be used to the various components to communicate. This decouples the communication from being a simple one-to-one correspondence, but instead allows communication from a component of one type to a component of the other type, whichever instance of those components happens to be operating.
Opening claim text (preview).
What is claimed is: 1. A system comprising: one or more computer processors; and data storage having stored therein computer executable instructions which, when executed upon the one or more processors, cause the processors to instantiate: a queue configured to persistently store a plurality of job requests, each job request having a state, wherein each of the plurality of job requests remains in the queue at least until it is set to a completed or a cancelled state; a job state tracking component configured to persistently track the state of each of the job requests for at least a portion of a lifetime of each of at least some the plurality of job requests and control visibility of the job requests; and a software license agreement enforcer configured to: review the plurality of job requests in the queue, each job request being associated with a particular tenant of a plurality of tenants, review a plurality of license agreements, each license agreement corresponding to at least one of the plurality of tenants, select a pending job request from the queue, based on the review of the plurality of license agreements corresponding to the tenants associated with the job requests, and provide the selected job request to a resource manager that schedules one or more compute resources that support and enable performance of the job request; wherein, when the selected job request is provided to the resource manager for scheduling, the job state tracking component sets the selected job request in the queue to a processing state such that the software license agreement enforcer ignores the selected job request during future selection of job requests to be performed while the selected job request in the processing state and wherein the selected job request remains in the queue at least until the selected job request has been updated to a completed state or a cancelled state. 2. The system in accordance with claim 1 , wherein the job state tracking component is also configured to receive job requests and place the job requests into the queue. 3. The system in accordance with claim 1 , wherein the system is included within a cloud computing environment. 4. The system in accordance with claim 3 , wherein the queue only stores job requests that are processed by a particular data centers. 5. The system in accordance with claim 3 , wherein the queue stores job request that are processed by a plurality of data centers. 6. The system in accordance with claim 1 , wherein a subscriber/publisher pool is used to communicate between the job state tracking component and the software license agreement enforcer. 7. The system in accordance with claim 6 , wherein the software license agreement enforcer is configured to publish scheduling notifications into the subscriber/publisher pool when a job request is provided to a resource manager such as the resource manager for scheduling, and wherein the job state tracking component subscribes to scheduling notifications from the subscriber/publisher pool, and is configured to change the persistent state of a particular job request in response to detecting a scheduling notification that corresponds to the particular job request. 8. The system in accordance with claim 7 , the system including a plurality of job state tracking components, each configured persistently track a state of each of the job requests for at least a portion of a lifetime of each of at least some the plurality of job requests, and each subscribing to scheduling notifications from the subscriber/publisher pool, and being configured to change the persistent state of a particular job request in response to detecting a scheduling notification that corresponds to the particular job request. 9. The system in accordance with claim 6 , wherein the subscriber/publisher pool is also used to communicate between the job state tracking component and the resource manager. 10. The system in accordance with claim 9 , wherein the resource manager is configured to publish processing notifications into the subscriber/publisher pool when a job request begins processing by compute resources, and is configured to publish completion notifications into the subscriber/publisher pool when a job request completes processing by compute resources, wherein the job state tracking component subscribes to processing notifications and completion notifications from the subscriber/publisher pool, and is configured to change the persistent state of a particular job request in response to detecting a processing or completion notification that corresponds to the particular job request. 11. The system in accordance with claim 10 , the system including a plurality of job state tracking components, each configured persistently track a state of each of the job requests for at least a portion of a lifetime of each of at least some the plurality of job requests, and each subscribing to processing and completion notifications from the subscriber/publisher pool, and being configured to change the persistent state of a particular job request in response to detecting a processing or completion notification that corresponds to the particular job request. 12. The system in accordance with claim 10 , the system including a plurality of resources managers that each schedules compute resources that support each of the job requests that are submitted to the corresponding resource manager, each of the plurality of resource managers being configured to publish processing notifications into the subscriber/publisher pool when a job request begins processing by compute resources, and being configured to publish completion notifications into the subscriber/publisher pool when a job request completes processing by compute resources. 13. The system in accordance with claim 6 , wherein the job state tracking component is configured to publish start notifications into the subscriber/publisher pool when a particular job request is added to the queue, wherein at least one of the software license agreement component and the resource manager subscribes to start notifications. 14. The system in accordance with claim 6 , wherein the job state tracking component is configured to publish cancel notifications into the subscriber/publisher pool when a particular job request is cancelled, wherein at least one of the software license agreement component and the resource manager subscribes to cancel notifications. 15. The system in accordance with claim 1 , further comprising: an autoscaler component that is configured to observe the queue and utilization of computer resources, and based on the observation, increase or decrease the compute resources available to the resource manager, and change one or more of the plurality of license agreements within agreed upon limits. 16. The system in accordance with claim 1 , wherein the resource manager is pluggable. 17. The system in accordance with claim 1 , wherein the compute resources available to the resource manager include computer resources within a data center. 18. The system in accordance with claim 1 , wherein the compute resources available to the resource manager include tenant compute resources. 19. A method for processing job requests, comprising: receiving a stream of job requests, each job request being associated with a particular tenant of a plurality of tenants; persistently tracking a state of each of at least some of the job requests using a job state tracking component; persistently placing the job requests in a queue, wherein each of the job requests r
the resources being hardware resources other than CPUs, Servers and Terminals · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.