Patent 7792877 was granted and assigned to Microsoft on September, 2010 by the United States Patent and Trademark Office.
A minimal perfect hash function can be created for input data by dividing the input data into multiple collections, with each collection comprising fewer elements that the input data as a whole. Subsequently, minimal perfect hash functions can be created for each of the collections and the resulting hash values can be offset by a value equivalent to the number of input data in preceding collections. The minimal perfect hash function can, thereby, be derived in parallel and can consume substantially less storage space. To further save storage space, the internal state of each individual minimal perfect hash function can be further compressed using algorithms exploiting a skewed distribution of values in a lookup table comprising the internal state.