IP Library › Granted Patent US 12,474,987
Granted Patent B2
US 12,474,987 · App. 18/509,603 · Granted Nov 18, 2025

Application recovery accelerator

Inventors: Brian D. Hatfield (Tucson, AZ); Travis Janssen (San Jose, CA); Runyu Jin (San Diego, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/073G06F11/1469
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,474,987
App. No.
18/509,603
Granted
Nov 18, 2025
Kind
B2
Abstract

An embodiment includes detecting, by a Recovery System, a cache metric where the cache metric comprises a probability of access to a data object for each of a plurality of time segments of a failover log, where the probability of access to the data object for each of the plurality of time segments is based on an access time of the data object contained in the failover log. The embodiment also includes responsive to receiving the cache metric, caching by the Recovery System of the data object based on the cache metric where the data object is cached in a standby cache of the Recovery System.

Claims (32)

1 . A computer-implemented method comprising:

enhancing a Recovery System comprising a standby cache segmented with a plurality of time segments wherein a data object with an accessed count above a threshold is cached in a time segment of the plurality of time segments of the standby cache, the enhancing comprising:

detecting, by a Recovery System, a cache metric wherein the cache metric comprises a probability of access to a data object for each of the plurality of time segments of a failover log, wherein the probability of access to the data object for each of the plurality of time segments is based on an access time of the data object contained in the failover log;

responsive to receiving the cache metric, segmenting, using a processor, the standby cache into the time segment; and

caching by the Recovery System into the time segment of the standby cache of the data object based on the cache metric until determined by the processor that the standby cache is at maximum capacity wherein the data object is cached in the standby cache of the Recovery System.

2 . The computer-implemented method of claim 1 , wherein the caching by the Recovery System comprises receiving the data object from a backup storage.

3 . The computer-implemented method of claim 1 , wherein the cache metric further comprises assigning the data object to a time segment in the plurality of time segments based on a threshold probability value and a highest cumulative probability value.

4 . The computer-implemented method of claim 1 , wherein each of the plurality of time segments is non-uniform and wherein a duration of each of the plurality of time segments is constant across a plurality of failover runs.

5 . The computer-implemented method of claim 1 , wherein computing the probability of access to the data object for each of the plurality of time segments comprises computing a cumulative probability of the access to the data object in a time segment and a previous time segment.

6 . The computer-implemented method of claim 1 , wherein the caching by the Recovery System of the data object comprises caching the data object assigned to a time segment in chronological order.

7 . The computer-implemented method of claim 1 , wherein the standby cache of the Recovery System comprises a virtual machine.

8 . A computer program product comprising one or more non-transitory computer readable storage media, and program instructions collectively stored on the one or more non-transitory computer readable storage media, the program instructions executable by a processor to cause the processor to perform operations comprising:

enhancing a Recovery System comprising a standby cache segmented with a plurality of time segments wherein a data object with an accessed count above a threshold is cached in a time segment of the plurality of time segments of the standby cache, the enhancing comprising:

detecting, by a Recovery System, a cache metric wherein the cache metric comprises a probability of access to a data object for each of the plurality of time segments of a failover log, wherein the probability of access to the data object for each of the plurality of time segments is based on an access time of the data object contained in the failover log;

responsive to receiving the cache metric, segmenting, using a processor, the standby cache into the time segment; and

caching by the Recovery System into the time segment of the standby cache of the data object based on the cache metric until determined by the processor that the standby cache is at maximum capacity wherein the data object is cached in the standby cache of the Recovery System.

9 . The computer program product of claim 8 , wherein the caching by the Recovery System comprises receiving the data object from a backup storage.

10 . The computer program product of claim 8 , wherein the cache metric further comprises assigning the data object to a time segment in the plurality of time segments based on a threshold probability value and a highest cumulative probability value.

11 . The computer program product of claim 8 , wherein each of the plurality of time segments is non-uniform and wherein a duration of each of the plurality of time segments is constant across a plurality of failover runs.

12 . The computer program product of claim 8 , wherein computing the probability of access to the data object for each of the plurality of time segments comprises computing a cumulative probability of the access to the data object in a time segment and a previous time segment.

13 . The computer program product of claim 8 , wherein the caching by the Recovery System of the data object comprises caching the data object assigned to a time segment in chronological order.

14 . The computer program product of claim 8 , wherein the standby cache of the Recovery System comprises a virtual machine.

15 . A computer system comprising a processor and one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by the processor to cause the processor to perform operations comprising:

enhancing a Recovery System comprising a standby cache segmented with a plurality of time segments wherein a data object with an accessed count above a threshold is cached in a time segment of the plurality of time segments of the standby cache, the enhancing comprising:

detecting, by a Recovery System, a cache metric wherein the cache metric comprises a probability of access to a data object for each of the plurality of time segments of a failover log, wherein the probability of access to the data object for each of the plurality of time segments is based on an access time of the data object contained in the failover log;

responsive to receiving the cache metric, segmenting, using a processor, the standby cache into the time segment; and

caching by the Recovery System into the time segment of the standby cache of the data object based on the cache metric until determined by the processor that the standby cache is at maximum capacity wherein the data object is cached in the standby cache of the Recovery System.

16 . The computer system of claim 15 , wherein the caching by the Recovery System comprises receiving the data object from a backup storage.

17 . The computer system of claim 15 , wherein the cache metric further comprises assigning the data object to a time segment in the plurality of time segments based on a threshold probability value and a highest cumulative probability value.

18 . The computer system of claim 15 , wherein each of the plurality of time segments is non-uniform and wherein a duration of each of the plurality of time segments is constant across a plurality of failover runs.

19 . The computer system of claim 15 , wherein computing the probability of access to the data object for each of the plurality of time segments comprises computing a cumulative probability of the access to the data object in a time segment and a previous time segment.

20 . The computer system of claim 15 , wherein the caching by the Recovery System of the data object comprises caching the data object assigned to a time segment in chronological order.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2023
From: HATFIELD, BRIAN D.; JANSSEN, TRAVIS; JIN, RUNYU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 065569/0320 →
Continuity (1)
Related Publication 20250156255A1 · May 15, 2025
References Cited (11)
US 6078520A · Tobita · 2000 [cited by examiner]
US 6959331B1 · Traversat · 2005 [cited by examiner]
US 7992031B2 · Chavda et al. · 2011 [cited by applicant]
US 10831545B2 · Rao Kotha et al. · 2020 [cited by applicant]
US 10977132B2 · Deshpande et al. · 2021 [cited by applicant]
US 11237915B2 · Mehta et al. · 2022 [cited by applicant]
US 11663091B2 · Shin et al. · 2023 [cited by applicant]
US 20160248440A1 · Greenfield · 2016 [cited by examiner]
US 20160335162A1 · Jin et al. · 2016 [cited by applicant]
US 20240061751A1 · Janarthanam · 2024 [cited by examiner]
Sherry et al., Rollback-Recovery for Middleboxes, SIGCOMM '15, pp. 227-240, Aug. 17-21, 2015. [cited by applicant]