Patent ID: 7603482

Claim:
A computer readable storage medium storing computer executable code, when executed by a computer to convert a DNS-encoded peer name to a canonical peer name and to convert a peer name to a DNS-encoded peer name, wherein the computer executable code comprises computer code to: when the code is converting a peer name to a DNS encoded peer name: encoding a classifier using a reversible encoding process; encoding an authority; reviewing the encoded classifier, comprising: if the resulting encoded classifier start with an unacceptable character, inserting a predetermined acceptable character prior to the unacceptable character; if the resulting encoded classifier end with an unacceptable character, inserting the predetermined acceptable character after the unacceptable character; if the resulting encoded classifier begin or end with the predetermined acceptable character, inserting an additional predetermined acceptable character next to the existing predetermined acceptable character; if the resulting encoded classifier is greater than 63 characters, breaking the resulting encoded classifier into less than or equal to 63 character blocks by inserting periods; starting DNS name address with the encoded classifier; adding the encoded authority to the encoded classifier, separated by a period; adding a predetermined domain name to the end of the encoded authority; and when the computer code is converting a DNS-encoded peer name to a canonical peer name: if a predetermined domain name is the ending character of the DNS name, removing the predetermined domain name; removing all leading and trailing predetermined acceptable characters from the classifier and authority; removing all periods from the encoded classifier; decoding the classifier; decoding the authority using a hash function and a public key; arranging the decoded authority and decoded classifier into the peer name in a form “authority.classifier”.