IP Library › Granted Patent US 12,748,684
Granted Patent B1
US 12,748,684 · App. 19/331,450 · Granted Sep 29, 2026

Computing technologies for verification of stability of production environments

Inventors: Shalla Goyal (Chicago, IL); Basivi Junna (Chicago, IL); Koutilya Gogineni (Chicago, IL)
Assignee: Northern Trust Corporation
G06F11/3688G06F11/2268G06F11/321G06F16/285
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,748,684
App. No.
19/331,450
Granted
Sep 29, 2026
Kind
B1
Abstract

This disclosure enables various hardware/software configurations that enable verification of stability of production environments. These configurations are technologically advantageous and improve functioning of computers, because these configurations minimize interference with or disruption of business operations in production environments, while allowing non-technical personnel to perform due diligence of various IT equipment in such environments and enabling iterative feedback to allow for identification of gaps in such diligence.

Claims (50)

1 . A system, comprising:

a hardware computing terminal hosting a browser;

a logical grouping containing a first server and a second server, wherein the first server hosts an application, wherein the second server hosts a database, wherein the application is programmed to:

receive a request placed by a user from the browser;

cause a hyperlink to be presented in the browser responsive to the request;

cause a user interface to be presented in the browser responsive to the hyperlink being activated by the user from the browser, wherein the user interface is programmed to enable the user to input a set of parameters including (a) an identifier for a change in a computing environment, (b) a set of identifiers for a first set of hardware components, (c) a schedule name, and (d) a script type such that a test job is capable of being created to run in the computing environment on-demand or based on a schedule, wherein the schedule is hourly, daily, weekly, weekly custom, or monthly, wherein the script type is a baseline only, a baseline and a post, or a post only, wherein the baseline only is programmed to run an automation script in the computing environment before the change starts and no data comparison program is triggered in the computing environment, wherein the baseline and the post is programmed to run the automation script in the computing environment before the change starts and enables the user to trigger the automation script in the computing environment once the change is implemented in the computing environment and a data comparison program in the computing environment, wherein the post only is programmed to run the automation script after the change is implemented and the data comparison program is triggered;

submit the set of parameters to the database;

scan the database continuously to determine whether the set of parameters should be retrieved from the database according to the schedule;

based on determining that the set of parameters and the identifier for the change should be retrieved from the database according to the schedule:

receive a copy of the set of parameters and a copy of a set of identifiers of a second set of impacted hardware components of the computing environment from the browser based on the browser (a) making a call with the identifier for the change to a platform-as-a-service (PAAS) hosted on a configuration management database (CMDB) for the logical grouping, (b) receiving the set of identifiers for the second set of impacted hardware components from the PAAS, (c) forming the copy of the set of parameters and the copy of the set of identifiers of the second set of impacted hardware components, and (d) sending the copy of the set of parameters and the copy of the set of identifiers of the second set of impacted hardware components to the application, wherein the first set of hardware components contains the second set of impacted hardware components;

cause an automation server to run a set of scripts based on the copy of the set of parameters such that the automation server generates an identifier for the set of scripts and sends a copy of the identifier for the set of scripts to the application;

submit the copy of the identifier for the set of scripts to the database;

query the database for the script type;

receive the script type from the database;

activate the data comparison program based on (a) the script type being the baseline and the post or (b) the post only such that the data comparison program (c) compares a set of data for the baseline against a set of data for the post or vice versa and (d) updates a set of statuses for the copy of the set of identifiers of the second set of impacted hardware components indicating whether the second set of impacted hardware components passed or failed based on the set of data for the post relative to the set of data for the baseline;

store a copy of the set of data for the baseline, a copy of the set of data for the post, and a copy of the set of statuses in the database;

retrieve the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses from the database; and

present or update the user interface on the browser such that the user interface displays the copy of the identifier for the change, the copy of the set of identifiers for the first set of hardware components, the schedule name, the script type, and the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses, wherein the user interface is programmed to enable the user to input a new set of instructions to repeat the test job on the first set of hardware components in entirety or a subset thereof based on the script type mapped to the test job along with the copy of the set of parameters based on the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses.

