IP Library Granted Patent US 9,894,150
Granted Patent B2
US 9,894,150 · App. 14/871,676 · Granted Feb 13, 2018

Accurate generation of multiple dimensions of computer load

Inventors: Timmons Player (Cary, NC); David Joyner (Raleigh, NC)
Assignee: SPIRENT COMMUNICATIONS, INC.
H04L67/1002G06F9/5083G06F11/3414G06F11/3433H04L41/20H04L47/70
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,894,150
App. No.
14/871,676
Granted
Feb 13, 2018
Kind
B2
Abstract

A utilization test generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of: a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension. The utilization test performs iterations of attempts to generate said each dimension of the resource load on the first computer, in an amount equal to a changeable target utilization of said each dimension of the resource load on the first computer. The utilization test adjusts the adjusted utilization to attempt to correct for inequality between (i) the actual utilization of a particular one of the multiple dimensions of the resource load on the first computer, and (ii) the changeable target utilization of the particular one of the multiple dimensions of the resource load on the first computer.

Claims (62)

1. A method of adjustably generating multiple dimensions of computer resource load to test capacity of the multiple dimensions of the computer resource load, the method comprising:

executing, on a first computer, a utilization test that generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of:

a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension,

wherein, for each dimension of two or more of the multiple dimensions, the utilization test performs iterations of generating a load in said each dimension of the resource load on the first computer, in an amount predicted to cause an actual utilization equal to a changeable target utilization of said each dimension on the first computer,

wherein the utilization test measures the actual utilization of a particular one of the multiple dimensions during generation of the resource load on the first computer, the actual utilization being a result of at least:

a load generated for the particular one of the multiple dimensions on the first computer, as generated by the utilization test; and

a first utilization contribution to the particular one of the multiple dimensions on the first computer, wherein the first utilization contribution is generated outside the utilization test and on the first computer, and

wherein the utilization test adjusts the generated load to attempt to realize and maintain the target utilization on the first computer for said particular one of the multiple dimensions by correcting for an inequality between (i) the actual utilization resulting from the load generated and the first utilization contribution, and (ii) the changeable target utilization of the particular one of the multiple dimensions on the first computer.

2. The method of claim 1 , wherein a subsequent one of the iterations is after a prior one of the iterations, in the prior one of the iterations the utilization test measures the actual utilization, and in response, in the subsequent one of the iterations the utilization test adjusts the load generated.

3. The method of claim 1 , wherein a subsequent one of the iterations is after a prior one of the iterations, in the prior one of the iterations the utilization test measures the actual utilization of the particular one of the multiple dimensions on the first computer, and in response, in the subsequent one of the iterations the utilization test adjusts the load generated for the particular one of the multiple dimensions on the first computer.

4. The method of claim 1 , wherein the actual utilization of the particular one of the multiple dimensions on the first computer is the result of at least:

the load generated;

the first utilization contribution; and

a second utilization contribution of another one of the multiple dimensions on the first computer, the second utilization contribution generated by the utilization test for said another one of the multiple dimensions.

5. The method of claim 4 , wherein the particular one of the multiple dimensions on the first computer is the processor utilization dimension, and said another one of the multiple dimensions is any of the main memory utilization dimension, the mass storage utilization dimension, and the network utilization dimension.

6. The method of claim 1 , wherein the two or more of the multiple dimensions includes the particular one of the multiple dimensions and another one of the multiple dimensions on the first computer, and the actual utilization measured by the utilization test for said another one of the multiple dimensions is a result of at least:

a load generated for said another one of the multiple dimensions on the first computer, the load generated for said another one of the multiple dimensions generated by the utilization test for said another one of the multiple dimensions; and

another first utilization contribution on the first computer generated outside the utilization test on the first computer.

7. The method of claim 1 , wherein the utilization test has the ability to store different values of the changeable target utilization, the actual utilization, the load generated, and the first utilization contribution for different ones of the multiple dimensions of resource load on the first computer.

8. The method of claim 1 , wherein the multiple dimensions measure basic behavior of an operating system (OS).

9. The method of claim 1 , wherein the first computer is a physical computer.

10. The method of claim 1 , wherein the first computer is a virtual machine on a physical computer.

11. The method of claim 10 , wherein in a subsequent one of the iterations, the load generated is further adjusted to attempt to correct for the virtual machine undergoing changes in access to resources of the physical computer.

12. The method of claim 1 , wherein the utilization test runs in a unikernel operating system on the first computer.

13. The method of claim 1 , wherein the utilization test runs in a general purpose operating system.

14. The method of claim 1 , wherein the changeable target utilization is changeable to intermediate values in between full utilization and no utilization of the particular one of the multiple dimensions of the first computer.

15. The method of claim 1 , wherein the changeable target utilization for the different dimensions is varied over time, and the utilization test performs a new set of iterations responsive to the changeable target utilization being changed.

16. The method of claim 1 , wherein the changeable target utilization for the different dimensions is determined by a user.

17. The method of claim 1 , wherein the changeable target utilization for the different dimensions is determined by an algorithm automatically.

18. The method of claim 1 , further comprising:

