IP Library Granted Patent US 10,152,269
Granted Patent B2
US 10,152,269 · App. 15/450,983 · Granted Dec 11, 2018

Method and system for preserving branch cache file data segment identifiers upon volume replication

Inventors: Dina Fine (Herzlia, IL); Idan Robbins (Tel Aviv, IL)
Assignee: Dell Products L.P.
G06F3/065G06F3/067G06F3/0619
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,152,269
App. No.
15/450,983
Granted
Dec 11, 2018
Kind
B2
Abstract

A method and a system for preserving branch cache file data identifiers upon volume replication, the method including: calculating file data hashes associated with the file; storing the calculated file data hashes on a directory attached to the file; constructing file data identifiers for the file, based on the file data hashes and a secret server identifier of the first content server; providing file data of the file and the file data identifiers to the first branch cache client; caching the file data and the file data at the first branch cache client; replicating the file data hashes contained in the replicated volume; deriving the server secret identifier of the first content server; reconstructing the file data identifiers for the file, based on the replicated file data hashes and the derived server secret identifier of the first content server; providing the reconstructed file data identifiers to the branch cache clients.

Claims (55)

1. A method for preserving branch cache file data segment identifiers upon volume replication, the method comprising:

upon a first access request for a file, made by a first branch cache client to a first content server:

calculating, file data segments hashes associated with said file;

storing the calculated file data segments hashes on a directory attached to said file;

constructing file data segment identifiers for said file, based on the file data segments hashes and a secret server identifier (SSID) of the first content server;

providing file data of said file and the file data segment identifiers to the first branch cache client; and

caching the file data and the file data segment identifiers at the first branch cache client;

upon replicating a volume containing said file, from the first content server to a second content server:

replicating said file data segments hashes contained in the replicated volume; and

deriving the SSID of the first content server;

upon an access request for said file made by the first branch cache client or any other any branch cache client to the second content server:

reconstructing the file data segment identifiers for said file, based on the replicated file data segments hashes and the derived SSID of the first content server; and

providing the reconstructed file data segment identifiers to the branch cache client that requested access to the file.

2. The method according to claim 1 , wherein upon promoting the replicated volume at the second content server to a primary storage, using the SSID of the second content server instead of the derived SSID of the first content server.

3. The method according to claim 1 , wherein upon said access request for said file made by the first branch cache client or any other any branch cache client to the second content server, using the file data cached at the first branch cache client only in a case that the cached file data segment identifiers and the reconstructed file data segment identifiers provided by the second content server are identical.

4. The method according to claim 1 , wherein the first content server is a distributed file system wherein said file is associated with one of a plurality of clusters, and wherein the SSID of the first content server is constructed based on an identifier of the cluster associated with said file, and an identifier of the volume containing said file.

5. The method according to claim 1 , wherein the deriving the SSID of the first content server is achieved by replicating the SSID of the first content upon the replicating of the volume containing said file.

6. The method according to claim 1 , wherein the calculating, the storing, and the constructing are carried out at the first content server.

7. The method according to claim 1 , wherein the calculating, the storing, and the constructing are repeated whenever said file is modified.

8. A system for preserving branch cache file data segment identifiers upon volume replication, the system comprising:

a first content server, configured, upon a first access request for a file, made by a first branch cache client to:

calculate, file data segments hashes associated with said file;

store the calculated file data segments hashes on a directory attached to said file;

construct file data segment identifiers for said file, based on the file data segments hashes and a secret server identifier (SSID) of the first content server; and

provide file data of said file and the file data segment identifiers to the first branch cache client;

a first branch cache client configured to cache the file data and the file data segment identifiers; and

a second content server configured, upon replicating a volume containing said file, from the first content server to the second content server:

receive replicated said file data segments hashes contained in the replicated volume; and

derive the SSID of the first content server,

wherein upon an access request for said file made by the first branch cache client or any other any branch cache client to the second content server, the second content server is configured to:

reconstruct the file data segment identifiers for said file, based on the replicated file data segments hashes and the derived SSID of the first content server; and

provide the reconstructed file data segment identifiers to the branch cache client that requested access to the file.

9. The system according to claim 8 , wherein upon promoting the replicated volume at the second content server to a primary storage, the second content server is configured to use the SSID of the second content server instead of the derived SSID of the first content server.

10. The system according to claim 8 , wherein upon said access request for said file made by the first branch cache client or any other any branch cache client to the second content server, the branch cache clients are configured to use the file data cached at the first branch cache client only in a case that the cached file data segment identifiers and the reconstructed file data segment identifiers provided by the second content server are identical.

11. The system according to claim 8 , wherein the first content server is a distributed file system wherein said file is associated with one of a plurality of clusters, and wherein the SSID of the first content server is constructed based on an identifier of the cluster associated with said file, and an identifier of the volume containing said file.

12. The system according to claim 8 , wherein the deriving the SSID of the first content server is achieved by replicating the SSID of the first content upon the replicating of the volume containing said file.

13. The system according to claim 8 , wherein the first content server is configured to repeat the calculating, the storing, and the constructing whenever said file is modified.

14. A non-transitory computer readable medium for preserving branch cache file data segment identifiers upon volume replication, the computer readable medium comprising a set of instructions that when executed cause at least one computer processor to:

upon a first access request for a file, made by a first branch cache client to:

calculate file data segments hashes associated with said file;

store the calculated file data segments hashes on a directory attached to said file;

construct file data segment identifiers for said file, based on the file data segments hashes and a secret server identifier (SSID) of the first content server;

provide file data of said file and the file data segment identifiers to the first branch cache client; and

cache the file data and the file data segment identifiers;

upon replicating a volume containing said file, from the first content server to the second content server:

receive replicated said file data segments hashes contained in the replicated volume; and

derive the SSID of the first content server; and

upon an access request for said file made by the first branch cache client or any other branch cache client to the second content server:

reconstruct the file data segment identifiers for said file, based on the replicated file data segments hashes and the derived SSID of the first content server; and

provide the reconstructed file data segment identifiers to the branch cache client that requested access to the file.

15. The non-transitory computer readable medium according to claim 14 , further comprising a set of instructions that when executed cause at least one computer processor, upon promoting the replicated volume at the second content server to a primary storage, to use the SSID of the second content server instead of the derived SSID of the first content server.

16. The non-transitory computer readable medium according to claim 14 , further comprising a set of instructions that when executed cause at least one computer processor, upon said access request for said file made by the first branch cache client or any other any branch cache client to the second content server, to obtain by the branch cache clients the file data cached at the first branch cache client only in a case that the cached file data segment identifiers and the reconstructed file data segment identifiers provided by the second content server are identical.

17. The non-transitory computer readable medium according to claim 14 , wherein the first content server is a distributed file system wherein said file is associated with one of a plurality of clusters, and wherein the SSID of the first content server is constructed based on an identifier of the cluster associated with said file, and an identifier of the volume containing said file.

18. The non-transitory computer readable medium according to claim 14 , wherein the deriving the SSID of the first content server is achieved by replicating the SSID of the first content upon the replicating of the volume containing said file.

19. The non-transitory computer readable medium according to claim 14 , further comprising a set of instructions that when executed cause at least one computer processor to: repeat the calculating, the storing, and the constructing whenever said file is modified.

Assignments (8)
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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2018
From: FINE, DINA; ROBBINS, IDAN
To: DELL PRODUCTS L.P.
Reel/Frame 047087/0699 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
Continuity (1)
Related Publication 20180253234A1 · Sep 6, 2018