IP Library Granted Patent US 8,583,783
Granted Patent B1
US 8,583,783 · App. 12/543,449 · Granted Nov 12, 2013

Method and system for adaptive recovery of heap memory

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,583,783
App. No.
12/543,449
Granted
Nov 12, 2013
Kind
B1
Abstract

A method is provided for garbage collection in a heap of an application server that uses automated garbage collection. The method comprises gathering information about a plurality of garbage collection events. The method further comprises identifying a correlation between garbage collection activity and a volume of applications transactions in the application server. The method further comprises, based on the correlation, forecasting at least one of a future utilization of heap memory and a future garbage collection activity based on a projected future transaction volume. The method further comprises tuning the heap based on the forecast.

Claims (31)

1. A method for automated garbage collection in a heap of an application server, comprising:

gathering a plurality of garbage collection log files associated with a plurality of garbage collection events over periods of time;

analyzing data from the plurality of garbage collection log files;

determining a trend in the garbage collection activities over the periods of time based on the analyzing;

obtaining data on a volume of application transactions in the application server that have occurred over the same periods of time from another source;

projecting either an increase or decrease in the volume of application transactions in the application server based on the data obtained on the volume of application transactions;

identifying a correlation between garbage collection activity and the data obtained on the volume of application transactions in the application server based on the trend;

forecasting at least one of a future utilization of heap memory and a future garbage collection activity based on the correlation and the projected increase or decrease in the volume of application transactions; and

tuning the heap based on the forecast, wherein tuning the heap comprises setting an average length of time between garbage collection events to a multiple of an average length of time of an application transaction, and wherein the average length of time between garbage collection events is set to at least twice the average length of time of an application transaction.

2. The method of claim 1 , wherein the heap is tuned automatically.

3. The method of claim 1 , wherein tuning the heap comprises at least one of adjusting at least one garbage collection parameter, adjusting at least one heap parameter, modifying a method by which garbage collection is performed, and adding at least one instance of the application server.

4. The method of claim 3 , wherein adjusting at least one heap parameter comprises at least one of adjusting the size of a young generation of the heap and adjusting the size of an old generation of the heap.

5. The method of claim 3 , wherein adjusting at least one garbage collection parameter comprises at least one of adjusting how often garbage collection occurs and adjusting how long garbage collection lasts.

6. The method of claim 1 , wherein the application server is a Java virtual machine.

7. A system for automated garbage collection in a heap of an application server, comprising:

a data storage component configured to retain information about a plurality of garbage collection log files associated with a plurality of garbage collection events over periods of time;

a processor in communication with the data storage component; and

at least one processing component that, when executed by the processor, analyzes data from the plurality of garbage collection log files, determines a trend in the garbage collection activities over the periods of time based on the analyzing, obtains data on a volume of application transactions in the application server that have occurred over the same periods of time from another source, projects either an increase or decrease in the volume of application transactions in the application server based on the data obtained on the volume of application transactions, identifies a correlation between garbage collection activity and the data obtained on the volume of application transactions in the application server based on the trend, forecasts, based on the correlation and the projected increase or decrease in the volume of application transactions, at least one of a future utilization of heap memory and a future garbage collection activity, and adapts at least one heap parameter based on the forecast, wherein adapting at least one heap parameter comprises at least one of adjusting at least one garbage collection parameter, adjusting at least one heap parameter, modifying a method by which garbage collection is performed, and adding at least one instance of the application server, wherein adapting at least one heap parameter comprises setting an average length of time between garbage collection events to a multiple of an average length of time of an application transaction, and wherein adapting at least one heap parameter comprises setting an average length of time between garbage collection events to at least twice an average length of time of an application transaction.

8. The system of claim 7 , wherein the heap is tuned automatically.

9. The system of claim 7 , wherein adjusting at least one garbage collection parameter comprises at least one of adjusting how often garbage collection occurs and adjusting how long garbage collection lasts.

10. The system of claim 7 , wherein adjusting at least one heap parameter comprises at least one of adjusting the size of a young generation of the heap and adjusting the size of an old generation of the heap.

11. A computer-based method of memory management, comprising:

analyzing logs of garbage collection events performed by a Java Virtual Machine (JVM) over periods of time to determine an average duration of garbage collection events;

determining an average duration of application transactions performed by the Java Virtual Machine;

determining an average rate of application transactions performed by the Java Virtual Machine;

obtaining data on a volume of application transactions performed by the Java Virtual Machine that have occurred over the same periods of time from another source;

projecting either an increase or decrease in the volume of applications transactions performed by the Java Virtual Machine based on the data obtained on the volume of application transactions;

forecasting at least one of a future utilization of heap memory and a future garbage collection activity based on a correlation between garbage collection activity and the data obtained on the volume of application transactions performed by the Java Virtual Machine and based on the projected increase or decrease in the volume of application transactions; and

adjusting memory management parameters based on the forecast, the average duration of garbage collection events, and at least one of the average duration of application transactions and the average rate of application transactions, wherein an average length of time between garbage collection events is set to at least twice an average length of time of an application transaction.

12. The method of claim 11 , wherein adjusting memory management parameters comprises adjusting the size of a heap memory space.

13. The method of claim 11 , wherein adjusting memory management parameters comprises adjusting of how often garbage collection occurs.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT INTERNATIONAL INCORPORATED; IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 055604/0001 →
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 2, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 052969/0475 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 6, 2017
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041895/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2009
From: HAYWARD, BRIAN E.; JOHNSON, SHAUN M.; MARTIN, JUSTIN A.; WASHBURN, BRIAN J.
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 023145/0529 →