IP Library Granted Patent US 10,445,292
Granted Patent B1
US 10,445,292 · App. 15/085,265 · Granted Oct 15, 2019

Sharing services between deduplication systems

Inventors: Xianbo Zhang (Plymouth, MN); Zhuhua Yin (Shoreview, MN)
Assignee: Veritas Technologies LLC
G06F16/1748G06F11/1453G06F11/1464G06F16/13
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 10,445,292
App. No.
15/085,265
Granted
Oct 15, 2019
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes to share data storage-related services between multiple deduplication systems. A determination is made as to whether a shared file that exists in a library of shared files corresponds to a local file. In response to a determination that the shared file exists in the library of shared files, the local file is virtually segmented into data segments, and local virtual mapping metadata is generated based, at least in part, on the data segments. The local virtual mapping metadata is then stored.

Claims (104)

1. A computer-implemented method comprising:

determining, at a deduplication system, whether a shared file corresponds to a local file, wherein

the shared file exists in a library of shared files, and

the library of shared files is maintained by a library server;

in response to a determination that the shared file exists in the library of shared files,

virtually segmenting the local file into a plurality of data segments, wherein

virtually segmenting the local file comprises generating local virtual mapping metadata,

the local virtual mapping metadata is generated based, at least in part, on the plurality of data segments,

the local virtual mapping metadata comprises

fingerprint information corresponding to each of the plurality of data segments, and

at least one of a deduplication system identifier, a unique file identifier, an offset of each data segment, or a size of each data segment,

the local virtual mapping metadata identifies the deduplication system, and

the local virtual mapping metadata permits identification of one or more data segments of the plurality of data segments of the local file that can be excluded from a backup and deduplication operation;

storing the local virtual mapping metadata in the deduplication system; and

performing a deduplication operation at the deduplication system, wherein

the deduplication operation is performed, based at least in part, by using the local virtual mapping metadata stored in the deduplication system.

2. The computer-implemented method of claim 1 , wherein the shared file is stored by a library server,

the local file is selected to be backed up and deduplicated as part of a backup and deduplication operation, and

the local file is determined to be the shared file if a local file identifier generated for the local file matches a unique file identifier generated for the shared file by the library server.

3. The computer-implemented method of claim 2 , further comprising:

receiving a name of the shared file and a name of a file fingerprinting algorithm used to generate the unique file identifier from the library server; and

generating the local file identifier based on the file fingerprinting algorithm.

4. The computer-implemented method of claim 3 , wherein

the name of the shared file and the name of the file fingerprinting algorithm is received via an Application Programming Interface (API).

5. The computer-implemented method of claim 4 , further comprising:

receiving an indication from the library server via the API that the shared file is the local file; and

transmitting the local virtual mapping metadata to the library server.

6. The computer-implemented method of claim 2 , wherein

the shared file is one of a plurality of shared files stored by the library server, and

the determining, the virtually segmenting, and the storing are performed by a deduplication system.

7. The computer-implemented method of claim 2 , further comprising:

instructing the library server to virtually segment the shared file if the local file identifier generated for the local file matches the unique file identifier generated for the shared file by the library server, wherein

the virtual segmentation of the shared file by the library server generates a library virtual mapping metadata.

8. The computer-implemented method of claim 1 , wherein

the shared file comprises non-user-sensitive data, and

the shared file is shared by a plurality of deduplication systems.

9. A non-transitory computer readable storage medium comprising program instructions executable to perform a method comprising:

determining, at a deduplication system, whether a shared file corresponds to a local file, wherein

the shared file exists in a library of shared files, and

the library of shared files is maintained by a library server;

in response to a determination that the shared file exists in the library of shared files,

virtually segmenting the local file into a plurality of data segments, wherein

virtually segmenting the local file comprises generating local virtual mapping metadata,

the local virtual mapping metadata is generated based, at least in part, on the plurality of data segments,

the local virtual mapping metadata comprises

fingerprint information corresponding to each of the plurality of data segments, and

at least one of a deduplication system identifier, a unique file identifier, an offset of each data segment, or a size of each data segment,

the local virtual mapping metadata identifies the deduplication system, and

the local virtual mapping metadata permits identification of one or more data segments of the plurality of data segments of the local file that can be excluded from a backup and deduplication operation;

