IP Library Patent Application 18677339
Patent Application
App. No. 18/677,339

SMART PREFETCHING OF OPERATIONS TECHNIQUE

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 None
App. No.
18/677,339
Filed
May 29, 2024
Art Unit
2169
USPC
707/649
Abstract

A smart prefetching of operations technique prefetches metadata and/or data of objects stored in a multi-cloud snapshot technology (MST) service associated with an object store. One or more data objects (e.g., an application) at a primary site may be designated for backup or failover to a secondary site, e.g., in the event of failure of the primary site. Smart prefetching logic of the MST is configured to prefetch the object metadata and/or object data from the object store to serve subsequent requests without accessing the object store. To that end, when storing data to the object store as one or more objects, MST maintains specific metadata along with the data of the objects. The technique utilizes the specific metadata to prefetch the object metadata and/or object data before receiving actual read requests for that data to improve the read latency and throughput when restoring the application as soon as possible.

Claims (64)

1 . A method comprising:

receiving a request at a data service to provide a changed region for a snapshot of a recovery point stored in a repository service executing on a computing platform;

in response to receiving the changed region request, computing differences of the changed region for the snapshot based on metadata stored at the repository service and associated with stored object data of the recovery point;

replying to the changed region request with the computed differences;

constructing a heuristic based on the changed region and computed differences to predict subsequent access requests associated with the changed region; and

prefetching metadata from the repository service used to retrieve the object data for servicing the predicted subsequent access requests according to the heuristic.

2 . The method of claim 1 , further comprising prefetching the object data for servicing the predicted subsequent access requests according to the constructed heuristic.

3 . The method of claim 1 , wherein constructing the heuristic further comprises:

recording a hit ratio of one or more requests to access the computed differences of the snapshot per changed region; and

prefetching the object data for servicing the predicted subsequent access requests when a corresponding hit ratio of a changed region exceeds a predefined threshold.

4 . The method of claim 1 , further comprising avoiding prefetching the object data for servicing the predicted subsequent access requests when insufficient free capacity exists in a cache at the data service.

5 . The method of claim 1 , wherein prefetching the metadata from the repository service occurs when a recorded number of access requests for the computed differences of the snapshot of a corresponding changed region exceeds a threshold during a sliding window time interval.

6 . The method of claim 1 , wherein prefetching the metadata from the repository service occurs in batches according to a number of changed regions determined from the computed differences of the snapshot.

7 . The method of claim 1 , further comprising:

recording a number of requests to compute differences of the snapshot per changed region during a sliding window time interval; and

purging a cache at the data service storing the prefetched metadata corresponding to changed regions for which the number of access requests for the computed differences is zero during the sliding window time interval.

8 . The method of claim 1 , further comprising prefetching the object data according to the changed region computed from the differences of the snapshot for servicing the predicted si subsequent access requests, and wherein the access requests are serviced from the object data according to a portion of the changed region less than a whole.

9 . The method of claim 1 , further comprising increasing a time between prefetches of the metadata from the repository service in response to insufficient free capacity existing in a cache at the data service.

10 . The method of claim 1 , wherein constructing the heuristic further comprises:

determining an expected client consumption of the object data according to changed regions by grouping changed regions according to a recorded hit ratio of a number of access requests to the computed differences of the snapshot per changed region; and

evicting the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy.

11 . A non-transitory computer readable medium including program instructions for execution on a processor, the program instructions configured to:

receive a request at a data service to provide a changed region for a snapshot of a recovery point stored in a repository service executing on a computing platform;

in response to receiving the changed region request, compute differences of the changed region for the snapshot based on metadata stored at the repository service and associated with stored object data of the recovery point;

reply to the changed region request with the computed differences;

construct a heuristic based on the changed region and computed differences to predict subsequent access requests associated with the changed region; and

prefetch metadata from the repository service used to retrieve the object data for servicing the predicted subsequent access requests according to the heuristic.

12 . The non-transitory computer readable medium of claim 11 wherein the program instructions are further configured to prefetch the object data for servicing the predicted subsequent access requests according to the constructed heuristic.

13 . The non-transitory computer readable medium of claim 11 , wherein the program instructions configured to construct the heuristic are further configured to:

record a hit ratio of one or more requests to access the computed differences of the snapshot per changed region; and

prefetch the object data for servicing the predicted subsequent access requests when a corresponding hit ratio of a changed region exceeds a predefined threshold.

14 . The non-transitory computer readable medium of claim 11 wherein the program instructions are further configured to avoid prefetching the object data for servicing the predicted subsequent access requests when insufficient free capacity exists in a cache at the data service.

15 . The non-transitory computer readable medium of claim 11 wherein the program instructions configured to prefetch the metadata from the repository service occurs when a recorded number of access requests for the computed differences of the snapshot of a corresponding changed region exceeds a threshold during a sliding window time interval.

