IP Library › Granted Patent US 12,645,515
Granted Patent B2
US 12,645,515 · App. 18/355,084 · Granted Jun 2, 2026

System and method to implement a failsafe middleware starting procedure framework

Inventors: Rakesh Jain (Murphy, TX); John David Weber (St. Louis, MO)
Assignee: Bank of America Corporation
G06F9/546G06F2209/547
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,645,515
App. No.
18/355,084
Granted
Jun 2, 2026
Kind
B2
Abstract

An apparatus may comprise a memory communicatively coupled to a processor. The memory may be configured to store a start script configured to enable execution of one or more middleware instances and multiple start-up files configured to indicate any middleware instances to be executed by an admin server or one or more managed servers. The processor may be configured to trigger initiation of the start script, determine whether the start-up files comprise a middleware instance, ping the admin server in response to determining that the start-up files comprise the middleware instance, and determine that the admin server is running. Further, the processor is configured to ping the managed server associated with databases associated with a managed server, determine that the databases are running, and trigger a start of the middleware instance at the admin server or at the managed server.

Claims (97)

1 . An apparatus, comprising:

a memory, configured to store:

a start script configured to enable execution of one or more middleware instances, each middleware instance being executed using an admin server and a plurality of databases; and

a plurality of start-up files configured to indicate any middleware instances to be executed by the admin server or one or more managed servers; and

a processor communicatively coupled to the memory and configured to:

trigger initiation of the start script;

determine whether the plurality of start-up files comprise a first middleware instance;

in response to determining that the plurality of start-up files comprise the first middleware instance, ping the admin server;

in response to receiving a first server response, determine that the admin server is running;

identify that the plurality of databases are associated with a managed server of the one or more managed servers;

ping the managed server associated with the plurality of databases;

in response to receiving a first database response, determine that the plurality of databases are running; and

trigger a start of the first middleware instance at the admin server or at the managed server.

2 . The apparatus of claim 1 , wherein the processor is further configured to:

determine whether the first middleware instance is running;

in response to determining that the first middleware instance is running, determine whether the plurality of start-up files comprise a second middleware instance; and

in response to determining that the first middleware instance is not running, pause operations at the apparatus for a predefined time period.

3 . The apparatus of claim 2 , wherein the processor is further configured to:

in response to determining that the plurality of start-up files comprise the second middleware instance, ping the admin server;

in response to receiving a second server response, determine that the admin server is running;

ping the managed server associated with the plurality of databases;

in response to receiving a second database response, determine that the plurality of databases are running; and

trigger a start of the second middleware instance at the admin server or at the managed server.

4 . The apparatus of claim 2 , wherein the processor is further configured to:

in response to determining that the plurality of start-up files do not comprise the second middleware instance, trigger completion of the start script.

5 . The apparatus of claim 1 , wherein:

the start script is triggered by a boot-up operation of the apparatus.

6 . The apparatus of claim 1 , wherein the processor is further configured to:

in response to not receiving the first server response, determine that the admin server is not running;

in response to determining that the admin server is not running, pause operations at the apparatus for a predefined time period; and

upon completion of the predefined time period, ping the admin server once again.

7 . The apparatus of claim 1 , wherein the processor is further configured to:

in response to not receiving the first server response, determine that the plurality of databases are not running;

in response to determining that the plurality of databases are not running, pause operations at the apparatus for a predefined time period; and

upon completion of the predefined time period, ping the managed server associated with the plurality of databases once again.

8 . A method, comprising:

triggering initiation of a start script configured to enable execution of one or more middleware instances, each middleware instance being executed using an admin server and a plurality of databases;

determining whether a plurality of start-up files comprise a first middleware instance;

in response to determining that a plurality of start-up files comprise the first middleware instance, pinging the admin server,

wherein the plurality of start-up files are configured to indicate any middleware instances to be executed by the admin server or one or more managed servers;

in response to receiving a first server response, determining that the admin server is running;

identifying that the plurality of databases are associated with a managed server of the one or more managed servers;

pinging the managed server associated with the plurality of databases;

in response to receiving a database response, determining that the plurality of databases are running; and

triggering a start of the first middleware instance at the admin server or at the managed server.

9 . The method of claim 8 , further comprising:

determining whether the first middleware instance is running;

in response to determining that the first middleware instance is running, determining whether the plurality of start-up files comprise a second middleware instance; and

in response to determining that the first middleware instance is not running, pausing operations for a predefined time period.

10 . The method of claim 9 , further comprising:

in response to determining that the plurality of start-up files comprise the second middleware instance, pinging the admin server;

in response to receiving a second server response, determining that the admin server is running;

pinging the managed server associated with the plurality of databases;

in response to receiving a second database response, determining that the plurality of databases are running; and

triggering a start of the second middleware instance at the admin server or at the managed server.

11 . The method of claim 9 , further comprising:

in response to determining that the plurality of start-up files do not comprise the second middleware instance, triggering completion of the start script.

12 . The method of claim 8 , wherein:

the start script is triggered by a boot-up operation.

13 . The method of claim 8 , further comprising:

in response to not receiving the first server response, determining that the admin server is not running;

in response to determining that the admin server is not running, pausing operations for a predefined time period; and

upon completion of the predefined time period, pinging the admin server once again.

14 . The method of claim 8 , wherein:

