IP Library Granted Patent US 9,430,216
Granted Patent B2
US 9,430,216 · App. 14/274,727 · Granted Aug 30, 2016

Self-contained executable for predetermined software updating

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 9,430,216
App. No.
14/274,727
Granted
Aug 30, 2016
Kind
B2
Abstract

Software is updated via a self-contained executable that includes software update patch for updating pre-existing software, and an updater package including at least one predetermined required computer state condition. Executing the self-contained executable on a client computer includes investigating a state of the client computer, and determining whether the state of the client computer matches the at least one predetermined required computer state condition. When the state of the client computer matches the at least one predetermined required computer state condition, the software update patch is installed. When the state of the client computer does not match the predetermined required computer state condition, the installation is terminated or, alternatively, the client computer is forced into a state that matches the predetermined required computer state condition and the software update patch installed.

Claims (31)

1. A method, comprising:

downloading, from a host computer, a self-contained executable to data storage of a client computer, the self-contained executable comprising a software update patch for updating pre-existing software on the client computer and an updater package associated with the software update patch, the updater package including at least one predetermined required computer state condition, wherein the self-contained executable has been authored at an authoring computer, prior to the downloading, after the software update patch is received by the authoring computer, by configuring the updater package in accordance with one or more attributes of the software update patch, and one or more required computer state conditions of the software update patch, and wherein, prior to the downloading, the authoring computer has sent, over a network, the self-contained executable to the host computer;

executing, via a processor of the client computer, the self-contained executable, the executing comprising:

reading the at least one predetermined required computer state condition from the updater package;

in response to the reading, investigating a state of the client computer, the investigating comprising examining a registry or filesystem of the client computer to determine software currently running on the client computer;

determining, based at least on the investigating, whether the state of the client computer matches the at least one predetermined required computer state condition; and

in response to determining that the state of the client computer does not match the at least one predetermined required computer state condition, forcing the client computer into a state that matches the at least one predetermined required computer state condition, and installing the software update patch on the client computer.

2. The method of claim 1 , further comprising completing, in the absence of user input at the client computer, the downloading the self-contained executable, and the executing the self-contained executable.

3. The method of claim 1 , wherein the software update patch is a first software update patch, the updater package is a first updater package, the predetermined required computer state condition is a first predetermined required computer state condition, the self-contained executable comprises at least a second software update patch associated with a second updater package, and the second updater package includes at least a second predetermined required computer state condition.

4. The method of claim 3 , further comprising:

when the state of the client computer matches the first and second predetermined required computer state conditions, installing the first and second software update patches on the client computer;

when the state of the client computer does not match at least one of the first and second predetermined required computer state conditions, forcing the client computer into a state that matches the first and second predetermined required computer state conditions, and installing the first and second software update patches on the client computer.

5. The method of claim 1 , further comprising in response to determining that the state of the client computer does not match the predetermined required computer state condition, evaluating, by a package processing engine, an administrative command relating to the forcing.

6. The method of claim 5 , wherein the executing further comprises:

prior to activating a package processing engine of the self-contained executable, passing the administrative command to the self-contained executable;

in response to the activating, passing the administrative command from the self-contained executable to the package processing engine.

7. The method of claim 6 , wherein the administrative command comprises a command line argument.

8. The method of claim 7 , wherein the passing to the self-contained executable comprises passing the administrative command from a command line interface on the host computer to the client computer.

9. The method of claim 8 , wherein the client computer is a first client computer, and wherein the passing to the self-contained executable comprises passing the administrative command from the host computer to the first client computer and at least a second client computer.

10. The method of claim 1 , wherein the client computer is a first client computer, and wherein the downloading further comprises downloading, from the host computer, over a network, the self-contained executable to at least a second client computer.

11. The method of claim 1 , wherein the authoring further comprises authoring a file for the updater package.

12. The method of claim 1 , wherein the self-contained executable further comprises a package processing engine, and the reading the at least one predetermined required computer state condition is performed via the package processing engine.

13. A system, comprising:

a client computer comprising a processor and data storage, the data storage storing a self-contained executable downloaded from a host computer, the self-contained executable comprising a software update patch, an updater package associated with the software update patch, and a package processing engine, wherein the self-contained executable has been authored at an authoring computer, prior to the downloading, after the software update patch is received by the authoring computer, by configuring the updater package in accordance with one or more attributes of the software update patch, and at least one predetermined required computer state condition of the software update patch, and wherein prior to the downloading, the authoring computer has sent, over a network, the self-contained executable to the host computer, the self-contained executable further configured to:

activate the package processing engine to read the at least one predetermined required computer state condition from the updater package;

investigate a state of the client computer, the investigating comprising examining a registry or filesystem of the client computer to determine software currently running on the client computer;

determine whether the state of the client computer matches the at least one predetermined required computer state condition;

in response to determining that the state of the client computer does not match the at least one predetermined required computer state condition, force the client computer into a state that matches the at least one predetermined required computer state condition; and

after the forcing into the state, install the software update patch on the client computer.

14. The system of claim 13 , wherein the host computer is further configured to enable an administrator to select an administrative command and pass the administrative command to the self-contained executable on the client computer.

15. The system of claim 14 , wherein the authoring computer is further configured to enable an author to configure the updater package.

Assignments (22)
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 - 41459/0436 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: HEAT SOFTWARE USA INC.
Reel/Frame 054560/0713 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0735 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: HEAT SOFTWARE USA INC.
Reel/Frame 054560/0744 →
MERGER Recorded Jan 10, 2019
From: HEAT SOFTWARE USA INC.
To: IVANTI, INC.
Reel/Frame 047950/0296 →
RELEASE OF SECURITY INTERESTS IN PATENTS AT REEL/FRAME NO. 35111/0448 Recorded Jan 21, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: HEAT SOFTWARE USA INC., AS SUCCESSOR IN INTEREST TO LUMENSION SECURITY, INC.
Reel/Frame 041052/0802 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: HEAT SOFTWARE USA INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0735 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: HEAT SOFTWARE USA INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0436 →
MERGER AND CHANGE OF NAME Recorded Jan 18, 2017
From: LUMENSION SECURITY INC.; HEAT SOFTWARE USA INC.
To: HEAT SOFTWARE USA INC.
Reel/Frame 041010/0854 →
RELEASE OF SECURITY INTEREST Recorded Oct 25, 2016
From: CONSORTIUM FINANCE, LLC
To: NETMOTION WIRELESS HOLDINGS, INC.; NETMOTION WIRELESS, INC.; LUMENSION SECURITY, INC.
Reel/Frame 040479/0001 →
FIRST AMENDMENT TO PATENT SECURITY AGREEMENT Recorded Feb 28, 2015
From: LUMENSION SECURITY, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 035111/0448 →
FIRST AMENDMENT TO PATENT SECURITY AGREEMENT Recorded Feb 23, 2015
From: NETMOTION WIRELESS HOLDINGS, INC.; NETMOTION WIRELESS, INC.; LUMENSION SECURITY, INC.
To: CONSORTIUM FINANCE, LLC
Reel/Frame 035061/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2015
From: FOLEY, RODNEY S.; BAHNSEN, JOSHUA D.
To: LUMENSION SECURITY, INC.
Reel/Frame 034910/0738 →