IP Library Granted Patent US 10,146,520
Granted Patent B1
US 10,146,520 · App. 12/967,985 · Granted Dec 4, 2018

Updating a running application on a computing device

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 10,146,520
App. No.
12/967,985
Granted
Dec 4, 2018
Kind
B1
Abstract

A computing device configured for updating a running application is described. The computing device includes a processor and instructions stored in memory. The computing device executes an old application. The computing device also renames an old application file that is currently in use. Furthermore, the computing device stores a new application file in the same folder as the old application file. The computing device additionally determines whether a new application is set up successfully. The computing device further executes the new application if the new application is set up successfully.

Claims (55)

1. A computing device configured for updating a running application, comprising:

a processor;

a memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable to:

execute an old application;

determine whether a new application file associated with a new application exists by querying a remote server;

retrieve the new application file using a computer network;

store the new application file in a different folder than an old application file associated with the old application;

rename the old application file that is currently in use;

move the new application file, after the old application file is renamed, to a same folder as the old application file;

store a parameter provided to or used by the old application;

determine whether the new application is set up successfully, wherein a set up comprises configuring an application setting associated with the new application, wherein the new application is a newer version of the old application;

execute the new application if the new application is set up successfully;

provide the parameter to the new application;

send a new application return code to an original caller through the computer network, via the old application, in response to ceasing the execution of the new application and subsequent to the execution of the new application; and

store a deferred command to delete the old application file from the computing device in response to rebooting the computing device.

2. The computing device of claim 1 , wherein the instructions are further executable to rename the old application file back to an original name if the new application is not set up successfully.

3. The computing device of claim 1 , wherein the instructions are further executable to terminate the old application.

4. The computing device of claim 1 , wherein the instructions are further executable to receive an update command.

5. The computing device of claim 4 , wherein the update command is received using the computer network.

6. The computing device of claim 1 , wherein the new application file comprises a binary (BIN) file.

7. The computing device of claim 1 , wherein the new application file comprises a dynamic link library (DLL) file.

8. The computing device of claim 1 , wherein the new application includes a vulnerability definition that is not included in the old application.

9. The computing device of claim 1 , wherein the renaming the old application file that is currently in use is performed using one of a “MoveFile” or “MoveFileEx” function.

10. The computing device of claim 1 , wherein executing the new application includes the old application launching the new application.

11. A method for updating a running application on a computing device, comprising:

executing, on a computing device, an old application;

determining whether a new application file associated with a new application exists by querying a remote server;

retrieving the new application file using a computer network;

storing the new application file in a different folder than an old application file associated with the old application;

renaming, on the computing device, the old application file that is currently in use;

moving the new application file, after the old application file is renamed, to a same folder as the old application file;

storing a parameter provided to or used by the old application;

determining whether the new application is set up successfully, wherein a set up comprises configuring an application setting associated with the new application, wherein the new application is a newer version of the old application;

executing, on the computing device, the new application if the new application is set up successfully;

providing the parameter to the new application;

sending a new application return code to an original caller through the computer network, via the old application, in response to ceasing the execution of the new application and subsequent to the execution of the new application; and

storing a deferred command to delete the old application file from the computing device in response to rebooting the computing device.

12. The method of claim 11 , further comprising renaming the old application file back to an original name if the new application is not set up successfully.

13. The method of claim 11 , further comprising terminating the old application.

14. The method of claim 11 , further comprising receiving an update command.

15. The method of claim 14 , wherein the update command is received using the computer network.

16. A non-transitory, tangible computer-readable medium for updating a running application, comprising executable instructions for:

executing an old application;

determining whether a new application file associated with a new application exists by querying a remote server;

retrieving the new application file using a computer network;

storing the new application file in a different folder than an old application file associated with the old application;

renaming the old application file that is currently in use;

moving the new application file, after the old application file is renamed, to a same folder as the old application file;

storing a parameter provided to or used by the old application;

determining whether the new application is set up successfully, wherein a set up comprises configuring an application setting associated with the new application, wherein the new application is a newer version of the old application;

executing the new application if the new application is set up successfully;

providing the parameter to the new application;

sending a new application return code to an original caller through the computer network, via the old application, in response to ceasing the execution of the new application and subsequent to the execution of the new application; and

storing a deferred command to delete the old application file from the computing device in response to rebooting the computing device.

Assignments (28)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2025
From: IVANTI SECURITY HOLDINGS LLC
To: IVANTI, INC.
Reel/Frame 071958/0203 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2025
From: IVANTI, INC.
To: IVANTI SECURITY HOLDINGS LLC
Reel/Frame 071180/0690 →
2025-1 SECOND LIEN SECURITY AGREEMENT Recorded May 5, 2025
From: IVANTI SECURITY INTERMEDIATE HOLDINGS LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0498 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded May 5, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; CHERWELL SOFTWARE, LLC
Reel/Frame 071176/0289 →
SECURITY INTEREST Recorded May 3, 2025
From: IVANTI SECURITY HOLDINGS LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0164 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2025
From: ALTER DOMUS (US) LLC
To: IVANTI SECURITY HOLDINGS LLC
Reel/Frame 071162/0130 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0762 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054560/0857 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41459/0387 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054637/0161 →
MERGER Recorded Apr 19, 2018
From: CRIMSON CORPORATION
To: IVANTI, INC.
Reel/Frame 045983/0075 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40182/0345 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0581 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40183/0506 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0457 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0762 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0387 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 031029/0849 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0307 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 032333/0637 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0037 →
SECURITY AGREEMENT Recorded Feb 25, 2014
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 032333/0637 →
SECURITY AGREEMENT Recorded Aug 16, 2013
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; CRIMSON ACQUISITION CORP.; LANDESKSOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 031029/0849 →
RELEASE OF SECURITY INTEREST Recorded Aug 12, 2013
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: LANDESK SOFTWARE, INC.
Reel/Frame 030993/0622 →
PATENT SECURITY AGREEMENT Recorded Jul 13, 2012
From: LANDESK SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 028541/0782 →
AMENDMENT NUMBER ONE TO PATENT SECURITY AGREEMENT Recorded Mar 17, 2011
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: D.E. SHAW DIRECT CAPITAL PORTFOLIOS, L.L.C.
Reel/Frame 025970/0262 →
AMENDMENT NUMBER ONE TO PATENT SECURITY AGREEMENT Recorded Mar 15, 2011
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; LANDESK SOFTWARE, INC.; CRIMSON ACQUISITION CORP.; CRIMSON CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025957/0284 →