IP Library › Granted Patent US 11,294,855
Granted Patent B2
US 11,294,855 · App. 16/376,307 · Granted Apr 5, 2022

Cloud-aware snapshot difference determination

Inventor: Pankaj Datta (Acton, MA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/128G06F16/172G06F16/1824G06F16/2365
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,294,855
App. No.
16/376,307
Filed
Apr 5, 2019
Granted
Apr 5, 2022
Kind
B2
Examiner
CHEUNG, EDDY
Art Unit
2165
USPC
707/695
Abstract

Modifications made to files (e.g., stub files) within a distributed file storage system over a defined time period are determined. Moreover, the distributed file storage system employs a tiered cloud storage architecture. In one aspect, snapshots of a stub file can be generated at different instances of time. Further, metadata of the stub file within the different snapshots can be compared to determine whether the stub file has been modified. As an example, the metadata can include cache metadata that describes the content within the cache of the stub file and/or mapping metadata that describes the content within cloud storage that is referenced by the stub file.

Claims (40)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

determining first snapshot data comprising a first snapshot of a stub file at a first instance in time, wherein the first snapshot data comprises first metadata associated with the stub file that comprises a first data structure that references content stored in a network storage device, and comprises a second data structure associated with a first portion of the content that has been cached within the stub file, wherein the second data structure indicates that a first portion of the content stored in the network storage device has been read or modified;

determining second snapshot data indicative of a second snapshot of the stub file at a second instance in time, wherein the second snapshot data comprises second metadata associated with the stub file that indicates that a second portion of the content has been read or modified; and

in response to determining that the first metadata and the second metadata satisfies a defined criterion, determining that the content has been changed between the first instance in time and the second instance in time.

2. The system of claim 1 , wherein the second metadata comprises a third data structure that references the content and comprises a fourth data structure associated with a second portion of the content that has been cached within the stub file.

3. The system of claim 2 , wherein the determining the first snapshot data is performed in response to receiving a first request for the first portion of the content, and wherein the determining the second snapshot data is performed in response to receiving a second request for the second portion of the content.

4. The system of claim 2 , wherein the second data structure indicates that the first portion of the content has been read or modified, and wherein the fourth data structure indicates that the first portion of the content has been read or modified.

5. The system of claim 2 , wherein the operations further comprise:

in response to determining that the fourth data structure indicates that the second portion of the content has been read and that the first data structure matches the third data structure, determining that the content has not been changed between the first instance and the second instance in time.

6. The system of claim 2 , wherein the determining that the first metadata and the second metadata satisfies the defined criterion comprises determining that the fourth data structure indicates that the second portion of the content has been written to and that the first data structure matches the third data structure.

7. The system of claim 2 , wherein the operations further comprise:

in response to determining that the fourth data structure indicates that the second portion of the content has been written to and that the first data structure does not match the third data structure, determining that the content has not been changed between the first instance and the second instance in time.

8. The system of claim 2 , wherein the determining that the first metadata and the second metadata satisfies the defined criterion comprises determining that the fourth data structure indicates that the second portion of the content has been read and that the first data structure does not match the third data structure.

9. The system of claim 1 , wherein the first metadata further comprises sparseness information describing a sparse region of the network storage device, and wherein the sparse region is a portion of the network storage device that does not store the content.

10. The system of claim 1 , wherein the stub file is stored on a source cluster device and wherein the determining that the content has been changed comprises determining that the content has been changed in response to determining that the stub file is to be synchronized with a replica of the stub file that is stored on a target cluster device.

11. The system of claim 1 , wherein at a third instance in time the stub file is converted to a local file, and wherein the local file comprises the content and is retained within a source cluster device.

12. A method, comprising:

determining, by a system comprising a processor, first snapshot data comprising a first snapshot of a stub file at a first instance in time, wherein the first snapshot data comprises first metadata associated with the stub file that comprises a first mapping data structure that references content stored in a network storage device, and comprises a first cache data structure associated with a first portion of the content that has been cached within the stub file, wherein the first data structure indicates that a first portion of the content stored in the network storage device has been read or modified;

determining, by the system, second snapshot data indicative of a second snapshot of the stub file at a second instance in time, wherein the second snapshot data comprises second metadata associated with the stub file that indicates that a second portion of the content has been read or modified; and

in response to determining that the first metadata and the second metadata satisfies a defined criterion, determining, by the system, that the content has been changed between the first instance in time and the second instance in time.

13. The method of claim 12 , further comprising:

in response to determining that a second cache data structure of the second metadata indicates that the content has been modified and that the first mapping data structure and a second mapping data structure of the second metadata do not match, determining, by the system, that the content has not been altered between the first instance in time and the second instance in time.

14. The method of claim 12 , further comprising:

in response to determining that the first cache data structure of the first metadata indicates that the content has been modified and that the first mapping data structure of the first metadata and a second mapping data structure of the second metadata match, determining, by the system, that the content has been altered between the first instance in time and the second instance in time.

15. The method of claim 12 , wherein the determining that the first metadata and the second metadata satisfies a defined criterion comprises:

in response to determining that the first cache data structure indicates that the portion of the content has been read and that the first mapping data structure and a second mapping data structure of the second metadata match, determining, by the system, that the content has not been altered between the different instances in time.

16. The method of claim 12 , further comprising:

receiving, by the system, query data indicative of a query for determining a difference in the first snapshot and the second snapshot.

17. The method of claim 15 , wherein the stub file is retained within a source cluster device and the method further comprises:

in response to determining a difference between the first snapshot and the second snapshot, synchronizing, by the system, the stub file with a replica of the stub file that is retained within a target cluster device.

18. A non-transitory computer-readable storage medium comprising instructions that, in response to execution, cause a device comprising a processor to perform operations, comprising:

determining first snapshot data comprising a first snapshot of a stub file at a first instance in time, wherein the first snapshot data comprises first metadata associated with the stub file that comprises a first mapping data structure that references content stored in a network storage device, and comprises a first cache data structure associated with a first portion of the content that has been cached within the stub file, wherein the first cache data structure indicates that a first portion of the content stored in the network storage device has been read or modified;

determining second snapshot data indicative of a second snapshot of the stub file at a second instance in time, wherein the second snapshot data comprises second metadata associated with the stub file that indicates that a second portion of the content has been read or modified; and

in response to determining that the first metadata and the second metadata satisfies a defined criterion, determining that the content has been changed between the first instance in time and the second instance in time.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the operations further comprise:

in response to determining that a second cache data structure of the second metadata indicates that the content has been modified and that the first mapping data structure and a second mapping data structure of the second metadata do not match, verifying that the content has not been altered between the first instance in time and the second instance in time.

20. The non-transitory computer-readable storage medium of claim 18 , wherein operations further comprise:

in response to determining that the first cache data structure indicates that the content has been modified and that the first mapping data structure and a second mapping data structure of the second metadata match, verifying that the content has been altered between the first instance in time and the second instance in time.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048923/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2019
From: DATTA, PANKAJ
To: EMC CORPORATION
Reel/Frame 048804/0551 →
Continuity (2)
Continuation 14981695 · Dec 28, 2015
Related Publication 20190236051A1 · Aug 1, 2019