reporting the actual utilization and a difference between the actual utilization and the changeable target utilization for the multiple dimensions.

19. The method of claim 1 , wherein the utilization test includes a proportional plus integral plus derivative (PID) controller loop with a PID controller output that causes an actual utilization for the multiple dimensions of resource load of the first computer, in an attempt to realize the changeable target utilization for the multiple dimensions of resource load of the first computer.

20. A method of adjustably generating multiple dimensions of computer resource load to test capacity of the multiple dimensions of the computer resource load, the method comprising:

executing, on a first computer, a utilization test that generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of:

a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension,

wherein, for each dimension of two or more of the multiple dimensions, the utilization test performs, with a proportional plus integral plus derivative (PID) controller, iterations of generating a load in said each dimension of the resource load on the first computer, in an amount predicted to cause an actual utilization equal to a changeable target utilization of said each dimension on the first computer while continuously adjusting the generated load to compensate for a first utilization contribution that is generated outside the utilization test and on the first computer.

21. An apparatus configured to adjustably generate multiple dimensions of computer resource load to adjustably test availability of multiple dimensions of computer resource load, comprising:

a first computer that includes a processor, memory, and instructions in the memory that implement:

executing, on a first computer, a utilization test that generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of:

a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension,

wherein, for each dimension of two or more of the multiple dimensions, the utilization test performs iterations of generating a load in said each dimension of the resource load on the first computer, in an amount predicted to cause an actual utilization equal to a changeable target utilization of said each dimension on the first computer,

wherein the utilization test measures the actual utilization of a particular one of the multiple dimensions during generation of the resource load on the first computer, the actual utilization being a result of at least:

a load generated for the particular one of the multiple dimensions on the first computer, as generated by the utilization test; and

a first utilization contribution to the particular one of the multiple dimensions on the first computer, wherein the first utilization contribution is generated outside the utilization test and on the first computer, and

wherein the utilization test adjusts the generated load to attempt to realize and maintain the target utilization on the first computer for said particular one of the multiple dimensions by correcting for an inequality between (i) the actual utilization resulting from the load generated and the first utilization contribution, and (ii) the changeable target utilization of the particular one of the multiple dimensions on the first computer.

22. An apparatus configured to adjustably generate multiple dimensions of computer resource load to test capacity of the multiple dimensions of the computer resource load, comprising:

a first computer that includes a processor, memory, and instructions in the memory that implement:

executing, on a first computer, a utilization test that generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of:

a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension,

wherein, for each dimension of two or more of the multiple dimensions, the utilization test performs, with a proportional plus integral plus derivative (PID) controller, iterations of generating a load in said each dimension of the resource load on the first computer, in an amount predicted to cause an actual utilization equal to a changeable target utilization of said each dimension on the first computer while continuously adjusting the generated load to compensate for a first utilization contribution that is generated outside the utilization test and on the first computer.

23. A non-transitory computer-readable medium storing code for adjustably generating multiple dimensions of computer resource load to test capacity of the multiple dimensions of the computer resource load, the code comprising:

instructions for executing, on a first computer, a utilization test that generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of:

a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension,

wherein, for each dimension of two or more of the multiple dimensions, the utilization test performs iterations of generating a load in said each dimension of the resource load on the first computer, in an amount predicted to cause an actual utilization equal to a changeable target utilization of said each dimension on the first computer,

wherein the utilization test measures the actual utilization of a particular one of the multiple dimensions during generation of the resource load on the first computer, the actual utilization being result of at least:

a load generated for the particular one of the multiple dimensions on the first computer, as generated by the utilization test; and

a first utilization contribution to the particular one of the multiple dimensions on the first computer, wherein the first utilization contribution is generated outside the utilization test and on the first computer, and

wherein the utilization test adjusts the generated load to attempt to realize and maintain the target utilization on the first computer for said particular one of the multiple dimensions by correcting for an inequality between (i) the actual utilization resulting from the load generated and the first utilization contribution, and (ii) the changeable target utilization of the particular one of the multiple dimensions on the first computer.

24. A non-transitory computer-readable medium storing code for adjustably generating multiple dimensions of computer resource load to test capacity of the multiple dimensions of the computer resource load, the code comprising:

instructions for executing, on a first computer, a utilization test that generates the multiple dimensions of resource load on the first computer, the multiple dimensions including at least two of:

a processor utilization dimension, a main memory utilization dimension, a mass storage utilization dimension, and a network utilization dimension,

wherein, for each dimension of two or more of the multiple dimensions, the utilization test performs, with a proportional plus integral plus derivative (PID) controller, iterations of generating a load in said each dimension of the resource load on the first computer, in an amount predicted to cause an actual utilization equal to a changeable target utilization of said each dimension on the first computer.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2025
From: SPIRENT COMMUNICATIONS, INC.
To: VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 073121/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2015
From: PLAYER, TIMMONS; JOYNER, DAVID
To: SPIRENT COMMUNICATIONS, INC.
Reel/Frame 036703/0081 →
Continuity (1)
Related Publication 20170093962A1 · Mar 30, 2017