U.S. patent application number 13/540818 was filed with the patent office on 2013-01-03 for systems, apparatus and method for hosting and assigning domain names on a wide area network.
Invention is credited to Desmond Ford JOHNSON, Brian LAM, Johnson LEONG, Matthew PRICE, Brian SHUSTER.
Application Number | 20130006799 13/540818 |
Document ID | / |
Family ID | 23525976 |
Filed Date | 2013-01-03 |
United States Patent
Application |
20130006799 |
Kind Code |
A1 |
SHUSTER; Brian ; et
al. |
January 3, 2013 |
SYSTEMS, APPARATUS AND METHOD FOR HOSTING AND ASSIGNING DOMAIN
NAMES ON A WIDE AREA NETWORK
Abstract
Embodiments of the instant invention are directed to a domain
management system, apparatus and method for hosting and assigning
domain names. Embodiments of the domain management system comprise
a name assignment system and a hosting system, wherein the hosting
system comprises a domain retrieval system and a data storage
apparatus. The name assignment system verifies availability and
assigns domain names to requesting clients. The name assignment
system comprises an input component, a confirmation mechanism and a
name storage means. Preferred embodiments of the domain retrieval
system comprise a scheduler, a parsing member having a plurality of
redirectors and a plurality of servers. The domain retrieval system
locates the domain referenced by the domain name by parsing header
information and utilizing a wildcard DNS. Once the domain is
located, the domain retrieval system forwards the domain to the
user computer.
Inventors: |
SHUSTER; Brian; (Stateline,
NV) ; LEONG; Johnson; (San Jose, CA) ; PRICE;
Matthew; (Santa Clara, CA) ; LAM; Brian;
(Sunnyvale, CA) ; JOHNSON; Desmond Ford; (Monte
Sereno, CA) |
Family ID: |
23525976 |
Appl. No.: |
13/540818 |
Filed: |
July 3, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13169173 |
Jun 27, 2011 |
|
|
|
13540818 |
|
|
|
|
11285371 |
Nov 21, 2005 |
7970937 |
|
|
13169173 |
|
|
|
|
10769449 |
Jan 29, 2004 |
|
|
|
11285371 |
|
|
|
|
09386529 |
Aug 30, 1999 |
6687746 |
|
|
10769449 |
|
|
|
|
Current U.S.
Class: |
705/26.3 ;
707/758; 707/E17.014 |
Current CPC
Class: |
H04L 61/3045 20130101;
H04L 61/1511 20130101; Y10S 707/99935 20130101; Y10S 707/99937
20130101; H04L 29/12066 20130101; H04L 61/3015 20130101; H04L
29/12594 20130101 |
Class at
Publication: |
705/26.3 ;
707/758; 707/E17.014 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06Q 30/08 20120101 G06Q030/08 |
Claims
1-39. (canceled)
40. A method comprising: receiving, by a host computing device,
upload content and a requested address, wherein the requested
address comprises: a host name corresponding to the host computing
device, and a content label in a wildcard portion of the requested
address; searching a database for a content address corresponding
to the content label, the database comprising a plurality of
additional labels each related to a corresponding content address;
and storing the upload content to a content storage system at the
content address.
41. The method of claim 40, further comprising: configuring a DNS
database to direct the upload content, irrespective of the content
label in the wildcard portion of the requested address, to the host
computing device.
42. The method of claim 40, further comprising: receiving the
upload content from a device authenticated with the content
label.
43. The method of claim 40, further comprising: receiving a request
to register the content label; and registering the content label in
the database.
44. The method of claim 43, further comprising: allocating reserved
space in the content storage system; and associating the reserved
space in the content storage system with the content label.
45. The method of claim 43, further comprising: comparing the
content label to the plurality of additional labels to confirm that
the content label is unique.
46. The method of claim 43, wherein receiving the request to
register the content label further comprises: receiving a request
to register the content label under the host name, wherein the host
name was selected from a list of available host names configured in
a DNS database.
47. A computer-readable storage device having computer program
logic recorded thereon, execution of which, by a computing device,
causes the computing device to perform operations comprising:
receiving upload content and a requested address, wherein the
requested address comprises: a host name corresponding to a host
computing device, and a content label in a wildcard portion of the
requested address; searching a database for a content address
corresponding to the content label, the database comprising a
plurality of additional labels each related to a corresponding
content address; and storing the upload content to a content
storage system at the content address.
48. The computer-readable storage device of claim 47, the
operations further comprising: configuring a DNS database to direct
the upload content, irrespective of the content label in the
wildcard portion of the requested address, to the host computing
device.
49. The computer-readable storage device of claim 47, the
operations further comprising: receiving the upload content from a
device authenticated with the content label.
50. The computer-readable storage device of claim 47, the
operations further comprising: receiving a request to register the
content label; and registering the content label in the
database.
51. The computer-readable storage device of claim 50, the
operations further comprising: allocating reserved space in the
content storage system; and associating the reserved space in the
content storage system with the content label.
52. The computer-readable storage device of claim 50, the
operations further comprising: comparing the content label to the
plurality of additional labels to confirm that the content label is
unique.
53. The computer-readable storage device of claim 50, wherein
receiving the request to register the content label further
comprises: receiving a request to register the content label under
the host name, wherein the host name was selected from a list of
available host names configured in a DNS database.
54. A system comprising: a memory configured to store instructions
comprising: instructions to receive upload content and a requested
address, wherein the requested address comprises: a host name
corresponding to a host computing device, and a content label in a
wildcard portion of the requested address, instructions to search a
database for a content address corresponding to the content label,
the database comprising a plurality of additional labels each
related to a corresponding content address, and instructions to
store the upload content to a content storage system at the content
address; and one or more processors configured to process the
instructions.
55. The system of claim 54, further comprising: instructions to
configure a DNS database to direct the upload content, irrespective
of the content label in the wildcard portion of the requested
address, to the host computing device.
56. The system of claim 54, further comprising: instructions to
receive the upload content from a device authenticated with the
content label.
57. The system of claim 54, further comprising: instructions to
receive a request to register the content label, and instructions
to register the content label in the database.
58. The system of claim 57, further comprising: instructions to
allocate reserved space in the content storage system, and
instructions to associate the reserved space in the content storage
system with the content label.
59. The system of claim 57, further comprising: instructions to
compare the content label to the plurality of additional labels to
confirm that the content label is unique.
60. The system of claim 57, wherein the host name was selected from
a list of available host names configured in a DNS database.
61. A system comprising: a host computing device configured to
receive upload content and a requested address, wherein the
requested address comprises: a host name corresponding to the host
computing device, and a content label in a wildcard portion of the
requested address; a database comprising a plurality of additional
labels each related to a corresponding content address, wherein the
host computing device is further configured to search the database
for a content address corresponding to the content label; and a
content storage system configured to store the upload content at
the content address.
62. The system of claim 61, further comprising: a DNS database
configured to direct the upload content, irrespective of the
content label in the wildcard portion of the requested address, to
the host computing device.
63. The system of claim 61, wherein the content storage system is
further configured to receive the upload content from a device
authenticated with the content label.
64. The system of claim 61, wherein the host computing device is
further configured to receive a request to register the content
label and to register the content label in the database.
65. The system of claim 64, wherein the host computing device is
further configured to allocate reserved space in the content
storage system and to associate the reserved space in the content
storage system with the content label.
66. The system of claim 64, wherein the host computing device is
further configured to compare the content label to the plurality of
additional labels to confirm that the content label is unique.
67. The system of claim 64, wherein the host name was selected from
a list of available host names configured in a DNS database.
68. A method comprising: receiving, by a host computing device, a
content request comprising a requested address, wherein the
requested address comprises: a host name corresponding to the host
computing device, and a content label in a wildcard portion of the
requested address; searching a database for a content address
corresponding to the content label, the database comprising a
plurality of additional labels each related to a corresponding
content address; retrieving content from a content storage system
using the content address; and serving the content in response to
the content request.
69. The method of claim 68, further comprising: configuring a DNS
database to direct the content request, irrespective of the content
label in the wildcard portion of the requested address, to the host
computing device.
70. The method of claim 68, further comprising: receiving the
content for storage on the content storage system from a device
authenticated with the content label.
71. The method of claim 68, further comprising: receiving a request
to register the content label; and registering the content label in
the database.
72. The method of claim 71, further comprising: allocating reserved
space in the content storage system; and associating the reserved
space in the content storage system with the content label.
73. The method of claim 71, further comprising: comparing the
content label to the plurality of additional labels to confirm that
the content label is unique.
74. The method of claim 71, further comprising: auctioning the
content label for bids from one or more bidders.
75. The method of claim 71, wherein receiving the request to
register the content label further comprises: receiving a request
to register the content label under the host name, wherein the host
name was selected from a list of available host names configured in
a DNS database.
76. The method of claim 71, wherein receiving the request to
register the content label further comprises: receiving a request
to register the content label comprising a first name level and a
second name level.
77. A computer-readable storage device having computer program
logic recorded thereon, execution of which, by a computing device,
causes the computing device to perform operations comprising:
receiving a content request comprising a requested address, wherein
the requested address comprises: a host name corresponding to a
host computing device, and a content label in a wildcard portion of
the requested address; searching a database for a content address
corresponding to the content label, the database comprising a
plurality of additional labels each related to a corresponding
content address; retrieving content from a content storage system
using the content address; and serving the content in response to
the content request.
78. The computer-readable storage device of claim 77, the
operations further comprising: configuring a DNS database to direct
the content request, irrespective of the content label in the
wildcard portion of the requested address, to the host computing
device.
79. The computer-readable storage device of claim 77, the
operations further comprising: receiving the content for storage on
the content storage system from a device authenticated with the
content label.
80. The computer-readable storage device of claim 77, the
operations further comprising: receiving a request to register the
content label; and registering the content label in the
database.
81. The computer-readable storage device of claim 80, the
operations further comprising: allocating reserved space in the
content storage system; and associating the reserved space in the
content storage system with the content label.
82. The computer-readable storage device of claim 80, the
operations further comprising: comparing the content label to the
plurality of additional labels to confirm that the content label is
unique.
83. The computer-readable storage device of claim 80, the
operations further comprising: auctioning the content label for
bids from one or more bidders.
84. The computer-readable storage device of claim 80, wherein
receiving the request to register the content label further
comprises: receiving a request to register the content label under
the host name, wherein the host name was selected from a list of
available host names configured in a DNS database.
85. The computer-readable storage device of claim 80, wherein
receiving the request to register the content label further
comprises: receiving a request to register the content label
comprising a first name level and a second name level.
86. A system comprising: a memory configured to store instructions
comprising: instructions to receive a content request comprising a
requested address, wherein the requested address comprises: a host
name corresponding to a host computing device, and a content label
in a wildcard portion of the requested address, instructions to
search a database for a content address corresponding to the
content label, the database comprising a plurality of additional
labels each related to a corresponding content address,
instructions to retrieve content from a content storage system
using the content address, and instructions to serve the content in
response to the content request; and one or more processors
configured to process the instructions.
87. The system of claim 86, further comprising: instructions to
configure a DNS database to direct the content request,
irrespective of the content label in the wildcard portion of the
requested address, to the host computing device.
88. The system of claim 86, further comprising: instructions to
receive the content for storage on the content storage system from
a device authenticated with the content label.
89. The system of claim 86, further comprising: instructions to
receive a request to register the content label, and instructions
to register the content label in the database.
90. The system of claim 89, further comprising: instructions to
allocate reserved space in the content storage system, and
instructions to associate the reserved space in the content storage
system with the content label.
91. The system of claim 89, further comprising: instructions to
compare the content label to the plurality of additional labels to
confirm that the content label is unique.
92. The system of claim 89, further comprising: instructions to
auction the content label for bids from one or more bidders.
93. The system of claim 89, wherein the host name was selected from
a list of available host names configured in a DNS database.
94. The system of claim 89, wherein the request to register the
content label comprises a first name level and a second name
level.
95. A system comprising: a host computing device configured to
receive a content request comprising a requested address, wherein
the requested address comprises: a host name corresponding to the
host computing device, and a content label in a wildcard portion of
the requested address; a database comprising a plurality of
additional labels each related to a corresponding content address,
wherein the host computing device is further configured to search
the database for a content address corresponding to the content
label; and a content storage system, wherein the host computing
device is further configured to retrieve content from the content
storage system using the content address and to serve the content
in response to the content request.
96. The system of claim 95, further comprising: a DNS database
configured to direct the content request, irrespective of the
content label in the wildcard portion of the requested address, to
the host computing device.
97. The system of claim 95, wherein the content storage system is
further configured to receive the content for storage from a device
authenticated with the content label.
98. The system of claim 95, wherein the host computing device is
further configured to receive a request to register the content
label and to register the content label in the database.
99. The system of claim 98, wherein the host computing device is
further configured to allocate reserved space in the content
storage system and to associate the reserved space in the content
storage system with the content label.
100. The system of claim 98, wherein the host computing device is
further configured to compare the content label to the plurality of
additional labels to confirm that the content label is unique.
101. The system of claim 98, wherein the host computing device is
further configured to auction the content label for bids from one
or more bidders.
102. The system of claim 98, wherein the host name was selected
from a list of available host names configured in a DNS
database.
103. The system of claim 98, wherein the request to register the
content label comprises a first name level and a second name level.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 11/285,371, entitled System Apparatus and
Method for Hosting and Assigning Domain Names on a Wide Area
Network, filed Nov. 21, 2005, ('371 Application) which is herein
incorporated by reference in its entirety.
[0002] The '371 Application is, in turn, a continuation of U.S.
patent application Ser. No. 10/769,449, ('449 Application) filed
Jan. 29, 2004, now abandoned, which is herein incorporated by
reference in its entirety.
[0003] The '449 Application is, in turn, a continuation of U.S.
patent application Ser. No. 09/386,529 filed Aug. 30, 1999, which
issued as U.S. Pat. No. 6,687,746, which is herein incorporated by
reference in its entirety.
BACKGROUND OF THE INVENTION
[0004] 1. Field of the Invention
[0005] Embodiments of the invention are directed to a system,
apparatus and method for hosting domains and assigning domain names
to users, wherein the domain name is defined, in part, by the user.
More specifically, embodiments of this invention create user
assigned subdomain names by combining the hosting domain name and
the user name request such that the subdomain name resides within
the zone file of the hosting domain name, that is, it resides at
the same IP address.
[0006] 2. Background Art
[0007] Wide area networks, such as the World Wide Web ("WWW"), or
the Internet, are developing in importance both m commerce and in
general methods of communications among the population. Indeed,
businesses advertise and sell products over the WWW. Internet
businesses, which are exclusively virtual businesses, that is, they
exist only on-line, have become an acceptable modality of doing
business. Similarly, individuals have utilized the WWW for more
effectively communicating with family and friends.
[0008] The information made available on the WWW is located on a
web site, wherein each web site is addressed by a domain name.
Thus, to establish a web site, a user must obtain a domain
name.
[0009] Currently, to obtain a domain name, the user, including
individuals or business owners, must acquire a fully qualified
domain name, such as, www.domainname.com, or a shared domain name,
such as, www.domainname.com/usersites/.about.mysiteaddress.
Although the qualified domain name is the most desirable due to its
relative uniqueness and simplicity, qualified domain names are not
only difficult to obtain, but are also, expensive. Thus, usually
only persons, web host providers or entities acquire the fully
qualified domain names.
[0010] Currently, any fully qualified domain name or variation
thereof is assigned a unique Internet Protocol ("IP") address. To
provide an IP address for each domain or subdomain name, the
provider must acquire large blocks of IP address block licenses.
Unfortunately, these blocks of licenses are often unavailable, and
even if available, are expensive.
[0011] In contrast to the fully qualified domain names, the shared
domain names are typically available at relatively low cost and can
be obtained with relative ease. Thus, the shared domain names are
more advantageous and desirable for individual users.
[0012] Despite, the low cost and easy acquisition of shared domain
names, shared domain names are not necessarily user friendly.
Indeed, most shared domain names are complicated and cumbersome.
Thus, users who desire a simple, professional and easy to remember
domain name, instead acquire difficult to remember and lengthy
domain names.
[0013] In addition to the cumbersome nature of the shared domain
names, categorization and/or prioritization of information on the
WWW by search engines and other modalities place shared domain name
users at a disadvantage as domain names, such as, fully qualified
domain names, that contain a desired search term are given greater
weight in the search results. For example, www.news.com will
probably be given a preferential position in a search result
relative to www.mysite.com/users/.about.news. Thus, users utilizing
a shared domain name are disadvantaged in maximizing and directing
network users, or traffic, to their web site.
[0014] When a user requests a qualified domain name, the domain
name is manually entered into a Domain Name System ("DNS")
database. The database must then be uploaded so that the database
is updated on the network server. Manual entry and the uploading of
all of the newly requested domain names requires an enormous amount
of personnel and time. Thus, a web host provider, who desires to
host thousands of subdomain names, must expend a large amount of
resources simply to enter the requested names into the system.
[0015] In addition to the expense of entering the newly requested
domain names, providers of domain names experience further
problems. For instance, most servers are not designed to
effectively manage more than several thousand domains. Indeed,
these servers are incapable of arbitrarily scaling domains, wherein
scaling allows the servers to host a large number of domains than
typically expected or capable of being hosted on the server. To
compensate for the inability to arbitrarily scale the domain names,
domain names are mapped to user directories. This mapping results
in inefficient server performance.
[0016] Further, the current system for distributing domain names
results in DNS latency time, that is, the time required for a new
domain name entry to propagate throughout the WWW Currently, the
latency time is typically 24 to 72 hours (1-3 days).
[0017] A need in the industry exists for a system of hosting and
assigning domain names that is cost efficient and provides
individual users with shorter and more memorable domain names. A
further need exists for a system that reduces the amount of time
required to enter the new domain name into a database and further,
which reduces the DNS latency such that domain names are more
quickly introduced onto the wide area network.
SUMMARY OF THE INVENTION
[0018] Embodiments of the instant invention are directed to a
domain management system, apparatus and method for hosting and
assigning domain names. Embodiments of the domain management system
comprise a name assignment system and a hosting system, wherein the
hosting system comprises a domain retrieval system and a data
storage apparatus.
[0019] The name assignment system verifies availability and assigns
domain names to requesting users. The name assignment system
comprises an input component, a confirmation mechanism and a name
storage means, wherein the user inputs a desired domain name into
the input component. The desired name is confirmed or denied. If
the request is approved, an assigned domain name, which includes
the user's request as a portion of the name, is stored in a
provider maintained name storage means.
[0020] Preferred embodiments of the domain retrieval system
comprise a scheduler, a plurality of redirectors and a plurality of
servers. The domain retrieval system locates the domain referenced
by the domain name by parsing header information and utilizing a
wildcard DNS. Once the domain is located, the domain retrieval
system forwards the domain to the user computer.
[0021] A feature of embodiments of the instant invention is that,
the assigned domain names share an IP address with the hosting
domain name. An advantage to this feature is that the web host
provider is not required to acquire large number of address block
licenses, thereby eliminating substantial cost and dependency on
availability of these address blocks.
[0022] Another feature of embodiments of the instant invention is
that the servers are capable of scaling domain names. An advantage
to this feature is that the servers are capable of managing
virtually unlimited numbers of domains.
[0023] Still another feature of embodiments of the invention is the
elimination of the need to update the DNS database. An advantage to
this feature is the reduction in web host provider costs for
staffing personnel required to input the large number of domain
names. A further advantage is the reduction in the delay time, or
DNS latency time, of circulating new domain names on-line.
[0024] Yet another feature of embodiments of the instant invention
is that the domain names assigned to the users are user friendly,
that is, the assigned domain names are simple and easy to list. An
advantage to this feature is that users, and network users, are
more capable of remembering the domain names and the simplicity of
the name further increases its recognition.
[0025] Still another feature of embodiments of the instant
invention is that the user requested portion of the assigned domain
names is prominently positioned in the domain name. An advantage to
this feature is that the retrievability of the domain name by a
search engine is increased.
[0026] The above and other features and advantages of embodiments
of this invention will be apparent from the following more detailed
description when taken in conjunction with the accompanying
drawings of illustrative embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The detailed description of embodiments of the invention
will be made with reference to the accompanying drawings, wherein
like numerals designate corresponding parts in the figures.
[0028] FIG. 1 is a network system environment in accordance with a
preferred embodiment of the instant invention.
[0029] FIG. 2 is a block diagram of a name assignment system in
accordance with a preferred embodiment of the instant
invention.
[0030] FIG. 3a is a sample web page illustrating a preferred
embodiment of an input component of the name assignment system of
FIG. 2.
[0031] FIG. 3b a sample web page illustrating a preferred
embodiment of a domain name input member of the name assignment
system of FIG. 2.
[0032] FIG. 4 is a preferred embodiment of portion of a DNS
database, wherein the provider domain name is stored utilizing a
wildcard.
[0033] FIG. 5 depicts a preferred embodiment of the domain
retrieval system.
[0034] FIG. 6 depicts a preferred embodiment of a frameset that is
transmitted to the client's computer from the domain retrieval
system of FIG. 5.
[0035] FIG. 7 is a block diagram of a preferred embodiment of the
overall process of the domain name assignment and the retrieval of
the domain associated with the assigned domain name.
DETAILED DESCRIPTION OF EMBODIMENTS
[0036] Embodiments of the instant invention are directed to a
method and apparatus for hosting and assigning domain names on a
wide area network. Embodiments of the instant invention employ a
network of computers and programs for assigning domain names and
retrieving domains on a wide area network, such as, the WWW or the
Internet.
Hardware Environment
[0037] Preferred embodiments of the instant invention operate with
a network comprising a plurality of networked computers, such as,
for example, at least one us& computer and at least one
provider computer which are coupled together in a communications
network, such as, for example, the Internet or WWW. FIG. 1 depicts
a simplified representation of an example network system 10 that is
operated in accordance with preferred embodiments of the
invention.
[0038] The network system 10 includes at least two client or user
computers 12 and at least one provider, or content, computer 14
coupled for communication therebetween by the remainder of the
network, generally represented at 16. In the illustrated
embodiment, two client or user computers 12 and two content
provider computers 14 are shown in the network system. It will be
understood that further embodiments may employ any suitable number
of user and provider computers. The network system 10 may comprise
a closed or intranet configuration, an open or public-access
network configuration or combinations of such configurations, as is
well known in the art. For example, the user and provider computers
12 and 14 may be included in smaller, interconnected networks which
compose the overall network system 10. In an Internet embodiment,
the network system 10 comprises a combination of a large number of
interconnected internets and intranets. For purposes of simplifying
the present disclosure, the various hardware components (for
example, host servers, routers, connectors) and software necessary
for communication between computers on the network system are not
described herein in detail. Such hardware and software are well
within the scope of one of ordinary skill in the art and are at
least partially dependent upon the type of network system employed
and the desired application of use.
[0039] The user computer 12 may comprise any suitable network
device capable of communicating with other network devices in the
network system. In preferred embodiments, the user computer 12
comprises a programmable processor capable of operating in
accordance with programs stored on one or more computer readable
media 18 (for example, but not limited to floppy disc, hard disc,
computer network, random access memory (RAM), CD Rom, or the like),
a display device 20 for providing a user-perceivable display (for
example, but not limited to visual displays, such as cathode ray
tube CRT displays, light-emitting-diode LED or liquid-crystal-diode
LCD displays, plasma displays or the like, audio displays or
tactile displays), and a user input device 22 (for example, but not
limited to, a keyboard, mouse, microphone, or the like). In one
preferred embodiment, the user computer comprises a personal
computer system having a CRT display, a keyboard and a mouse
user-input device.
[0040] The user computer 12 is controlled by suitable software,
including network communication and browser software to allow a
user to request, receive and display information (or content) from
or through a content provider computer 14 on the network system 10.
In preferred embodiments, the user computer 12 employs a program,
such as a browser, for displaying content received from a provider
computer 14.
[0041] The content provider computer 14 may comprise any suitable
network device capable of providing content (data representing
text, hypertext, photographs, graphics video and/or audio) for
communication over the network. In preferred embodiments, the
provider computer comprises a programmable processor capable of
operating in accordance with programs stored on one or more
computer readable media 24 (for example, but not limited to to,
floppy disks, hard disks, random access memory RAM, CD-ROM), to
provide content for communication to a user computer 12. The
provider computer may comprise, for example, but not limited to, a
personal computer, a mainframe computer, network computer, portable
computer, personal data assistant (such as, a 3Com Palm Pilot), or
the like. The provider computer 14 may include one or more internal
data storage devices (not shown) for storing content for
communication to a user computer 12. Alternatively, or in addition,
the provider computer 14 may be coupled to an external data storage
device, computer or other means, generally represented at 26, from
which the provider computer 14 may obtain content for communication
to a user computer 12. In one embodiment, the external device 26
may comprise a further network device coupled in the network
16.
[0042] In a preferred environment, the content provider computer 14
is controlled by suitable software to respond to a valid request
for content by providing (or downloading) data in the form of one
or more HTML files to the user computer 12 from which the request
was made. It will be understood by those skilled in the art that
this process involves communications through suitable servers,
routers and other components, as is dictated by the particular
network environment. The HTML file(s) correspond to one or more
HTML frames which, in conjunction with the browser software at the
user computer 12, is displayable on the display device at the user
computer as text, hypertext, photographs, graphics, sound, or the
like, in a form that is perceivable to the user.
General Description of Preferred Embodiments
[0043] Embodiments of the domain management system comprise a name
assignment system 28 and a hosting system 62, wherein the hosting
system 62 comprises a domain retrieval system 64 and a data storage
apparatus 66.
[0044] The name assignment system 28 verifies availability and
assigns domain names to requesting clients. The name assignment
system 28 comprises an input member 40, a confirmation means 42
(not shown) and a domain name storage means 44 (not shown). With
reference to FIG. 2, a user desiring to obtain a domain name enters
a desired domain name 30 via the input member. Once entered, the
provider computer 14 verifies the availability of the desired
domain, name 32 by the confirmation means 42. If the proposed
domain name is not available, the user can enter another request
34. If however, the proposed domain name is available, the domain
name is entered in the name storage means 36.
[0045] The input member 40 is any mechanism that accepts
information from the user. In one embodiment, the input member 40
is a plurality of web pages.
[0046] With reference to FIGS. 3a and 3b, the input member 40
comprises a client data input member 46 and a domain name input
member 48. The client data input member includes a plurality of
input windows 50 that are configured to accept any type of provider
defined information, including, but not limited to, a company name,
the client's name, the client's phone number, the client's E-mail
address, and the client's post office address. Once entered, the
client information is stored on the provider computer, by any
suitable means, including, but not limited to, a text file and a
database.
[0047] The domain name input member 48 allows the client to
customize a portion of a domain name. As is commonly understood,
domain names can include an infinite number of levels, however,
domain names are usually limited to a particular number of levels
for convenience. For instance, in one embodiment, domain names can
include a "top level", "second level", "third level" and "fourth
level". In a fully utilized domain name, the domain name reads as
follow: fourthlevel.thirdlevel.secondlevel.toplevel. It is to be
understood that a domain name need not utilize all four levels, but
can include any number of levels in an ascending order. For
instance, the domain name can read, for example, as
"secondlevel.toplevel" or "thirdlevel.secondlevel.toplevel".
[0048] In preferred embodiments, the provider utilizes the toplevel
and secondlevel portions of the domain name for the provider chosen
domain names. However, it is to be understood, that the provider
can define any number of name levels and this is not intended to
limit the invention. The provider chosen domain names are stored in
a DNS database. In preferred embodiments, the provider chosen
domain names are stored with a wild card, such as,
"*.providerdomainname.com", wherein the wildcard, "*", indicates
that other levels may exist. Indeed, it is intended that these
other, levels be used by clients. FIG. 4 illustrates a sample DNS
database which includes a wildcard entry for a provider domain name
"webjump.com".
[0049] Embodiments of the instant invention utilize this domain
name convention in conjunction with the Wildcard DNS in allowing
the clients to define a portion of their domain name. As stated
above, the provider can define any number of name levels. Depending
upon how many of the name levels are defined by the provider
determines which name levels can be defined by the clients.
[0050] With reference to FIG. 3b, the domain name input member 48
comprises a provider domain name box 52, a site name input box 54,
a client interest input box 56, a proposed name box 58 and a submit
button 60. The site name input box 54 is a window, wherein the
client inserts his desired site name. The portion of the domain
name chosen by the client as the site name is the third level
domain name.
[0051] The client interest input box 56 is a window that allows the
client to further define his domain name. For instance, in one
embodiment, the client can input his profession or an interest.
This information is added to domain name at the fourth level.
[0052] The information input by the client is added to the provider
domain name. Once the client has input either the sitename, or the
sitename and an interest, a proposed domain name is presented to
the client in the proposed name box 58 based upon his input. For
instance, if the client only inputs a sitename, the proposed domain
name is "sitename.providerdomainname.com". Similarly, if the client
inputs a sitename and an interest, the proposed domain name is
"sitenameinterestproviderdomainname.com". If the proposed domain
name is acceptable to the client, the client submits the proposed
domain name to the provider computer via depressing the submit
button 60, or by any other means capable of transmitting the
proposed name to the provider computer.
[0053] Upon submission, the proposed domain name is transmitted to
the confirmation member. The confirmation member is a program that
searches the domain name storage means for the proposed domain
name. In one preferred embodiment, the domain name storage means is
a register of all of the client assigned domain names, which is
maintained by provider computer 14. The confirmation member is
capable of quickly searching the domain name storage means or
register as the toplevel and secondlevel portions of the domain is
constant and the program is only required to review the thirdlevel,
and in some instances, the fourthlevel. In one preferred
embodiment, the program for searching the register is written in
Active Server Pages ("ASP") language, although any programming
language, including, but not limited to, C++, Visual Basic ("VB")
and Perl are suitable.
[0054] After the provider computer determines whether the requested
domain name is available, the provider computer 14 notifies the
client of the results. If the requested domain name is available,
the provider computer 14 notifies the client that the domain name
is accepted. The provider computer 14 notifies the client of the
availability of the requested name, by any suitable means,
including, but not limited to, posting a message on the client's
computer 12, electronic mail service, postal service and telephone
service. In one preferred embodiment, the confirmation is posted on
a web page on the client's computer 12 so that the client has
virtually instantaneous confirmation or denial. If the request is
denied, the client is able to input another request. After the new
domain name has been assigned to the client, the newly assigned dam
name is automatically stored in the domain name memory means that
is, the provide maintained register is updated. As the provider
mainatins a register of assigned names, there is no need to update
the DNS database and therefore, no requirement to reload the DNS
database. Indeed, the DNS database is only updated if a new
provider chosen domain name is added.
[0055] It is to be understood that the above described embodiment
is not intended to limit the invention. For instance, in other
embodiments, the input of the client data and the preferred domain
name by the client need not be accomplished via a client computer.
Rather, the client could utilize any suitable means of identifying
a preferred domain name, including, but not limited to, telephone
services and postal services, In this embodiment, the provider
would verify the availability of the client's requested domain name
and the assignment of the name would be entered and recorded as
described above. In still a further embodiment, the provider
distributes the domain names by any suitable means, including, but
not limited to, an auction. In an auction environment, the provider
receive bids from clients, wherein the domain name is assigned to
the highest bidder. In this manner, the name assigned to the
highest bidding client would be recorded in accordance with the
embodiments described above.
[0056] As indicated above, the hosting system 62 comprises a domain
retrieval system 64 and a data storage apparatus 66. The hosting
system 62 operates in conjunction with the name assignment system
28 discussed above.
[0057] When any network user, including a client, enters a request
into the browser for an assigned domain name, such as, for example,
http://sitename.webjump.com, the DNS resolves the requested domain
name to its Virtual Internet Protocol ("VIP") address. By default,
incoming browser requests for any subdomain to
"providerdomainname.com" is forwarded to the host VIP address for
the domain "providerdomainname.com". This is achieved by including
the wildcard entry into the domain's zone file in the form of
"*.providerdomainname.com" as shown in FIG. 4 for webjump.com.
Thus, instead of the zone file including all possible subdomain
names, such as, "sitename.providerdomainname.com", wherein each
subdomain would have its own IP address, the request is directed to
the address of the wildcard entry "*.providerdomainname.com". For
example, in one embodiment, the domain name "sitename.webjump.com"
resolves to 216.49.10.200, wherein "webjump.com" is the provider
chosen domain name. The resolved VIP address is then transmitted to
the domain retrieval system.
[0058] With reference to FIG. 5, a preferred embodiment of the
hosting system 62 comprising a domain retrieval system 64 and a
data storage apparatus 66. The domain retrieval system 64 comprises
a scheduler 68, a plurality of redirectors 70 and a plurality of
servers 72. Upon resolution of the VIP address, the VIP, address is
transmitted to the scheduler 68. The scheduler 68 is a traffic
director that load balances the requested VIP address across the
plurality of redirectors 70. Although any mechanism to load balance
network user requests is suitable, in one preferred embodiment, a
scheduler, manufactured by Resonate, is utilized.
[0059] The redirectors 70 are servers which include a parsing
mechanism. In one embodiment, the plurality of redirectors 70
comprises a first redirector R1, a second redirector R2 and a third
redirector R3. It is to be understood that the number of
redirectors is not intended to be limited and embodiments can
include more or less than three redirectors.
[0060] Prior to transmitting the request, the scheduler 68 chooses
a particular redirector to receive the request, wherein the
redirector that receives the request is determined by the current
load on the particular redirector. For example, if the load on the
first redirector and the third redirector is 80%, and the load on
the second redirector is 20%, the scheduler passes the request to
the second redirector R2.
[0061] Upon receipt of the request by the redirector, in this
example, redirector R2, the parsing mechanism parses the URL
request of the client or network user and translates the request
into a predefined provider subdomain and a client directory. Each
predefined provider subdomain identifies a provider chosen domain
name utilized in the client assigned domain names. For instance, in
one embodiment, a series of subdomains are called
"freehosting.at.*", wherein the providerdomainname.com is
substituted for the wildcard. Thus, for the provider chosen domain
name "weojump.com", the subdomain is "freehosting.at.webjump.com".
The identification of the toplevel and secondlevel portion of the
requested domain name identifies the appropriate subdomain to be
referenced. It is to be understood that an IP address of the
subdomain can also be used to identify the provider chosen
domain.
[0062] In addition to identifying the subdomain from the request,
the parsing mechanism removes the site name from the Hypertext
Transfer Protocol ("HTTP") header information of the request,
wherein the site name identifies the appropriate directory on the
subdomain. In one preferred embodiment, the HTTP version 1.1 header
content information is utilized. Once the appropriate directory is
determined, the HTTP request is directed to the appropriate
directory within the provider file system, thereby mapping URLs to
the provider file system directory structure. For example,
"sitename.webjump.com" translates to the directory of
freehosting.at.webjump.com/si/sitename-webjump, wherein the
directories si/sitename-webjump are defined by the particular site
name. It is to be understood that any directory naming convention
can be used and this is not intended to be limiting.
[0063] Once the parsing of the address is complete, the redirector
transmits an empty frameset 74 to the client computer 12, wherein
the frameset 74 includes a plurality of frames. With reference to
FIG. 6, the frameset 74 is provider defined and includes a client
frame 76 and a plurality of provider frames 78. The client frame 76
is typically the larger of the frames and represents the space
within which the client's information will be contained.
[0064] The provider frames 78 represent the predefined space
wherein the provider will add information. The provider frames 78
include, but are not limited to, advertising information, revenue
information and navigation information. In one embodiment, provider
frames 78 are not included in the frameset 74, rather, only a
client frame 76, or frames, are transmitted to the client computer
12.
[0065] In response to the receipt of the frameset 74, the user
computer 12 requests the Uniform Resource Locator's ("URL's") for
the various frames contained within the frameset 74 from the
provider computer 14. The request for the client frame 76 is
resolved to the VIP address of the subdomain by DNS. For example,
"freehostingat.webjump.com/si/sitename-webjump/" resolves to
216.49.10.245. Similarly, the request for the provider frame 78 is
resolved to a VIP address. For example, URLs for the provider
computer, bannervip.webjump.com/webjump/revenue_ad.asp and
bannervip.webjump.com/webjump/house_ad, resolves to 216.49.10.236.
These addresses are then transmitted to the scheduler 68.
[0066] In turn, the scheduler 68 load balances the VIP addresses
across the plurality of servers 72. With reference again to FIG. 5,
in preferred embodiments, the servers 72 comprise a plurality of
web servers 80 and a plurality of provider servers 82. The frame
URL associated with the client files are requested by the user
computer 12 to the web servers 80. Similarly, the frame URL
associated with the provider files are requested by the user
computer to the provider servers 82.
[0067] The web servers 80 access the data storage array 66 for the
requested information. The data storage array 66 is a NetApp F76P,
although any storage means capable of storing data files,
including, but not limited to, hard disk and tape, is suitable. The
information from the provider server 82 and the content server 80
that corresponds to the URLs is transmitted to the user computer
such that the frames in the frameset 74 are displayed with
information.
[0068] With reference to FIG. 7, in operation, the domain
management system facilitates the assignment of domain names to
clients and the retrieval of the domains referenced by those domain
names. To set up a domain name, a client enters the network 84 and
accesses the provider computer's domain management system 86, in
particular, the name assignment system, or sign-up page. The client
enters a desired name for the third and, in some instances, the
fourth level portion of the domain name. Once the client has
successfully been assigned a name, the domain name is stored on the
provider computer in, for example, a register, a text file listing
or a catalog, although any manner of compiling the assigned domain
names is suitable. No updating of the DNS database is required.
[0069] The client now determines the content he desires to include
on his newly assigned domain and transfers that data to the
provider computer by any suitable means, including, but not limited
to, file transfer protocol ("FTP") and HTTP. The content of the
domain is now referenced by its directory on the provider's data
storage array 66.
[0070] When the client desires to retrieve his domain, or wide area
network, or remote, users desire to visit the web site, the
client/users access the network 16. The client/user then submits a
request for the desired domain 94 which is transferred from the
user computer to the provider computer. The provider computer
directs the request to the domain retrieval system 96 which
translates the request to a provider defined subdomain name a
client directory contained on that subdomain 98. Once the request
is translated, the provider computer sends the user computer an
empty frameset 100, wherein the frameset 74 includes a plurality of
frames. The user computer, in turn, requests the data that is
intended to occupy the frames in the frameset 102. The provider
computer 14 then links the data request with the content server 80
and the provider server 82, The content server 80 accesses data
storage containing the client's data associated with the domain
name and transmits the data to the appropriate frame in the
frameset 104. Similarly, the provider server transmits the
appropriate provider information to the appropriate frame in the
frameset 104.
[0071] As shown from above, embodiments of the domain management
system provide a friendly system by which clients can partially
define their domain names and receive a domain name that is
memorable and that increases the client's ability to direct traffic
to the domain.
[0072] Indeed, in embodiments of the instant invention, the
assigned-domain name places the client designated portion first
such that the client's name is prominent. Further, as the client is
permitted to choose a third or fourth level domain names, the
clients can more accurately choose their domain name so as to more
effectively direct traffic, that is, direct other users to a
specific site which is referenced by the domain name. For example,
a provider may designate a third level domain "dogs.webjump.com" as
a domain directed to dog-related sites. The client could then
choose a fourth level of the domain name, "bobspuppystore", such
that the domain name assigned to the client is
"bobspuppystore.dogs.webjump.com". By utilizing the general
category of "dogs", the client can direct network users having a
dog interest to his site advertising the puppy store. In this
manner, the client has more effectively utilized the domain mane to
direct pertinent traffic to his site.
[0073] Further, embodiments of the domain management system provide
the provider host with the ability to scale domains such that the
servers can host a virtually unlimited number of domains as there
is no requirement for a unique IP address for each subdomain.
Indeed, the use of the wildcard DNS allows unlimited subdomain
names to be created for each domain on the servers. In this manner,
the servers are capable of referencing a virtually unlimited number
of subdomains. The ability to scale domains decreases labor and
material costs, Further, the use of the wild card DNS to denote
domain names increases the expediency with which a newly assigned
domain name can be propagated throughout the network as the newly
assigned name is stored in a provider maintained register and is
referenced by the VIP address of the wildcard provider domain name
stored in the DNS database. The use of the provider maintained
register eliminates the need to update the DNS database.
[0074] Although the foregoing described the invention with
embodiments having particular forms that have been illustrated and
described, this is not intended to limit the invention. Rather, the
foregoing is intended to cover all modifications and alternative
constructions falling within the spirit and scope of the invention
as expressed in the appended claims.
* * * * *
References