# US 11,907,085 B2 · System and method for implementing a smart failover module

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,085 B2
- Document ID: US11907085B2
- Status: Granted
- Kind: B2
- Application number: 17/653,177
- Filed: 2022-03-02
- Published: 2022-09-08
- Granted: 2024-02-20
- Earliest claimed: 2021-03-03
- Assignees: JPMorgan Chase Bank, N.A.
- Applicants: JPMorgan Chase Bank, N.A.
- Inventors: Matthew J Porter; Kumar Rao Krishnagi; Vijay Kumar Perla; Nalini S Boda; Laxman Dongisharapu; Mark Alan Wells
- Web page: https://patentgrep.com/patent/US11907085B2

## CPC

- H04L 41/0663: Performing the actions predefined by failover planning, e.g. switching to standby network elements
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- H04L 41/0659: by isolating or reconfiguring faulty entities
- H04L 41/0668: by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
- H04L 63/0263: {Rule management}
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various methods, apparatuses/systems, and media for implementing a smart failover module is disclosed. A processor detects an application specific system fault or degradation event in a first availability zone (AZ) on which an application is running during normal runtime of the application; determines, in response to detecting the application specific system fault or degradation event, whether the application includes an active-passive application infrastructure in which the first AZ is paired with a passive AZ; enables traffic, in connection with running or deployment of the application, on the passive availability zone in response to determining that the application includes an active-passive application infrastructure; and disables traffic from the first AZ on which the application specific system fault or degradation has been detected in response to determining that the application does not include an active-passive application infrastructure and/or in response to enabling traffic on the passive AZ.

## Claims

### Claim 1

A method for implementing a smart failover module by utilizing one or more processors and one or more memories, the method comprising:
detecting an application specific system fault or degradation event in a first availability zone, among a plurality of availability zones within a datacenter, on which an application is running during normal runtime of the application;
determining, in response to detecting the application specific system fault or degradation event, whether the application includes an active-passive application infrastructure in which the first availability zone is paired with a passive availability zone;
enabling traffic, in connection with running or deployment of the application, on the passive availability zone in response to determining that the application includes an active-passive application infrastructure;
disabling traffic from the first availability zone on which the application specific system fault or degradation has been detected in response to determining that the application does not include an active-passive application infrastructure and/or in response to enabling traffic on the passive availability zone;
implementing a self-healing process on the first availability zone on which the application specific system fault or degradation has been detected;
determining that the self-healing process is successful;
enabling traffic back onto the first availability zone in response to determining that the self-healing process is successful; and
determining whether the application includes an active-active application infrastructure in which the first availability zone is paired with an active availability zone.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
enabling traffic, in connection with running or deployment of the application, on the active availability zone in response to determining that the application includes an active-active application infrastructure.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
enabling traffic, in connection with running or deployment of the application, back onto the first availability zone after successfully performing the self-healing process and in response to determining that the application does not include an active-active application infrastructure.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
determining that the self-healing process is not successful;
calling an availability zone API to retrieve information data corresponding to the plurality of availability zones from the datacenter;
dynamically identifying, in response to calling the availability zone API, a second availability zone that has a required capacity for running or deployment of the application among the plurality of availability zones within the same datacenter;
automatically replacing, in response to a positive identification, the first availability zone with the second availability zone; and
running or deploying the application with the second availability zone.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising:
calling a load balancer API to update new internet protocol (IP) address for a load balancer associated with the running or deployment of the application in response to replacing the first availability zone with the second availability zone.

### Claim 6 (depends on 4)

The method according to claim 4, further comprising:
calling a firewall API to update firewall rules associated with the running or deployment of the application in response to replacing the first availability zone with the second availability zone.

### Claim 7 (depends on 4)

The method according to claim 4, wherein when it is determined that none of the availability zones among the plurality of availability zones within the same datacenter has the required capacity for running or deployment of the application, the method further comprising:
dynamically identifying, in response to calling the availability zone API, a third availability zone that has a required capacity for running or deployment of the application from the same region, but different datacenter;
automatically replacing the first availability zone with the third availability zone; and
running or deploying the application with the third availability zone.

### Claim 8 (depends on 7)

The method according to claim 7, further comprising:
calling a load balancer API to update new internet protocol (IP) address for a load balancer associated with the running or deployment of the application in response to replacing the first availability zone with the third availability zone.

### Claim 9 (depends on 7)

The method according to claim 7, further comprising:
calling a firewall API to update firewall rules associated with the running or deployment of the application in response to replacing the first availability zone with the third availability zone.

### Claim 10 (depends on 4)

The method according to claim 4, wherein the information data includes the following data: platform version that is being run, health information of all availability zones, and capacity details of all availability zones.

### Claim 11

