IP Library Granted Patent US 11,842,219
Granted Patent B2
US 11,842,219 · App. 17/193,963 · Granted Dec 12, 2023

Automatic identification of computer agents for throttling

Inventor: Leo Hendrik Reyes Lozano (Lynnwood, WA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/5038G06F9/4881G06F9/505G06F9/5077G06N20/00G06F11/30G06F11/34G06F2209/504G06F2209/5021
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 11,842,219
App. No.
17/193,963
Granted
Dec 12, 2023
Kind
B2
Abstract

Computer agents can be throttled individually. In an example, when a computer agent completes a work item, the computer agent reports this to a central component that maintains a vote value for that agent and that increases the respective vote value based on the completed work item. When the central component determines that system performance is sufficiently diminished, central component can throttle the performance of those computer agents having respective vote values above a predetermined threshold value.

Claims (50)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

initializing a voting value for a first computer agent of a group of computer agents;

receiving an indication from the first computer agent that the first computer agent has completed processing a work item;

determining processing resources consumed by the first computer agent while processing the work item;

determining a numerical value for the processing resources;

adding the numerical value to the voting value to produce an updated voting value; and

in response to determining that performance of a device, on which the first computer agent operated, has degraded past a first defined performance threshold, throttling performance of members of the group of computer agents for which respective voting values are above a second defined threshold, wherein the throttling of the performance of the members of the group of computer agents comprises decreasing a first priority of a thread associated with the members of the group of computer agents or decreasing a second priority of a process associated with the members of the group of computer agents.

2. The system of claim 1 , wherein a subgroup of the members of the group of computer agents is throttled.

3. The system of claim 1 , wherein the operations further comprise:

periodically reducing the updated voting value by a defined amount according to a defined periodicity.

4. The system of claim 3 , wherein the operations further comprise:

halting the periodically reducing of the updated voting value in response to determining the updated voting value is zero.

5. The system of claim 1 , wherein the determining of the numerical value for the processing resources comprises:

combining a first value of a first processing resource of the processing resources and a second value of a second processing resource of the processing resources to determine the numerical value.

6. The system of claim 5 , wherein the operations further comprise:

normalizing and weighing the first value and the second value before the combining of the first value and the second value.

7. The system of claim 1 , wherein the numerical value comprises a group of numerical values, and the updated voting value comprises a corresponding group of updated voting values.

8. The system of claim 7 , wherein the operations further comprise:

updating a first updated voting value of the group of updated voting values based on a first value of a first processing resource of the processing resources; and

updating a second updated voting value of the group of updated voting values based on a second value of a second processing resource of the processing resources.

9. A method, comprising:

receiving, from a first computer agent of a group of computer agents by a system comprising a processor, an indication that a work item has completed processing;

determining, by the system, resources consumed by the first computer agent during the processing of the work item;

determining, by the system, a numerical value for the resources;

adding, by the system, the numerical value to a voting value for the first computer agent to produce an updated voting value; and

in response to determining that a performance of a device, on which the first computer agent operated, has degraded beyond a first predetermined performance threshold, throttling, by the system, performance of members of the group of computer agents with respective voting values above a second predetermined threshold, wherein the throttling of the performance of the members of the group of computer agents comprises at least one of decreasing a first priority of a thread associated with the members of the group of computer agents or decreasing a second priority of a process associated with the members of the group of computer agents.

10. The method of claim 9 , wherein a first amount or a first type of work is defined for work items of the first computer agent, wherein a second amount or a second type of work is defined for work items of a second computer agent of the group of computer agents, and wherein the first amount of work and the first type of work differ from the second amount of work and the second type of work, respectively.

11. The method of claim 9 , wherein the throttling of the performance of the members of the group of computer agents comprises:

instructing a second computer agent, of the group of computer agents and that is being throttled according to the throttling, to increase an amount of time for which the second computer agent sleeps, lowering a priority of the second computer agent, or reducing an amount of processor time for the second computer agent.

12. The method of claim 9 , wherein the group of computer agents comprises a first subgroup of computer agents that are not subject to throttling and a second subgroup of computer agents that are subject to throttling, and wherein the throttling of the performance of the members of the group of computer agents comprises:

throttling the performance of the members of the second subgroup of computer agents.

13. The method of claim 9 , wherein the first computer agent belongs to a workload group, wherein the workload group comprises a group of members, and further comprising:

throttling, by the system, the group of members of the workload group based on the first computer agent being part of the members being throttled by the throttling of the performance of the members.

14. The method of claim 13 , wherein the throttling of the group of members of the workload group comprises:

throttling a first member of the group of members of the workload group having a respective voting value below the second predetermined threshold.

15. A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

receiving an indication of completing processing of a task from a computer agent of a group of computer agents;

determining computing resources by the computer agent in the course of the processing of the task;

adding a numerical value that corresponds to the computing resources to a voting value for the computer agent to produce an updated voting value; and

in response to determining that performance of a computer, with respect to which the computer agent operated, has degraded according to a degradation function based on a performance threshold, and, in further response to determining that the updated voting value satisfies a voting function based on a voting threshold, throttling performance of the computer agent, wherein the throttling of the performance of the computer agent comprises at least one of decreasing a first priority of a thread associated with the computer agent or decreasing a second priority of a process associated with the computer agent.

16. The non-transitory computer-readable medium of claim 15 , wherein the computer agent has an impact rating, and wherein the adding of the numerical value to the voting value for the computer agent to produce the updated voting value comprises:

modifying the numerical value inversely proportional to a value of the impact rating.

17. The non-transitory computer-readable medium of claim 15 , wherein the throttling of the performance of the computer agent comprises:

throttling each computer agent of the group of computer agents determined to have a respective voting value that satisfies the voting function.

18. The non-transitory computer-readable medium of claim 15 , wherein each computer agent of the group of computer agents is registered with a computer component, wherein each computer agent of the group of computer agents notifies the computer component of completing respective processing tasks, and wherein the computer component maintains a respective voting value for each computer agent of the group of computer agents.

19. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

using a model generated based on machine learning to determine the voting threshold.

20. The non-transitory computer-readable medium of claim 15 , wherein a subgroup of the members of the group of computer agents is throttled.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2021
From: REYES LOZANO, LEO HENDRIK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055512/0373 →