in response to not receiving the first server response, determining that the plurality of databases are not running;

in response to determining that the plurality of databases are not running, pausing operations for a predefined time period; and

upon completion of the predefined time period, pinging the managed server associated with the plurality of databases once again.

15 . A non-transitory computer readable medium storing instructions that when executed by a processor cause the processor to:

trigger initiation of a start script configured to enable execution of one or more middleware instances, each middleware instance being executed using an admin server and a plurality of databases;

determine whether a plurality of start-up files comprise a first middleware instance;

in response to determining that a plurality of start-up files comprise the first middleware instance, ping the admin server,

wherein the plurality of start-up files are configured to indicate any middleware instances to be executed by the admin server or one or more managed servers;

in response to receiving a first server response, determine that the admin server is running;

identify that the plurality of databases are associated with a managed server of the one or more managed servers;

ping the managed server associated with the plurality of databases;

in response to receiving a first database response, determine that the plurality of databases are running; and

trigger a start of the first middleware instance at the admin server or at the managed server.

16 . The non-transitory computer readable medium of claim 15 , wherein the processor is further caused to:

determine whether the first middleware instance is running;

in response to determining that the first middleware instance is running, determine whether the plurality of start-up files comprise a second middleware instance; and

in response to determining that the first middleware instance is not running, pause operations at the apparatus for a predefined time period.

17 . The non-transitory computer readable medium of claim 16 , wherein the processor is further caused to:

in response to determining that the plurality of start-up files comprise the second middleware instance, ping the admin server;

in response to receiving a second server response, determine that the admin server is running;

ping the managed server associated with the plurality of databases;

in response to receiving a second database response, determine that the plurality of databases are running; and

trigger a start of the second middleware instance at the admin server or at the managed server.

18 . The non-transitory computer readable medium of claim 16 , wherein the processor is further caused to:

in response to determining that the plurality of start-up files do not comprise the second middleware instance, trigger completion of the start script.

19 . The non-transitory computer readable medium of claim 15 , wherein the processor is further caused to:

in response to not receiving the first server response, determine that the admin server is not running;

in response to determining that the admin server is not running, pause operations at the apparatus for a predefined time period; and

upon completion of the predefined time period, ping the admin server once again.

20 . The non-transitory computer readable medium of claim 15 , wherein the processor is further caused to:

in response to not receiving the first server response, determine that the plurality of databases are not running;

in response to determining that the plurality of databases are not running, pause operations at the apparatus for a predefined time period; and

upon completion of the predefined time period, ping the managed server associated with the plurality of databases once again.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2023
From: JAIN, RAKESH; WEBER, JOHN DAVID
To: BANK OF AMERICA CORPORATION
Reel/Frame 064319/0788 →
Continuity (1)
Related Publication 20250028582A1 · Jan 23, 2025
References Cited (34)
US 7590653B2 · Sparks · 2009 [cited by applicant]
US 7912896B2 · Wolovitz et al. · 2011 [cited by applicant]
US 8402061B1 · Briggs et al. · 2013 [cited by applicant]
US 8849793B2 · Vexler · 2014 [cited by applicant]
US 9251199B2 · Schiebeler · 2016 [cited by applicant]
US 9354778B2 · Cornaby et al. · 2016 [cited by applicant]
US 9589148B2 · O'Hare et al. · 2017 [cited by applicant]
US 9594586B2 · Shigeta · 2017 [cited by applicant]
US 9632814B2 · Bonilla et al. · 2017 [cited by applicant]
US 9654937B2 · Addepalli et al. · 2017 [cited by applicant]
US 10015437B2 · Fall et al. · 2018 [cited by applicant]
US 10249014B2 · Bala et al. · 2019 [cited by applicant]
US 10503493B2 · Narayanan et al. · 2019 [cited by applicant]
US 10579426B2 · Kang · 2020 [cited by applicant]
US 10872333B2 · Dua · 2020 [cited by applicant]
US 11038986B1 · Acar · 2021 [cited by examiner]
US 11552996B2 · Lang et al. · 2023 [cited by applicant]
US 20050192962A1 · Furrer et al. · 2005 [cited by applicant]
US 20080256118A1 · Ziegler et al. · 2008 [cited by applicant]
US 20090182707A1 · Kinyon et al. · 2009 [cited by applicant]
US 20110196959A1 · Devarakonda · 2011 [cited by examiner]
US 20130227547A1 · Little · 2013 [cited by examiner]
US 20130247136A1 · Chieu · 2013 [cited by examiner]
US 20150229521A1 · Mayer · 2015 [cited by examiner]
US 20220122002A1 · Kamen et al. · 2022 [cited by applicant]
US 20240345871A1 · Dees · 2024 [cited by examiner]
CN 106339240A · 2017 [cited by examiner]
CN 106487600A · 2017 [cited by examiner]
CN 108563455A · 2018 [cited by examiner]
CN 109189551A · 2019 [cited by examiner]
CN 106059841B · 2019 [cited by examiner]
CN 113886014A · 2022 [cited by examiner]
CN 117170967A · 2023 [cited by examiner]
Jain, Rakesh, System and method to automate discovery of middleware instances during installation of a failsafe middleware starting procedure framework, U.S. Appl. No. 18/355,065, filed Jul. 19, 2023. [cited by applicant]