NETWORK ADDRESS RESOLUTION
Field of the Invention
The present invention relates to network address resolution, and in particular to a method and system for returning a network address in response to a query which does not contain a valid domain name, for a network access client.
Background of the Invention
The domain name system (DNS) is a distributed database system responsible for maintaining and providing records specific to Internet domain names. The system is implemented as a number of DNS servers which provide DNS records in response to queries initiated by application program calls to a resolver library function. The principal use of DNS is to map domain names to Internet Protocol (IP) addresses so that an application program can establish an IP connection with a networked computer whose domain name is known.
The extraordinary growth of the Internet has resulted in a plethora of new domain names and has created unprecedented consumer demand for locating products and services through the Internet. However, even when a consumer knows the name of a specific company, the actual domain names used by the company may not be obvious, making it difficult to access their web or email servers. For these reasons, search engines have become crucial tools for the efficient use of the Internet. However, search engines require search form documents to be loaded from particular web servers. These documents are often slow to load, especially when they include advertising content, usually obtained from a different web server. A simpler and more efficient method is to be able to enter search terms directly into the location text field of the browser application. Recent browser application software from Microsoft™ and Netscape Communications™ have provided this functionality in a limited fashion. Special code has been included in the browser application itself that executes a limited search for keywords that is browser-specific, and
cannot easily be changed without upgrading the entire browser application. It is desired, therefore, to provide a method for matching a term or terms to a network location that is not dependent on the client application being used to access the network, or at least provide a useful alternative.
Summary of the Invention
In accordance with the present invention there is provided a method of determining a network address, executed by an access system, for enabling a client to access a communications network, including: receiving and seeking resolution of a query for a first network address of the network; receiving a message that the first network address cannot be resolved for the query using a network address resolution system; redirecting the query to a keyword database of the access system; determining a second network address on the basis of at least one term of the query; and forwarding the second network address to the client.
The present invention also provides a method for redirecting a browser to a resource, including: receiving at least one search term submitted as a resource locator; returning, from a network address resolution server to said browser, the network address of a keyword server in response to an unresolvable address query containing said at least one term; receiving, at the keyword server, a request from the browser, said request containing said at least one search term; searching a database using said at least one search term in order to locate a network resource; returning a response to redirect said web browser to said network resource.
02/13057
The present invention also provides a method for providing a network address in response to a domain name system mail exchange query containing an invalid domain name, including the steps of: at a network address resolution server, performing at least one database search in order to locate a unique domain name matching said invalid domain name; performing a mail exchange query on said domain name; returning, from said network address resolution server, the result of said mail exchange query.
The present invention also provides an access system for enabling a client to access a communications network, having: a keyword server for determining a first network address on the basis of at least one term, and forwarding the first network address to the client; and
. a network address resolution server for receiving and seeking resolution of a query for a second network address from the client, said query including said at least one term, and, in response to a message that the second network address cannot be resolved for the query using a network address resolution system, for returning a third network address for the keyword server as a response to the query to the client.
Brief Description of the Drawings
Preferred embodiments of the present invention are hereinafter described, by way of example only, with reference to the accompanying drawing, wherein: Figure 1 is a block diagram of a preferred embodiment of an access system for a communications network; and
Figure 2 is a flow diagram of a process executed by the access system.
Detailed Description of the Preferred Embodiments of the Invention
An access system 1 for a communications network, as shown in Figure 1, includes a plurality of random access servers (RASs) 4 with modem banks that provide dial up access for remote computers 2 of users, over a telecommunications network 3 to a communications network 14, eg the Internet. The access system also includes a local
switch or hub 6 connected to the RASs 4, and a proxy server 13, a local DNS server 10, a Net Bios Name Server (NBNS) 11 and a keyword server 12 all connected to the switch or hub 6. The proxy server 13 and switch 6 provide access for remote users to the Internet 14 via a router 8 connected thereto. Except for the keyword server 12, the NBNS 11 and code changes made to the DNS and NBNS servers 10 and 11, the access system includes known access components provided by an Internet Service Provider (ISP). These components may be the components of an access system as described in International Patent Application No. PCT/AU00/00418, herein incorporated by reference. The servers 10 11 and 12 are configured and include software code to operate as described below.
A user at the computer 2 may use basic web browser software running on a Microsoft Windows™ operating system to access the Internet 14. If the user wishes to view the web pages of the Elmo Seafood Corporation, for example, but is not sure of the domain name of the web server, the user can enter the word "elmo" in the address location bar of the browser software and press the enter key. The browser software assumes that text entered into the location bar is a form of Universal Resource Locator (URL). Because no protocol is supplied, the browser assumes a default of HTTP, and interprets "elmo" as a hostname or alias to be resolved to a network address. The browser invokes a resolver library call in order to determine the network address of "elmo". In most cases, this results in a DNS query. However, in some versions of Microsoft Windows™, the operating system (OS) traps hostnames which do not contain a "."and which are shorter than 15 characters. The OS tries to resolve the hostname to an IP address using a NetBIOS Name Server (NBNS) or, equivalently, Microsoft's implementation of the same called WINS, instead of making a DNS query, when these services are available. For the purposes of illustration, the most general case of a DNS query is now described; however, a similar process occurs for NBNS queries, whereby the NBNS server 11 is used solely to resolve the queries instead of the local DNS 10.
According to the HTTP protocol, the resolver library call issues a query to the ISP's local DNS server 10, as shown in Figure 2 at step 20. Because "elmo" is not found in the server's local tables, the server issues a query to a root DNS server 16. The root server 16
does not contain any entries for "elmo", and so returns a message indicating this to the local server 10, at step 22. However, instead of returning an error to the browser as in prior art systems, the DNS server 10 instead returns the IP network address of the ISP's keyword server 12, at step 24. The browser now believes it has the IP network address of "elmo" entered into the address location bar, and according to the HTTP protocol issues an HTTP GET request to the keyword server 12 that includes with the request the entered term "elmo", at step 26.
The keyword server 12 inspects the contents of the GET request and sees that the request contains a hostname named "elmo". It performs a search of its local database, at step 28, and locates an entry for the Elmo Seafood Corporation containing the domain name www. elm ocorp . com. au that has previously been stored against the word "elmo". The keyword server 12 then returns, at step 30, a response to the GET request containing the HTTP redirect status number 302 and the web address www.elmocorp.coni.au. The browser is thus redirected to the corresponding web site of the Elmo Seafood Corporation.
Thus, by returning the network address of the ISP keyword server 12 in response to failed DNS or NBNS lookups, invalid network names which are not resolved by the local and root address servers are effectively redirected to the ISP keyword server 12. The keyword server 12 performs a search for the invalid name in a local database and redirects the web browser to an appropriate network server. This allows an alphanumeric term or terms entered in a network access client to be resolved to a specific network location, at the network level, without requiring a search to be conducted on a remote server using standard Internet search engines. The term may be as minimal as a single alphanumeric character, and is used to generate an index to search the database for a network address. If a term has not been allocated a unique network address, the network address returned may be a network address that redirects the client to a web page offering the term to the user of the client. The term can be purchased by the user for a destination web site so as to allocate the term to a unique network address. Alternatively, the client may be redirected to a search engine to produce search results using the query.
As described previously, recent versions of Microsoft Internet Explorer™ and Netscape Navigator™ use a more restrictive method. These browsers include special client code to examine the text entered into the location bar or URL specification and apply certain rules to the text to determine whether the text represents a URL or search terms. If the text does not appear to contain a URL, the browser substitutes the text with a URL referring to a remote keyword search server, including the original text as part of the URL or query string. Thus, while the Netscape™ and Microsoft™ keyword servers seek to perform a similar role to that played by the keyword server 12, the access system 1 resolves keywords at the network level by trapping unresolved DNS and NBNS queries, and this is not dependent upon the particular version or vendor of the browser software. For example, different browsers and clients may be used, such as WAP microbrowsers.
In order to provide a uniform service and interface to users with the Microsoft and Netscape browsers described, the URL they generate that contains the user-supplied search terms can be trapped. For example, Netspace Navigator™ translates the string "elmo" into the URL http://keyword.netscape.com/kevword/elmo. If multiple search terms are entered, for example "elmo corp", then the browser generates the URL http^/search.netscape.com/google.tmp^search^elmo+corp. Similarly, Microsoft Internet Explorer™ generates the URLs http://auto.search.msn.com/response.asp ?MT=elmo&srch:=3&prov=&utf8 and http ://auto . search.msn.com/response. asp?MT=elmo+corp&srch-3 & prov=&utf8 in response to the same search terms. These URLs can all be trapped at the proxy server 13 by redirecting all URLs referencing keyword.netscape.com, search.netscape.com or auto.search.msn.com to the ISP keyword server 12 using a variety of redirection techniques eg an HTTP redirect status response as described above, via rules in the proxy server 13 sending the request directly to keyword server 12 or utilising the DNS server 10 to return the address of the keyword server 12 as the address of the default search engines from netscape and msn.com.
Significantly, the network address resolution system described herein is independent of any particular browser and does not require any special code to be present in the browser
software. Moreover, the resolution system is not limited to web browsers, but can be used for resolving network addresses for electronic mail, for example. However, in this case the DNS server 10 contains the keyword database. When a mail exchange (MX) query is received by the server 10, it is checked in the usual manner. However, if the query fails to find any matching MX records and the query string is not a valid domain name, then the server 10 performs a keyword database search. If the search locates a mail server matching the keyword, then the address for that mail server is returned to the client as the result of the MX query. The client will then connect to the mail server and send the email. Hence an attempt to send an email message to rooτ@elmo might be sent to root@mail- gw.elmocorp.com, for example.
The access system effectively allows the DNS to be extended to any unique term or terms. As any alphanumeric term can be resolved to an IP address, the term does not have to conform to the stringent syntactical and registration requirements of the DNS. The fact that the DNS can be extended to a wide variety of Internet access programs is also particularly advantageous. For example, hand-held devices such as PDAs and mobile telephones have limited display resources and it is particularly cumbersome on those devices to have to enter long text strings that represent a host name. The ability to enter simple terms such as "elmo" to connect to a desired site obviates a number of the difficulties associated with using the Internet under the restrictions imposed by the existing DNS.
Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention as herein described with reference to the accompanying drawings. For example the components of the access system may be distributed or combined, as will be understood by those skilled in the art.