Claims
- 1. A method, implemented on an apparatus, of detecting a linguistic encoding type of a domain name, the method comprising:
receiving a digital representation of the domain name; and using said representation to traverse a tree structure having multiple nodes connected by paths and having terminal nodes that uniquely identify distinct encoding types, thereby detecting the linguistic encoding type of the domain name.
- 2. The method of claim 1, wherein the tree structure is traversed by considering individual characters of the domain name or portions of said characters to determine how to move between nodes on the tree structure.
- 3. The method of claim 1, wherein the tree structure is traversed by comparing digital representations of linguistic digits in the nodes of the tree structure against digital representations of individual characters of the domain name or portions of said characters, and thereby determining how to move between nodes on the tree structure.
- 4. The method of claim 3, wherein a linguistic digit of a root of the tree structure is compared against a digital representation of a last character of the domain name and
wherein a linguistic digit of a terminal node of the tree structure is compared against a digital representation of a first character of the domain name.
- 5. The method of claim 4, wherein the terminal node specifies the linguistic encoding type of the domain name.
- 6. The method of claim 1, further comprising reversing the sequence of the digital representation of the domain name prior to using said representation to traverse the tree structure, wherein a digital representation of a last character of the domain name is compared to a root node on the tree structure.
- 7. The method of claim 6, wherein a digital representation of a next to last character of the domain name is compared to a second node of the tree structure.
- 8. The method of claim 6, further comprising:
(a) using a next previous character of the domain name to identify a next lower level node of the tree structure; and (b) repeating (a) until reaching a terminal node of the tree structure.
- 9. The method of claim 1, wherein the tree structure is ternary tree structure.
- 10. The method of claim 1, wherein the nodes of the tree structure comprise digital sequences of linguistic digits from characters of multiple encoding types.
- 11. A computer program product comprising a machine readable medium on which is stored program code instructions for performing a method of detecting a linguistic encoding type of a domain name, the program instructions comprising:
program code for receiving a digital representation of the domain name; and program code for using said representation to traverse a tree structure having multiple nodes connected by paths and having terminal nodes that uniquely identify distinct encoding types, thereby detecting the linguistic encoding type of the domain name.
- 12. The computer program product of claim 11, wherein the tree structure is traversed by executing program code for considering individual characters of the domain name or portions of said characters to determine how to move between nodes on the tree structure.
- 13. The computer program product of claim 11, wherein the tree structure is traversed by executing program code for comparing digital representations of linguistic digits in the nodes of the tree structure against digital representations of individual characters of the domain name or portions of said characters, and thereby determining how to move between nodes on the tree structure.
- 14. The computer program product of claim 13, wherein a linguistic digit of a root of the tree structure is compared against a digital representation of a last character of the domain name and
wherein a linguistic digit of a terminal node of the tree structure is compared against a digital representation of a first character of the domain name.
- 15. The computer program product of claim 14, wherein the terminal node specifies the linguistic encoding type of the domain name.
- 16. The computer program product of claim 11, further comprising program code for reversing the sequence of the digital representation of the domain name prior to using said representation to traverse the tree structure, wherein executing program code compares a digital representation of a last character of the domain name to a root node on the tree structure.
- 17. The computer program product of claim 16, wherein a digital representation of a next to last character of the domain name is compared to a second node of the tree structure.
- 18. The computer program product of claim 16, further comprising:
(a) program code for using a next previous character of the domain name to identify a next lower level node of the tree structure; and (b) program code for repeating (a) until reaching a terminal node of the tree structure.
- 19. The computer program product of claim 11, wherein the tree structure is ternary tree structure.
- 20. The computer program product of claim 11, wherein the nodes of the tree structure comprise digital sequences of linguistic digits from characters of multiple encoding types.
- 21. An apparatus for detecting a linguistic encoding type of a domain name, the apparatus comprising:
one or more processors; memory in coupled to said one or more processor and configured to store a tree structure having multiple nodes connected by paths and having terminal nodes that uniquely identify distinct encoding types; and a network interface configured to receive domain names from network nodes;
wherein the one or more processors are configured or designed to traverse the tree structure using information from a domain name to thereby detect the linguistic encoding type of the domain name.
- 22. The apparatus of claim 21, wherein the tree structure is ternary tree structure.
- 23. The apparatus of claim 21, wherein the nodes of the tree structure comprise digital sequences of linguistic digits from characters of multiple encoding types.
- 24. The apparatus of claim 21, wherein the one or more processors is further configured or designed to traverse the tree structure by considering individual characters of the domain name or portions of said characters to determine how to move between nodes on the tree structure.
- 25. The apparatus of claim 21, wherein the one or more processors is further configured or designed to traverse the tree structure by comparing digital representations of linguistic digits in the nodes of the tree structure against digital representations of individual characters of the domain name or portions of said characters, and thereby determining how to move between nodes on the tree structure.
- 26. The apparatus of claim 21, wherein the one or more processors are further configured or designed to (i) reverse the sequence of the digital representation of the domain name prior to using said representation to traverse the tree structure, and (ii) compare a digital representation of a last character of the domain name to a root node on the tree structure.
- 27. The apparatus of claim 26, wherein the one or more processors are further configured to compare a digital representation of a next to last character of the domain name to a second node of the tree structure.
- 28. The apparatus of claim 21, further comprising a logical module for converting the domain name from its linguistic encoding type to a DNS compatible encoding type.
- 29. The apparatus of claim 28, further comprising a logical module for resolving domain names in the DNS compatible encoding type.
- 30. The apparatus of claim 28, wherein the DNS compatible encoding type is ASCII.
- 31. A method, implemented on an apparatus, of creating an encoding detection tree comprising nodes connected by paths, with the paths representing domain names in various encoding types, the method comprising:
receiving a representation of a digitally represented first domain name which is encoded in a first linguistic encoding type; adding the first domain name, and its first linguistic encoding type, to the encoding detection tree to create a first path through the encoding detection tree; receiving a representation of a digitally represented second domain name which is encoded in a second linguistic encoding type; and adding the second domain name, and its second linguistic encoding type, to the encoding detection tree to create a second path through the encoding detection tree.
- 32. The method of claim 31, further comprising determining whether the first domain name already exists in the encoding detection tree.
- 33. The method of claim 31, wherein the first and second paths each comprise separate terminal nodes, one or more intermediate nodes, and a common root node.
- 34. The method of claim 33, further comprising adding an identifier of the first and second linguistic encoding types to the terminal nodes of the first and second paths, respectively.
- 35. The method of claim 34, further comprising adding a sequence of the first domain name to the terminal node of the first path.
- 36. The method of claim 33, wherein the first path presents the first domain name in reverse order of linguistic digits when moving from the root node to the terminal node.
- 37. The method of claim 31, wherein each parent node of the encoding detection tree branches into three children nodes at most.
- 38. The method of claim 31, wherein adding the first domain name comprises adding a new node to the encoding detection tree for each linguistic digit of the first domain name having a digital sequence that does not appear at a corresponding location in the encoding detection tree.
- 39. The method of claim 31, wherein the position of the new nodes with respect to existing nodes is determined by comparing the digital sequence of an existing node with the digital sequence of a corresponding linguistic digit from the first domain name.
- 40. The method of claim 31, wherein adding the first domain name includes adding to the encoding detection tree a linguistic equivalent node of the one of the linguistic digits in the first domain name.
- 41. A computer program product comprising a machine readable medium on which is provided program instructions for creating an encoding detection tree comprising nodes connected by paths, with the paths representing domain names in various encoding types, the instructions comprising:
program code for receiving a representation of a digitally represented first domain name which is encoded in a first linguistic encoding type; program code for adding the first domain name, and its first linguistic encoding type, to the encoding detection tree to create a first path through the encoding detection tree; program code for receiving a representation of a digitally represented second domain name which is encoded in a second linguistic encoding type; and program code for adding the second domain name, and its second linguistic encoding type, to the encoding detection tree to create a second path through the encoding detection tree.
- 42. The computer program product of claim 41, further comprising program code for determining whether the first domain name already exists in the encoding detection tree.
- 43. The computer program product of claim 41, wherein the first and second paths each comprise separate terminal nodes, one or more intermediate nodes, and a common root node.
- 44. The computer program product of claim 43, further comprising program code for adding an identifier of the first and second linguistic encoding types to the terminal nodes of the first and second paths, respectively.
- 45. The computer program product of claim 44, further comprising program code for adding a sequence of the first domain name to the terminal node of the first path.
- 46. The computer program product of claim 43, wherein the first path presents the first domain name in reverse order of linguistic digits when moving from the root node to the terminal node.
- 47. The computer program product of claim 41, wherein each parent node of the encoding detection tree branches into three children nodes at most.
- 48. The computer program product of claim 41, wherein the program code for adding the first domain name comprises program code for adding a new node to the encoding detection tree for each linguistic digit of the first domain name having a digital sequence that does not appear at a corresponding location in the encoding detection tree.
- 49. The computer program product of claim 41, wherein the position of the new nodes with respect to existing nodes is determined by comparing the digital sequence of an existing node with the digital sequence of a corresponding linguistic digit from the first domain name.
- 50. The computer program product of claim 41, wherein the program code for adding the first domain name includes program code for adding to the encoding detection tree a linguistic equivalent node of the one of the linguistic digits in the first domain name.
- 51. An apparatus for creating an encoding detection tree comprising nodes connected by paths, with the paths representing domain names in various encoding types, the apparatus comprising:
one or more processors; memory in coupled to said one or more processor and configured to store a partially created tree structure having multiple nodes connected by paths and having terminal nodes that uniquely identify distinct encoding types; and an interface configured to receive domain names from a collection of domain names;
wherein the one or more processors are configured or designed to receive representations of digitally represented domain names which are encoded in linguistic encoding types and add those domain names, together with their linguistic encoding types, to the encoding detection tree to create paths through the encoding detection tree.
- 52. The apparatus of claim 51, wherein the interface is configured to receive domain names from a registry of domain names.
- 53. The apparatus of claim 51, wherein the paths each comprise separate terminal nodes, one or more intermediate nodes, and a common root node.
- 54. The apparatus of claim 53, wherein the one or more processors are further designed or configured to add identifiers of the linguistic encoding types to the terminal nodes of the paths.
- 55. The apparatus of claim 54, wherein the one or more processors are further designed or configured to add a sequence of the domain names to the terminal nodes of the paths.
- 56. The apparatus of claim 53, wherein the paths present the domain names in reverse order of linguistic digits when moving from the root node to the terminal node.
- 57. The apparatus of claim 51, wherein each parent node of the encoding detection tree branches into three children nodes at most.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/258,690 filed Feb. 26, 1999 in the name of Ching Hong Seng et al. and titled “MULTI-LANGUAGE DOMAIN NAME SERVICE.” That application is incorporated herein by reference for all purposes.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09258690 |
Feb 1999 |
US |
Child |
09792438 |
Feb 2001 |
US |