`(10) Patent N0.:
`US 6,560,634 131
`
`Broadhurst
`(45) Date of Patent:
`May 6, 2003
`
`USOO6560634B1
`
`(54) METHOD OF DETERMINING
`UNAVAILABILITY OF AN INTERNET
`DOMAIN NAME
`
`(75)
`
`Inventor: Larry Joe Broadhurst, Humble, TX
`(US)
`
`(73) Assigncc: 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) Appl. No.: 09/133,836
`
`(22) Filed:
`
`Aug. 13, 1998
`
`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
`fggcéegark Law; Managing Intellectual Property; London,
`~
`Netowrk Solutions and Versign Launch Combined Internet
`Name and Certification 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, 1991*
`
`* Cited by examiner
`
`(60)
`
`Related U.S. Application Data
`Provisional application No. (30/055,787, filed on Aug. 15,
`1997.
`
`Primary Examiner—Glenton B. Burgess
`ASSlsmm Exammer—Tod KupStaS
`(74) Attorney, Agent, or Ftrm—Kenyon & Kenyon
`
`Int. Cl.7 ................................................ G06F 15/16
`(51)
`(52) U.S. Cl.
`........................ 709/203; 709/217; 709/219
`.
`(58) Fleld 0f7853:2113 719745777749 732/27107710:
`"‘ ’ '
`’ “
`’ ‘“ ’ '
`’ '
`’ 500/ _05’
`’ D
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`................. 707/104
`4/1999 King etal.
`5,895.471 A *
`5,983,351 A * 11/1999 Glogau ...........
`.. 713/201
`
`..
`6,023,698 A *
`2/2000 Lavey, Jr. et al.
`707/10
`............. 709/227
`6,205,482 B1 *
`3/2001 Navarro ct al.
`
`(57)
`
`ABSTRACT
`.
`.
`Methods, systems, and articles of manufacture consrstent
`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. Specifically,
`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 1nd1V1dualsearCheS'
`
`17 Claims, 9 Drawing Sheets
`
`TM
`'
`Id N 0 m e s . c 0 m
`SEARCH FOR A NAME
`
`TOP 50 COUNTRIES RANKED BY ANNUAL
`GROSS DOMESTIC PRODUCT
`
`
`ENTER NAME::1
`
`ENTER YOUR NAME IN THE TEXT BOX (WITHOUT EXTENSIONS). FOR
`EXAMPLE, ENTER 'youmame" NOT ”www.yournome.com . CLICK ON
`THE "SEARCH" BUTTON TO SEARCH THE TOP 50 COUNTRIES RANKED BY
`ANNUAL GROSS DOMESTIC PRODUCT.
`
`
`1. USA
`2. JAPAN
`3. CHINA
`4. GERMANY
`5.
`INDIA
`6. UNITED KINGDOM
`7. FRANCE
`8.
`ITALY
`9. BRAZIL
`10. MEXICO
`11. RUSSIA
`12. CANADA
`13.
`INDONESIA
`14. SPAIN
`15. SOUTH KOREA
`16. AUSTRALIA
`17. THAILAND
`
`IRAN
`18.
`19. TURKEY
`20. NETHERLANDS
`21. ARGENTINA
`22. TAIWAN
`23. PAKISTAN
`24. SOUTH AFRICA
`25. POLAND
`26. UKRAINE
`27. BELGIUM
`28. VENEUELA
`29. SAUDI ARABIA
`30. COLOMBIA
`31. MALAYSIA
`32. SWEDEN
`33. PHILIPPINES
`34. EGYPT
`
`35. SWITZERLAND
`36. AUSTRIA
`37. HDNG 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
`SO. SYRIA
`
`New Bay Capital, LLC
`Ex.1003-Page 1 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 1 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 1 0f 9
`
`US 6,560,634 B1
`
`28
`T__
`
`00
`c:
`1-
`
`FIG.1
`
` QUERY
`SERVER
`
`104
`
`New Bay Capital, LLC
`Ex.1003-Page 2 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 2 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 2 of 9
`
`US 6,560,634 B1
`
`2:
`
`>105:
`
`>m<ozoomm
`
`34205
`
`“.653
`
`5:2228
`
`>530
`
`mggom
`
`zomfim
`
`mz_ozm
`
`._E._._
`
`Emmi
`
`55mm5&2.
`
`>Sn_m_o89>
`
`Nd:
`
`New Bay Capital, LLC
`Ex 1003-Page 3 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 3 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 3 0f 9
`
`US 6,560,634 B1
`
`108
`
`SECONDARY
`
`STORAGE DEVICE
`
`
`
`DNSDATABASE
`
`
`
`INPUTDEVICE
`
`)—
`
`FIG.3
`
`9> N
`
`5l S
`
`QD 0L
`
`L]
`
`ew Bay Capital, LLC
`Ex.1003-Page 4 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 4 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 4 0f 9
`
`US 6,560,634 B1
`
`iw
`
`m3
`
`m3.
`
`0?
`
`umv
`
`«.3.
`
`
`
`
`
`9830mmrum/mm235w
`
`
`
`HmmsommIozfiw<:zmz<E
`
`
`
`22209minor—«E<2.
`
`z_om_m
`
`museumWEE;
`
`
`
`
`
`”.3:22289mm
`
`
`
`mmzommmm:2mz<~:
`
`
`
`mm>~mm5520o._.
`
`
`
`
`
`m0...box»?58me
`
`
`
`
`
`mzZEOooz_.Eon_n5w._._<
`
`
`
`mismmm2..meoz<._.<2xo.._
`
`ozm
`
`We:
`
`
`
`zéoomm52.62Sn.z_Em:mzmomx
`
`
`
`mm>~mm>620E512.92mm
`
`
`
`Iomfimohmzzzoo53mm
`
`onfiwzmommma
`
`
`
`IogmEmzzzoo>Sn_m_o
`
`No.“‘
`
`¢o¢
`
`wow
`
`wow
`
`0:
`
`N:
`
`New Bay Capital, LLC
`Ex 1003-Page 5 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 5 of 16
`
`
`
`
`
`
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 5 0f 9
`
`US 6,560,634 B1
`
`idNomes.comm
`
`SEARCH FOR A NAME
`
`SEARCH THE WORLD
`(OVER 400 DOMAINS AT ONCE)
`
`ENTER NAME: l::::]
`
`ENTER YOUR NAME IN THE TEXT BOX (WITHOUT EXTENSIONS). FOR
`EXAMPLE, ENTER "yourname" NOT "www.yourname.com". CLICK ON
`THE "SEARCH" BUTTON TO SEARCH OVER 400 DOMNNS, WORLDWIDE!
`
`FIG.5A
`
`New Bay Capital, LLC
`Ex.1003-Page 6 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 6 of 16
`
`
`
`US. Patent
`
`haay»6,2003
`
`Sheet 6 0f 9
`
`US 6,560,634 B1
`
`dNGmeS.Com‘“
`
`
`
`
`
`SEARCH FOR A NAME
`
`TOP 50 COUNTRIES RANKED BY ANNUAL
`
`GROSS DOMESTIC PRODUCT
`
`
`
`ENTER NAME:C:
`
`ENTER YOUR NAME IN THE TEXT BOX (WITHOUT EXTENSIONS). FOR
`EXAMPLE, ENTER "yourname" NOT "www.youmome.com". CLICK ON
`THE "SEARCH" BUTTON TO SEARCH THE TOP 50 COUNTRIES RANKED BY
`ANNUAL GROSS DOMESTIC PRODUCT.
`
`USA
`
`JAPAN
`
`CHINA
`
`GERMANY
`
`INDIA
`
`18.
`
`IRAN
`
`19. TURKEY
`
`20. NETHERLANDS
`
`21. ARGENTINA
`
`22. TAIWAN
`
`35.
`
`SWITZERLAND
`
`36
`
`37.
`
`38.
`
`AUSTRIA
`
`HONG KONG
`
`BANGLADESH
`
`39.
`
`NIGERIA
`
`UNITED KINGDOM
`
`23. PAKISTAN
`
`40.
`
`PORTUGAL
`
`24. SOUTH AFRICA
`
`41 .
`
`DENMARK
`
`www99+wwrv
`
`FRANCE
`
`ITALY
`
`BRAZIL
`
`10
`
`. MEXICO
`
`11
`
`. RUSSIA
`
`12
`
`. CANADA
`
`I3
`
`.
`
`INDONESIA
`
`14
`
`. SPAIN
`
`25. POLAND
`
`26. UKRAINE
`
`27. BELGIUM
`
`28. VENEZUELA
`
`29. SAUDI ARABIA
`
`30. COLOMBIA
`
`31. MALAYSIA
`
`42.
`
`CHILE
`
`43.
`
`44.
`
`45.
`
`46.
`
`47.
`
`48.
`
`49.
`
`ALGERIA
`
`NORWAY
`
`GREECE
`
`MOROCCO
`
`VIET NAM
`
`FINLAND
`
`CZECH REPUBLIC
`
`15
`
`. SOUTH KOREA
`
`32. SWEDEN
`
`16
`
`. AUSTRALIA
`
`17
`
`. THAILAND
`
`33. PHILIPPINES
`
`50.
`
`SYRIA
`
`34 EGYPT
`
`FIG.SB
`
`New Bay Capital, LLC
`Ex.1003-Page 7 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 7 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 7 0f 9
`
`US 6,560,634 B1
`
`SEARCH RESULTS: MERCEDESWGOZ
`508
`
`
`
`
`
`
`MERCEDES.com.cu
`
`
`REGISTERED
`
`AUSTRALIA COMMERCIAL
`
`
`|IEI
`
`504
`
`
`
`
`
`
`NEW ZEALAND COMMERCIAL
`REGISTERED
`
`l MERCEDES.com sgl REGISTERED
`MERCEDES.netou
`AVAILABLE
`
`RESULTS
`
`DOMAIN DESCRIPTION
`
`
`
`REGISTER
`
`
`
`MERCEDES.co.nz
`
`SINGAPORE COMMERCIAL
`
`AUSTRALIA NETWORKS
`
`REGISTER NOW
`
`MERCEDESOTgou
`
`AVAILABLE
`
`AUSTRALIA ORGANIZATIONS
`
`REGISTER NO
`
`MERCEDES.com.cn
`
`AVAILABLE
`
`CHINA COMMERCIAL
`
`MERCEDES neI.cn
`
`AVAILABLE
`
`CHINA NETWORKS
`
`REGISTER NOW
`
`REGISTER NOW
`
`MERCEDES.OT9.cn
`
`AVAILABLE
`
`CHINA ORGANIZATIONS
`
`REGISTER NOW
`
`MERCEDES.com hk
`
`AVAILABLE
`
`HONG KONG COMMERCIAL
`
`REGISTER NO
`
`MERCEDES.neLhk
`
`AVAILABLE
`
`HONK KONG NETWORKS
`
`REGISTER NIL
`
`MERCEDES.crg.hk
`
`AVAILABLE
`
`HONG KONG ORGANIZATIONS
`
`REGISTER NO_W
`
`MERCEDES.co.id
`
`AVAILABLE
`
`IIEIIEIIIIIIIII |||||ILIIIILIILIIIIIIIIILIII
`
`MERCEDES.neL.id I
`MERCEDES.co.Ip
`
`AVAILABLE
`AVAILABLE
`
`AVAILABLE
`MERCEDES.commy
`AVAILABLE
`MERCEDESneLmyI
`AVAILABLE
`MERCEDES.crgmy
`AVAILABLE
`MERCEDESnean
`W AVAILABLE
`MERCEDES.ph
`AVAILABLE
`
`l—lFr]I"'1:0JO 2zooEE
`
`—Il"'| 50 Z OE
`
`REGIS
`REGIS
`REGIS'ER m
`REGIS'ER N_OW
`REGISTER NO_
`
`610
`
`!!III!IEUUI
`
`
`
`
`IIIIIIEII
`
`
`
`IIIIIIL
`
`INDONESIA COMMERCIAL
`
`REGISTER M
`
`INDONESIA NETWORKS
`
`REGIS
`
`JAPAN COMMERCIAL
`
`REGIS—
`
`t"'l :0 z oE
`
`MALAYSIA COMMERCIAL
`
`REGIS
`
`MALAYSIA NETWORKS
`MALAYSIA ORGANIZATIONS
`NEW ZEALAND NETWORKS
`NEW ZEALAND ORGANIZATIONS
`PHILIPPINES
`
`MERCEDES.co.kr
`
`AVAILABLE
`
`REPUBLIC OF KOREA COMMERCIAL
`
`REGISTER NOW
`
`MERCEDESneLsg
`
`AVAILABLE
`
`SINGAPORE NETWORKS
`
`REGISTER NO_
`
`MERCEDES.crg.sg
`
`AVAILABLE
`
`SINGAPORE ORGANIZATIONS
`
`REGISTER my
`
`MERCEDES.comtw
`
`AVAILABLE
`
`TAIWAN COMMERCIAL
`
`MERCEDESneLIw
`
`AVAILABLE
`
`TAIWAN NETWORKS
`
`MERCEDES.crg.Iw
`
`AVAILABLE
`
`TAIWAN ORGANIZATIONS
`
`REGISTER NO
`
`REGISTER N0
`
`MERCEDES.co.Ih
`
`AVAILABLE
`
`THAILAND COMMERCIAL
`
`REGISTER NOW
`
`FIG.6A
`
`New Bay Capital, LLC
`Ex.1003-Page 8 of 16
`
`505
`
`
`
`
`New Bay Capital, LLC
`Ex.1003-Page 8 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 8 0f 9
`
`US 6,560,634 B1
`
`WHOIS INFORMATION
`
`WHOIS: MERCEDES.com.OU (AUSTRALIA COMMERCIAL///////%
`
`domain:
`descr:
`descr:
`
`admin—c:
`zone—c:
`changed:
`source:
`
`person:
`address:
`address:
`
`address:
`
`address:
`address:
`phone:
`fax—no:
`
`email:
`
`nic-hdI:
`changed:
`source:
`
`mercedes.com.au
`MERCEDES—BENZ (AUSTRALIA) PTY LTD
`PO BOX 214 MULGRAVE VICTORIA 3170
`
`AB1-AU
`AB1-AU
`hostmoster©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 556 9147
`
`mb-net—au@aunic.net
`
`AB1-AU
`hostmoster©aunic.net 940314
`AUNIC
`
`FIC.6B
`
`New Bay Capital, LLC
`Ex.1003-Page 9 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 9 of 16
`
`
`
`US. Patent
`
`May 6, 2003
`
`Sheet 9 0f 9
`
`US 6,560,634 B1
`
`COUNTRY BY COUNTRY ORDER FORM
`
`NAME OF PERSON COMPLETING THIS FORM
`
`'
`
`I
`
`
`I
`
`m P
`
`HONE
`
`w mow
`
`DOMAIN NAME:
`
`DOMAIN NAME
`
`MERCEDES
`
`COMMERCIAL
`
`SUB—DOMAIN
`
`
`
`NSI
`
`
`COUNTRY
`IF REQUIRED CCTLD
`FEE
`FEE
`FEE
`ALLOWED COMMENTS
`
`——---nn-
`
`REGISTRY MULTIPLE
`
`MAINT.
`
`NAMES
`
`SERVICE REGISTRY
`
`INITIAL
`
`
`
`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.)
`
`O VISA
`
`0 MASTERCARD
`
`0 AMERICAN EXPRESS
`
`FIG.6C
`
`New Bay Capital, LLC
`Ex.1003-Page 10 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 10 of 16
`
`
`
`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,” filed on Aug. 15, 1997, is relied upon
`and is incorporated by reference in this application.
`BACKGROUND OF THE INVENTION
`A. Field of the Invention
`
`10
`
`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 specific
`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 identified by a
`specific 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 difficult 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 specific
`telephone number, e.g., 1-800-FLOWERS is a mnemonic
`for 1-800—356-9377.
`
`:7 5‘
`The availability of Internet domain names (e.g.,
`“ibm.com,” “microsoftcom,
`netscape.com,” etc.) is now a
`significant business issue, because a domain name is the
`identifier 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-
`DENTISTCOM 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.c0m” and “apple.co.uk" are owned
`by different companies, as are“apple.net” and “apple.org.”
`Domain names are specific to a domain, which is a
`geographic area defined 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 specified 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
`
`toUI
`
`40
`
`60
`
`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 specific
`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, five 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 finding 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.intenlic.org,” and available for down-
`load at “http://www.shareware.c0m.” 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. Specifically,
`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 specified ones of the domains, transmits a request for a
`search of the domain names to the DNS servers associated
`with the specified domains, receives search results from the
`DNS servers associated with the specified domains, and
`displays the search results. The search results indicate, for
`each of the specified domains, whether a domain name
`record exists in the specified domain.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings, which are incorporated in
`and constitute a part of this specification,
`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;
`
`New Bay Capital, LLC
`Ex.1003-Page 11 of 16
`
`New Bay Capital, LLC
`Ex.1003-Page 11 of 16
`
`
`
`US 6,560,634 B1
`
`3
`FIG. 4 depicts a flow 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.
`
`10
`
`DETAILED DESCRIPTION
`
`
`
`4
`storage device 230, a central processing unit (“CPU”) 240,
`an input device 250, and a video display 260. Memory 220
`inc udes domain name query engine 222 that interacts with
`client computer 106 and DN S servers 108. Query engine 222
`inc udes 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
`too called “nslookup” available on most UNIX platforms.
`Alternatively, query software 226 may be a script to interact
`witi various Domain Name Servers. Query engine 222 also
`inc udes search engine 226 that uses a forking system to
`per orm 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
`sys em reduces the total time to complete a seach since
`mu tiple 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 file 232
`that includes a listing of the available domains used by the
`search engine to create the queries. Also included in domain
`file 232 is a domain extension suffix 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.c0.uk.” Domain file 232 may also
`contain the numerical address of a DNS server for each
`domain and whether the domain supports a Whois query.
`Moreover, domain file 232 may also optionally include other
`fields 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
`fields 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 fields 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,” “0n.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.”
`
`New Bay Capital, LLC
`Ex.1003-Page 12 of 16
`
`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
`defined 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 specified Internet host name
`(e.g., apple) has been registered in a specified 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 (IITML) 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
`
`toUI
`
`40
`
`60
`
`New Bay Capital, LLC
`Ex.1003-Page 12 of 16
`
`
`
`US 6,560,634 B1
`
`10
`
`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, floppy disks and CD-ROM; a
`carrier wave received from a network like the Internet; or
`other forms of ROM or RAM. Additionally, although spe—
`cific 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 flow 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
`file 232 (step 404) and transmits all possible domains to
`search and the accompanying specialized fields 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 identification 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.
`511.
`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 fields. For
`example, a user may request to search in only the top 50
`countries ranked by annual GDP, as depicted in FIG. 5]). 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
`
`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 specified 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 flags that response signifying that
`the domain name has indeed been registered in the specified
`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 aWhois query in the domains
`that returned an unavailable response for a particular domain
`name. Domain file 232 contains a listing of domains sup-
`porting the Whois queries, since not all domains support
`Whois functionality.
`the results from the initial query
`Finally, in step 424,
`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 Pacific 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 specified domain. The order form dynamically
`creates an order request for: a particular domain name in the
`specified 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.
`
`New Bay Capital, LLC
`Ex.1003-Page 13 of 16
`
`toUI
`
`40
`
`60
`
`New Bay Capital, LLC
`Ex.1003-Page 13 of 16
`
`
`
`US 6,560,634 B1
`
`10
`
`20
`
`toUI
`
`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
`d01nain(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, first-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 u