IP Library Granted Patent US 7,581,075
Granted Patent B1
US 7,581,075 · App. 11/503,870 · Granted Aug 25, 2009

Memory pressure metric for application scalability

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,581,075
App. No.
11/503,870
Granted
Aug 25, 2009
Kind
B1
Abstract

Computation of a metric, termed “memory pressure,” provides an indication of software application scalability, in terms of memory, when making changes to multi-user applications. The memory pressure metric may be measured on a single user application run and does not require running the application under load tests. Since the metric can be measured on single user application runs, software testing and assessment takes considerably less time, resulting in developer productivity increase.

Claims (52)

1. A method of measuring memory allocation information, comprising:

determining a time when a resource is allocated;

determining a size of said resource;

determining a time measurement, measured after the time when the resource is allocated, that is based on usage of said resource;

determining a metric for memory allocation based on said size of said resource and said time measurement.

2. The method according to claim 1 , further comprising:

determining an elapsed time since a previous resource was allocated;

determining a total of all memory allocated by adding the size of said resource to sizes of resources previously allocated;

determining a current memory pressure by multiplying the elapsed time by the total of all memory allocated; and

determining the metric for memory allocation by summing the current memory pressure with a value calculated for the metric in connection with a previous iteration.

3. The method according to claim 1 , wherein determining the metric for memory allocation includes integrating a memory allocation function over time.

4. The method according to claim 1 , wherein determining the metric for memory allocation includes adding to the metric when memory is allocated and subtracting from the metric when memory is deallocated.

5. The method according to claim 1 , wherein the resource is a software object.

6. The method according to claim 1 , wherein the time measurement corresponds to at least one of: a number of method calls since the beginning of program execution, a number of method calls from a first point to a second point, and actual time.

7. The method according to claim 1 , further comprising:

displaying said metric.

8. The method, according to claim 1 , further comprising:

determining a first metric;

determining a second metric;

displaying a comparison of said first metric and said second metric.

9. The method according to claim 8 , wherein said first metric and said second metric are determined for at least one of: (i) a first software program and a second software program and (ii) a software program operating under a first condition and a second condition.

10. A computer-readable storage medium storing computer software that measures memory allocation information, the computer software stored on the computer-readable storage medium comprising:

executable code that determines a time when a resource is allocated;

executable code that determines a size of said resource;

executable code that determines a time measurement, measured after the time when the resource is allocated, that is based on usage of said resource;

executable code that determines a metric for memory allocation based on said size of said resource and said time measurement.

11. The computer-readable storage medium, according to claim 10 , further comprising:

executable code that determines an elapsed time since a previous resource was allocated;

executable code that determines a total of all memory allocated by adding the size of said resource to sizes of resources previously allocated;

executable code that determines a current memory pressure by multiplying the elapsed time by the total of all memory allocated; and

executable code that determines the metric for memory allocation by summing the current memory pressure with a value calculated for the metric in connection with a previous iteration.

12. The computer-readable storage medium according to claim 10 , wherein determining the metric for memory allocation includes integrating a memory allocation function over time.

13. The computer-readable storage medium according to claim 10 , wherein determining the metric for memory allocation includes adding to the metric when memory is allocated and subtracting from the metric when memory is deallocated.

14. The computer-readable storage medium according to claim 10 , wherein the resource is a software object.

15. The computer-readable storage medium according to claim 10 , wherein time measurement corresponds to at least one of: a number of method calls since the beginning of program execution, a number of method calls from a first point to a second point, and actual time.

16. The computer-readable storage medium according to claim 10 , further comprising:

executable code for displaying said metric.

17. The computer-readable storage medium according to claim 10 , further comprising:

executable code for determining a first metric;

executable code for determining a second metric;

executable code for displaying a comparison of said first metric and said second metric.

18. The computer-readable storage medium according to claim 10 , wherein said first metric and said second metric are determined for at least one of: (i) a first software program and a second software program and (ii) a software program operating under a first condition and a second condition.

19. A system for assessing memory allocation information, comprising:

a processor that contains machine executable code that that determines a time when a resource is allocated, machine executable code that determines a size of said resource, machine executable code that determines a time measurement, measured after the time when the resource is allocated, that is based on usage of said resource; and machine executable code that determines the metric for memory allocation by summing the current memory pressure with a value calculated for the metric in connection with a previous iteration; and

an interface that displays information about said metric.

20. The system according to claim 19 , wherein the processor further includes machine executable code that determines an elapsed time since a previous resource was allocated, machine executable code that determines a total of all memory allocated by adding the size of said resource to sizes of resources previously allocated, machine executable code that determines a current memory pressure by multiplying the elapsed time by the total of all memory allocated, and machine executable code that determines the metric for memory allocation by summing the current memory pressure with a value calculated for the metric in connection with a previous iteration.

21. The system according to claim 19 , wherein determining the metric for memory allocation includes integrating a memory allocation function over time.

22. The system according to claim 19 , wherein determining the metric for memory allocation includes adding to the metric when memory is allocated and subtracting from the metric when memory is deallocated.

23. The system according to claim 19 , wherein the resource is a software object.

24. The system according to claim 19 , wherein time measurement corresponds to at least one of: a number of method calls since the beginning of program execution, a number of method calls from a first point to a second point, and actual time.

25. The system according to claim 19 , wherein said processor further comprises machine executable code for determining a first metric and machine executable code for determining a second metric, and wherein said interface displays a comparison of said first metric and said second metric.

26. The system according to claim 19 , wherein said first metric and said second metric are determined for at least one of: (i) a first software program and a second software program and (ii) a software program operating under a first condition and a second condition.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 2, 2017
From: BANK OF AMERICA, N.A.
To: MICRO FOCUS IP DEVELOPMENT LIMITED; MICRO FOCUS (IP) LIMITED
Reel/Frame 042205/0235 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2017
From: BANK OF AMERICA, N.A.
To: MICRO FOCUS IP DEVELOPMENT LIMITED; MICRO FOCUS (IP) LIMITED
Reel/Frame 042205/0867 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR FIELD TO SHOW MICRO FOCUS (IP) LIMITED AS AN ASSIGNOR/GRANTOR TO THE SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 035633 FRAME 0599. ASSIGNOR(S) HEREBY CONFIRMS THE GRANT OF SECURITY INTEREST. Recorded May 15, 2015
From: MICRO FOCUS IP DEVELOPMENT LIMITED; MICRO FOCUS (IP) LIMITED
To: BANK OF AMERICA, N.A.
Reel/Frame 035685/0628 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS IP DEVELOPMENT LIMITED
To: BANK OF AMERICA, N.A.
Reel/Frame 035633/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2009
From: COMPUWARE CORPORATION
To: MICRO FOCUS (IP) LIMITED
Reel/Frame 022764/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2006
From: CIOT, THIERRY GAETAN
To: COMPUWARE CORPORATION
Reel/Frame 018445/0901 →