Apparatus and methods of use for index key generation for identifiers containing metadata elements
AssigneePorter Lee Corporation
InventorTimothy Smith
Life of this patent
Estimating the term…
Abstract
The invention relates to creating unique identifiers for indexing, sorting, and searching on multiple-part alpha numeric information. The information can be in a database, spreadsheet, or printed on materials that need to be manually placed in order.
Claims13
A computer implemented method, executed by at least one processor and utilizing a non-transitory computer-readable medium that stores program instructions, for automatically generating and applying index keys for identifiers that contain metadata elements, comprising the steps:
- a. parsing natural identifiers into constituent sections comprising alphanumeric portions and separators, including removing leading zeros from numerical portions;
- determining a length of each alphanumeric portion after removing leading zeros;
- assigning section length prefixes to each alphanumeric portion based on the determined length, wherein numerical portions of length 1-15 receive prefixes selected from the group consisting of 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F respectively, and alphabetical portions of length 1-15 receive prefixes selected from the group consisting of J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X respectively;
- wherein sections exceeding 15 characters in length receive escape prefixes G for numerical portions and Y for alphabetical portions followed by a 2-digit base 36 length encoding, enabling virtually unlimited section lengths;
- wherein special handling of decimal sections is enabled by identifying decimal sections, omitting length prefixes for the decimal portion, appending a decimal suffix character having a lower ASCII value than numerical characters, and removing trailing zeros from decimal portions before encoding;
- wherein force positioning is enabled using prefix 0 for first position and prefix Z for last position;
- concatenating the assigned prefixes with their corresponding alphanumeric portions to create lexical identifier keys;
- storing the lexical identifier keys in a computer-readable medium as an index that maintains natural sort order when the lexical identifier keys are subjected to lexicographic sorting;
- wherein searching for an identifier is performed by applying the same parsing and prefix assignment process to a search term to generate a corresponding lexical identifier key for index lookup, such that identifiers with different zero-padding configurations resolve to identical lexical identifier keys;
- b. Creating lexical identifier keys from natural identifiers and sorting the natural identifiers in a sort order;
- using the lexical identifier keys as an index to maintain the sort order;
- using a computer readable medium to sort lexicographic order;
- increasing the accuracy of searching the lexicographic order with the natural identifiers;
- breaking the natural identifiers into alpha, numbers, and separators;
- adding a prefix to the identifier based on the portion being a number of Alpha and putting the prefixed identifiers back together.
A computer implemented method, executed by at least one processor and utilizing a non-transitory computer-readable medium that stores program instructions, of using index key generation for identifiers containing metadata elements from a crime lab, comprising the steps:
- a. Feeding existing identifiers being into a deterministic process and creating unique compound lexical identifiers in an index;
- b. Recovering an item from a scene A identified as A001.1, where 001. as item #1, and .1 as cutting #1 from item #1;
- c. Providing a numbering and sub sampling comprise an unlimited number of levels deep;
- d. Obtaining the next item for scene A by search in the index for A* ordered descending, returning a top row only;
- e. Obtaining the next sub item (cutting) for item #2 from scene A by searching in the index for A002*, ordered descending and returning the top row only.
A computer-implemented method, computer implemented method, executed by at least one processor and utilizing a non-transitory computer-readable medium that stores program instructions, using index key generating lexically sortable index keys for original identifiers that each include metadata, the method comprising:
- a. receiving each original identifier that includes a plurality of alphanumeric sections separated by separator characters;
- b. parsing the received identifier into constituent sections that include numeric subsections and alphabetic subsections;
- c. for every numeric subsection, removing leading zero characters and determining a length of the resulting numeric subsection;
- d. for every alphabetic subsection, determining a length of the alphabetic subsection;
- e. assigning, to each subsection, a section-length prefix selected from (i) a first lookup table that maps numeric subsection lengths of 1–15 to the characters 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F and (ii) a second lookup table that maps alphabetic subsection lengths of 1–15 to the characters J, K, L, M, N, O, P, Q, R, S, T, U, V, W, and X;
- f. when a subsection exceeds fifteen characters in length, appending an escape prefix that is (i) the character G for numeric subsections or (ii) the character Y for alphabetic subsections, followed by a two-digit base-36 representation of the subsection length;
- g. for a decimal numeric subsection, omitting the section-length prefix for digits occurring after a decimal point, appending a suffix character having an ASCII value lower than any numeric character, and removing trailing zero characters from the decimal portion;
- h. concatenating, in the original left-to-right order, the prefixes generated in steps (e)–(g) with their corresponding subsections to form a “lexical index key” that uniquely represents the original identifier;
- i. selectively overriding natural sort order by substituting (i) prefix 0 to force the lexical index key to a first position or (ii) prefix Z to force the lexical index key to a last position in a sorted list;
- j. storing each lexical index key in a computer-readable medium as an element of an index such that lexicographic sorting of the lexical index keys produces the natural ordering of the original identifiers;
- and
- k. searching the index for a query identifier by generating, according to steps (a)–(h), a query lexical index key and performing a lexicographic lookup of the query lexical index key, whereby identifiers that differ only in leading-zero padding resolve to an identical lexical index key.
Dependencies are inferred from the claim text.