Patexia. Research
Issue Date Dec 31, 2009
Claim this application

Patent Application - Systems and Methods of Reverse Lookup > Claims

  • 1. A method of reverse lookup using a reverse lookup hint, the method comprising: accessing, by a computer processor, metadata related to a file or directory, the metadata comprising a unique identifier and a reverse lookup hint;accessing, by a computer processor, a map structure related to a parent of the file or directory, the map structure comprising entries; andidentifying, by a computer processor, one or more entries in the map structure using at least the unique identifier and the reverse lookup hint, each of the one or more entries comprising a name of the file or directory.
    • 2. The method of claim 1, further comprising: accessing, by a computer processor, one or more ancestor metadata related to one or more ancestor files or directories of the file or directory, each of the one or more ancestor metadata comprising a unique identifier and a reverse lookup hint;accessing, by a computer processor, one or more map structures related to one or more parents of the one or more ancestor files or directories, each of the one or more map structures comprising entries;identifying, by a computer processor, one or more entries in the one or more map structures using at least the unique identifier and the reverse lookup hint of at least one of the one or more ancestor metadata, each of the one or more entries comprising a name of one of the one or more ancestor metadata; andconstructing, by a computer processor, one or more global paths of the file or directory.
    • 3. The method of claim 1, wherein the identifying comprises: searching, by a computer processor, the map structure for a range of zero or more entries which correspond to the reverse lookup hint;if one or more entries are found which correspond to the reverse lookup hint, identifying which of the one or more entries, if any, correspond to the unique identifier; andif zero entries within the range are found which correspond to the reverse lookup hint and the unique identifier, identifying which of the entries of the map structure, if any, correspond to the unique identifier.
    • 4. The method of claim 1, wherein the reverse lookup hint comprises at least a portion of a hash value generated by applying a hash function to a name of the file or directory.
      • 5. The method of claim 4, wherein the reverse lookup hint further comprises at least a portion of a sequence number associated with the at least a portion of the hash value.
    • 6. The method of claim 1, wherein the metadata further comprises a count of links between each parent of the file or directory and the file or directory.
    • 7. The method of claim 1, wherein the identifying further comprises using an identifier stored in the one or more entries.
  • 8. A method of enabling reverse lookup using a reverse lookup hint, the method comprising: generating, by a computer processor, a reverse lookup hint for a file or directory;adding, by a computer processor, an entry in a map structure related to a parent of the file or directory, the entry comprising the reverse lookup hint; andmodifying, by a computer processor, metadata associated with the file or directory to include the reverse lookup hint.
    • 9. The method of claim 8, wherein the reverse lookup hint comprises at least a portion of a hash value and generating the reverse lookup hint comprises generating the hash value by applying a hash function to a name of the file or directory.
      • 10. The method of claim 9, wherein the reverse lookup hint further comprises at least a portion of a sequence number associated with the at least a portion of the hash value and generating the reverse lookup hint further comprises generating the sequence number to be different than a previously generated sequence number associated with the at least a portion of the hash value.
    • 11. The method of claim 8, wherein the entry further comprises a unique identifier related to the file or directory and a name of the file or directory.
  • 12. A system for processing reverse lookups, the system comprising: at least one computer processor; andat least one executable software module executed by the at least one computer processor and configured to: access metadata related to a file or directory, the metadata comprising a unique identifier and a reverse lookup hint;access a map structure related to a parent of the file or directory, the map structure comprising entries; andidentify one or more entries in the map structure using at least the unique identifier and the reverse lookup hint, each of the one or more entries comprising a name of the file or directory.
    • 13. The system of claim 12, wherein the at least one executable software module is further configured to: access one or more ancestor metadata related to one or more ancestor files or directories of the file or directory, each of the one or more ancestor metadata comprising a unique identifier and a reverse lookup hint;access one or more map structures related to one or more parents of the one or more ancestor files or directories, each of the one or more map structures comprising entries;identify one or more entries in the one or more map structures using at least the unique identifier and the reverse lookup hint of at least one of the one or more ancestor metadata, each of the one or more entries comprising a name of one of the one or more ancestor metadata; andconstruct one or more global paths of the file or directory.
    • 14. The system of claim 12, wherein the at least one executable software module is further configured to: search the map structure for a range of zero or more entries which correspond to the reverse lookup hint;if one or more entries are found which correspond to the reverse lookup hint, identify which of the one or more entries, if any, correspond to the unique identifier; andif zero entries within the range are found which correspond to the reverse lookup hint and the unique identifier, identify which of the entries of the map structure, if any, correspond to the unique identifier.
    • 15. The system of claim 12, wherein the at least one executable software module is further configured to: generate the reverse lookup hint for the file or directory;add an entry in the map structure, the entry comprising the reverse lookup hint; andmodify the metadata to include the reverse lookup hint.
      • 16. The system of claim 15, wherein the reverse lookup hint comprises at least a portion of a hash value and the at least one executable software module is further configured to generate the hash value by applying a hash function to a name of the file or directory.
        • 17. The system of claim 16, wherein the reverse lookup hint further comprises at least a portion of a sequence number associated with the at least a portion of the hash value and the at least one executable software module is further configured to generate the sequence number to be different than a previously generated sequence number associated with the at least a portion of the hash value.
      • 18. The system of claim 15, wherein the entry further comprises the unique identifier and at least a name of the file or directory.
    • 19. The system of claim 12, wherein the metadata further comprises a count of links between each parent of the file or directory and the file or directory.
    • 20. The system of claim 12, wherein the at least one executable software module is further configured to identify the one or more entries using an identifier stored in the one or more entries.