IP Library Granted Patent US 12,216,567
Granted Patent B2
US 12,216,567 · App. 18/361,383 · Granted Feb 4, 2025

Test and automated remediation of depolyed computing products

Inventors: Paul Keith Branton (Rochdale, GB); Jens Miltner (Neunkirchen am Brand, DE)
Assignee: Ivanti, Inc.
G06F11/366G06F11/3664G06F11/3688
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 12,216,567
App. No.
18/361,383
Granted
Feb 4, 2025
Kind
B2
Abstract

A method of evaluating a computer-implemented product that is deployed on one or more endpoints. The method includes identifying a first program and a second program of a product deployed on a first endpoint of multiple endpoints. The method includes implementing a diagnostic process at the first endpoint. The diagnostic process includes a first subroutine directed to the first program and a second subroutine directed to a second program. The subroutines each execute installation and functional parameter tests of the programs. Responsive to the first subroutine indicating that the first program is operational, the method includes outputting data that the first subroutine passed. Responsive to the second subroutine returning an unexpected result, the method includes outputting data indicating details of the unexpected result and implementing a remediation that modifies the second program or a condition at the first endpoint to mitigate the unexpected result.

Claims (68)

1. A method of evaluating computer-implemented product that is deployed on one or more endpoints, the method comprising:

identifying a first program and a second program of a product deployed on a first endpoint of one or more endpoints;

implementing a diagnostic process at the first endpoint, the diagnostic process including plurality of subroutines, wherein a first subroutine of the plurality of subroutines is directed to the first program and a second subroutine is directed to a second program, and wherein the first and second subroutines each execute a set of installation and functional parameter tests of the first and second programs, respectively;

itemizing results of the first subroutine and the second subroutine according to a corresponding program;

in response to the results of the first subroutine indicating that the first program is installed and operational at the first endpoint, outputting data indicating the first program successfully passed the first subroutine; and

in response to a first test of the set of installation and functional parameter tests of the second subroutine returning an unexpected result:

outputting data indicating the second program failed the second subroutine and details of the first test and the unexpected result; and

implementing a remediation specific to the unexpected result and the first test, the remediation being configured to modify the second program or a condition at the first endpoint to mitigate the unexpected result and enable the second program to pass the first test.

2. The method of claim 1 , further comprising causing display of:

a selectable instruction configured to initiate at least a portion of the remediation in a user interface;

a first icon associated with the first program that indicates that the first program successfully passed the first subroutine; and

a second icon associated with the second program that indicates that the data output by the second subroutine indicates that the second program failed the second subroutine.

3. The method of claim 1 , wherein the first program includes an agent deployed at the first endpoint.

4. The method of claim 1 , wherein the set of installation and functional parameter tests include:

verifying locations of files and data of the first or the second programs;

verifying a profile of a user that implemented the first or the second programs;

identifying a time involved in carrying out a computing process in the first and the second programs;

verifying a version of the first or the second programs;

verify enrollment of the first or the second programs with a second system;

verify source of the first or the second programs; or

verify a vendor of the first or the second programs.

5. The method of claim 1 , wherein a first set of installation and functional parameter tests of the first subroutine and a second set of installation and functional parameter tests of the first subroutine includes at least each diagnostic is different for each program of the product.

6. The method of claim 1 , wherein the first subroutine and the second subroutine are generated according to a script template.

7. The method of claim 1 , wherein one or both of the first subroutine or the second subroutine are signed scripts.

8. The method of claim 1 , further comprising in response to a determination that a second endpoint of the one or more endpoints is similar to the first endpoint, further implementing the remediation at the second endpoint without implementing the diagnostic process at the second endpoint.

9. The method of claim 1 , wherein the remediation includes one or more or a combination of:

reinstalling the second program;

downloading an agent;

requesting a certificate of a user or an updated certificate of a user;

communicating a notification to an administrator;

increasing a time to complete a computing process;

installing a patch or a product update; and

disabling the second program.

10. The method of claim 1 , wherein the diagnostic process is implemented prior to operation or installation of an agent on the first endpoint.

11. One or more non-transitory computer-readable media having encoded therein programming code executable by one or more processors to perform or control performance of operations comprising:

identifying a first program and a second program of a product deployed on a first endpoint of one or more endpoints;