2 . The system of claim 1 , wherein the application continues to scan the database continuously to determine whether the copy of the set of parameters should be retrieved from the database according to the schedule based on the application determining that the copy of the set of parameters and the copy of the identifier for the change should not be retrieved from the database according to the schedule.

3 . The system of claim 1 , wherein the user interface is a single screen.

4 . The system of claim 1 , wherein the user interface is a set of screens that are consecutive.

5 . The system of claim 1 , wherein the automation server runs the set of scripts based on the copy of the set of parameters in parallel.

6 . The system of claim 1 , wherein the automation server runs the set of scripts based on the copy of the set of parameters in series.

7 . The system of claim 1 , wherein the data comparison program compares the set of data for the baseline against the set of data for the post or vice versa for matching in value.

8 . The system of claim 1 , wherein the data comparison program compares the set of data for the baseline against the set of data for the post or vice versa for matching in format.

9 . The system of claim 1 , wherein the data comparison program compares the set of data for the baseline against the set of data for the post or vice versa for matching in value and format.

10 . The system of claim 1 , wherein the application is programmed to update the user interface on the browser such that the user interface displays the copy of the identifier for the change, the copy of the set of identifiers for the first set of hardware components, the schedule name, the script type, and the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses, wherein the user interface is programmed to enable the user to input a new set of instructions to repeat the test job on the first set of hardware components in entirety or a subset thereof based on the script type mapped to the test job along with the copy of the set of parameters based on the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses.

11 . The system of claim 1 , wherein the user interface is simultaneously displays the copy of the identifier for the change, the copy of the set of identifiers for the first set of hardware components, the schedule name, the script type, and the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses.

12 . The system of claim 1 , wherein the application is programmed to enable the user to input the new set of instructions via a user input element.

13 . The system of claim 1 , wherein the application is programmed to repeat the test job on the first set of hardware components in entirety.

14 . The system of claim 1 , wherein the application is programmed to repeat the test job on another subset of the first set of hardware components.

15 . A method, comprising:

operating a system, comprising:

a computing terminal hosting a browser;

a logical grouping containing a first server and a second server, wherein the first server hosts an application, wherein the second server hosts a database, wherein the application is programmed to:

receive a request placed by a user from the browser;

cause a hyperlink to be presented in the browser responsive to the request;

cause a user interface to be presented in the browser responsive to the hyperlink being activated by the user from the browser, wherein the user interface is programmed to enable the user to input a set of parameters including (a) an identifier for a change in a computing environment, (b) a set of identifiers for a first set of hardware components, (c) a schedule name, and (d) a script type such that a test job is capable of being created to run in the computing environment on-demand or based on a schedule, wherein the schedule is hourly, daily, weekly, weekly custom, or monthly, wherein the script type is a baseline only, a baseline and a post, or a post only, wherein the baseline only is programmed to run an automation script in the computing environment before the change starts and no data comparison program is triggered in the computing environment, wherein the baseline and the post is programmed to run the automation script in the computing environment before the change starts and enables the user to trigger the automation script in the computing environment once the change is implemented in the computing environment and a data comparison program in the computing environment, wherein the post only is programmed to run the automation script after the change is implemented and the data comparison program is triggered;

submit the set of parameters to the database;

scan the database continuously to determine whether the set of parameters should be retrieved from the database according to the schedule;

based on determining that the set of parameters and the identifier for the change should be retrieved from the database according to the schedule:

receive a copy of the set of parameters and a copy of a set of identifiers of a second set of impacted hardware components of the computing environment from the browser based on the browser (a) making a call with the identifier for the change to a platform-as-a-service (PAAS) hosted on a configuration management database (CMDB) for the logical grouping, (b) receiving the set of identifiers for the second set of impacted hardware components from the PAAS, (c) forming the copy of the set of parameters and the copy of the set of identifiers of the second set of impacted hardware components, and (d) sending the copy of the set of parameters and the copy of the set of identifiers of the second set of impacted hardware components to the application, wherein the first set of hardware components contains the second set of impacted hardware components;

