Patent ID: 7711744

Claim:
A method carried out by a server comprising a communication interface, a processor, and data storage, the method comprising: the server receiving a set of input strings from a first packet-based telephone, the set of input strings consisting of a first input string and a second input string, the first and second input strings being delimited by a delimiter, the first and second input strings each consisting of one or more symbols, each symbol associated with a respective character set; the server maintaining a database of user-directory records, each record comprising two or more attributes, each attribute comprising one or more characters; the server identifying a first list of records in response to the first input string, the first list consisting of the user-directory record or records that have any attribute that matches the first input string, wherein an attribute matches an input string when, on a character-by-character, symbol-by-symbol basis, the characters of at least a portion of the attribute are elements of the character sets associated with the symbols of the input string; the server identifying a second list of records from the first list in response to the second input string, the second list consisting of the records of the first list that have any additional attribute that matches the second input string wherein, independent of the order of the input strings, independent of the number of symbols in each input string, independent of whether he first input string is the same as or different than the secant input string, and independent of how many characters make up each matching attribute, one of the two attributes matches the first input string and the other of the two attributes matches the second input string, wherein different records can match the input strings with respect to different attributes; and the server providing dynamically-updated subsets of the first and second lists to the first packet-based telephone for display.