IP Library Granted Patent US 8,607,018
Granted Patent B2
US 8,607,018 · App. 13/671,834 · Granted Dec 10, 2013

Memory usage configuration based on observations

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 8,607,018
App. No.
13/671,834
Granted
Dec 10, 2013
Kind
B2
Abstract

A computer software execution system may have a configurable memory allocation and management system. A configuration file or other definition may be created by analyzing a running application and determining an optimized set of settings for the application on the fly. The settings may include memory allocated to individual processes, memory allocation and deallocation schemes, garbage collection policies, and other settings. The optimization analysis may be performed offline from the execution system. The execution environment may capture processes during creation, then allocate memory and configure memory management settings for each individual process.

Claims (32)

1. A method performed by a computer processor, said method comprising:

receiving instrumentation data collected from executing application code, said instrumentation data comprising memory allocation data and memory usage data for each of a plurality of functions within said application;

analyzing said instrumentation data to determine an optimized memory configuration setting; and

storing said optimized memory configuration setting in a configuration database.

2. The method of claim 1 further comprising:

executing said executable code with instrumentation to generate said instrumentation data.

3. The method of claim 1 , said optimized memory configuration setting comprising determining an optimized garbage collection algorithm.

4. The method of claim 3 , said optimized memory configuration setting comprising determining an optimized settings for said optimized garbage collection algorithm.

5. The method of claim 1 further comprising:

transmitting said configuration database to an execution engine for executing said executable code.

6. The method of claim 5 , said optimized memory configuration setting being determined by minimizing memory allocation events while said executable code is executing.

7. The method of claim 6 , said optimized memory configuration setting being further determined by maximizing usage of memory while said executable code is executing.

8. The method of claim 7 , said optimized memory configuration setting comprising separate memory configuration settings for a plurality of memory allocation boundaries.

9. The method of claim 8 , said memory allocation boundaries comprising process spawn events.

10. The method of claim 1 , said instrumentation data comprising a system state; and

storing said system state in said configuration database.

11. The method of claim 10 , said system state comprising a current parameter value for a memory object.

12. The method of claim 10 , said system state comprising a first executing application.

13. The method of claim 10 , said system state comprising an execution environment definition for said executable code.

14. The method of claim 13 , said execution environment definition comprising an operating system identifier.

15. The method of claim 10 , said system state comprising memory state.

16. The method of claim 15 , said memory state comprising available memory.

17. A system comprising:

a processor;

an optimizer operating on said processor, wherein said optimizer that:

receives instrumentation data collected from executing application code, said instrumentation data comprising memory allocation data and memory usage data for each of a plurality of functions within said application;

analyzes said instrumentation data to determine an optimized memory configuration setting; and

stores said optimized memory configuration setting in a configuration database.

18. The system of claim 17 , said optimizer that further:

transmits said configuration database to an execution engine for executing said executable code.

19. The system of claim 18 , said optimized memory configuration setting being determined by minimizing memory allocation events while said executable code is executing.

20. The system of claim 19 , said optimized memory configuration setting being further determined by maximizing usage of memory while said executable code is executing.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2025
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: LOT NETWORK INC.
Reel/Frame 073083/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2015
From: CONCURIX CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036139/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2012
From: GOUNARES, ALEXANDER G.; LI, YING; GARRETT, CHARLES D.; NOAKES, MICHAEL D.
To: CONCURIX CORPORATION
Reel/Frame 029464/0635 →