16 . The non-transitory computer readable medium of claim 11 wherein the program instructions configured to prefetch the metadata from the repository service occurs in batches according to a number of changed regions determined from the computed differences of the snapshot.

17 . The non-transitory computer readable medium of claim 11 wherein the program instructions are further configured to:

record a number of requests to compute differences of the snapshot per changed region during a sliding window time interval; and

purge a cache at the data service storing the prefetched metadata corresponding to changed regions for which the number of access requests for the computed differences is zero during the sliding us window time interval.

18 . The non-transitory computer readable medium of claim 11 wherein the program instructions are further configured to prefetch the object data according to the changed region computed from the differences of the snapshot for servicing the predicted subsequent access requests, and wherein the access requests are serviced from the object data according to a portion of the changed region less than a whole.

19 . The non-transitory computer readable medium of claim 11 wherein the program instructions are further configured to increase a time between prefetches of the metadata from the repository service in response to insufficient free capacity existing in a cache at the data service.

20 . The non-transitory computer readable medium of claim 11 , wherein the program instructions configured to construct the heuristic are further configured to:

determine an expected client consumption of the object data according to changed regions by grouping changed regions according to a recorded hit ratio of a number of access requests to the computed differences of the snapshot per changed region; and

evict the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy.

21 . An apparatus comprising:

a multi-cloud snapshot technology (MST) service configured to execute on a processor of a computing platform, the processor further configured to execute program instructions to,

receive a request at a data service of the MST service to provide a changed region for a snapshot of a recovery point stored in an object store associated with the MST service;

in response to receiving the changed region request, compute differences of the changed region for the snapshot based on metadata associated with stored object data of the recovery point;

reply to the changed region request with the computed differences;

construct a heuristic based on the changed region and computed differences to predict subsequent access requests associated with the changed region; and

prefetch metadata from the MST service used to retrieve the object data for servicing the predicted subsequent access requests according to the heuristic.

22 . The apparatus of claim 21 wherein the program instructions further include program instructions to prefetch the object data for servicing the predicted subsequent access requests according to the constructed heuristic.

23 . The apparatus of claim 21 , wherein the program instructions to construct the heuristic further include program instructions to:

record a hit ratio of one or more requests to access the computed differences of the snapshot per changed region; and

prefetch the object data for servicing the predicted subsequent access requests when a corresponding hit ratio of a changed region exceeds a predefined threshold.

24 . The apparatus of claim 21 wherein the program instructions further include program instructions to avoid prefetching the object data for servicing the predicted subsequent access requests when insufficient free capacity exists in a cache at the data service.

25 . The apparatus of claim 21 wherein the program instructions to prefetch the metadata from the MST service occurs when a recorded number of access requests for the computed differences of the snapshot of a corresponding changed region exceeds a threshold during a sliding window time interval.

26 . The apparatus of claim 21 wherein the program instructions to prefetch the metadata from the MST service occurs in batches according to a number of changed regions determined from the computed differences of the snapshot.

27 . The apparatus of claim 21 wherein the program instructions further include program instructions to:

record a number of requests to compute differences of the snapshot per changed region during a sliding window time interval; and

purge a cache at the data service storing the prefetched metadata corresponding to changed regions for which the number of access requests for the computed differences is zero during the sliding window time interval.

28 . The apparatus of claim 21 wherein the program instructions further include program instructions to prefetch the object data according to the changed region computed from the differences of the snapshot for servicing the predicted subsequent access requests, and wherein the access requests are serviced from the object data according to a portion of the changed region less than a whole.

29 . The apparatus of claim 21 wherein the program instructions further include program instructions to increase a time between prefetches of the metadata from the MST service in response to insufficient free capacity existing in a cache at the data service.

30 . The apparatus of claim 21 , wherein the program instructions to construct the heuristic further include program instructions to:

determine an expected client consumption of the object data according to changed regions by grouping changed regions according to a recorded hit ratio of a number of access requests to the computed differences of the snapshot per changed region; and

evict the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy.

Assignments (3)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 67989 FRAME 528. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Aug 27, 2024
From: BHAMMAR, AJAYKUMAR RAJUBHAI; PANDITA, AKSHAY; BEZBARUAH, ANGSHUMAN; SHRIVASTAVA, BRAJESH KUMAR; SHAH, MANAN; GUPTA, ABHISHEK
To: NUTANIX, INC.
Reel/Frame 068794/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2024
From: BHAMMAR, AJAYKUMAR RAJUBHAI; PANDITA, AKSHAY; BEZBARUAH, ANGSHUMAN; SHRIVASTAVA, BRAJESH KUMAR; SHAH, MANAN; GUPTA, ABHISHEK
To: NUTANIX
Reel/Frame 067989/0528 →