IP Library Granted Patent US 11,586,586
Granted Patent B2
US 11,586,586 · App. 16/429,413 · Granted Feb 21, 2023

Indexes and queries for files by indexing file directories

Inventor: Jan Ralf Alexander Olderdissen (Herrenberg, DE)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/148G06F16/13G06F16/907
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,586,586
App. No.
16/429,413
Granted
Feb 21, 2023
Kind
B2
Abstract

The described technology is generally directed towards improving indexes and queries for files by indexing file directories. According to an embodiment, a system can comprise a memory and a processor that can execute the components stored in the memory. The components can comprise a data interface to couple to a database system comprising a database storing metadata describing a file system, wherein the database comprises records that correspond to ones of directories of the file system, and wherein the records comprise a field that corresponds to files logically stored in the directories of the file system. The system can further comprise an indexing component that creates an index for the records based on an index key and an analysis of the ones of the files and the directories to which the records correspond, wherein the index comprises links between instances of the index key and ones of the directories. Further, the system can comprise a query component that queries the database for a file of the file system by employing a search key and the index.

Claims (45)

1. A system, comprising:

a memory that stores a cache and computer executable components; and

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

a data interface to couple to a database system comprising a database storing metadata describing a file system, wherein the database comprises records that correspond to ones of directories of the file system, and wherein the records comprise a field that corresponds to files logically stored in the directories of the file system;

an indexing component that creates an index for the records based on an index key and an analysis of the files and the ones of the directories to which the records correspond, wherein the index comprises links between instances of the index key and the ones of the directories;

an incremental aggregating component that:

collects information describing the files and the ones of the directories,

aggregates the information into aggregated information, and

periodically updates the database system to include the aggregated information as metadata associated with the files and the ones of the directories; and

a query component that locates a file of the file system by executing a first query of the database by employing a search key and the index, and by executing a second query for the file, of a directory identified by the first query, wherein the search key comprises a searched incomplete portion of a pathname, wherein the pathname corresponds to nested subdirectories of a path to a directory of the directories of the file system that stores the file, wherein an incomplete portion comprises a combination of multiple subdirectories of the nested subdirectories, and wherein the index key comprises an indexed incomplete portion of the pathname.

2. The system of claim 1 , wherein querying of the database by the query component comprises:

identifying the directory by performing the first query of the database by employing the index to retrieve a link between the search key and the directory, wherein the directory logically contains the file; and

performing the second query of the directory to identify the file.

3. The system of claim 2 , wherein the first query and the second query individually comprise a single read operation.

4. The system of claim 3 , wherein the second query identifies the file based on a query of the records.

5. The system of claim 4 , wherein the query of the records comprises a pattern search of the field of the records based on the search key.

6. The system of claim 1 , wherein the search key further comprises a portion of a filename of the file system.

7. The system of claim 1 , wherein the index key does not comprise file metadata describing the files logically stored in the directories.

8. A method, comprising:

coupling, by a system comprising a processor, to a data structure system comprising a data structure storing metadata describing a collection of objects, wherein the data structure comprises groups that correspond to ones of groups of objects of the collection of objects, and wherein the groups comprise a property that corresponds to objects logically stored in directories of a file system of objects;

creating, by the system, an index for the groups based on an index key and an analysis of the objects and the ones of the groups to which the objects correspond, wherein the index comprises links between instances of the index key and the ones of the groups;

aggregating, incrementally, by the system, information describing ones of the objects and the groups to which the objects correspond, resulting in aggregated object information;

updating, by the system, the data structure system to include the aggregated object information as metadata associated with corresponding ones of the directories of the file system; and

querying, by the system, the data structure for an object of the collection of objects by employing a search key and the index, wherein the search key comprises a searched incomplete portion of a pathname, wherein the pathname corresponds to nested subdirectories of a path to a directory of the directories of the file system that stores the object, wherein an incomplete portion comprises a combination of multiple subdirectories of the nested subdirectories, and wherein the index key comprises an indexed incomplete portion of the pathname.

9. The method of claim 8 , wherein the querying the data structure comprises:

performing a first query of the data structure by employing the index to retrieve a link between the search key and a group of objects of the collection of objects, wherein the group of objects logically contains the object; and

performing a second query of the group of objects to identify the object.

10. The method of claim 9 , wherein the first query and the second query individually comprise a single page read operation.

11. The method of claim 9 , wherein the second query identifies the object based on querying the records.

12. The method of claim 11 , wherein the querying of the records comprises a pattern search of a field of the records based on the search key.

13. The method of claim 8 , wherein the search key further comprises a portion of a filename.

14. The method of claim 8 , wherein the index key does not comprise file metadata describing a file.

15. A machine-readable storage medium comprising executable instructions that, when executed by a processor, facilitate performance of operations, the operations comprising:

coupling to a system comprising a data store storing metadata describing a file system, wherein the data store comprises records that correspond to ones of directories of the file system, and wherein the records comprise a field that corresponds to files logically stored in the directories of the file system;

creating an index for the records based on an index key and an analysis of the files and the ones of the directories to which the records correspond, wherein the index comprises links between instances of the index key and the ones of the directories;

incrementally aggregating information describing the files and the ones of the directories, resulting in aggregated information;

periodically updating the data store to include the aggregated information as metadata associated with corresponding files and the ones of the directories; and

querying the data store for a file of the file system by employing a search key and the index, wherein the search key comprises a searched incomplete portion of a pathname, wherein the pathname corresponds to nested subdirectories of a path to a directory of the directories of the file system that stores the file, wherein an incomplete portion comprises a combination of multiple subdirectories of the nested subdirectories, and wherein the index key comprises an indexed incomplete portion of the pathname.

16. The machine-readable storage medium of claim 15 , wherein the querying the data store comprises:

performing a first query of the data store by employing the index to retrieve a link between the search key and a directory of the directories, wherein the directory logically contains the file; and

performing a second query of the directory to identify the file.

17. The machine-readable storage medium of claim 16 , wherein the first query and the second query individually comprise a single read operation.

18. The machine-readable storage medium of claim 16 , wherein the second query identifies the file based on a query of the records.

19. The machine-readable storage medium of claim 18 , wherein the query of the records comprises a pattern search of the field of the records based on the search key.

20. The machine-readable storage medium of claim 15 , wherein the search key further comprises a portion of a filename.

Assignments (9)
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 (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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2019
From: OLDERDISSEN, JAN RALF ALEXANDER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049346/0236 →