Patent ID: 7630983

Claim:
A computer-implemented method for efficiently storing and retrieving information related to a first telephone number, comprising: loading a list of telephone number portions into a computer memory, the list of telephone number portions comprising at least one telephone number portion, wherein the at least one telephone number portion comprises less than ten digits; sorting the list of telephone number portions; determining if a portion of the first telephone number matches the at least one telephone number portion in the list of telephone number portions, wherein the portion of the first telephone number excludes from the first telephone number the following: any leading one, any leading zero, and a country code; in response to determining that the portion of the first telephone number matches the at least one telephone number portion in the list of telephone number portions, generating an index corresponding to a location where the information related to the first telephone number is to be stored, the index being derived from a position of the portion of the first telephone number in the list and a numerical value of remaining digits in the first telephone number; storing, in a record, information related to the telephone number in accordance with the generated index; retrieving, from the record, information related to the telephone number using the generated index; and forwarding the information related to the telephone number for display to a user; wherein generating an index corresponding to a location where the information related to the first telephone number is to be stored comprises determining the position in the list of telephone number portions of the at least one telephone number portion that matches the portion of the first telephone number, multiplying a numerical value of the position of the at least one telephone number portion in the list of telephone number portions by a number of telephone numbers that can be represented by the at least one telephone number portion that matches the portion of the first telephone number to generate an index product, and adding the numerical value of remaining digits in the first telephone number to the index product to generate the index, the remaining digits in the first telephone number comprising digits of the first telephone number remaining after removal of the portion of the first telephone number from the first telephone number.