storing the local virtual mapping metadata in the deduplication system; and

performing a deduplication operation at the deduplication system, wherein

the deduplication operation is performed, based at least in part, by using the local virtual mapping metadata stored in the deduplication system.

10. The non-transitory computer readable storage medium of claim 9 , wherein

the shared file is stored by a library server,

the local file is selected to be backed up and deduplicated as part of a backup and deduplication operation,

the local file is determined to be the shared file if a local file identifier generated for the local file matches a unique file identifier generated for the shared file by the library server.

11. The non-transitory computer readable storage medium of claim 10 , wherein the method further comprises:

receiving a name of the shared file and a name of a file fingerprinting algorithm used to generate the unique file identifier from the library server; and

generating the local file identifier based on the file fingerprinting algorithm.

12. The non-transitory computer readable storage medium of claim 11 , wherein

the shared file is one of a plurality of shared files stored by the library server,

the shared file comprises non-user-sensitive data,

the shared file is shared by a plurality of deduplication systems,

the determining, the virtually segmenting, and the storing are performed by a deduplication system of the plurality of deduplication systems, and

the name of the shared file and the name of the file fingerprinting algorithm is received via an Application Programming Interface (API).

13. The non-transitory computer readable storage medium of claim 12 , wherein the method further comprises:

receiving an indication from the library server via the API that the shared file is the local file; and

transmitting the local virtual mapping metadata to the library server, or

instructing the library server to virtually segment the shared file if the local file identifier generated for the local file matches the unique file identifier generated for the shared file by the library server, wherein

the virtual segmentation of the shared file by the library server generates a library virtual mapping metadata.

14. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to perform a method comprising:

determining, at a deduplication system, whether a shared file corresponds to a local file, wherein

the shared file exists in a library of shared files, and

the library of shared files is maintained by a library server;

in response to a determination that the shared file exists in the library of shared files, virtually segmenting the local file into a plurality of data segments, wherein virtually segmenting the local file comprises generating local virtual mapping metadata,

the local virtual mapping metadata is generated based, at least in part, on the plurality of data segments,

the local virtual mapping metadata comprises

fingerprint information corresponding to each of the plurality of data segments, and

at least one of a deduplication system identifier, a unique file identifier, an offset of each data segment, or a size of each data segment,

the local virtual mapping metadata identifies the deduplication system, and

the local virtual mapping metadata permits identification of one or more data segments of the plurality of data segments of the local file that can be excluded from a backup and deduplication operation;

storing the local virtual mapping metadata in the deduplication system; and

performing a deduplication operation at the deduplication system, wherein

the deduplication operation is performed, based at least in part, by using the local virtual mapping metadata stored in the deduplication system.

15. The system of claim 14 , wherein

the shared file is stored by a library server,

the local file is selected to be backed up and deduplicated as part of a backup and deduplication operation,

the local file is determined to be the shared file if a local file identifier generated for the local file matches a unique file identifier generated for the shared file by the library server.

16. The system of claim 15 , wherein the method further comprises:

receiving a name of the shared file and a name of a file fingerprinting algorithm used to generate the unique file identifier from the library server; and

generating the local file identifier based on the file fingerprinting algorithm.

17. The system of claim 16 , wherein

the shared file is one of a plurality of shared files stored by the library server,

the shared file comprises non-user-sensitive data,

the shared file is shared by a plurality of deduplication systems,

the determining, the virtually segmenting, and the storing are performed by a deduplication system of the plurality of deduplication systems, and

the name of the shared file and the name of the file fingerprinting algorithm is received via an Application Programming Interface (API).

18. The system of claim 17 , wherein the method further comprises:

receiving an indication from the library server via the API that the shared file is the local file; and

transmitting the local virtual mapping metadata to the library server, or

instructing the library server to virtually segment the shared file if the local file identifier generated for the local file matches the unique file identifier generated for the shared file by the library server, wherein

the virtual segmentation of the shared file by the library server generates a library virtual mapping metadata.

Assignments (10)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069632/0613 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2019
From: ZHANG, XIANBO; YIN, ZHUHUA
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 048134/0969 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
Cited By (1)
US 12,639,168