IP Library Granted Patent US 7,086,059
Granted Patent B2
US 7,086,059 · App. 09/894,162 · Granted Aug 1, 2006

Throttling queue

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 7,086,059
App. No.
09/894,162
Granted
Aug 1, 2006
Kind
B2
Abstract

A method of processing work units in a system is achieved using a throttling queue. The throttling queue assigns work units to a predetermined number of processing slots. Each slot processes an assigned work unit, sends the work units to client systems for processing, and upon finishing, works on a subsequent work unit. The predetermined number of slots, in one embodiment, may be scaled as resources are added or removed from the system. In one embodiment, the work units are network data packets.

Claims (25)

1. A method comprising:

allocating a plurality of processing slots based on respective priorities of client computing platforms networked together, wherein allocating includes providing a higher number of the plurality of processing slots to high priority client computing platforms, and providing a lower number of the plurality of processing slots to low priority client computing platforms;

assigning work units to the plurality of processing slots, the work units having object priority levels associated with them as determined by the client computing platforms when assigning work units to the processing slots;

sending the work units to the client computing platforms for processing in accordance with the allocation of the plurality of processing slots; and

processing the work units in accordance with the associated object priority levels.

2. The method of claim 1 , further comprising:

pushing the work units onto a client stack based on the object priority levels.

3. The method of claim 1 , wherein a predetermined number of the plurality of processing slots approximately corresponds to a predetermined portion of the plurality of processing slots, and the plurality of processing slots varies based at least in part on availability of resources.

4. The method of claim 1 , wherein the work units comprise network data packets.

5. The method of claim 1 , further comprising re-prioritizing a first work unit in the client stack based at least in part on a second work unit being at least partially dependent upon the first work unit.

6. A machine-readable medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to:

allocate a plurality of processing slots based on respective priorities of client computing platforms, wherein allocating includes providing a higher number of the plurality of processing slots to high priority client computing platforms, and providing a lower number of the plurality of processing slots to low priority client computing platforms;

assign work units to the plurality of processing slots, the work units having object priority levels associated with them as determined by the client computing platforms when assigning work units to the processing slots;

send the work units to the client computing platforms for processing in accordance with the allocation of the plurality of processing slots; and

process the work units in accordance with the associated object priority levels.

7. The machine-readable medium of claim 6 , wherein sets of instructions, when executed by the machine, further cause the machine to:

push the work units onto a client stack based on the object priority levels.

8. The machine-readable medium of claim 6 , wherein sets of instructions, when executed by the machine, further cause the machine to re-prioritize a first work unit in the client stack based at least in part on a second work unit being at least partially dependent upon the first work unit.

9. A system comprising:

a plurality of processing slots being allocated based on respective priorities of client computing platforms, wherein allocating includes providing a higher number of the plurality of processing slots to high priority client computing platforms, and providing a lower number of the plurality of processing slots to low priority client computing platforms;

a throttling queue to assign work units to the plurality of processing slots, the work units having object priority levels associated with them as determined by the client computing platforms when assigning work units to the processing slots;

the plurality of processing slots to send the work units to the client computing platforms for processing in accordance with the allocation of the plurality of processing slots; and

the client computing platforms to process the work units in accordance with the associated object priority levels.

10. The system of claim 9 , wherein a predetermined number of the plurality of processing slots approximately corresponds to a predetermined portion of the plurality of processing slots, and the plurality of processing slots varies based at least in part on availability of resources.

11. The system of claim 9 , wherein the work units comprise network data packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: INTEL CORPORATION
To: BEIJING XIAOMI MOBILE SOFTWARE CO., LTD.
Reel/Frame 037733/0440 →