Systems and methods of reverse lookup
First Claim
Patent Images
1. A process for reverse lookups using a map structure and a structure referenced by the map structure comprising:
- accessing, by a computer processor, a first data structure, the first data structure comprising a first reverse lookup hint and a reference to a second data structure, the first data structure related to a file or directory and the reference to the second data structure related to a parent directory of the file or directory;
identifying, by a computer processor, at least one matching entry in a first name map structure using the first reverse lookup hint, the first name map structure related to the parent directory, the at least one matching entry in the first name map structure corresponding to the file or directory and including a name of the file or directory;
using the reference to the second data structure to access, by a computer processor, the second data structure, the second data structure comprising a second reverse lookup hint and a reference to a third data structure, the reference to the third data structure related to a grandparent directory of the file or directory;
identifying, by a computer processor, at least one matching entry in a second name map structure using the second reverse lookup hint, the second name map structure related to the grandparent directory, the at least one matching entry in the second name map structure corresponding to the parent directory and including a name of the parent directory;
using the reference to the third data structure to access, by a computer processor, the third data structure, the third data structure comprising a third reverse lookup hint; and
identifying, by a computer processor, at least one matching entry in a third name map structure using the third reverse lookup hint, the at least one matching entry in the third name map structure corresponding to the grandparent directory and including a name of the grandparent directory.
12 Assignments
0 Petitions
Accused Products
Abstract
One embodiment includes a process for reverse lookups using a map structure and a structure being referenced by the map structure that comprises receiving a structure that comprises a reference to the structure and a reverse lookup hint; locating one or more entries in a map structure that correspond to the reverse lookup hint; and identifying at least one matching entry in the map structure that corresponds to the structure.
-
Citations
19 Claims
-
1. A process for reverse lookups using a map structure and a structure referenced by the map structure comprising:
-
accessing, by a computer processor, a first data structure, the first data structure comprising a first reverse lookup hint and a reference to a second data structure, the first data structure related to a file or directory and the reference to the second data structure related to a parent directory of the file or directory; identifying, by a computer processor, at least one matching entry in a first name map structure using the first reverse lookup hint, the first name map structure related to the parent directory, the at least one matching entry in the first name map structure corresponding to the file or directory and including a name of the file or directory; using the reference to the second data structure to access, by a computer processor, the second data structure, the second data structure comprising a second reverse lookup hint and a reference to a third data structure, the reference to the third data structure related to a grandparent directory of the file or directory; identifying, by a computer processor, at least one matching entry in a second name map structure using the second reverse lookup hint, the second name map structure related to the grandparent directory, the at least one matching entry in the second name map structure corresponding to the parent directory and including a name of the parent directory; using the reference to the third data structure to access, by a computer processor, the third data structure, the third data structure comprising a third reverse lookup hint; and identifying, by a computer processor, at least one matching entry in a third name map structure using the third reverse lookup hint, the at least one matching entry in the third name map structure corresponding to the grandparent directory and including a name of the grandparent directory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A distributed file system configured to perform reverse lookups, the distributed file system comprising:
-
a plurality of storage devices each storage device in communication via a network, each storage device comprising a processor and a memory for storing data; a plurality of files that are logically organized in a tree and each file distributed over the network so as to be stored, in parts, across the memory of two or more of the plurality of nodes; at least one of the plurality storage devices storing structure data in the memory, the structure data comprising; a name map structure corresponding to a parent directory of the tree and comprising; a first set of structures corresponding to children files of the parent directory, each of the first set of structures comprising; a filename associated with the corresponding structure; and a file reference to a file metadata file corresponding to the filename; the file metadata file comprising; a parent directory reference to a directory metadata file corresponding to a parent directory of the corresponding file; and a first reverse lookup hint that is used to locate the file reference in the name map structure. - View Dependent Claims (14, 15, 16)
-
-
17. A distributed file system for processing reverse lookups, the distributed file system comprising:
-
a plurality of data storage devices configured to communicate with each other, each data storage device comprising a processor and a memory; a first module stored in the memory of at least one of the plurality of data storage devices, the processor configured to run the first module, the first module configured to; access a first data structure, the first data structure comprising a first reverse lookup hint and a reference to a second data structure, the first data structure related to a file or directory and the reference to the second data structure related to a parent directory of the file or directory; identify at least one matching entry in a first name map structure using the first reverse lookup hint, the first name map structure related to the parent directory, the at least one matching entry in the first name map structure corresponding to the file or directory; use the reference to the second data structure to access the second data structure, the second data structure comprising a second reverse lookup hint and a reference to a third data structure, the reference to the third data structure related to a grandparent directory of the file or directory; identify at least one matching entry in a second name map structure using the second reverse lookup hint, the second name map structure related to the grandparent directory, the at least one matching entry in the second name map structure corresponding to the parent directory; use the reference to the third data structure to access the third data structure, the third data structure comprising a third reverse lookup hint; and identify at least one matching entry in a third name map structure using the third reverse lookup hint, the at least one matching entry in the third name map structure corresponding to the grandparent directory. - View Dependent Claims (18, 19)
-
Specification