IP Library Granted Patent US 11,681,653
Granted Patent B2
US 11,681,653 · App. 16/905,256 · Granted Jun 20, 2023

Namespace representation and enhanced browsability for replicated file systems

Inventors: Sri Koppaka (San Jose, CA); Evgeny Popovich (Port Coquitlam, CA); Vishal Sahu (Bothell, WA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/152G06F16/164G06F16/188G06F21/6227
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,681,653
App. No.
16/905,256
Granted
Jun 20, 2023
Kind
B2
Abstract

Systems and methods facilitating namespace representation and enhanced browsability for replicated file systems are described herein. A method as described herein can include computing, by a device operatively coupled to a processor, a first length of a first object key for a first data object, wherein the first object key comprises a directory path associated with the first data object; in response to determining that the first length is larger than a threshold, creating, by the device, a second data object having a second object key that comprises a representation of the directory path associated with the first data object; and altering, by the device, the first object key in response to the creating the second data object, resulting in an altered first object key that comprises a reference to the second data object instead of the directory path associated with the first data object.

Claims (36)

1. A data storage system, comprising:

a memory that stores executable components; and

a processor that executes the executable components stored in the memory, wherein the executable components comprise:

a path analysis component that determines a first length of a first object name associated with a first data object, the first object name comprising a directory path associated with the first data object;

a junction point component that, in response to determining that the first length is larger than a length threshold, generates a second data object as a new data object having a same object structure as the first data object, wherein the second data object is generated with a second object name that comprises a representation of the directory path associated with the first data object, and wherein the second object name has a second length that is less than the first length; and

a path reference component that alters the first object name in response to the junction point component generating the second data object, resulting in an altered first object name that comprises a reference to the second data object instead of the directory path associated with the first data object.

2. The data storage system of claim 1 , wherein the representation of the directory path is a cryptographic hash of the directory path.

3. The data storage system of claim 2 , wherein the second object name comprises a redirect indicator and the cryptographic hash of the directory path, and wherein the reference to the second data object in the altered first object name comprises the cryptographic hash of the directory path.

4. The data storage system of claim 1 , wherein the executable components further comprise:

a metadata component that associates metadata with the second data object, the metadata indicating the second data object as a redirection object for the directory path associated with the first data object.

5. The data storage system of claim 1 , wherein the directory path is a first directory path, and wherein the path reference component further identifies a third data object being associated with a second directory path that includes the first directory path and alters a third object name associated with the third data object, resulting in an altered third object name that comprises the reference to the second data object instead of the first directory path.

6. The data storage system of claim 1 , wherein the first data object corresponds to a file stored on the data storage system, and wherein the first object name comprises a filename of the file.

7. The data storage system of claim 6 , wherein the length threshold is an object name length threshold, wherein the representation is a first representation, and wherein the executable components further comprise:

a name alteration component that, in response to determining that a third length of the filename is larger than a filename length threshold, alters the filename as present in the first object name by replacing at least a portion of the filename as present in the first object name with a second representation of the filename.

8. The data storage system of claim 7 , wherein the representation of the filename comprises a cryptographic hash of the filename.

9. The data storage system of claim 1 , wherein the executable components further comprise:

an object transfer component that provides the first data object and the second data object to an object storage system that is distinct from the data storage system.

10. The data storage system of claim 9 , wherein the length threshold is an object name length limit associated with the object storage system.

11. A method, comprising:

computing, by a device operatively coupled to a processor, a first length of a first object key for a first data object, wherein the first object key comprises a directory path associated with the first data object;

in response to determining that the first length is larger than a threshold, creating, by the device, a second data object as a new data object having a second object key that comprises a representation of the directory path associated with the first data object, wherein the second data object has a same object structure as the first data object; and

altering, by the device, the first object key in response to the creating the second data object, resulting in an altered first object key that comprises a reference to the second data object instead of the directory path associated with the first data object.

12. The method of claim 11 , wherein the representation of the directory path is a cryptographic hash of the directory path.

13. The method of claim 12 , wherein the second object key comprises a junction point indicator and the cryptographic hash of the directory path, and wherein the reference to the second data object in the altered first object key comprises the cryptographic hash of the directory path.

14. The method of claim 11 , wherein the first data object corresponds to a file stored on a file storage system, and wherein the first object key comprises a filename of the file.

15. The method of claim 14 , wherein the threshold is a first threshold, wherein the representation is a first representation, and wherein the method further comprises:

in response to determining that a third length of the filename is larger than a second threshold, altering, by the device, the filename as present in the first object key by replacing at least a portion of the filename as present in the first object key with a second representation of the filename.

16. The method of claim 15 , wherein the representation of the filename comprises a cryptographic hash of the filename.

17. A non-transitory machine-readable medium comprising computer executable instructions that, when executed by a processor of a data storage system, facilitate performance of operations, the operations comprising:

computing a first length of a first name of a first object associated with the data storage system, wherein the first name comprises a directory path associated with the first object;

in response to determining that the first length is larger than a threshold length, generating a second object as a new object associated with the data storage system, wherein the second object is assigned a second name that comprises a representation of the directory path associated with the first object, and wherein the second object has a same object structure as the first object; and

altering the first name of the first object in response to generating the second object, resulting in an altered first name that comprises a reference to the second object instead of the directory path associated with the first object.

18. The non-transitory machine-readable medium of claim 17 , wherein the representation of the directory path is a cryptographic hash of the directory path, wherein the second name of the second object comprises a redirection indicator and the cryptographic hash of the directory path, and wherein the reference to the second object in the altered first name comprises the cryptographic hash of the directory path.

19. The non-transitory machine-readable medium of claim 17 , wherein the first object corresponds to a file stored on the data storage system, and wherein the first name of the first object comprises a filename of the file.

20. The non-transitory machine-readable medium of claim 19 , wherein the threshold length is a first threshold length, and wherein the operations further comprise:

in response to determining that a third length of the filename is larger than a second threshold length, altering the filename as present in the first name of the first object by replacing at least a portion of the filename in the first name of the first object with a cryptographic hash of the filename.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: KOPPAKA, SRI; POPOVICH, EVGENY; SAHU, VISHAL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052979/0047 →