IP Library Granted Patent US 11,809,402
Granted Patent B2
US 11,809,402 · App. 17/892,179 · Granted Nov 7, 2023

Granular replication of volume subsets

Inventors: Vijay Mohan Deshmukh (Fremont, CA); Atul Ramesh Pandit (San Jose, CA); Pawan Saxena (Pleasanton, CA)
Assignee: NetApp, Inc.
G06F16/2358G06F16/245G06F16/27
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,809,402
App. No.
17/892,179
Granted
Nov 7, 2023
Kind
B2
Abstract

Data is replicated on a backup node, where the granularity of the replication can be less than a full volume. A data consistency group comprising a subset of data for a volume is defined for a primary node. A set of differences for the data consistency group is sent to a backup node. The backup node creates change logs in response to receiving the set of differences. In response to receiving a request to access a file having data in the data consistency group, the backup node creates a clone of the file. The backup node determines whether an update to a data block of the file exists in the change logs. In response to determining that the update to the data block exists in the change logs, the backup node updates a copy of the data block for the cloned file with data in the change logs.

Claims (42)

1. A method comprising:

in response to receiving a request to access a requested version of a file, identifying backup data of the file that corresponds to a version of the file different than the requested version;

identifying a set of updates within a change log that correspond to differences between the version of the file and the requested version;

applying the set of updates to a clone of the file to create a modified cloned file corresponding to the requested version of the file targeted by the request;

modifying a mapping of the cloned file to remap a file block number from being mapped to a first block number to being mapped to a second block number corresponding to changed data applied by the set of updates to the cloned file; and

executing the request upon the modified cloned file utilizing the modified mapping.

2. The method of claim 1 , wherein the requested version is a newer version than the version of the file represented by the backup data.

3. The method of claim 1 , wherein the applying excludes updates within the change log corresponding to non-requested versions of the file.

4. The method of claim 1 , wherein the requested version is an older version than the version of the file represented by the backup data.

5. The method of claim 1 , wherein the cloning comprises:

creating the cloned file and associating data blocks of the cloned file with corresponding data blocks of the file.

6. The method of claim 1 , wherein the request to access the file includes a version identifier of the requested version.

7. The method of claim 6 , wherein the method further comprises:

identifying the change log from a set of change logs based upon the change log corresponding to the version identifier.

8. An apparatus comprising:

a processor; and

a machine readable storage medium having machine executable code stored therein that is executable by the processor to cause the apparatus to:

in response to receiving a request to access a requested version of a file, identify backup data of the file that corresponds to a version of the file different than the requested version;

identify a set of updates within a change log that correspond to differences between the version of the file and the requested version;

apply the set of updates to a clone of the file to create a modified cloned file corresponding to the requested version of the file targeted by the request;

modify a mapping of the cloned file to remap a file block number from being mapped to a first block number to being mapped to a second block number corresponding to changed data applied by the set of updates to the cloned file; and

execute the request upon the modified cloned file utilizing the modified mapping.

9. The apparatus of claim 8 , wherein the requested version is a newer version than the version of the file represented by the backup data.

10. The apparatus of claim 8 , wherein the applying excludes updates within the change log corresponding to non-requested versions of the file.

11. The apparatus of claim 8 , wherein the requested version is an older version than the version of the file represented by the backup data.

12. The apparatus of claim 8 , wherein the machine executable code causes the processor to:

create the cloned file and associating data blocks of the cloned file with corresponding data blocks of the file.

13. The apparatus of claim 8 , wherein the request to access the file includes a version identifier of the requested version.

14. The apparatus of claim 13 , wherein the machine executable code causes the processor to:

identify the change log from a set of change logs based upon the change log corresponding to the version identifier.

15. A non-transitory machine readable medium having stored thereon instructions comprising machine executable code which when executed by a machine, cause the machine to:

in response to receiving a request to access a requested version of a file, identify backup data of the file that corresponds to a version of the file different than the requested version;

identify a set of updates within a change log that correspond to differences between the version of the file and the requested version;

apply the set of updates to a clone of the file to create a modified cloned file corresponding to the requested version of the file targeted by the request;

modify a mapping of the cloned file to remap a file block number from being mapped to a first block number to being mapped to a second block number corresponding to changed data applied by the set of updates to the cloned file; and

execute the request upon the modified cloned file utilizing the modified mapping.

16. The non-transitory machine readable medium of claim 15 , wherein the requested version is a newer version than the version of the file represented by the backup data.

17. The non-transitory machine readable medium of claim 15 , wherein the applying excludes updates within the change log corresponding to non-requested versions of the file.

18. The non-transitory machine readable medium of claim 15 , wherein the requested version is an older version than the version of the file represented by the backup data.

19. The non-transitory machine readable medium of claim 15 , wherein the instructions further include instructions to:

create the cloned file and associating data blocks of the cloned file with corresponding data blocks of the file.

20. The non-transitory machine readable medium of claim 15 , wherein the request to access the file includes a version identifier of the requested version.

Continuity (2)
Continuation 14689936 · Apr 17, 2015
Related Publication 20220398240A1 · Dec 15, 2022
Cited By (1)
US 12,373,418