IP Library Granted Patent US 11,010,356
Granted Patent B2
US 11,010,356 · App. 15/848,042 · Granted May 18, 2021

Priority based failover for databases

Inventors: Juilee S. Hapse (Pune, IN); Priyanka K. Joshi (Sydney, AU); Nishant Sinha (Pune, IN)
Assignee: International Business Machines Corporation
G06F16/21G06F11/079G06F11/0709G06F11/0751G06F11/0793G06F11/1474G06F11/2028G06F11/2035G06F11/3034G06F2201/80G06F2201/805G06F2201/88
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 11,010,356
App. No.
15/848,042
Granted
May 18, 2021
Kind
B2
Abstract

Embodiments of the present invention provide methods, systems, and computer program products for prioritizing database failover. In one embodiment, an order in which to failover databases is determined based on a priority order of databases and the time at which the failover process occurs, which can be used to help reduce possible down time users can experience while waiting for the database most important to them to be failed over.

Claims (68)

1. A computer implemented method for prioritizing database failover, the method comprising:

generating a plurality of priority orders for a plurality of databases, based on a respective activity count for each database in the plurality of databases and a respective time interval, wherein:

each priority order is associated with one of the plurality of time intervals, and wherein an activity comprises commands performed on respective databases of the plurality of databases having associated timestamps that corresponds to the time at which each respective activity was conducted;

receiving an indication that a group of databases has failed, wherein a failure denotes an interruption of service; and

ranking the plurality of databases based on one or more activities conducted at a time the group of databases have failed.

2. The method of claim 1 , further comprising:

monitoring one or more activities conducted on a plurality of databases during a plurality of time intervals, wherein monitoring one or more activities conducted on a plurality of databases during a plurality of time intervals comprises:

monitoring one or more activities conducted on the plurality of databases during the plurality of time intervals on a first day and during the plurality of time intervals on one or more days preceding the first day.

3. The method of claim 1 , further comprising:

calculating an activity count for each of the plurality of databases during the current time interval; and

appending the activity count for each of the plurality of databases during the current time interval to a historic file, wherein the historic file comprises activity counts for each of the plurality of databases during the current time interval on a first day and one or more days preceding the first day.

4. The method of claim 1 , further comprising:

generating a plurality of priority orders for the plurality of databases, wherein generating a plurality of priority orders for the plurality of database comprises:

generating a priority order at the conclusion of each of the plurality of time intervals; and

storing the priority order generated at the conclusion of the current time interval in a priority file.

5. The method of claim 4 , wherein the priority order generated at the conclusion of the current time interval comprises a ranking of the plurality of databases based on one or more activities conducted on each of the plurality of databases during the current time interval on a first day, and one or more activities conducted on each of the plurality of databases during the current time interval on one or more days preceding the first day.

6. The method of claim 1 , wherein receiving, an indication that a group of databases has failed, comprises:

receiving a list of failed databases of the group of databases from a database management program.

7. The method of claim 4 , further comprising:

determining an order in which to failover the group of databases based, at least in part, on the priority order associated with the current time interval comprises, wherein determining an order in which to failover the group of databases based, at least in part, on the priority order associated with the current time interval comprises:

generating an order in which to failover the group of databases according to a rank of each database of the group of databases accessed in the priority file.

8. A computer program product for prioritizing database failover, the computer program product comprising:

one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising:

program instructions to generate a plurality of priority orders for a plurality of databases, prior to a failure event based on both historical and current activity, wherein the plurality of priority orders comprise:

a respective activity count for each database in the plurality of databases and a respective time interval, wherein:

each priority order is associated with one of the plurality of time intervals,

wherein an activity comprises commands performed on respective databases of the plurality of databases having associated timestamps that corresponds to the time at which each respective activity was conducted, and

wherein the plurality of priority orders is based on one or more activities conducted on the plurality of databases during the plurality of time intervals on a first day and during the plurality of time intervals on one or more days preceding the first day;

program instructions to receive an indication that a group of databases has failed, wherein a failure denotes an interruption of service; and

program instructions to assign a rank to each database in the plurality of databases based on the generated plurality of priority orders at the time the group of databases have failed.

