Claims
- 1. A method of allocating resources to tasks utilizing a variable width queue, the method comprising:retrieving a task from a task queue; enqueuing said task to said variable width queue, thereby incrementing a width of said variable width queue; identifying a plurality of resource requirements for said task, said resource requirements including requirements for at least two resources which are not interchangeable; determining if any resource corresponding to said plurality of resource requirements is available; allocating any available resource corresponding to said plurality of resource requirements to said task; repeatedly determining if any additional resource corresponding to said plurality of resource requirements can be allocated to said task, and, if so, allocating said additional resource to said task until resources corresponding to all said plurality of resource requirements have been allocated to said task.
- 2. The method of claim 1, wherein said tasks in said task queue are arranged in a predetermined order.
- 3. The method of claim 1, wherein allocating any available resource further comprises changing a state of said allocated resource to indicate that it is allocated.
- 4. The method of claim 1, wherein identifying said plurality of resource requirements for said task comprises examining said task to determine a plurality of types of resource needed by the task and matching all resources of said resource types.
- 5. The method of claim 4, wherein determining if any resource corresponding to said plurality of resource requirements is available comprises examining a state of said matched resources to determine if any resource of said matched resources is not allocated.
- 6. The method of claim 1, wherein said task is described by a job ticket.
- 7. The method of claim 1, wherein said allocated resource is a removable media device.
- 8. The method of claim 1 comprising deallocating a resource previously allocated to a task when, said task no longer requires the resource.
- 9. The method of claim 8, wherein said task having deallocated said resource, also removes any corresponding at least one resource requirement.
- 10. The method of claim 9, wherein said task no longer has any at least one resource requirement, further comprising dequeuing said task from said variable width queue, thereby decrementing said width of said variable width queue.
- 11. A computer-readable medium having a computer executable component for performing the method recited in any of claims 1-10.
- 12. A system for allocating resources utilizing a variable queue width, the system comprising:a plurality of resources at least some of the resources being non-interchangeable; a variable width queue; a task server having a task queue and operative to deliver tasks to a coordinator; wherein said coordinator is operative to: retrieve a task from a task queue; identify at least one resource requirement for said task; where said task has a plurality of resource requirements and said resource requirements include requirements for at least two resources which are not interchangeable, determine if any resource corresponding to said plurality of resource requirements is available; enqueue said task to said variable width queue, thereby incrementing a width of said variable width queue; allocate to the task any available resource corresponding to said plurality of resource requirements; and repeatedly determine if any additional resource corresponding to said plurality of resource requirements can be allocated, and, if so, allocating said additional resource to said task until resources corresponding to all said plurality of resource requirements have been allocated to said task.
- 13. The system of claim 12, wherein said coordinator is an ADOBE EXTREME coordinator.
- 14. The system of claim 12, wherein said tasks in said task queue are arranged in a predetermined order.
- 15. The system of claim 12, wherein said task is described by a job ticket.
- 16. The system of claim 12, wherein said task is processed by a job ticket processor.
- 17. The system of claim 12, wherein said resource corresponding to said at least one resource requirement is a removable media device.
- 18. The system of claim 12, wherein said task no longer requires some resource then deallocates the no longer required resource and removes any corresponding at least one resource requirement.
- 19. The system of claim 18, wherein if said task no longer has any at least one resource requirement, said coordinator is further operative to dequeue said task from said variable width queue, thereby decrementing said width of said variable width queue.
RELATIONSHIP TO OTHER APPLICATIONS
This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent Application No. 60/151,502, entitled DYNAMIC QUEUE WIDTH ADJUSTMENT TO OPTIMIZE SYSTEM THROUGHPUT filed Aug. 30, 1999, the subject of which is specifically incorporated herein by reference.
US Referenced Citations (4)
| Number |
Name |
Date |
Kind |
|
6339801 |
Hefferon et al. |
Jan 2002 |
B1 |
|
6373585 |
Mastie et al. |
Apr 2002 |
B1 |
|
6640300 |
Raza |
Oct 2003 |
B1 |
|
6680933 |
Cheesman et al. |
Jan 2004 |
B1 |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/151502 |
Aug 1999 |
US |