# US 2019/0317869 A1 · Intelligent failover migration across multiple high availability stacks based on quality of prior failover migrations

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

- Number: US 2019/0317869 A1
- Document ID: US20190317869A1
- Status: Published application
- Kind: A1
- Application number: 15/952,765
- Filed: 2018-04-13
- Published: 2019-10-17
- Earliest claimed: 2018-04-13
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Jagadesh Selvaraj; Pramod Vadayadiyil Raveendran; Narasimhan B. Rajagopal; Sajith Kizhakke Veedu; Kuntal Dey
- Web page: https://patentgrep.com/patent/US20190317869A1

## CPC

- G06F 11/203: {using migration}
- G06F 11/2041: {with more than one idle spare processing component}
- G06F 11/3409: {for performance assessment}
- G06F 2201/82: Solving problems relating to consistency
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method includes: monitoring, by a computing device, failover data from one or more high availability stacks, wherein the failover data includes data associated with prior failovers associated with the one or more high availability stacks; scoring, by the computing device, a plurality of prior failovers identified in the failover data; generating, by the computing device, a failover instruction for implementing a failover based on the scoring; and causing, by the computing device, and based on the failover instruction, an application to migrate from a target cluster to a destination cluster.

## Claims

### Claim 1

A computer-implemented method comprising:
monitoring, by a computing device, failover data from one or more high availability stacks, wherein the failover data includes data associated with prior failovers associated with the one or more high availability stacks;
scoring, by the computing device, a plurality of prior failovers identified in the failover data;
generating, by the computing device, a failover instruction for implementing a failover based on the scoring; and
causing, by the computing device, and based on the failover instruction, an application to migrate from a target cluster to a destination cluster.

### Claim 2 (depends on 1)

The method of claim 1, further comprising detecting a failover trigger, wherein the generating the failover instruction is based on the detecting the failover trigger.

### Claim 3 (depends on 1)

The method of claim 1, wherein the scoring of each of the plurality of prior failovers includes generating a record identifying a corresponding score of the prior failover.

### Claim 4 (depends on 3)

The method of claim 3, wherein the record identifies attributes of the prior failover.

### Claim 5 (depends on 4)

The method of claim 4, wherein the attributes include at least one selected from the group consisting of:
downtime;
migration time;
reliability;
resource cost;
performance;
hardware and software configuration;
network location; and
physical location.

### Claim 6 (depends on 1)

The method of claim 1, wherein the scoring each of the plurality of failovers includes scoring a set of attributes associated with each of the plurality of failovers.

### Claim 7 (depends on 6)

The method of claim 6, wherein the generating the failover instruction includes selecting a destination application server cluster having attributes with the highest score.

### Claim 8 (depends on 1)

The method of claim 1, wherein the failover data includes data relating to the implemented failover after outputting the failover instruction, wherein the failover instruction is a first failover instruction, the method further comprising:
scoring the implemented failover; and
generating a second failover instruction for implementing another failover based on the scoring the implemented failover.

### Claim 9 (depends on 1)

The method of claim 1, further comprising generating a report indicating the failover instruction; wherein the report provides a recommendation to migrate a failed application server cluster to a destination application server cluster having an optimal set of attributes.

### Claim 10 (depends on 1)

The method of claim 1, wherein a service provider at least one of creates, maintains, deploys and supports the computing device.

### Claim 11 (depends on 1)

The method of claim 1, wherein the monitoring, the scoring, the generating, and the outputting are provided by a service provider on a subscription, advertising, and/or fee basis.

### Claim 12 (depends on 1)

The method of claim 1, wherein the computing device includes software provided as a service in a cloud environment.

### Claim 13 (depends on 1)

The method of claim 1, further comprising deploying a system for optimizing failovers, comprising providing a computer infrastructure operable to perform the monitoring, the scoring, the generating, and the outputting.

### Claim 14

A computer program product for optimizing failovers, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to:
generate a respective plurality of scores for a plurality of prior failovers within one or more high availability stacks;
detect a failover trigger for failing over an application from a target application server cluster to one of a plurality of destination application server clusters;
select a particular destination application server cluster of the plurality of destination application server clusters based on the respective plurality of scores and the detecting the failover trigger;
generate a failover instruction that causes the application to migrate from the target application server to the selected particular destination application server cluster.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the selected particular destination application server cluster includes attributes associated with a highest score of the respective plurality of scores.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the attributes include at least one selected from the group consisting of:
hardware and software configuration;
network location; and
physical location.

### Claim 17 (depends on 14)

The computer program product of claim 14, wherein the selected destination application server cluster is a virtual or physical cluster.

### Claim 18 (depends on 14)

The computer program product of claim 14, wherein the failover trigger comprises at least one selected from the group consisting of:
a manual instruction, a time-based trigger;
a performance-based trigger; and
an event-based trigger.

### Claim 19

A system comprising:
a CPU, a computer readable memory and a computer readable storage medium associated with a computing device;
program instructions to identify attributes of a failover;
program instructions to track migration time of the failover;
program instructions to track performance of applications and services after migration of the failover;
program instructions to track uptime of migrated applications and services;
program instructions to score the failover based on the migration time, the performance, and the uptime, wherein the score indicates a quality of the failover;
program instructions to generate a record that associates the attributes of the failover with the score;
program instructions to generate a failover instruction for a future failover based on the score and one or more other scores associated with other failovers; and
program instructions to output the failover instruction to implement the future failover by causing an application to migrate from a target application server to a destination application server cluster,
wherein the program instructions are stored on the computer readable storage medium for execution by the CPU via the computer readable memory.

### Claim 20 (depends on 19)

The system of claim 19, wherein the score is further generated based on external data and weightings.
