Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

A Method of Hashing Telephone Numbers that May Include Alphabetic Characters

IP.com Disclosure Number: IPCOM000103365D
Original Publication Date: 1990-Oct-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 1 page(s) / 41K

Publishing Venue

IBM

Related People

Diedrich, RA: AUTHOR [+2]

Abstract

A method for hashing on telephone numbers that may contain non-numeric characters is disclosed. The algorithm is designed to put all combinations of the last two numeric digits into different buckets and to spread telephone numbers containing non-numeric characters evenly.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 87% of the total text.

A Method of Hashing Telephone Numbers that May Include Alphabetic Characters

      A method for hashing on telephone numbers that may contain
non-numeric characters is disclosed.  The algorithm is designed to
put all combinations of the last two numeric digits into different
buckets and to spread telephone numbers containing non-numeric
characters evenly.

      The algorithm used for this hash is:
      1.  Take the low order nibble from each of the last two
characters of the telephone number.
      2.  Multiply one of these nibbles by 11 (or 10).
      3.  Add this result to the other nibble.
      4.  Use the low order seven bits of this result as an index
into an array of 128 pointers to lists of directory numbers that
match the hash.

      This method of hashing on the telephone numbers guarantees a
unique hash for each combination of low order two numeric digits in
the telephone number.  It also allows a well-mixed hash if there are
alphabetic characters in the last two digits of the telephone number.
The multiplier of 11 was chosen since it is close to the square root
of 128 (the table size).

      While the table is slightly larger than the 100 entries
required for a strictly numeric hash, it is much smaller than a table
that would be required by a straight extension of the hash.

      If the EBCDIC encoding is used for the telephone numbers, the
table can be reduced to 100 entries and 10 can be used as the
multiplier...