cause an automation server to run a set of scripts based on the copy of the set of parameters such that the automation server generates an identifier for the set of scripts and sends a copy of the identifier for the set of scripts to the application;

submit the copy of the identifier for the set of scripts to the database;

query the database for the script type;

receive the script type from the database;

activate the data comparison program based on (a) the script type being the baseline and the post or (b) the post only such that the data comparison program (c) compares a set of data for the baseline against a set of data for the post or vice versa and (d) updates a set of statuses for the copy of the set of identifiers of the second set of impacted hardware components indicating whether the second set of impacted hardware components passed or failed based on the set of data for the post relative to the set of data for the baseline;

store a copy of the set of data for the baseline, a copy of the set of data for the post, and a copy of the set of statuses in the database;

retrieve the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses from the database; and

present or update the user interface on the browser such that the user interface displays the copy of the identifier for the change, the copy of the set of identifiers for the first set of hardware components, the schedule name, the script type, and the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses, wherein the user interface is programmed to enable the user to input a new set of instructions to repeat the test job on the first set of hardware components in entirety or a subset thereof based on the script type mapped to the test job along with the copy of the set of parameters based on the copy of the set of data for the baseline, the copy of the set of data for the post, and the copy of the set of statuses.

Continuity (2)
Continuation 19329027 · Sep 15, 2025
Continuation 19183090 · Apr 18, 2025
References Cited (45)
US 5742754A · Tse · 1998 [cited by applicant]
US 8732837B1 · Miller · 2014 [cited by applicant]
US 8903943B2 · Glaser · 2014 [cited by applicant]
US 9946534B1 · Thompson · 2018 [cited by applicant]
US 9971595B1 · Thompson · 2018 [cited by applicant]
US 10203976B2 · Mao · 2019 [cited by applicant]
US 10572374B2 · Sharma · 2020 [cited by applicant]
US 11010279B2 · Morris · 2021 [cited by applicant]
US 11074165B2 · Khakare · 2021 [cited by applicant]
US 11436128B2 · Elking · 2022 [cited by applicant]
US 11461119B2 · Lewis · 2022 [cited by applicant]
US 12423219B1 · Goyal · 2025 [cited by examiner]
US 20130124807A1 · Nielsen · 2013 [cited by examiner]
US 20160028672A1 · Kaul · 2016 [cited by applicant]
US 20170264575A1 · Willshire · 2017 [cited by applicant]
US 20180253372A1 · Colaiacomo · 2018 [cited by applicant]
US 20180336112A1 · Havinal · 2018 [cited by applicant]
US 20180349989A1 · Gonzales · 2018 [cited by applicant]
US 20240168901A1 · Bass · 2024 [cited by applicant]
US 20250021471A1 · Shah · 2025 [cited by applicant]
CN 108268348 · 2018 [cited by applicant]
CN 111274147 · 2020 [cited by applicant]
CN 111930421 · 2020 [cited by applicant]
CN 112988600 · 2021 [cited by applicant]
CN 113010435 · 2021 [cited by applicant]
CN 113377412 · 2021 [cited by applicant]
CN 114650213 · 2022 [cited by applicant]
CN 114878186 · 2022 [cited by applicant]
CN 115080422 · 2022 [cited by applicant]
CN 115086287 · 2022 [cited by applicant]
CN 115543781 · 2022 [cited by applicant]
CN 115687156 · 2023 [cited by applicant]
CN 115827051 · 2023 [cited by applicant]
CN 115858004 · 2023 [cited by applicant]
CN 116228116 · 2023 [cited by applicant]
CN 117555560 · 2024 [cited by applicant]
CN 117573235 · 2024 [cited by applicant]
CN 117648259 · 2024 [cited by applicant]
CN 117826630 · 2024 [cited by applicant]
CN 118838597 · 2024 [cited by applicant]
CN 119045864 · 2024 [cited by applicant]
CN 119396666 · 2025 [cited by applicant]
CN 119537235 · 2025 [cited by applicant]
CN 119646238 · 2025 [cited by applicant]
EP 3115902 · 2017 [cited by applicant]