`
`United States Patent
`Broadhurst
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,560,634 B1
`May 6, 2003
`
`US006560634B1
`
`(54) METHOD OF DETERMINING
`UNAVAILABILITY OF AN INTERNET
`DOMAIN NAME
`
`(75)
`
`(73)
`
`Inventor: Larry Joe Broadhurst, Humble, TX
`(Us)
`Assignee: VeriSign, Inc., Mountain View, CA
`(Us)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1 day.
`
`(21)
`(22)
`
`(60)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Appl. No.:
`09/133,836
`Aug. 13, 1998
`
`Filed:
`
`Related US. Application Data
`Provisional application No. 60/055,787, ?led on Aug. 15,
`1997.
`
`Int. Cl.7 .............................................. .. G06F 15/16
`
`US. Cl. ...................... .. 709/203; 709/217; 709/219
`Field of Search ............................... .. 709/217, 224,
`709/223, 219, 245, 227, 249, 203; 707/104,
`500, 505
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,895,471 A * 4/1999 King et a1. ............... .. 707/104
`5,983,351 A * 11/1999 Glogau ........... ..
`713/201
`6,023,698 A * 2/2000 Lavey, Jr. et a1.
`707/10
`6,205,482 B1 * 3/2001 Navarre et al. ........... .. 709/227
`
`OTHER PUBLICATIONS
`
`Jeff Ubois; Registration Services Offer Instant Global Pres
`ence; Midrange Systems; Spring House, Nov. 1997.*
`Industry Struggles to Simplify Domain Name Registration
`Process; Electronic Messaging NeWs; Potomac, Aug. 1997.*
`Mantle, Ray A; Radin, Mitchell E; Domain Names and
`Trademark LaW; Managing Intellectual Property; London,
`1996*
`NetoWrk Solutions and Versign Launch Combined Internet
`Name and Certi?cation Registration; Internet World, Los
`Angeles, Ca, Mar. 10, 1997.*
`NetWork Solutions and Leading ISPs Launch Premier
`Domain Registration Service Program; Internet World, Los
`Angeles, CA, Mar. 11, 1997.*
`
`* cited by examiner
`
`Primary Examiner—Glenton B. Burgess
`Assistant Examiner—Tod Kupstas
`(74) Attorney, Agent, or Firm—Kenyon & Kenyon
`(57)
`ABSTRACT
`
`Methods, systems, and articles of manufacture consistent
`With the present invention provide an improved query server
`that overcomes the shortcomings of existing domain name
`searching techniques by performing a multitude of searches
`simultaneously, transparent to the user. Speci?cally, the
`improved query server searches for existing domain name
`records in various domains and then displays the results in
`a formatted manner, thus eliminating the need for a user to
`perform individual searches.
`
`17 Claims, 9 Drawing Sheets
`
`IdNomescom‘"
`
`SEARCH FOR A NAME
`
`TOP 50 COUNTRIES RANKED BY ANNUAL
`GROSS DOMESTIC PRODUCT
`
`ENTER NAME: :1 @I
`ENTER YOUR NAME IN THE TEXT BOX (WITHOUT EXTENSIONS). FOR
`EXAMPLE, ENTER 'youmume' NOT ”www.yournome.com. CLICK ON
`THE "SEARCH" BUTTON TO SEARCH THE TOP 50 COUNTRIES RANKED BY
`ANNUAL GROSS DOMESTIC PRODUCT.
`
`USA
`JAPAN
`CHINA
`GERMANY
`INDIA
`. UNITED KINGDOM
`FRANCE
`ITALY
`. BRAZIL
`
`. MEXICO
`
`. RUSSIA
`CANADA
`INDONESIA
`SPAIN
`. SOUTH KOREA
`AUSTRALIA
`THAILAND
`
`IRAN
`TURKEY
`NETHERLANDS
`ARGENTINA
`TAIWAN
`PAKISTAN
`SOUTH AFRICA
`POLAND
`UKRAINE
`BELGIUM
`VENEZUELA
`SAUDI ARABIA
`COLOMBIA
`MALAYSIA
`SWEDEN
`PHILIPPINES
`EGYPT
`
`35. SWITZERIAND
`36. AUSTRIA
`37. HONG KONG
`38. BANGLADESH
`39. NIGERIA
`40. PORTUGAL
`41. DENMARK
`42. CHILE
`43. ALGERIA
`44. NORWAY
`45. GREECE
`46. MOROCCO
`47. VIET NAM
`48. FINLAND
`49. CZECH REPUBLIC
`50. SYRIA
`
`Petitioner RPX Corporation - Ex. 1076, p. 1
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 1 0f 9
`
`US 6,560,634 B1
`
`wow?
`
`mza
`
`m3!)
`
`mza
`
`mop?
`55.6
`
`vEoEmz
`
`9.0:
`
`NE
`
`.15
`
`Petitioner RPX Corporation - Ex. 1076, p. 2
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 2 0f 9
`
`US 6,560,634 B1
`
`2&2 3%
`
`022 5&0;
`
`
`55g
`
`52 5; 2228
`
`5528mm
`
`M265 E3 (lg
`
`“#558
`>58 (:5
`
`@265
`125w ('5
`
`58$
`45: (£8
`
`:53: £15
`
`081 $55 5%
`
`
`
`5% 82> (18m
`
`Petitioner RPX Corporation - Ex. 1076, p. 3
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 3 0f 9
`
`US 6,560,634 B1
`
`we?
`
`3n? 3%
`
`on). $20
`52%
`
`
`
`N2? 555 mzo 318% (/5,
`
`
`
`
`
`
`
`
`
`5328mm E05; 30%
`
`
`
`
`
`0%? 65a 5% Emma 89> (1%»
`
`m6;
`
`Petitioner RPX Corporation - Ex. 1076, p. 4
`
`
`
`Petitioner RPX Corporation - Ex. 1076, p. 5
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 5 0f 9
`
`US 6,560,634 B1
`
`idNumescomm
`
`SEARCH FOR A NAME
`
`SEARCH THE WORLD
`(OVER 400 DOMAINS AT ONCE)
`
`ENTER NAME:
`
`SEARCH
`
`ENTER YOUR NAME IN THE TEXT BOX (WITHOUT EXTENSIONS). FOR
`EXAMPLE, ENTER "yournome" NOT nwww.yournc1me.com". CLICK ON
`THE "SEARCH" BUTTON TO SEARCH OVER 400 DOMAINS, WORLDWIDE!
`
`Petitioner RPX Corporation - Ex. 1076, p. 6
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 6 0f 9
`
`US 6,560,634 B1
`
`ONOITIGSCOI’YY“
`
`SEARCH FOR A NAME
`
`TOP 50 COUNTRIES RANKED BY ANNUAL
`GROSS DOMESTIC PRODUCT
`
`ENTER NAME: I
`
`|
`
`SEARCH
`
`ENTER YOUR NAME IN THE TEXT BOX (WITHOUT EXTENSIONS). FOR
`EXAMPLE, ENTER "yournome" NOT "www.yournume.com". CLICK ON
`THE "SEARCH" BUTTON TO SEARCH THE TOP 50 COUNTRIES RANKED BY
`ANNUAL GROSS DOMESTIC PRODUCT.
`
`18. IRAN
`1. USA
`I9. TURKEY
`2. JAPAN
`20. NETHERLANDS
`3. CHINA
`21. ARGENTINA
`4. GERMANY
`22. TAIWAN
`5. INDIA
`6. UNITED KINGDOM 23. PAKISTAN
`7. FRANCE
`24. SOUTH AFRICA
`8. ITALY
`25. POLAND
`9. BRAZIL
`26. UKRAINE
`IO. MEXICO
`27. BELGIUM
`II. RUSSIA
`28. VENEZUELA
`12. CANADA
`29. SAUDI ARABIA
`I3. INDONESIA
`30. COLOMBIA
`I4. SPAIN
`31. MALAYSIA
`15. SOUTH KOREA
`32. SWEDEN
`I6. AUSTRALIA
`33. PHILIPPINES
`I7. THAILAND
`34. EGYPT
`FIG.5B
`
`35.
`36.
`37.
`38.
`39.
`40.
`41.
`42.
`43.
`44.
`45.
`46.
`47.
`48.
`49.
`50.
`
`SWITZERLAND
`AUSTRIA
`HONG KONG
`BANGLADESH
`NIGERIA
`PORTUGAL
`DENMARK
`CHILE
`ALGERIA
`NORWAY
`GREECE
`MOROCCO
`VIET NAM
`FINLAND
`CZECH REPUBLIC
`SYRIA
`
`Petitioner RPX Corporation - Ex. 1076, p. 7
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 7 0f 9
`
`US 6,560,634 B1
`
`604
`
`60?
`
`SEARCH RESULTS: MERCEDESNGOZ
`
`’
`
`NAME \ RESULTS
`
`DOMAIN DESCRIPTION
`
`REGISTER
`
`MERCEDES.comou REGISTERED AUSTRALIAOCOMMERCIAL
`_M_E_R_CEDES.co.nz
`REGISTERED NEW ZEALAND COMMERCIAL
`MERCEDES.com.sg REGISTERED ‘SINGAPORE COMMERCIAL i?
`
`AUSTRALIA NETWORKL E REGISTER NOW
`AVAILABLE
`> MERCEDES.neI.ou
`AUSTRALIA ORGANIZATIONS
`REGISTER NO_W
`AVAILABLE
`MERCEDES.org.0u
`CHINA COMMERCIAL
`REGISTER N_O_W
`AVAILABLE
`MERCEDES.com.cn
`CHINA NETWORKS
`REGISTER M
`AVAILABLE
`MERCEDES.neI.cn
`CHINA ORGANIZATIONS
`REGISTER NOW
`AVAILABLE
`MERCEDES.org.cn
`HONG KONG COMMERCIAL
`REGISTER NO_W
`AVAILABLE
`MERCEDES.comhk
`HONK_KONG NETWS
`REGISTER NOW
`MERCEDES.neI.hk LlO/AILABLE
`HONG KONG ORGANIZATIONS
`REGISTER NO_W
`MERCEDES.0rg.hk
`AVAILABLE
`INDONESIA COMMERCIAL
`REGISTER NOW
`MERCEDES.co.id
`AVAILABLE
`INDOIESIA NETWLORKS
`REGISTER NO_W
`MERC‘EDESneiji AVAILABLE
`MERCEDES.co.jp
`_ANAILABLE JAPAN COMMERCIAL
`REGISTER NO__W
`MERCEDES.com.my
`AVAILABLE
`MALAYSIA COMMERCIAL — REGISTER N_OW
`
`MERCEDESnetmy
`
`AVAIIABLE
`
`MALAYSIA NETWORKS
`
`REGISTER TM
`
`606
`
`MERCEDESorgmy
`_NIERCEDES.neI.nz
`MERCEDES.org.nz
`MERCEDES.ph
`MERCEDES.co.kr
`MERCEDESneLsg
`MERCEDES.org.sq
`MERCEDES.com.tw
`MERCEDES.neI.Iw
`MERCEDES.org.tw
`MERCEDES.co.Ih
`
`MALAYSIA ORGANIZALONS k REETER N_OW
`AVAILABLE
`NEW ZEALAND NETWORKS
`REGISTER NO_W
`AVAILABLE
`AVAILABLE_ NEW ZEALQD ORGAIWZATIONL
`REGISTER NOW
`AVAILABLE
`PHILIPPINES
`REGISTER NO_W
`AVAILABLE
`REPUBLIC OF K%_EA COMMERCIAL REGISTER NOW
`AVAILABLE
`SINGAPORE NETWORKS
`REGISTER NO_W
`AVAILABLE
`SINGAPORE ORGANIZATIONS
`REGISTER M
`AVAILABLE
`TAIWAN EMMERCNL
`REGISTER NO_W
`AVAILABLE EWAN NETWORKS
`REGISTER NOW
`AVAILABLE
`TAIWAN ORGANIZATIONS
`REGISTER NOW
`AVAILABLE
`THAILAND COMMERCIAL
`REGISTER M
`FIG.6A
`
`Petitioner RPX Corporation - Ex. 1076, p. 8
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 8 0f 9
`
`US 6,560,634 B1
`
`WHOIS INFORMATION
`WHOIS: MERCEDES.com.au (AUSTRALIA COMMERCIAL / %
`
`//
`
`domain:
`descr:
`descr:
`admin-c:
`zone-c:
`changed:
`SOUFCCZ
`
`person:
`address:
`address:
`address:
`address:
`address:
`phone:
`fax—no:
`email:
`nic-hdl:
`changed:
`SOUFCGI
`
`mercedes.com.au
`MERCEDES-BENZ (AUSTRALIA) PTY LTD
`PO BOX 214 MULGRAVE VICTORIA 317D
`ABI-AU
`ABI-AU
`hostmaster@aunic.net 960326
`AUNIC
`
`ANDREW BIRCH
`MERCEDES-BENZ (AUSTRALIA) PTY LTD
`PO BOX 214
`GLEN WAVERLY
`VIC 3150
`AU
`+61 3 566 9389
`+61 3 566 9147
`mb—net—au@aunic.net
`ABI-AU
`hostmaster@aunic.net 940314
`AUNIC
`
`Petitioner RPX Corporation - Ex. 1076, p. 9
`
`
`
`U.S. Patent
`
`May 6, 2003
`
`Sheet 9 0f 9
`
`US 6,560,634 B1
`
`COUNTRY BY COUNTRY ORDER FORM
`NAME OF PERSON COMPLETING THIS FORM
`
`NAME
`
`
`PHONE
`
`FAX (OPTIONAL)
`
`DOMAIN NAME:
`
`DOMAIN NAME
`
`MERCEDES
`
`COMMERCIAL
`SUB-DOMAIN
`IF REOUIREO CCTLD
`
`INITIAL
`NSI
`SERVICE RECISTRY
`FEE
`FEE
`
`RECISTRY MULTIPLE
`MAINT.
`NAMES
`FEE
`ALLOwEO COMMENTS
`
`COUNTRY
`
`III PHILIPPINES
`
`COM
`
`PH
`
`249
`
`40
`
`0
`
`YES
`
`CREDIT CARD INFORMATION
`
`NAME ON CARD
`
`EXPIRATION DATE
`
`ACCOUNT NUMBER
`
`ZIP CODE*
`(*THIS ONLY APPLIES TO CUSTOMERS WITHIN THE UNITED STATES. PLEASE
`ENTER THE ZIP CODE TO WHICH YOUR CREDIT CARD STATEMENT IS MAILED.)
`
`0 VISA
`
`O MASTERCARD
`
`O AMERICAN EXPRESS
`
`SUBMIT THIS FORM
`
`RESET THIS FORM
`
`FIG.6C
`
`Petitioner RPX Corporation - Ex. 1076, p. 10
`
`
`
`US 6,560,634 B1
`
`1
`METHOD OF DETERMINING
`UNAVAILABILITY OF AN INTERNET
`DOMAIN NAME
`
`RELATED APPLICATIONS
`Provisional US. Patent Application No. 60/055,787,
`entitled “Method of Determining Unavailability of an Inter
`net Domain Name,” ?led on Aug. 15, 1997, is relied upon
`and is incorporated by reference in this application.
`
`BACKGROUND OF THE INVENTION
`A. Field of the Invention
`This invention relates generally to data processing sys
`tems and, more particularly, to a method for determining if
`an Internet domain name has been registered in a speci?c
`domain.
`B. Description of the Related Art
`Internet domain names are related to Internet Protocol
`(IP) numerical addresses. Every “host” that is linked directly
`to the Internet (e.g., computers) must be identi?ed by a
`speci?c IP numerical address. Data transmission over the
`Internet is in fact accomplished by directing the data to such
`numerical addresses. An IP address includes four numbers
`separated by periods. Currently, each number must be
`betWeen 0 and 255.
`Numerical addresses, hoWever, are dif?cult for humans to
`remember. Consequently, a domain name may be used as
`part of What amounts to a type of mnemonic for that IP
`address. For example, the domain name infoWay.com, forms
`part of ns.infoWay.com, Which is an easier-to-remember
`mnemonic for the host located at IP address 207.90.216.53.
`In this Way, the mnemonic is at least roughly analogous to
`the letters that are sometimes used to signify a speci?c
`telephone number, e.g., 1-800-FLOWERS is a mnemonic
`for 1-800-356-9377.
`The availability of Internet domain names (e.g.,
`“ibm.com,” “microsoft.com,” “netscape.com,” etc.) is noW a
`signi?cant business issue, because a domain name is the
`identi?er by Which an individual, a company, a governmen
`tal entity, an educational institution, etc. (referred to collec
`tively as simply “companies”) can be found on the Internet.
`As is Well knoWn in the art, minor variations in a name
`can be registered With the InterNIC as domain names. The
`InterNIC, is a registration service for registering domain
`names located at NetWork Solutions, Inc., Herndon, Va. For
`example, it has been reported that the domain names 1-800
`DENTIST.COM and 1800DENTISTCOM are oWned by
`tWo different entities.
`In addition, companies. that have, or aspire to have, an
`international Internet presence must keep in mind the
`domain name scheme in other countries. For example, it has
`been reported that “apple.com” and “apple.co.uk” are oWned
`by different companies, as are“apple.net” and “apple.org.”
`Domain names are speci?c to a domain, Which is a
`geographic area de?ned at a global-level or at a country
`level. A global-level domain covers all countries WorldWide.
`Examples of global-level domains include .com, .edu, .gov,
`and .org. A country-level domain covers only a given
`country. Examples of country-level domains include .us for
`the United States and .fr for France. Additionally, country
`level domains may contain an indication of a sub-domain
`Within the domain. When a sub-domain is speci?ed for a
`domain name, the domain name is recogniZed only in that
`sub-domain and not the domain that it is a part of.
`The term “domain name system” (DNS) refers to a
`distributed database that is responsible for translating the
`
`2
`Internet names into numerical addresses (e.g.,
`207.90.216.53), routing mail to its proper destination and
`many other services. The DNS comprises DNS servers or
`other machines that runs softWare permitting it to query a
`database (hosted either locally or on another machine)
`referred to as a DNS database. The DNS database contains
`records associating particular domain names With speci?c
`Internet Protocol (IP) numerical addresses (e.g.,
`207.90.216.53).
`A user that Wishes to check the availability of a domain
`name in, for example, ?ve different countries Will typically
`submit a separate Whois query, or its equivalent, to the
`domain-name registration authority in each country. Whois
`queries provide a Way of ?nding registering organiZation
`names, e-mail addresses, administrative technical and bill
`ing contacts, postal addresses, and telephone numbers, of
`those Who have registered domain names. Whois is available
`for use from “http://rs.intemic.org,” and available for doWn
`load at “http://WWW.shareWare.com.” The queries might be
`automated to the extent that the countries in question support
`automated electronic queries (e. g., via a Web broWser form),
`but in other countries the queries must be initiated by some
`other means, e.g., FAX, mail, email, phone call, etc. In either
`case, to perform a query for registered domain names in
`multiple countries, a user Would have to submit a separate
`search request to each domain, thus making the searching
`process very time-consuming and cumbersome. It is there
`fore desirable to improve systems that search for domain
`names.
`
`SUMMARY OF THE INVENTION
`
`Methods, systems, and articles of manufacture consistent
`With the present invention provide an improved query server
`that overcomes the shortcomings of existing domain name
`searching techniques by performing a multitude of searches
`simultaneously, transparent to the user. Speci?cally, the
`improved query server searches for an existing domain name
`records in various domains and then displays the results in
`a formatted manner, thus eliminating the need for a user to
`perform individual searches.
`In accordance With methods consistent With the present
`invention, a method is provided in a data processing system
`With DNS servers, each responsible for maintaining regis
`tration records of domain names for an associated domain.
`This method receives user input containing a domain name
`and speci?ed ones of the domains, transmits a request for a
`search of the domain names to the DNS servers associated
`With the speci?ed domains, receives search results from the
`DNS servers associated With the speci?ed domains, and
`displays the search results. The search results indicate, for
`each of the speci?ed domains, Whether a domain name
`record exists in the speci?ed domain.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The accompanying draWings, Which are incorporated in
`and constitute a part of this speci?cation, illustrate an
`implementation of the invention and, together With the
`description, serve to explain the advantages and principles
`of the invention. In the draWings,
`FIG. 1 depicts a data processing system suitable for
`practicing methods and systems consistent With the present
`invention;
`FIG. 2 depicts a more detailed diagram of the query server
`depicted in FIG. 1;
`FIG. 3 depicts a more detained diagram of one of the DNS
`servers depicted in FIG. 1;
`
`Petitioner RPX Corporation - Ex. 1076, p. 11
`
`
`
`US 6,560,634 B1
`
`3
`FIG. 4 depicts a How chart of the steps performed by the
`query engine of FIG. 1 When searching for registered
`domain names in accordance With methods and systems
`consistent With the present invention;
`FIGS. 5a—5b depict a user interface in accordance With
`methods and systems consistent With the present invention;
`and:
`FIGS. 6a—6c depict example display outputs in accor
`dance With methods and systems consistent With the present
`invention.
`
`DETAILED DESCRIPTION
`The following detailed description of the invention refers
`to the accompanying draWings. Although, the description
`includes exemplary implementations, other implementations
`are possible, and changes may be made to the implementa
`tions described Without departing from the spirit. and scope
`of the invention. The folloWing if detailed description does
`not limit the invention. Instead, the scope of the invention is
`de?ned by the appended claims. Wherever possible, the
`same reference numbers Will be used throughout the draW
`ings and the folloWing description to refer to the same or like
`parts.
`Introduction
`In accordance With methods and systems consistent With
`the present invention, a query server is provided that
`receives a query from a user of a client computer using a
`client program such as Netscape Navigator or Microsoft
`Internet Explorer. The query server receives the query from
`the client. computer either directly or, alternatively, via one
`or more intermediary computers such as one operated by an
`Internet access provider, an on-line service, etc. Although
`the client program may generate a query at one computer,
`the results of the query may be returned by the query server
`to another computer. The format of the query can take any
`of a number of forms (e.g., With sWitches in a command line
`or check boxes in a graphical user interface).
`The query results in the generation of a response
`indicating, for example, that a speci?ed Internet host name
`(e.g., apple) has been registered in a speci?ed domain (e.g.,
`the sub-domain .co Within the country-level domain .uk),
`resulting in a domain name (e.g., apple.co.uk).
`System Components
`FIG. 1 depicts a data processing system 100 suitable for
`practicing methods and systems consistent With the present
`invention. Data processing system 100 includes a client
`computer 106, a query server 104, and a number of DNS
`servers 108 interconnected via netWork 102. The client
`computer 106 is used by the user to submit queries to query
`server 104. Query server 104 receives the queries from the
`client computer 106 and performs these queries on DNS
`servers 108. Query server 104 may also contain Hyper Text
`Markup Language (HTML) code for transfer to a broWser on
`the client computer 106. DNS servers 108 contain a domain
`name database that associates DNS records With domain
`names. A DNS record contains a domain name and the
`associated numerical address. DNS records may also contain
`textual information regarding the domain name. For
`example, a DNS record may indicate a contact person for a
`paricular domain name. DNS servers 108 receive query
`requests from the query server 104 and search the domain
`name database for a DNS record associated With the domain
`name. Although only one client computer 106 is depicted,
`one skilled in the art Will appreciate that data processing
`system 100 may contain many more client computers.
`FIG. 2. depicts a more detailed diagram of query server
`104. Query server 104 contains a memory 220, a secondary
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`storage device 230, a central processing unit (“CPU”) 240,
`an input device 250, and a video display 260. Memory 220
`includes domain name query engine 222 that interacts With
`client computer 106 and DNS servers 108. Query engine 222
`includes query softWare 224 that submits search requests to
`various DNS servers 108 located throughout the netWork.
`One example of the query softWare may be a UNIX utility
`tool called “nslookup” available on most UNIX platforms.
`Alternatively, query softWare 226 may be a script to interact
`With various Domain Name Servers. Query engine 222 also
`includes search engine 226 that uses a forking system to
`perform domain name queries in parallel. The forking sys
`tem initiates multiple sub-processes to perform a subset, of
`the queries once the query process has begun. The forking
`system reduces the total time to complete a seach since
`multiple sub-processes Will perform the queries in parallel.
`Query engine 222 further includes HTML parser 228 that
`parses HTML form parameters passed to and from the client
`broWser When a search is submitted to the search engine 226.
`Search engine 226, query softWare 224 and HTML parser
`228 are preferably Written in the PERL environment avail
`able for doWnload from Internet sites, such as “http://
`WWW.perl.com.”
`Secondary storage device 230 includes a domain ?le 232
`that includes a listing of the available domains used by the
`search engine to create the queries. Also included in domain
`?le 232 is a domain extension suf?x to append to the domain
`name to create a full domain name to be searched. For
`example, the domain extension suffix “.co.uk” When com
`bined With the domain name “apple” Will create the full
`domain name “apple.co.uk.” Domain ?le 232 may also
`contain the numerical address of a DNS server for each
`domain and Whether the domain supports a Whois query.
`Moreover, domain ?le 232 may also optionally include other
`?elds for specialized searches, such as Gross it Domestic
`Product (GDP) or Whether the domain is a member of
`European Union or a Western country. These specialiZed
`?elds alloW the user to create a specialiZed domain name
`search in various environments. For example, a user may
`select to search for a domain name located in a top 50 GDP
`country. One skilled in the art Will appreciate that other
`specialiZed ?elds may exist, including Asian countries or
`even high Internet usage countries.
`FIG. 3 depicts in greater detail an exemplary DNS server
`108. DNS server 108 contains a memory 320, a secondary
`storage device 330, a central processing unit (“CPU”) 340,
`an input device 350, and a video display 360. Secondary
`storage device 330 includes DNS server database 332 con
`taining resource records that describe all the registered
`domain names Within it’s Zone. A “Zone” contains the
`domain names and data that a domain contains, except for
`domain names and data that are delegated to a sub-domain.
`For example, the domain “ca” (for Canada) may have the
`sub-domains “ab.ca” (Alberta), “on.ca” (Ontario), and
`“qb.ca” (Quebec). Authority for the “ab.ca,” “on.ca,” and
`“qb.ca” domains may be delegated to the DNS servers in
`each of the provinces. The domain “ca” contains all the data
`in “ca” plus all the data in “ab.ca,” “on.ca,” and “qb.ca.”
`HoWever, the Zone “ca” contains only the data in “ca”. In
`other Words, the domain name “apple.ca” is listed in the “ca”
`DNS server database, While the domain name “apple.qb.ca”
`is listed in the “qb.ca” DNS database. Memory 320 includes
`program 322 that receives search requests from query server
`104 for searching and retrieving information about the
`domain name from DNS database 332. One example of
`program 322 may be Berkeley Internet Name Domain
`(BIND) implementation of DNS available for doWnload
`from the Internet SoftWare Consortium at “http://
`WWW.isc.org.”
`
`Petitioner RPX Corporation - Ex. 1076, p. 12
`
`
`
`US 6,560,634 B1
`
`10
`
`15
`
`25
`
`35
`
`5
`Although aspects of the present invention are described as
`being stored in memory, one skilled in the art Will appreciate
`that these aspects may be stored on or read from other
`computer-readable media, such as secondary storage
`devices, like hard disks, ?oppy disks and CD-ROM; a
`carrier Wave received from a netWork like the Internet; or
`other forms of ROM or RAM. Additionally, although spe
`ci?c components and programs of query server 104 and
`DNS server 108 have been described, one skilled in the art
`Will appreciate that a query server or a DNS server suitable
`for use With methods and systems consistent With the present
`invention may contain additional or different components.
`Domain Name Searching Process
`Further details on operation of the search process Will
`noW be explained With reference to the How chart of FIG. 4.
`The domain name search process is initiated, for example,
`by a request from client computer 106 to perform a search
`for a domain name (step 402). For example, client computer
`106 may send an HTML request to query engine 104 using
`the Well knoWn Hypertext Transfer Protocol. Once the
`request is received, query engine 222 interrogates domain
`?le 232 (step 404) and transmits all possible domains to
`search and the accompanying specialiZed ?elds in an HTML
`format to display on client computer 106 (step 406). That is,
`query engine 222 transmits a possible domain to search
`“.uk” With an identi?cation that the domain is part of the
`European Union and also from a top 50 GDP country.
`Once displayed, a user using client computer 106 enters
`a domain name to search, for example “apple,” and a type of
`search to be performed, for example “top 50 GDP countries”
`(step 408). A user may request a search for registered
`domain names in all domains, as shoWn in FIG. 5a.
`Alternatively, the user may request a specialized search.
`That is, a search for a registered domain name in a set of
`domains based on the accompanying specialiZed ?elds. For
`example, a user may request to search in only the top 50
`countries ranked by annual GDP, as depicted in FIG. 5b. One
`skilled in the art Will appreciate that other combinations of
`domain selections exists, for example Western countries,
`Asian countries or a customiZed search, in that the user at
`client computer 106 may select a subset of domains to search
`from the total number of domains.
`Upon the user at client computer 106 entering a domain
`name to search, client computer 106 sends the user input to
`query server 104 (step 410). Once received at query server
`104, HTML parser 228 parses a listing of domains and a
`domain name to search submitted by the client computer 106
`(step 412). Query engine 222 then invokes search engine
`226 to spaWn a number of search sub-processes (step 414).
`In this step, search engine 226 calculates the number of
`search sub-processes to spaWn based on the number of
`domains to query submitted by client computer 106 so that
`each search sub-process contains at most 11 domains to
`search. Essentially, search engine 226 forks the queries into
`multiple sub-processes to perform the domain name
`searches in parallel for optimiZed performance. Each
`spaWned search sub-process is given a subset of domains to
`query, thus query server 104 may perform multiple queries
`at once. For example, if client broWser 106 selects 50
`domains to query, search engine 226 may spaWn 5 search
`sub-processes, so that each spaWned search sub-process
`queries 10 DNS servers. Further, depending on the load of
`query server 104, search engine 226 may change the number
`of search sub-processes to spaWn.
`Once the search processes are spaWned, a separate section
`of query engine 222, query softWare 224, transmits, to a
`DNS server for the domain in question (e.g., a DNS server
`
`45
`
`55
`
`65
`
`6
`108 for .qb.ca or for .com), a request ifor a search of a
`domain-name database for a DNS record associated With the
`domain name (step 416). The transmission of the search
`request could be direct, but more likely Will be relayed
`through one or more intermediary machines. For example, a
`search request generated by a query server in Houston could
`be transmitted to London; then to MoscoW, and then to
`ZimbabWe, Where the target DNS server 108 might be
`located.
`In response to the search request, the DNS server 108
`searches its domain-name database for a DNS record asso
`ciated With the speci?ed domain name (step 418). The DNS
`server 108 generates a response that indicates Whether a
`DNS record Was found for that domain name.
`Query server 104 ultimately receives the response from
`DNS server 108 (step 420) and keeps a record of all
`responses from the DNS servers 108 until all responses have
`been received. If a response indicates that the domain-name
`database contains a DNS record associated With the domain
`name, query engine 222 ?ags that response signifying that
`the domain name has indeed been registered in the speci?ed
`domain for further inquiry. This response is referred to as an
`“unavailability response.” The unavailability response pro
`vides the user,With at least some indication (although not
`necessarily a conclusive one) that the domain name might
`not be available to be adopted in the domain in question.
`Once all of the DNS servers 108 have responded With
`information about domain-name unavailability, query
`engine 222 performs a subsequent query for all registered
`domain names that support a Whois query (step 424). Using
`Whois, query softWare 226 can also learn additional infor
`mation about a domain name. Query engine 222 invokes
`query softWare 226 to perform a Whois query in the domains
`that returned an unavailable response for a particular domain
`name. Domain ?le 232 contains a listing of domains sup
`porting the Whois queries, since not all domains support
`Whois functionality.
`Finally, in step 424, the results from the initial query
`and/or supplemental Whois query are presented to the user
`in a suitable display format. In either case, query engine 222
`collects, sorts and formats the results for display to client
`computer 106. The results may be displayed in an HTML
`format.
`FIGS. 6a and 6b depict the results displayed to the user.
`FIG. 6a depicts an HTML display presented to the user using
`client computer 106 for search results 602. In this particular
`search, the user requested a domain name specialiZed search
`in all Asian and Paci?c countries for the domain name
`“Mercedes.” Items 604 indicate domains for Which the
`domain name is currently unavailable, While items 606
`indicate domains for Which the domain name is available. If
`desired, a user may request to register a domain iname as
`indicated by item 606 by selecting item 610. That is, item
`610 links a user to an HTML order form, as shoWn in FIG.
`6c, for the speci?ed domain. The order form dynamically
`creates an order request for: a particular domain name in the
`speci?ed domain. The user supplies information, such as
`credit card and contact information, and once all the infor
`mation is entered, the user may submit the order form to the
`appropriate registering service by email or by the Well
`knoWn hypertext transport protocol in order to begin the
`registration process. Also, Item 608 indicates that the
`domain “.com.au” supports the Whois functionality and
`contains further details on the administration for the domain
`name “Mercedes.” By selecting item 608, a user Will vieW
`the supplemental, Whois queries for all domains supporting
`Whois functionality, as shoWn in FIG. 6b.
`
`Petitioner RPX Corporation - Ex. 1076, p. 13
`
`
`
`US 6,560,634 B1
`
`7
`Also if desired, the query server can develop and maintain
`a centralized data store of “taken” domain names indicating
`Which domain names have been registered and in Which
`domain(s) they are registered. In response to a user’s query,
`the query server can then search the centralized data store to
`make a quick, ?rst-pass determination Whether the domain
`name of interest has been “taken.”
`Conclusion
`Methods and systems consistent With the present inven
`tion search for registered domain names in a plurality of
`domains by transmitting a request to search a domaini-name
`database to selected domains. One of the advantages to
`searching domains in this manner is that the query server can
`send search requests to many top-level Domain Name
`Servers (e.g., uk, .fr, .de, and so on) so that the searches can
`be performed quickly and, from the user’s perspective,
`essentially simultaneously. This searching capability is
`available to any Web enabled client broWser, UNIX or many
`other operating systems. For example, a domain name
`search may be implemented by a command line instruction.
`Methods consistent With the present invention also Work
`Well With multi-processor machines. On a multi-processor
`machine, a search may shoW up on more than one processor
`thread. Finally, systems consistent With the present invention
`can Work Well With domain name search engines Written in
`C++, Perl, C or even Java programming languages.
`The foregoing description of an implementation of the
`invention has been presented for purposes of illustration and
`description. It is not exhaustive and does not limit the
`invention to the precise form disclosed.