# US 12,001,269 B2 · System for tuning a java virtual machine

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,269 B2
- Document ID: US12001269B2
- Status: Granted
- Kind: B2
- Application number: 17/865,237
- Filed: 2022-07-14
- Published: 2024-01-18
- Granted: 2024-06-04
- Earliest claimed: 2022-07-14
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Sujay Ranjan Sinha
- Web page: https://patentgrep.com/patent/US12001269B2

## CPC

- G06F 9/45504: {Abstract machines for program code execution, e.g. Java virtual machine [JVM], interpreters or emulators}
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 11/0712: {in a virtual computing platform, e.g. logically partitioned systems}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2009/45591: {Monitoring or debugging support}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Techniques are described for tuning a Java Virtual Machine (JVM) in an automated manner. The automated tuning may be performed to improve a JVM's performance including to prevent it from failing. An auto-tuning system is described that can auto-detect one or more anomalous conditions for a JVM, and in response, take one or more corrective actions to auto-tune the JVM to avoid or reduce/mitigate any adverse impacts of the detected anomalous conditions. A corrective action taken for a JVM may include changing one or more parameters associated with the JVM.

## Claims

### Claim 1

A method comprising:
providing, using infrastructure provided by a cloud service provider (CSP), a first cloud service for tuning Java Virtual Machines (JVMs), wherein the first cloud is subscribed to by a plurality of customers; and
for a first customer from the plurality of customers subscribing to the first cloud service, performing processing comprising:
monitoring, by a computer system comprising one or more processors, a first Java Virtual Machine (JVM) associated with the first customer;
detecting, by the computer system, a first anomalous condition for the first JVM associated with the first customer;
identifying, by the computer system, a first corrective action to be performed on the first JVM associated with the first customer responsive to the first anomalous condition; and
causing, by the computer system, the first corrective action to be performed for the first JVM associated with the first customer, wherein the first corrective action causes a value of a parameter associated with the first JVM associated with the first customer to be changed or causes an object to be removed from a memory of the first JVM associated with the first customer.

### Claim 2 (depends on 1)

The method of claim 1, wherein the detecting comprises:
identifying, by a computer system, an unreferenced object in the memory of the first JVM.

### Claim 3 (depends on 2)

The method of claim 2 wherein the detecting comprises:
causing, by the computer system, the first JVM to delete the unreferenced object from the memory.

### Claim 4 (depends on 1)

The method of claim 1, wherein causing the first corrective action to be performed comprises:
changing a value of a parameter for the first JVM that causes a size of the memory of the first JVM to be changed.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the first anomalous condition comprises using an action rule to detect the first anomalous condition, wherein the action rule identifies a condition associated with the first JVM.

### Claim 6 (depends on 1)

The method of claim 1, wherein detecting the first anomalous condition comprises providing state information for the first JVM to a machine learning (ML) model, and using a prediction provided by the ML model to identify the first anomalous condition.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
based on historical data, identifying a seasonal trend for the first JVM applicable for a specific period of time.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
building a seasonal model or a set of seasonal rules based on the seasonal trend;
wherein identifying the first anomalous condition comprises using the seasonal model or the set of seasonal rules for identification of the first anomalous condition.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving, by the computer system, a response from the first JVM indicating that the first corrective action failed to execute;
identifying, by the computer system, an alternative corrective action to be performed, wherein the alternative corrective action is different from the corrective action that failed to execute; and
causing, by the computer system, the alternative corrective action to be performed.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
for a second customer from the plurality of customers subscribing to the first cloud service, performing processing comprising:
monitoring, by a computer system, a second Java Virtual Machine (JVM) associated with the second customer;
detecting, by the computer system, a second anomalous condition for the second JVM associated with the second customer; identifying, by the computer system, a corrective action to be performed on the second JVM associated with the second customer responsive to the second anomalous condition; and
causing, by the computer system, a second corrective action to be performed for the second JVM associated with the second customer, wherein the second corrective action causes a value of a parameter associated with the second JVM associated with the second customer to be changed or causes a second object to be removed from a memory of the second JVM associated with the second customer.

### Claim 11 (depends on 1)

The method of claim 1, wherein monitoring the first JVM comprises monitoring at least one of a number of a set of memory objects stored in the memory of the first JVM, an amount of heap memory in the memory of the first JVM, an amount of stack memory in the memory of the first JVM, or a number of threads executed by applications running on the first JVM.

### Claim 12

A system comprising:
one or more processors configured to:
provide, using infrastructure provided by a cloud service provider (CSP), a first cloud service for tuning Java Virtual Machines (JVMs), wherein the first cloud is subscribed to by a plurality of customers; and
for a first customer from the plurality of customers subscribing to the first cloud service, performing processing comprising:
monitor a first Java Virtual Machine (JVM) associated with the first customer;
detect a first anomalous condition for the first JVM associated with the first customer;
identify a first corrective action to be performed on the first JVM associated with the first customer responsive to the first anomalous condition; and
cause the first corrective action to be performed for the first JVM associated with the first customer, wherein the first corrective action causes a value of a parameter associated with the first JVM associated with the first customer to be changed or causes an object to be removed from a memory of the first JVM associated with the first customer.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processors are further configured to:
identify an unreferenced object in the memory of the first JVM.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processors are further configured to:
cause the first JVM to delete the unreferenced object from the memory.

### Claim 15 (depends on 12)

The system of claim 12, wherein the processors are further configured to:
change a value of a parameter for the first JVM that causes a size of the memory of the first JVM to be changed.

### Claim 16 (depends on 12)

The system of claim 12, wherein monitoring the first JVM comprises monitoring at least one of a number of a set of memory objects stored in the memory, an amount of heap memory in the memory, an amount of stack memory in the memory, or a number of threads executed by applications running on the first WM.

### Claim 17

A non-transitory computer-readable medium storing a set of instructions, the set of instructions when executed by one or more processors cause processing to be performed comprising:
providing, using infrastructure provided by a cloud service provider (CSP), a first cloud service for tuning Java Virtual Machines (JVMs), wherein the first cloud is subscribed to by a plurality of customers; and
for a first customer from the plurality of customers subscribing to the first cloud service, performing processing comprising:
monitoring, by a computer system comprising one or more processors, a first Java Virtual Machine (JVM) associated with the first customer;
detecting, by the computer system, a first anomalous condition for the first JVM associated with the first customer;
identifying, by the computer system, a first corrective action to be performed on the first JVM associated with the first customer responsive to the first anomalous condition; and
causing, by the computer system, the first corrective action to be performed for the first JVM associated with the first customer, wherein the first corrective action causes a value of a parameter associated with the first JVM associated with the first customer to be changed or causes an object to be removed from a memory of the first JVM associated with the first customer.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the first anomalous condition is detected using a rules based approach.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the instruction further comprise:
based on historical data collected for a customer, identifying a seasonal trend for the customer, the seasonal trend applicable for a specific period of time; and
building a seasonal model or a set of seasonal rules based on the seasonal trend, wherein identifying the first anomalous condition comprises using the seasonal model or the set of seasonal rules for identification of the first anomalous condition.
