System for tuning a java virtual machine

Saved in:
Bibliographic Details
Title: System for tuning a java virtual machine
Patent Number: 12001,269
Publication Date: June 04, 2024
Appl. No: 17/865237
Application Filed: July 14, 2022
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.
Inventors: Oracle International Corporation (Redwood Shores, CA, US)
Assignees: Oracle International Corporation (Redwood Shores, CA, US)
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. The non-transitory computer-readable medium of claim 17 , wherein the first anomalous condition is detected using a rules based approach.
Claim: 19. 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.
Patent References Cited: 8583783 November 2013 Hayward
9690644 June 2017 Anderson
9753846 September 2017 Baluch
20160371180 December 2016 Urmanov
20180276117 September 2018 Purgason
20200409731 December 2020 Zhang
Other References: Jayasena, Sanath et al., Auto-tuning the Java Virtual Machine, 2015, IEEE (Year: 2015). cited by examiner
Primary Examiner: Duncan, Marc
Attorney, Agent or Firm: Kilpatrick Townsend & Stockton LLP
Accession Number: edspgr.12001269
Database: USPTO Patent Grants
FullText Text:
  Availability: 0
CustomLinks:
  – Url: https://ppubs.uspto.gov/pubwebapp/external.html?q=(%2212001%2C269%22).pn.&db=USPAT&type=ids
    Name: EDS - USPTO Patent Grants (s4221598)
    Category: fullText
    Text: View record in USPTO Patent Grants
Header DbId: edspgr
DbLabel: USPTO Patent Grants
An: edspgr.12001269
RelevancyScore: 881
AccessLevel: 3
PubType: Patent
PubTypeId: patent
PreciseRelevancyScore: 881.313720703125
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: System for tuning a java virtual machine
– Name: DocumentID
  Label: Patent Number
  Group: Patent
  Data: 12001,269
– Name: DateEntry
  Label: Publication Date
  Group: Patent
  Data: June 04, 2024
– Name: DocumentID
  Label: Appl. No
  Group: Patent
  Data: 17/865237
– Name: DateFiled
  Label: Application Filed
  Group: Patent
  Data: July 14, 2022
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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.
– Name: Author
  Label: Inventors
  Group: Patent
  Data: <searchLink fieldCode="ZA" term="%22Oracle+International+Corporation%22">Oracle International Corporation</searchLink> (Redwood Shores, CA, US)
– Name: OtherAuthors
  Label: Assignees
  Group: Patent
  Data: <searchLink fieldCode="ZS" term="%22Oracle+International+Corporation%22">Oracle International Corporation</searchLink> (Redwood Shores, CA, US)
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 2. The method of claim 1 , wherein the detecting comprises: identifying, by a computer system, an unreferenced object in the memory of the first JVM.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 3. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 4. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 5. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 6. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 7. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 8. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 9. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 10. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 11. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 13. The system of claim 12 , wherein the processors are further configured to: identify an unreferenced object in the memory of the first JVM.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 14. The system of claim 13 , wherein the processors are further configured to: cause the first JVM to delete the unreferenced object from the memory.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 15. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 16. 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 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.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 18. The non-transitory computer-readable medium of claim 17 , wherein the first anomalous condition is detected using a rules based approach.
– Name: Comment
  Label: Claim
  Group: Patent
  Data: 19. 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.
– Name: Ref
  Label: Patent References Cited
  Group: Patent
  Data: <searchLink fieldCode="RF" term="%228583783%22">8583783</searchLink> November 2013 Hayward<br /><searchLink fieldCode="RF" term="%229690644%22">9690644</searchLink> June 2017 Anderson<br /><searchLink fieldCode="RF" term="%229753846%22">9753846</searchLink> September 2017 Baluch<br /><searchLink fieldCode="RF" term="%2220160371180%22">20160371180</searchLink> December 2016 Urmanov<br /><searchLink fieldCode="RF" term="%2220180276117%22">20180276117</searchLink> September 2018 Purgason<br /><searchLink fieldCode="RF" term="%2220200409731%22">20200409731</searchLink> December 2020 Zhang<br />
– Name: Ref
  Label: Other References
  Group: Patent
  Data: Jayasena, Sanath et al., Auto-tuning the Java Virtual Machine, 2015, IEEE (Year: 2015). cited by examiner
– Name: AuthorEditor
  Label: Primary Examiner
  Group: Patent
  Data: <searchLink fieldCode="ZE" term="%22Duncan%2C+Marc%22">Duncan, Marc</searchLink>
– Name: AuthorCorporate
  Label: Attorney, Agent or Firm
  Group: Patent
  Data: <searchLink fieldCode="ZG" term="%22Kilpatrick+Townsend+%26+Stockton+LLP%22">Kilpatrick Townsend & Stockton LLP</searchLink>
– Name: AN
  Label: Accession Number
  Group: ID
  Data: edspgr.12001269
PLink https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edspgr&AN=edspgr.12001269
RecordInfo BibRecord:
  BibEntity:
    Languages:
      – Text: English
    Titles:
      – TitleFull: System for tuning a java virtual machine
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Oracle International Corporation
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 04
              M: 06
              Text: June 04, 2024
              Type: published
              Y: 2024
ResultId 1