Quick filename lookup using name hash
First Claim
Patent Images
1. A method, comprising:
- receiving a target file name for a new directory entry set to be stored on a computer-readable storage medium;
using a directory entry stored on the computer-readable storage medium to locate a conversion table, the directory entry being designated as a critical primary directory entry;
converting the target file name to a converted version of the target file name in accordance with the conversion table stored on the computer-readable storage medium;
generating a name hash of the converted version of the target file name, the name hash of the target file name being a function of the converted version of the target file name;
for each existing directory entry set of a plurality of existing directory entry sets stored on the computer-readable storage medium;
comparing the name hash with a corresponding name hash of a converted version of a file name of the existing directory entry set;
determining a sure verification of mismatch for the existing directory entry set when the name hash and the corresponding name hash do not match; and
allowing the target file name for the new directory entry set when a sure verification of mismatch has been determined for each of the plurality of existing directory entry sets,wherein generating a name hash of the converted version of the target file name comprises;
determining the converted version of the target file name corresponds to one of a predetermined set of names, the predetermined set of names having a common prefix;
determining a second portion corresponding to at least a portion of the converted version of the target file name excluding the common prefix;
initializing a temporary value to a predetermined start value, the predetermined start value corresponding to the common prefix;
for each character of the second portion;
rotating the temporary value right by at least one bit; and
adding the second value to the temporary value; and
using the temporary value as the name hash.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of updating a file record on at least one of a first one or more computer readable storage media including writing at least three contiguous DirectoryEntry data structures corresponding to a directory entry set, the directory entry set corresponding to a file, the writing occurring to the at least one of a first one or more computer readable storage media.
-
Citations
23 Claims
-
1. A method, comprising:
-
receiving a target file name for a new directory entry set to be stored on a computer-readable storage medium; using a directory entry stored on the computer-readable storage medium to locate a conversion table, the directory entry being designated as a critical primary directory entry; converting the target file name to a converted version of the target file name in accordance with the conversion table stored on the computer-readable storage medium; generating a name hash of the converted version of the target file name, the name hash of the target file name being a function of the converted version of the target file name; for each existing directory entry set of a plurality of existing directory entry sets stored on the computer-readable storage medium; comparing the name hash with a corresponding name hash of a converted version of a file name of the existing directory entry set; determining a sure verification of mismatch for the existing directory entry set when the name hash and the corresponding name hash do not match; and allowing the target file name for the new directory entry set when a sure verification of mismatch has been determined for each of the plurality of existing directory entry sets, wherein generating a name hash of the converted version of the target file name comprises; determining the converted version of the target file name corresponds to one of a predetermined set of names, the predetermined set of names having a common prefix; determining a second portion corresponding to at least a portion of the converted version of the target file name excluding the common prefix; initializing a temporary value to a predetermined start value, the predetermined start value corresponding to the common prefix; for each character of the second portion; rotating the temporary value right by at least one bit; and adding the second value to the temporary value; and using the temporary value as the name hash. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A first non-transitory computer-readable storage medium on which computer-executable instructions are stored which, when executed by a computing device, cause the computing device to perform operations comprising:
-
receiving a target file name for a new directory entry set to be stored on a second computer-readable storage medium; using a directory entry stored on the second computer-readable storage medium to locate a conversion table, the directory entry being designated as a critical primary directory entry; converting the target file name to a converted version of the target file name in accordance with the conversion table stored on the second computer-readable storage medium; generating a name hash of the converted version of the target file name, the name hash of the target file name being a function of the converted version of the target file name; for each existing directory entry set of a plurality of existing directory entry sets stored on the second computer-readable storage medium; comparing the name hash with a corresponding name hash of a converted version of a file name of the existing directory entry set; determining a sure verification of mismatch for the existing directory entry set when the name hash and the corresponding name hash do not match; and allowing the target file name for the new directory entry set when a sure verification of mismatch has been determined for each of the plurality of existing directory entry sets wherein generating a name hash of the converted version of the target file name comprises; determining the converted version of the target file name corresponds to one of a predetermined set of names, the predetermined set of names having a common prefix; determining a second portion corresponding to at least a portion of the converted version of the target file name excluding the common prefix; initializing a temporary value to a predetermined start value, the predetermined start value corresponding to the common prefix; for each character of the second portion; rotating the temporary value right by at least one bit; and adding the second value to the temporary value; and using the temporary value as the name hash. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computing device comprising a processor and a memory, the memory storing computer-executable instructions which, when executed by the processor, cause the computing device to perform operations comprising:
-
receiving a target file name for a new directory entry set to be stored on a computer-readable storage medium; using a directory entry stored on the second computer-readable storage medium to locate a conversion table, the directory entry being designated as a critical primary directory entry; converting the target file name to a converted version of the target file name in accordance with the conversion table stored on the computer-readable storage medium; generating a name hash of the converted version of the target file name, the name hash of the target file name being a function of the converted version of the target file name; for each existing directory entry set of a plurality of existing directory entry sets stored on the computer-readable storage medium; comparing the name hash with a corresponding name hash of a converted version of a file name of the existing directory entry set; determining a sure verification of mismatch for the existing directory entry set when the name hash and the corresponding name hash do not match; and allowing the target file name for the new directory entry set when a sure verification of mismatch has been determined for each of the plurality of existing directory entry sets wherein generating a name hash of the converted version of the target file name comprises; determining the converted version of the target file name corresponds to one of a predetermined set of names, the predetermined set of names having a common prefix; determining a second portion corresponding to at least a portion of the converted version of the target file name excluding the common prefix; initializing a temporary value to a predetermined start value, the predetermined start value corresponding to the common prefix; for each character of the second portion; rotating the temporary value right by at least one bit; and adding the second value to the temporary value; and using the temporary value as the name hash. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification