[go: up one dir, main page]

WO2001029001A2 - Domain name searching - Google Patents

Domain name searching Download PDF

Info

Publication number
WO2001029001A2
WO2001029001A2 PCT/US2000/028382 US0028382W WO0129001A2 WO 2001029001 A2 WO2001029001 A2 WO 2001029001A2 US 0028382 W US0028382 W US 0028382W WO 0129001 A2 WO0129001 A2 WO 0129001A2
Authority
WO
WIPO (PCT)
Prior art keywords
domain name
query
network
domain
wildcard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2000/028382
Other languages
French (fr)
Other versions
WO2001029001A3 (en
Inventor
Kenneth F. Leonard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NAMETREE Inc
Original Assignee
NAMETREE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NAMETREE Inc filed Critical NAMETREE Inc
Priority to AU12027/01A priority Critical patent/AU1202701A/en
Publication of WO2001029001A2 publication Critical patent/WO2001029001A2/en
Anticipated expiration legal-status Critical
Publication of WO2001029001A3 publication Critical patent/WO2001029001A3/en
Ceased legal-status Critical Current

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C07ORGANIC CHEMISTRY
    • C07DHETEROCYCLIC COMPOUNDS
    • C07D209/00Heterocyclic compounds containing five-membered rings, condensed with other rings, with one nitrogen atom as the only ring hetero atom
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/345Types of network names containing wildcard characters

Definitions

  • IP Internet Protocol
  • TCP/IP Transmission Control Protocol/ Internet Protocol
  • IP address a 32 -bit Internet Protocol address
  • TCP/IP Transmission Control Protocol/ Internet Protocol
  • a computer on the network may have an IP address of "198.102.33.402”.
  • Network routers analogous to mailmen, use the IP address to forward messages to their destination.
  • FIG. 1 illustrates a domain name system (DNS) used by the Internet, FTP (File Transfer Protocol), and other network applications.
  • DNS uses a tree 100 to represent a hierarchy of domains. Nodes 102 in the tree 100 have domain labels.
  • node 102h has a label of "cs".
  • the full domain name of a node 102 in the tree 100 is a sequence of labels, separated by periods, that define a path from node to the tree 100 root 102a.
  • the full domain name of node 102h is "cs.mit.edu".
  • a node in the tree 100 can correspond to a host address (e.g., the address of a computer, network device, or sub-network) .
  • the domain "cs.mit.edu” corresponds to IP address "198.102.33.402" .
  • a name server handles the task of translating a domain name into a network address.
  • a name server can handle domain name queries for more than one node.
  • a name server at node 102f can maintain a database 104 of domain names and their corresponding network addresses for nodes 102f-102h composing zone 106.
  • the name server can, thus, offer name resolution for domain names "mit.edu”, “ee.mit.edu”, and "cs.mit.edu”.
  • the server at node 102f is, thus, known as an "authoritative server" for the zone.
  • FIG. 3 illustrates a network computer 108 running a network application such as a web-browser.
  • a resolver queries a name server for translation of the domain name to an IP address.
  • a query for "ee.mit.edu” may pass between nodes 102d and 102c, before reaching a node 102f having a name server able to resolve the domain name.
  • a message including the IP address, "198.102.33.401", corresponding to the "ee.mit.edu" domain name query retraces a path back to the computer 108 that originally issued the domain name query.
  • the computer may begin communicating with the host, for example, to download web- pages or other information.
  • name servers may cache domain name/IP address pairs as discovered. For example, after successful resolution of the query shown in FIG. 3, name servers at nodes 102d and 102c may update their databases to reflect that "198.102.33.401" corresponds to "ee.mit.edu". These nodes 102c, 120d may also cache information indicating that the name server at node 102f ultimately resolved the query. Thus, in the future, node 102d can bypass node 102c, and directly query node 102f for "ee.mit.edu" resolution.
  • the invention features a method of handling a network domain name query.
  • the method includes receiving a network domain name query capable of matching multiple, different domain names from a remote network computer, and identifying one or more network domain names matching the received network domain name.
  • Embodiments may include one or more of the following features .
  • the domain name query may include one or more operator.
  • the operator can include characters such as a "*", "?", “ ⁇ ", "!, or "#”.
  • the wildcard may include an absence of characters in a period delimited sequence of domains.
  • the wildcard may stand for an entire domain label or a portion of an entire domain label.
  • the operator may include a Boolean operator.
  • the method may further include transmitting the one or more identified domain names to the remote network computer, for example, by constructing user interface instructions (e.g., HTML) including the identified domain names. Transmitting the identified domain names may include transmitting a network address of a host storing the constructed user interface instructions.
  • constructing user interface instructions e.g., HTML
  • the method may further include transmitting a network address corresponding to at least one of the identified domain names to the remote computer.
  • the method may further include determining if identifying yields only one matching domain name and transmitting a network address corresponding to the one matching domain name .
  • Receiving a query for a network domain name may include receiving a DNS (domain name service) query issued by a resolver.
  • the method may also include providing user interface instructions for transmission to a remote computer and presentation to a user and receiving a query generated in response to user interaction with the user interface instructions .
  • the invention features a computer program product, disposed on a computer readable medium, for handling a network domain name query.
  • the computer program product includes instructions for causing a processor to receive a network domain name query capable of matching multiple, different domain names from a remote network computer, and identify one or more network domain names matching the received network domain name.
  • FIG. 1 is a diagram of a domain name space.
  • FIG. 2 is a diagram including a domain name zone.
  • FIG. 3 is a flow-diagram illustrating domain name translation.
  • FIG. 4 is a flow-diagram illustrating pattern matching of a domain name query that includes a wildcard.
  • FIG. 5 is a screenshot of a web-page display of matches for a domain name query.
  • FIG. 6 is a screenshot of domain name search engine.
  • FIG. 7 is a flow-chart of process for identifying matches for a domain name query.
  • FIG. 4 illustrates operation of a name server 110 that can resolve domain name queries capable of matching more than one different domain name.
  • name server 110 receives a domain name query 112 for resolution of "*. mit.edu".
  • the asterisk, "*", 116 represents a wildcard operator that can match an number of consecutive characters (e.g., ASCII or Unicode characters) .
  • the name server 110 interprets the wildcard operator to identify domain names that match the following pattern: ⁇ any number of characters> followed by ⁇ .mit.edu>.
  • the name server 110 identifies "ee.mit.edu” 114a and "cs.mit.edu” 115b as matches for the "*.mit.edu” query.
  • the ability to resolve domain names capable of matching different domain names can enable users to quickly access a particular domain even though they may have only a sketchy memory of the domain name.
  • the wildcard operator is an asterisk, however, other characters may be used, such as a question mark, "?", exclamation point, "!, and so forth.
  • Different wildcard operators may express different pattern matching instructions.
  • the asterisk, "*” may instruct the name server to match the "*” with any number of characters, while a number sign, "#”, may instruct the name server to match the "#” with only a single character.
  • “ee.mit.edu” may match “*.mit.edu”, but not "#. mit.edu” since the "ee” portion of "ee.mit.edu” is more than the one character specified by the number sign, "#", character.
  • a domain name query may include more than one wildcard operator.
  • "ee.mit.edu” may match a query of "*# .mit . com” .
  • the wildcards may match characters crossing over more than one domain label and can include delimiting periods.
  • "ai.cs.mit.edu” may match "*. mit.edu”.
  • wildcard operators may be intermixed with non-wildcard elements (i.e., elements requiring an exact character for character match) within domain name labels. For example, “ee.mit.edu” matches “#e.mit.edu” or "e* .mit .edu” .
  • a wildcard operator may be indicated by the absence of characters. For example, absence of non-blank characters before or after a domain name delimiter (e.g., a period) can indicate a wildcard operator.
  • the domain name query “ee..edu” or “ee. .edu” may instruct the name server to match any domain names starting with “ee.” and ending with ".edu” since no non-blank characters occur between the delimiting periods, ".”.
  • the domain name query may include expressions that include operators.
  • the domain name query may include an expression including boolean operators.
  • a domain name query may take the form “(”ee” or “cs” ) .mit . edu” .
  • the expression, “ee” or “cs” includes the Boolean OR operator. Evaluation of the expression by the name server results in matches for both “ee.mit.edu” and “cs .mit . edu” .
  • pattern matching algorithms may be used to match domain name queries with domain name records . Additionally, many other wildcard and other operators may be used. Further, the pattern matching need not be limited to characters of a particular language or character set. That is, "*Fraternity.Boston.com” may match " ⁇ - Fraternity. Boston . com” .
  • the name server may provide a database that stores "derivative" domain names such as domain names having spaces in domain labels, such as "Movies at .boston.com". Additionally, domain names stored in the database may include characters from different character sets. For example, an domain name of " ⁇ Fraternity at Boston.com” can include characters from a Greek character set in addition to characters from an ASCII character set .
  • the location of the operator within the query may be restricted.
  • the query must have sufficient information for the DNS system to route the query to the authoritative server.
  • a name server is the authoritative server for a "boston.com” zone
  • operators appearing in the ".boston.com” portion of the query may prevent the query from reaching the zone's authoritative server. That is, "* at.boston.com” will reach the "boston.com” authoritative name server, but "iroston.co " may not.
  • the name server may dynamically construct user interface instructions (e.g., HTML (HyperText Markup Language) instructions) that include the identified domain names.
  • the name server can return the IP address of a host storing the constructed user interface instructions.
  • a subsequent message e.g., an HTTP (HyperText Transfer Protocol) message
  • HTTP HyperText Transfer Protocol
  • a user has entered a URL (Universal Resource Locater) into a browser address field 120.
  • the URL includes a domain name having an asterisk for a wildcard operator.
  • a resolver submits a query for the URL on behalf of the browser, a name server, in accordance with the techniques described herein, can identify multiple, different matches for the query and dynamically construct a web-page listing the matches.
  • the name server can then send the browser's resolver the IP address for a host storing the constructed web-page.
  • the name server has included a brief description of the content offered by the matches.
  • FIG. 6 shows a domain name search engine.
  • FIG. 6 may be an HTML form 128 that includes a user input control such as a text entry field 129.
  • the search engine transmits an HTML page including matching domain names to the users computer for display.
  • FIG. 7 illustrates a process 130 for identifying matches to a domain name query.
  • the process 130 includes receiving 132 a domain name query capable of matching different domain names.
  • the process 130 may receive a DNS query from a resolver (e.g., see FIG. 5) or from a search engine form (e.g., see FIG. 6) .
  • the process 130 searches 134 stored domain names to identify entries matching the query.
  • the process 130 may use a pattern matching algorithm to process wildcard operators and/or evaluate Boolean expressions to identify matches.
  • the process 130 may return an indication of failure. Alternatively, the process 130 may query a different name server for resolution.
  • the process 130 can present 138 the matches, for example, by dynamically constructing an HTML web-page.
  • presenting indicates the process 130 can cause presentation of the matches to a user (e.g., visually or audibly) or can present the matches to a program as data.
  • the process 130 can determine whether only one domain name matches 136 the domain name query. In such cases, since no ambiguity exists, the process 130 can return 140 the corresponding network address.
  • the techniques described herein are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment.
  • the techniques may be implemented in hardware or software, or a combination of the two.
  • the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements) , at least one input device, and one or more output devices.
  • Each program is preferably implemented in high level procedural or object oriented programming language to communicate with a computer system.
  • the programs can be implemented in assembly or machine language, if desired. In any case the language may be compiled or interpreted language.
  • Each such computer program is preferably stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic disk) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described herein.
  • the system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer processor to operate in a specific and predefined manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Organic Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

A method of handling a network domain name query includes receiving a query for a network domain name from a remote network computer where the domain name query is capable of matching multiple, different domain names, and identifying one or more network domain names matching the received network domain name.

Description

DOMAIN NAME SEARCHING
Reference to Related Applications
This application claims priority for subject matter disclosed in pending U.S. Provisional Application Serial No. 60/159,777, entitled "SYSTEMS AND METHODS FOR ALLOWING EXTENDED DOMAIN NAME SPACES", which is incorporated by reference in its entirety herein.
This application relates to U.S. Application Serial No. , entitled "DERIVATIVE DOMAIN NAMES", filed on the same day as the present application.
Background
Much like homes on a street, computers and other network devices send information to each other using addresses. For example, a 32 -bit Internet Protocol (IP) address can identify computers on a TCP/IP (Transmission Control Protocol/ Internet Protocol) network. For example, a computer on the network may have an IP address of "198.102.33.402". Network routers, analogous to mailmen, use the IP address to forward messages to their destination.
Because IP addresses are somewhat cryptic and, potentially, subject to change, programs and users rarely refer to network devices by their binary addresses, but can instead identify network devices using domain names. For example, instead of specifying "198.102.33.402", a program or user can identify a device with the more memorable text of "cs.mit.edu". Since networks ultimately deal with binary addresses, programs known as "name servers" translate domain name text into the corresponding network addresses. The translation process is known as "name resolution" . FIG. 1 illustrates a domain name system (DNS) used by the Internet, FTP (File Transfer Protocol), and other network applications. DNS uses a tree 100 to represent a hierarchy of domains. Nodes 102 in the tree 100 have domain labels. For example, node 102h has a label of "cs". The full domain name of a node 102 in the tree 100 is a sequence of labels, separated by periods, that define a path from node to the tree 100 root 102a. For example, the full domain name of node 102h is "cs.mit.edu". As shown, a node in the tree 100 can correspond to a host address (e.g., the address of a computer, network device, or sub-network) . For example, as shown, the domain "cs.mit.edu" corresponds to IP address "198.102.33.402" .
As described above, a name server handles the task of translating a domain name into a network address. As shown in FIG. 2, a name server can handle domain name queries for more than one node. For example, a name server at node 102f can maintain a database 104 of domain names and their corresponding network addresses for nodes 102f-102h composing zone 106. The name server can, thus, offer name resolution for domain names "mit.edu", "ee.mit.edu", and "cs.mit.edu". The server at node 102f is, thus, known as an "authoritative server" for the zone.
To reduce the burden of name resolution on any one name server, DNS distributes domain name information across different name servers. As a result, each name server may only be able to resolve a limited subset of domain names in the DNS tree 100. As such, if a name server cannot resolve a domain name query, the name server can ask another name server (e.g., a name server higher in the tree 100) to resolve the domain name. As shown in FIG. 3, several computers may hand off a domain name query before successful resolution. In greater detail, FIG. 3 illustrates a network computer 108 running a network application such as a web-browser. After a user enters a URL (Universal Resource Locator) that includes a domain name, an entity known as a resolver queries a name server for translation of the domain name to an IP address. As shown, a query for "ee.mit.edu" may pass between nodes 102d and 102c, before reaching a node 102f having a name server able to resolve the domain name. A message including the IP address, "198.102.33.401", corresponding to the "ee.mit.edu" domain name query retraces a path back to the computer 108 that originally issued the domain name query. Using the received IP address, the computer may begin communicating with the host, for example, to download web- pages or other information. To speed name resolution, name servers may cache domain name/IP address pairs as discovered. For example, after successful resolution of the query shown in FIG. 3, name servers at nodes 102d and 102c may update their databases to reflect that "198.102.33.401" corresponds to "ee.mit.edu". These nodes 102c, 120d may also cache information indicating that the name server at node 102f ultimately resolved the query. Thus, in the future, node 102d can bypass node 102c, and directly query node 102f for "ee.mit.edu" resolution.
Summary
In general, in one aspect, the invention features a method of handling a network domain name query. The method includes receiving a network domain name query capable of matching multiple, different domain names from a remote network computer, and identifying one or more network domain names matching the received network domain name.
Embodiments may include one or more of the following features . The domain name query may include one or more operator. The operator can include characters such as a "*", "?", "~", "!", or "#". The wildcard may include an absence of characters in a period delimited sequence of domains. The wildcard may stand for an entire domain label or a portion of an entire domain label. The operator may include a Boolean operator.
The method may further include transmitting the one or more identified domain names to the remote network computer, for example, by constructing user interface instructions (e.g., HTML) including the identified domain names. Transmitting the identified domain names may include transmitting a network address of a host storing the constructed user interface instructions.
The method may further include transmitting a network address corresponding to at least one of the identified domain names to the remote computer. The method may further include determining if identifying yields only one matching domain name and transmitting a network address corresponding to the one matching domain name . Receiving a query for a network domain name may include receiving a DNS (domain name service) query issued by a resolver.
The method may also include providing user interface instructions for transmission to a remote computer and presentation to a user and receiving a query generated in response to user interaction with the user interface instructions .
In general, in another aspect, the invention features a computer program product, disposed on a computer readable medium, for handling a network domain name query. The computer program product includes instructions for causing a processor to receive a network domain name query capable of matching multiple, different domain names from a remote network computer, and identify one or more network domain names matching the received network domain name.
Advantages will become apparent in view of the following description, including the figures and the claims.
Brief Description of the Drawings FIG. 1 is a diagram of a domain name space. FIG. 2 is a diagram including a domain name zone. FIG. 3 is a flow-diagram illustrating domain name translation.
FIG. 4 is a flow-diagram illustrating pattern matching of a domain name query that includes a wildcard.
FIG. 5 is a screenshot of a web-page display of matches for a domain name query. FIG. 6 is a screenshot of domain name search engine. FIG. 7 is a flow-chart of process for identifying matches for a domain name query.
Detailed Description
FIG. 4 illustrates operation of a name server 110 that can resolve domain name queries capable of matching more than one different domain name. For example, as shown in FIG. 4, name server 110 receives a domain name query 112 for resolution of "*. mit.edu". In this example, the asterisk, "*", 116 represents a wildcard operator that can match an number of consecutive characters (e.g., ASCII or Unicode characters) . Thus, when searching the domain name database 104 for domain names matching the query 112, the name server 110 interprets the wildcard operator to identify domain names that match the following pattern: <any number of characters> followed by <.mit.edu>. As shown, the name server 110 identifies "ee.mit.edu" 114a and "cs.mit.edu" 115b as matches for the "*.mit.edu" query. The ability to resolve domain names capable of matching different domain names can enable users to quickly access a particular domain even though they may have only a sketchy memory of the domain name.
As shown in FIG. 4, the wildcard operator is an asterisk, however, other characters may be used, such as a question mark, "?", exclamation point, "!", and so forth. Different wildcard operators may express different pattern matching instructions. For example, the asterisk, "*", may instruct the name server to match the "*" with any number of characters, while a number sign, "#", may instruct the name server to match the "#" with only a single character. For example, "ee.mit.edu" may match "*.mit.edu", but not "#. mit.edu" since the "ee" portion of "ee.mit.edu" is more than the one character specified by the number sign, "#", character.
A domain name query may include more than one wildcard operator. For example, "ee.mit.edu" may match a query of "*# .mit . com" . Additionally, the wildcards may match characters crossing over more than one domain label and can include delimiting periods. For example, "ai.cs.mit.edu" may match "*. mit.edu". Additionally, wildcard operators may be intermixed with non-wildcard elements (i.e., elements requiring an exact character for character match) within domain name labels. For example, "ee.mit.edu" matches "#e.mit.edu" or "e* .mit .edu" .
In addition to wildcard characters, a wildcard operator may be indicated by the absence of characters. For example, absence of non-blank characters before or after a domain name delimiter (e.g., a period) can indicate a wildcard operator. For example, the domain name query "ee..edu" or "ee. .edu" may instruct the name server to match any domain names starting with "ee." and ending with ".edu" since no non-blank characters occur between the delimiting periods, ".". In addition to, or in lieu of, wildcard operators, the domain name query may include expressions that include operators. For example, the domain name query may include an expression including boolean operators. For example, a domain name query may take the form "("ee" or "cs" ) .mit . edu" . In this case the expression, "ee" or "cs", includes the Boolean OR operator. Evaluation of the expression by the name server results in matches for both "ee.mit.edu" and "cs .mit . edu" . A wide variety of other operators may be used. For example, operators may express relationships between different text components of a domain name. For example, a domain name query of "("ee" /within=2characters "program" ) .mit . edu" would match "eeprogram.mit.edu", but not "ee_grad_program.mit.edu" since in the latter example more than two characters separate "ee" and "program" .
A wide variety of pattern matching algorithms may be used to match domain name queries with domain name records . Additionally, many other wildcard and other operators may be used. Further, the pattern matching need not be limited to characters of a particular language or character set. That is, "*Fraternity.Boston.com" may match "αβδ- Fraternity. Boston . com" .
In addition to handling wildcards, the name server may provide a database that stores "derivative" domain names such as domain names having spaces in domain labels, such as "Movies at .boston.com". Additionally, domain names stored in the database may include characters from different character sets. For example, an domain name of "αβδ Fraternity at Boston.com" can include characters from a Greek character set in addition to characters from an ASCII character set .
In some circumstances, the location of the operator within the query may be restricted. For example, for domain name queries received by an authoritative server from a resolver, the query must have sufficient information for the DNS system to route the query to the authoritative server. For example, if a name server is the authoritative server for a "boston.com" zone, operators appearing in the ".boston.com" portion of the query may prevent the query from reaching the zone's authoritative server. That is, "* at.boston.com" will reach the "boston.com" authoritative name server, but "iroston.co " may not. As shown in FIG. 5, after identifying domain name matches for a query, the name server (or other program) may dynamically construct user interface instructions (e.g., HTML (HyperText Markup Language) instructions) that include the identified domain names. The name server can return the IP address of a host storing the constructed user interface instructions. A subsequent message (e.g., an HTTP (HyperText Transfer Protocol) message) to the host can prompt delivery of the instructions for display to the user.
For example, as shown in FIG. 5, a user has entered a URL (Universal Resource Locater) into a browser address field 120. The URL includes a domain name having an asterisk for a wildcard operator. After a resolver submits a query for the URL on behalf of the browser, a name server, in accordance with the techniques described herein, can identify multiple, different matches for the query and dynamically construct a web-page listing the matches. The name server can then send the browser's resolver the IP address for a host storing the constructed web-page. As shown, in addition to matching entries, the name server has included a brief description of the content offered by the matches. Since the returned IP address may not correspond to an IP address satisfying the query, the name server may set to the "Time to Live" field to 0, thereby preventing other name servers from caching the IP address . Instead of the user transparent operation of FIG. 5 where the resolver and name server operate "behind-the- scenes", FIG. 6 shows a domain name search engine. For example, FIG. 6 may be an HTML form 128 that includes a user input control such as a text entry field 129. As shown, after the user submits a domain name query into the form, the search engine transmits an HTML page including matching domain names to the users computer for display.
FIG. 7 illustrates a process 130 for identifying matches to a domain name query. The process 130 includes receiving 132 a domain name query capable of matching different domain names. For example, the process 130 may receive a DNS query from a resolver (e.g., see FIG. 5) or from a search engine form (e.g., see FIG. 6) . The process 130 then searches 134 stored domain names to identify entries matching the query. For example, the process 130 may use a pattern matching algorithm to process wildcard operators and/or evaluate Boolean expressions to identify matches.
If the process 130 cannot identify any matches (not shown), the process 130 may return an indication of failure. Alternatively, the process 130 may query a different name server for resolution.
If the process 130 identifies one or more matches, the process 130 can present 138 the matches, for example, by dynamically constructing an HTML web-page. The term
"presenting", as used herein, indicates the process 130 can cause presentation of the matches to a user (e.g., visually or audibly) or can present the matches to a program as data.
In some embodiments, the process 130 can determine whether only one domain name matches 136 the domain name query. In such cases, since no ambiguity exists, the process 130 can return 140 the corresponding network address.
The techniques described herein are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment. The techniques may be implemented in hardware or software, or a combination of the two. Preferably, the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements) , at least one input device, and one or more output devices.
Each program is preferably implemented in high level procedural or object oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case the language may be compiled or interpreted language. Each such computer program is preferably stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic disk) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described herein. The system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer processor to operate in a specific and predefined manner.
Other embodiments are within the scope of the following claims .
What is claimed is:

Claims

1. A method of handling a network domain name query, the method comprising: receiving a query for a network domain name from a remote network computer, the domain name query capable of matching multiple, different domain names; and identifying one or more network domain names matching the received network domain name .
2. The method of claim 1, wherein the domain name query comprises at least one operator.
3. The method of claim 2, wherein the at least one operator comprises at least one wildcard.
4. The method of claim 3, wherein the at least one wildcard comprises more than one wildcard.
5. The method of claim 3, wherein the at least one wildcard comprises at least one of the following characters: »*■' , -?", π_π# H i ", and "#" .
6. The method of claim 3, wherein the at least one wildcard comprises an absence of characters in a period delimited sequence of domains.
7. The method of claim 3, wherein the at least one wildcard comprises a wildcard for an entire domain label.
8. The method of claim 3, wherein the at least one wildcard comprises a wildcard for a portion of a domain label that is less than the entire domain label.
9. The method of claim 2, wherein the at least one operator comprises at least one Boolean operator.
10. The method of claim 1, further comprising transmitting the one or more identified domain names to the remote network computer.
11. The method of claim 10, wherein transmitting the one or more identified domain names comprises constructing user interface instructions including the identified domain names .
12. The method of claim 11, wherein the user interface instructions comprise HTML (HyperText Markup Language) instructions .
13. The method of claim 10, wherein transmitting the identified domain names comprises transmitting a network address of a host storing the constructed user interface instructions .
14. The method of claim 1, further comprising transmitting a network address corresponding to at least one of the identified domain names to the remote computer.
15. The method of claim 14, further comprising determining if identifying yields only one matching domain name ; and transmitting to the remote computer a network address corresponding to the one matching domain name.
16. The method of claim 1, wherein identifying comprises accessing a database storing domain names and corresponding network addresses .
17. The method of claim 16, wherein the network addresses comprise IP (Internet Protocol) addresses.
18. The method of claim 16, wherein the stored domain names comprise domain names having at least one blank space separating two non-blank characters.
19. The method of claim 1, wherein receiving a query for a network domain name comprises receiving a DNS (domain name service) query issued by a resolver.
20. The method of claim 1, further comprising providing user interface instructions for transmission to a remote computer and presentation to a user; and wherein receiving the query comprises receiving a query generated in response to user interaction with the user interface instructions.
21. The method of claim 20, wherein the user interface instructions comprise HTML instructions; and wherein user interaction comprises text entry into a user entry field presented by the user interface instructions .
22. A computer program product, disposed on a computer readable medium, for handling a network domain name query, the computer program product comprising instructions for causing a processor to: receive a query for a network domain name from a remote network computer, the domain name query capable of matching multiple, different domain names; and identify one or more network domain names matching the received network domain name.
23. The computer program of claim 22, wherein the domain name query comprises at least one operator.
24. The computer program of claim 23, wherein the at least one operator comprises at least one wildcard.
25. The computer program of claim 23, wherein the at least one operator comprises at least one Boolean operator.
26. The computer program of claim 22, further comprising transmitting the one or more identified domain names to the remote network computer.
27. The computer program of claim 26, wherein transmitting the one or more identified domain names comprises constructing user interface instructions including the identified domain names.
28. The computer program of claim 22, wherein identifying comprises accessing a database storing domain names and corresponding network addresses .
29. The computer program of claim 22, wherein receiving a query for a network domain name comprises receiving a DNS (domain name service) query issued by a resolver.
PCT/US2000/028382 1999-10-15 2000-10-13 Domain name searching Ceased WO2001029001A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU12027/01A AU1202701A (en) 1999-10-15 2000-10-13 Domain name searching

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15977799P 1999-10-15 1999-10-15
US60/159,777 1999-10-15

Publications (2)

Publication Number Publication Date
WO2001029001A2 true WO2001029001A2 (en) 2001-04-26
WO2001029001A3 WO2001029001A3 (en) 2003-12-24

Family

ID=22573979

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2000/028382 Ceased WO2001029001A2 (en) 1999-10-15 2000-10-13 Domain name searching
PCT/US2000/041168 Ceased WO2001029710A2 (en) 1999-10-15 2000-10-13 Derivative domain names

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2000/041168 Ceased WO2001029710A2 (en) 1999-10-15 2000-10-13 Derivative domain names

Country Status (2)

Country Link
AU (2) AU1964801A (en)
WO (2) WO2001029001A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005029661B3 (en) * 2005-06-21 2006-11-30 Siemens Ag Name resolution method for use in distributed system, involves answering request message by sending address as destination address to application and specified steps are repeated until message is answered
US7747592B2 (en) 1999-09-07 2010-06-29 Thomas C Douglass Method and system for monitoring domain name registrations
US9311399B2 (en) 1999-09-07 2016-04-12 C. Douglass Thomas System and method for providing an updating on-line forms and registrations

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099956B2 (en) * 2000-01-31 2006-08-29 Ideaflood, Inc. Method and apparatus for conducting domain name service

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9603590D0 (en) * 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing a target entity over a communciations network

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"rfc1034 - Domain Names: Concepts and facilities" REQUEST FOR COMMENT, November 1987 (1987-11), XP002108902 Retrieved from the Internet: <URL:HTTP://WWW.CIS.OHIO-STATE.EDU/HTBIN/R FC/RFC1034.HTML> [retrieved on 1999-07-12] *
ERIK GUTTMAN, CHARLES PERKINS, JOHN VEIZADES, MICHAEL DAY: "Service Location Protocol, Version 2 - draft-ietf-svrloc-protocol-v2-08.txt" INTERNET DRAFT , [Online] 30 June 1998 (1998-06-30), pages 1-43, XP002256798 Retrieved from the Internet: <URL:http://www.ietf.org/proceedings/98aug /I-D/draft-ietf-svrloc-protocol-v2-08.txt> [retrieved on 2003-10-07] *
KLENSIN J ET AL: "Domain names and company name retrival" INTERNET DRAFT, XX, XX, September 1996 (1996-09), pages 1-4, XP002167570 *
R. FIELDING: "RFC 1808 - Relative Uniform Resource Locators" REQUEST FOR COMMENTS: 1808 , [Online] June 1995 (1995-06), pages 1-12, XP002256797 UC Irvine Retrieved from the Internet: <URL:http://www.faqs.org/rfcs/rfc1808.html > [retrieved on 2003-10-07] *
RAMIN FIROOZYE: "URL Patterns" INTERNET MAIL, [Online] 10 February 1996 (1996-02-10), pages 1-2, XP002256796 Retrieved from the Internet: <URL:http://taipan.cs.tu-berlin.de/html/ur ls/3112.html> [retrieved on 2003-10-07] *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747592B2 (en) 1999-09-07 2010-06-29 Thomas C Douglass Method and system for monitoring domain name registrations
US8280868B2 (en) 1999-09-07 2012-10-02 Thomas C Douglass Method and system for monitoring domain name registrations
US8694482B2 (en) 1999-09-07 2014-04-08 C. Douglass Thomas Method and system for monitoring domain name registrations
US9137126B2 (en) 1999-09-07 2015-09-15 C. Douglass Thomas Method and system for monitoring domain name registrations
US9311399B2 (en) 1999-09-07 2016-04-12 C. Douglass Thomas System and method for providing an updating on-line forms and registrations
US9569074B2 (en) 1999-09-07 2017-02-14 C. Douglass Thomas Method and system for using an intermediary server
US9575637B2 (en) 1999-09-07 2017-02-21 C. Douglass Thomas Method and system for monitoring domain name registrations
US10366071B2 (en) 1999-09-07 2019-07-30 C. Douglass Thomas Method and system for submission of an electronic document update
DE102005029661B3 (en) * 2005-06-21 2006-11-30 Siemens Ag Name resolution method for use in distributed system, involves answering request message by sending address as destination address to application and specified steps are repeated until message is answered

Also Published As

Publication number Publication date
WO2001029001A3 (en) 2003-12-24
AU1202701A (en) 2001-04-30
AU1964801A (en) 2001-04-30
WO2001029710A2 (en) 2001-04-26
WO2001029710A3 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
US6725214B2 (en) Apparatus and method to support management of uniform resource locators and/or contents of database servers
US9158764B2 (en) Method and apparatus for utilizing user feedback to improve signifier mapping
US8291048B2 (en) Multilingual domain name registration
US10447611B2 (en) System and method for adding a whitelist entry via DNS
US6332158B1 (en) Domain name system lookup allowing intelligent correction of searches and presentation of auxiliary information
KR100296361B1 (en) Improved management of and access to information and other material via the world wide web
US6910077B2 (en) System and method for identifying cloaked web servers
US8856305B2 (en) System and method for adding a whitelist entry via DNS
US6745248B1 (en) Method and apparatus for analyzing domain name registrations
US20040205047A1 (en) Method for dynamically generating reference indentifiers in structured information
US7827280B2 (en) System and method for domain name filtering through the domain name system
US20030084034A1 (en) Web-based search system
WO2004006112A1 (en) Method and system for correcting the spelling of incorrectly spelled uniform resource locators using closest alphabetical match technique
JP2005535032A (en) Internal natural domain service system with local name server for flexible top level domain
JPWO1999040517A1 (en) Method for connecting to a computer network on the Internet using real names and the computer network system
US20060026194A1 (en) System and method for enabling indexing of pages of dynamic page based systems
JP2006323721A (en) Data management system, data server and data management method
JP2004110080A (en) Computer network connection method on internet by real name, and computer network system
WO2001029001A2 (en) Domain name searching
GB2382433A (en) Notifying registered users of changes to hyperlinks
US10958617B2 (en) Systems and methods for using domain name system context based response records
KR20100046090A (en) System for searching information using internet
Williamson et al. Referral whois (rwhois) protocol V1. 5
KR20010070944A (en) Method for monitoring telecommunication network performance based on web corresponding to change database structure
Ballintijn et al. A scalable implementation for human-friendly URIs

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION PURSUANT TO RULE 69 EPC (EPO FORM 1205A OF 300802)

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP