IP Library Granted Patent US 9,588,809
Granted Patent B2
US 9,588,809 · App. 11/546,514 · Granted Mar 7, 2017

Resource-based scheduler

Inventors: Craig Jensen (La Canada, CA); Andrew Staffer (Sylmar, CA); Basil Thomas (Sylmar, CA); Richard Cadruvi (Simi Valley, CA)
Assignee: Invistasking LLC
G06F9/4881G06F2209/485
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,588,809
App. No.
11/546,514
Granted
Mar 7, 2017
Kind
B2
Abstract

Resource-based scheduling of computer jobs is disclosed. A computer job is scheduled based on utilization of a resource and a utilization criterion that the computer job has pertaining to the resource, in accordance with an embodiment of the present invention.

Claims (36)

1. A method, comprising:

identifying a plurality of resource worklists corresponding respectively to each of a plurality of resources of different types, each resource worklist comprising computer jobs waiting to utilize a respective resource;

identifying one or more attributes of each of the plurality of resources;

selecting an order for scheduling use of the plurality of resources based on the attributes of each of the plurality of resources; and

based on the order: selecting a particular resource, for scheduling, from the plurality of resources,

after selecting the particular resource for scheduling: selecting, for execution using the particular resource, a particular computer job from a plurality of computer jobs on a resource worklist corresponding to the resource; and

scheduling the use, of the plurality of resources in the selected order, by one or more corresponding computer jobs, wherein scheduling the use comprises scheduling the use of the particular resource by the particular computer job;

wherein the method is executed by at least one device including a hardware processor.

2. The method of claim 1 , wherein selecting the order for scheduling the use of the plurality of resources based on the attributes of each of the plurality of resources comprises: placing a first resource before a second resource in the order responsive to determining that a first priority associated with the first resource is higher than a second priority associated with the second resource.

3. The method of claim 1 , wherein selecting the order for scheduling the use of the plurality of resources based on the attributes of each of the plurality of resources comprises: placing a first resource before a second resource in the order responsive to determining that a first speed associated with the first resource is slower than a second speed associated with the second resource.

4. The method of claim 1 , wherein the plurality of resources comprises a central processing unit (CPU) and a disk I/O, and the disk I/O is placed before the CPU in the selected order.

5. The method of claim 1 , wherein the plurality of resources comprises a disk I/O and a network I/O, and the disk I/O is placed before the network I/O in the selected order.

6. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:

identifying a plurality of resource worklists corresponding respectively to each of a plurality of resources of different types, each resource worklist comprising computer jobs waiting to utilize a respective resource;

identifying one or more attributes of each of the plurality of resources;

selecting an order for scheduling use of the plurality of resources based on the attributes of each of the plurality of resources; and

based on the order: selecting a particular resource, for scheduling, from the plurality of resources,

after selecting the particular resource for scheduling: selecting, for execution using the particular resource, a particular computer job from a plurality of computer jobs on a resource worklist corresponding to the resource; and

scheduling the use, of the plurality of resources in the selected order, by one or more corresponding computer jobs, wherein scheduling the use comprises scheduling the use of the particular resource by the particular computer job.

7. The medium of claim 6 , wherein selecting the order for scheduling the use of the plurality of resources based on the attributes of each of the plurality of resources comprises: placing a first resource before a second resource in the order responsive to determining that a first priority associated with the first resource is higher than a second priority associated with the second resource.

8. The medium of claim 6 , wherein selecting the order for scheduling the use of the plurality of resources based on the attributes of each of the plurality of resources comprises: placing a first resource before a second resource in the order responsive to determining that a first speed associated with the first resource is slower than a second speed associated with the second resource.

9. The medium of claim 6 , wherein the plurality of resources comprises a central processing unit (CPU) and a disk I/O, and the disk I/O is placed before the CPU in the selected order.

10. The medium of claim 6 , wherein the plurality of resources comprises a disk I/O and a network I/O, and the disk I/O is placed before the network I/O in the selected order.

11. A system, comprising:

at least one device including a hardware processor;

the system being configured to perform operations comprising:

identifying a plurality of resource worklists corresponding respectively to each of a plurality of resources of different types, each resource worklist comprising computer jobs waiting to utilize a respective resource;

identifying one or more attributes of each of the plurality of resources;

selecting an order for scheduling use of the plurality of resources based on the attributes of each of the plurality of resources; and

based on the order: selecting a particular resource, for scheduling, from the plurality of resources,

after selecting the particular resource for scheduling: selecting, for execution using the particular resource, a particular computer job from a plurality of computer jobs on a resource worklist corresponding to the resource; and

scheduling the use, of the plurality of resources in the selected order, by one or more corresponding computer jobs, wherein scheduling the use comprises scheduling the use of the particular resource by the particular computer job.

12. The system of claim 11 , wherein selecting the order for scheduling the use of the plurality of resources based on the attributes of each of the plurality of resources comprises: placing a first resource before a second resource in the order responsive to determining that a first priority associated with the first resource is higher than a second priority associated with the second resource.

13. The system of claim 11 , wherein selecting the order for scheduling the use of the plurality of resources based on the attributes of each of the plurality of resources comprises: placing a first resource before a second resource in the order responsive to determining that a first speed associated with the first resource is slower than a second speed associated with the second resource.

14. The system of claim 11 , wherein the plurality of resources comprises a central processing unit (CPU) and a disk I/O, and the disk I/O is placed before the CPU in the selected order.

15. The system of claim 11 , wherein the plurality of resources comprises a disk I/O and a network I/O, and the disk I/O is placed before the network I/O in the selected order.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2016
From: CONDUSIV TECHNOLOGIES CORPORATION
To: INVISITASKING LLC
Reel/Frame 038939/0066 →
CHANGE OF NAME Recorded Mar 20, 2012
From: DISKEEPER CORPORATION
To: CONDUSIV TECHNOLOGIES CORPORATION
Reel/Frame 027897/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2006
From: JENSEN, CRAIG; STAFFER, ANDREW; THOMAS, BASIL; CADRUVI, RICHARD
To: DISKEEPER CORPORATION
Reel/Frame 018690/0927 →
Continuity (1)
Related Publication 20080086734A1 · Apr 10, 2008