A system for implementing a smart failover module, comprising:
a datacenter having memories to store information data of all availability zones (AZs) associated with running or deployment of an application; and
a processor operatively connected to the datacenter via a communication network, wherein the processor is configured to:
detect an application specific system fault or degradation event in a first availability zone, among a plurality of availability zones within a datacenter, on which an application is running during normal runtime of the application;
determine, in response to detecting the application specific system fault or degradation event, whether the application includes an active-passive application infrastructure in which the first availability zone is paired with a passive availability zone;
enable traffic, in connection with running or deployment of the application, on the passive availability zone in response to determining that the application includes an active-passive application infrastructure;
disable traffic from the first availability zone on which the application specific system fault or degradation has been detected in response to determining that the application does not include an active-passive application infrastructure and/or in response to enabling traffic on the passive availability zone;
implement a self-healing process on the first availability zone on which the application specific system fault or degradation has been detected;
determine that the self-healing process is successful;
enable traffic back onto the first availability zone in response to determining that the self-healing process is successful; and
determine whether the application includes an active-active application infrastructure in which the first availability zone is paired with an active availability zone.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
enable traffic, in connection with running or deployment of the application, on the active availability zone in response to determining that the application includes an active-active application infrastructure.

### Claim 13 (depends on 11)

The system according to claim 11, wherein the processor is further configured to:
determine that the self-healing process is not successful;
call an availability zone API to retrieve information data corresponding to the plurality of availability zones from the datacenter;
dynamically identify, in response to calling the availability zone API, a second availability zone that has a required capacity for running or deployment of the application among the plurality of availability zones within the same datacenter;
automatically replace, in response to a positive identification, the first availability zone with the second availability zone; and
run or deploy the application with the second availability zone.

### Claim 14

A non-transitory computer readable medium configured to store instructions for implementing a smart failover module, wherein the instructions, when executed, cause a processor to perform the following:
detecting an application specific system fault or degradation event in a first availability zone (AZ), among a plurality of AZs within a datacenter, on which an application is running during normal runtime of the application;
determining, in response to detecting the application specific system fault or degradation event, whether the application includes an active-passive application infrastructure in which the first AZ is paired with a passive AZ;
enabling traffic, in connection with running or deployment of the application, on the passive AZ in response to determining that the application includes an active-passive application infrastructure; and
disabling traffic from the first AZ on which the application specific system fault or degradation has been detected in response to determining that the application does not include an active-passive application infrastructure and/or in response to enabling traffic on the passive AZ;
implementing a self-healing process on the first availability zone on which the application specific system fault or degradation has been detected;
determining that the self-healing process is successful;
enabling traffic back onto the first availability zone in response to determining that the self-healing process is successful; and
determining whether the application includes an active-active application infrastructure in which the first availability zone is paired with an active availability zone.

### Claim 15 (depends on 14)

The non-transitory computer readable medium according to claim 14, wherein the instructions, when executed, cause the processor to further perform the following:
enabling traffic, in connection with running or deployment of the application, on the active availability zone in response to determining that the application includes an active-active application infrastructure.

### Claim 16 (depends on 14)

The non-transitory computer readable medium according to claim 14, wherein the instructions, when executed, cause the processor to further perform the following:
enabling traffic, in connection with running or deployment of the application, back onto the first availability zone after successfully performing the self-healing process and in response to determining that the application does not include an active-active application infrastructure.

### Claim 17 (depends on 14)

The non-transitory computer readable medium according to claim 14, wherein the instructions, when executed, cause the processor to further perform the following: determining that the self-healing process is not successful; calling an availability zone API to retrieve information data corresponding to the plurality of availability zones from the datacenter; dynamically identifying, in response to calling the availability zone API, a second availability zone that has a required capacity for running or deployment of the application among the plurality of availability zones within the same datacenter; automatically replacing, in response to a positive identification, the first availability zone with the second availability zone; and running or deploying the application with the second availability zone.

### Claim 18 (depends on 17)

The non-transitory computer readable medium according to claim 17, wherein the instructions, when executed, cause the processor to further perform the following:
calling a load balancer API to update new internet protocol (IP) address for a load balancer associated with the running or deployment of the application in response to replacing the first availability zone with the second availability zone.

### Claim 19 (depends on 17)

The non-transitory computer readable medium according to claim 17, wherein the instructions, when executed, cause the processor to further perform the following:
calling a firewall API to update firewall rules associated with the running or deployment of the application in response to replacing the first availability zone with the second availability zone.

### Claim 20 (depends on 17)

The non-transitory computer readable medium according to claim 17, wherein when it is determined that none of the availability zones among the plurality of availability zones within the same datacenter has the required capacity for running or deployment of the application, the instructions, when executed, cause the processor to further perform the following:
dynamically identifying, in response to calling the availability zone API, a third availability zone that has a required capacity for running or deployment of the application from the same region, but different datacenter;
automatically replacing the first availability zone with the third availability zone; and
running or deploying the application with the third availability zone.