implementing a diagnostic process at the first endpoint, the diagnostic process including plurality of subroutines, wherein a first subroutine of the plurality of subroutines is directed to the first program and a second subroutine is directed to a second program, and wherein the first and second subroutines each execute a set of installation and functional parameter tests of the first and second programs, respectively;

itemizing results of the first subroutine and the second subroutine according to a corresponding program;

in response to the results of the first subroutine indicating that the first program is installed and operational at the first endpoint, outputting data indicating the first program successfully passed the first subroutine; and

in response to a first test of the set of installation and functional parameter tests of the second subroutine returning an unexpected result:

outputting data indicating the second program failed the second subroutine and details of the first test and the unexpected result; and

implementing a remediation specific to the unexpected result and the first test, the remediation being configured to modify the second program or a condition at the first endpoint to mitigate the unexpected result and enable the second program to pass the first test.

12. The non-transitory computer-readable media of claim 11 , wherein the operations further comprise causing display of:

a selectable instruction configured to initiate at least a portion of the remediation in a user interface;

a first icon associated with the first program that indicates that the first program successfully passed the first subroutine; and

a second icon associated with the second program that indicates that the data output by the second subroutine indicates that the second program failed the second subroutine.

13. The non-transitory computer-readable media of claim 11 , wherein the first program includes an agent deployed at the first endpoint.

14. The non-transitory computer-readable media of claim 11 , wherein the set of installation and functional parameter tests include:

verifying locations of files and data of the first or the second programs;

verifying a profile of a user that implemented the first or the second programs;

identifying a time involved in carrying out a computing process in the first and the second programs;

verifying a version of the first or the second programs;

verify enrollment of the first or the second programs with a second system;

verify source of the first or the second programs; or

verify a vendor of the first or the second programs.

15. The non-transitory computer-readable media of claim 11 , wherein a first set of installation and functional parameter tests of the first subroutine and a second set of installation and functional parameter tests of the first subroutine includes at least each diagnostic is different for each program of the product.

16. The non-transitory computer-readable media of claim 11 , wherein the first subroutine and the second subroutine are generated according to a script template.

17. The non-transitory computer-readable media of claim 11 , wherein one or both of the first subroutine or the second subroutine are signed scripts.

18. The non-transitory computer-readable media of claim 11 , wherein the operations further comprise in response to a determination that a second endpoint of the one or more endpoints is similar to the first endpoint, further implementing the remediation at the second endpoint without implementing the diagnostic process at the second endpoint.

19. The non-transitory computer-readable media of claim 11 , wherein the remediation includes one or more or a combination of:

reinstalling the second program;

downloading an agent;

requesting a certificate of a user or an updated certificate of a user;

communicating a notification to an administrator;

increasing a time to complete a computing process;

installing a patch or a product update; and

disabling the second program.

20. The non-transitory computer-readable media of claim 11 , wherein the diagnostic process is implemented prior to operation or installation of an agent on the first endpoint.

Assignments (12)
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 067457/0497 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071124/0331 →
FIRST LIEN INTELLECTUAL PROPERTY AGREEMENT SUPPLEMENT Recorded May 19, 2024
From: IVANTI, INC.; PULSE SECURE, LLC; MOBILEIRON, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 067457/0472 →
SECOND LIEN INTELLECTUAL PROPERTY AGREEMENT SUPPLEMENT Recorded May 19, 2024
From: IVANTI, INC.; PULSE SECURE, LLC; MOBILEIRON, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 067457/0497 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2023
From: BRANTON, PAUL KEITH; MILTNER, JENS
To: IVANTI, INC.
Reel/Frame 064498/0801 →
Continuity (2)
Provisional Application 63369912 · Jul 29, 2022
Related Publication 20240037018A1 · Feb 1, 2024
References Cited (10)
US 20070220032A1 · Kapoor · 2007 [cited by examiner]
US 20120144385A1 · Ross · 2012 [cited by examiner]
US 20160224406A1 · Ilic · 2016 [cited by examiner]
US 20210281611A1 · Blitz · 2021 [cited by examiner]
US 20210326196A1 · Moss · 2021 [cited by examiner]
US 20220043791A1 · Dwarampudi · 2022 [cited by examiner]
US 20220141085A1 · Singhal · 2022 [cited by examiner]
US 20230116748A1 · Rowe · 2023 [cited by examiner]
US 20230274006A1 · Dang · 2023 [cited by examiner]
US 20240289230A1 · Chopra · 2024 [cited by examiner]