9. The computer program product of claim 8 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to monitor one or more activities conducted on a plurality of databases during a plurality of time intervals, wherein the program instructions to monitor one or more activities conducted on a plurality of databases during a plurality of time intervals comprise:

program instructions to monitor one or more activities conducted on the plurality of databases during the plurality of time intervals on a first day and during the plurality of time intervals on one or more days preceding the first day.

10. The computer program product of claim 8 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to calculate an activity count for each of the plurality of databases during the current time interval; and

program instructions to append the activity count for each of the plurality of databases during the current time interval to a historic file, wherein the historic file comprises activity counts for each of the plurality of databases during the current time interval on a first day and one or more days preceding the first day.

11. The computer program product of claim 8 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to generate a plurality of priority orders for the plurality of databases, wherein the program instructions to generating a plurality of priority orders for the plurality of database comprises:

program instructions to generate a priority order at the conclusion of each of the plurality of time intervals; and

program instructions to store the priority order generated at the conclusion of the current time interval in a priority file.

12. The computer program product of claim 11 , wherein the priority order generated at the conclusion of the current time interval comprises a ranking of the plurality of databases based on one or more activities conducted on each of the plurality of databases during the current time interval on a first day, and one or more activities conducted on each of the plurality of databases during the current time interval on one or more days preceding the first day.

13. The computer program product of claim 8 , wherein the program instructions to receive, an indication that a group of databases has failed, comprises:

program instructions to receive a list of failed databases of the group of databases from a database management program.

14. The computer program product of claim 11 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to determine an order in which to failover the group of databases based, at least in part, on the priority order associated with the current time interval comprises, wherein the program instructions to determine an order in which to failover the group of databases based, at least in part, on the priority order associated with the current time interval comprise:

program instructions to generate an order in which to failover the group of databases according to a rank of each database of the group of databases accessed in the priority file.

15. A computer system for prioritizing database failover, the computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:

program instructions to monitor one or more activities conducted on a plurality of databases during a plurality of time intervals;

program instructions to generate a plurality of priority orders for a plurality of databases, based on a respective activity count for each database in the plurality of databases and a respective time interval at which each respective activity was conducted;

program instructions to receive an indication that a group of databases has failed

program instructions to rank the plurality of databases based on one or more activities conducted at a time the group of databases have failed; and

program instructions to, determine an order in which to failover the group of databases.

16. The computer system of claim 15 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to monitor one or more activities conducted on a plurality of databases during a plurality of time intervals, wherein the program instructions to monitor one or more activities conducted on a plurality of databases during a plurality of time intervals comprise:

program instructions to monitor one or more activities conducted on the plurality of databases during the plurality of time intervals on a first day and during the plurality of time intervals on one or more days preceding the first day.

17. The computer system of claim 15 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to calculate an activity count for each of the plurality of databases during the current time interval; and

program instructions to append the activity count for each of the plurality of databases during the current time interval to a historic file, wherein the historic file comprises activity counts for each of the plurality of databases during the current time interval on a first day and one or more days preceding the first day.

18. The computer system of claim 15 , wherein the program instructions stored on the one or more computer-readable storage media further comprise:

program instructions to generate a plurality of priority orders for the plurality of databases, wherein the program instructions to generating a plurality of priority orders for the plurality of database comprises:

program instructions to generate a priority order at the conclusion of each of the plurality of time intervals; and

program instructions to store the priority order generated at the conclusion of the current time interval in a priority file.

19. The computer system of claim 18 , wherein the priority order generated at the conclusion of the current time interval comprises a ranking of the plurality of databases based on one or more activities conducted on each of the plurality of databases during the current time interval on a first day, and one or more activities conducted on each of the plurality of databases during the current time interval on one or more days preceding the first day.

20. The computer system of claim 15 , wherein the program instructions to receive, an indication that a group of databases has failed, comprises:

program instructions to receive a list of failed databases of the group of databases from a database management program.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2017
From: HAPSE, JUILEE S.; JOSHI, PRIYANKA K.; SINHA, NISHANT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044444/0232 →
Continuity (2)
Continuation 14593176 · Jan 9, 2015
Related Publication 20180113884A1 · Apr 26, 2018
Cited By (3)
US 12,204,554 US 12,210,499 US 12,596,694