IP Library Granted Patent US 11,226,807
Granted Patent B1
US 11,226,807 · App. 16/944,603 · Granted Jan 18, 2022

Self-dependent upgrade of Java runtime environments

Inventors: Sharon Katz (Toronto, CA); Jeffrey Myers (Somerville, MA); Paul-Andrew Mieiko (Mississauga, CA); John Southern (Toronto, CA); Tyler Stiller (Alexandria, VA)
Assignee: Rapid7, Inc.
G06F8/65G06F9/44526G06F9/45516G06F21/12H04L67/06
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 11,226,807
App. No.
16/944,603
Granted
Jan 18, 2022
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes to perform self-dependent upgrades of Java Runtime Environments (JREs). A request to update a plugin to a new version with a new configuration that includes a location to download a new upgrader-executable is received from a platform computing device at an endpoint computing device. The plugin is uploaded to the new version. The new upgrader-executable that includes an executable with an executable table executed by the plugin is downloaded from the location. The executable is used to halt execution of a JRE application (e.g., a Collector) and download JRE files required for the upgrade. The JRE application (e.g., the Collector) is then re-started with the new configuration, which can be rolled back if the upgrade is unsuccessful.

Claims (65)

1. A computer-implemented method, comprising:

receiving a request to upgrade a plugin to a new version with a new configuration that comprises a location to download a new upgrader-executable;

updating the plugin to the new version;

downloading, from the location, the new upgrader-executable that comprises an executable with an executable table executed by the new version;

halting, using the executable, execution of an application;

downloading, using the executable, one or more files required for the upgrade; and

re-starting the application with the new configuration.

2. The computer-implemented method of claim 1 , wherein

the request is received from a platform computing device, and

the request is received by an endpoint computing device.

3. The computer-implemented method of claim 1 , wherein

the application is a Java Runtime Environment (JRE) application,

the one or more files are one or more JRE files,

the plugin is a bundle plugin, and

the plugin is remotely installed and configured.

4. The computer-implemented method of claim 1 , further comprising:

validating the executable using a signature file.

5. The computer-implemented method of claim 1 , further comprising:

launching a collector associated with the application;

determining if the upgrade is successful; and

rolling back the collector to a previously running version if the upgrade is not successful by resetting the collector to an old configuration.

6. A non-transitory computer readable storage medium comprising program instructions executable to:

receive a request to upgrade a plugin to a new version with a new configuration that comprises a location to download a new upgrader-executable;

update the plugin to the new version;

download, from the location, the new upgrader-executable that comprises an executable with an executable table executed by the new version;

halt, using the executable, execution of an application;

download, using the executable, one or more files required for the upgrade; and

re-start the application with the new configuration.

7. The non-transitory computer readable storage medium of claim 6 , further comprising:

validating the executable using a signature file.

8. The non-transitory computer readable storage medium of claim 6 , wherein

the request is received from a platform computing device,

the request is received by an endpoint computing device,

the application is a Java Runtime Environment (JRE) application,

the one or more files are one or more JRE files,

the executable is validated with a signature file,

the plugin is a bundle plugin, and

the plugin is remotely installed and configured.

9. The non-transitory compute readable storage medium of claim 6 , further comprising:

launching a collector associated with the application;

determining if the upgrade is successful, wherein

monitoring the collector indicates whether the upgrade was successful; and

rolling back the collector to a previously running version if the upgrade is not successful by resetting the collector to an old configuration and downgrading the application to the old configuration.

10. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

receive a request to upgrade a plugin to a new version with a new configuration that comprises a location to download a new upgrader-executable;

update the plugin to the new version;

download, from the location, the new upgrader-executable that comprises an executable with an executable table executed by the new version;

halt, using the executable, execution of an application;

download, using the executable, one or more files required for the upgrade; and

re-start the application with the new configuration.

11. The system of claim 10 , wherein

the request is received from a platform computing device,

the request is received by an endpoint computing device,

the application is a Java Runtime Environment (JRE) application,

the one or more files are one or more JRE files,

the executable is validated with a signature file,

the plugin is a bundle plugin, and

the plugin is remotely installed and configured.

12. The system of claim 10 , further comprising:

launching a collector associated with the application;

determining if the upgrade is successful, wherein

monitoring the collector indicates whether the upgrade was successful; and

rolling back the collector to a previously running version if the upgrade is not successful by resetting the collector to an old configuration and downgrading the application to the old configuration.

Assignments (3)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2020
From: STILLER, TYLER
To: RAPID7, INC.
Reel/Frame 054135/0562 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: KATZ, SHARON; MISEIKO, PAUL-ANDREW JOSEPH; MYERS, JEFFREY; SOUTHERN, JOHN
To: RAPID7, INC.
Reel/Frame 053768/0089 →