Register or Login To Download This Patent As A PDF
| United States Patent Application |
20040172465
|
| Kind Code
|
A1
|
|
Shuster, Brian
;   et al.
|
September 2, 2004
|
Method and system for redirecting a request to a server selected domain
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)
|
| Correspondence Address:
|
O'MELVENY & MYERS LLP
400 So. Hope Street
Los Angeles
CA
90071-2899
US
|
| Serial No.:
|
769449 |
| Series Code:
|
10
|
| Filed:
|
January 29, 2004 |
| Current U.S. Class: |
709/223; 709/203 |
| Class at Publication: |
709/223; 709/203 |
| International Class: |
G06F 015/173; G06F 015/16 |
Claims
What is claimed is:
1. A method for assigning domain names on a wide area network to a client
by a provider operating a provider computer, wherein the domain name is
defined by a plurality of name level components including a provider
component and a client component, comprising: selecting a provider
component of the domain name by the client, wherein the provider
component is defined by the provider; selecting a client component of the
domain name, wherein the client component is selected by the client;
submitting the proposed name to the provider computer, wherein the
proposed domain name is a combination of the plurality of the selected
components, wherein the domain name is configured such that the client
component is followed by the provider component; and determining whether
the proposed name is to be assigned to the client.
2. A method for assigning domain names as claimed in claim 1, further
comprising: verifying the availability of a proposed domain name by the
provider computer.
3. A method for assigning domain names as claimed in claim 1, wherein the
provider component comprises a plurality of name levels, wherein the
plurality of name levels defined by the provider are greater than two.
4. A method for assigning domain names as claimed in claim 1, wherein the
client component comprises a plurality of name levels, wherein the
plurality of name levels defined by the client are greater than two.
5. A method for assigning domain names on a wide area network to a client
by a provider operating a provider computer, wherein the domain name is
defined by a plurality of components including a thirdlevel component, a
secondlevel component and a toplevel component, comprising: selecting a
secondlevel component and a toplevel component of the domain name,
wherein the secondlevel component and the toplevel component are defined
by the provider computer; selecting a thirdlevel component of the domain
name, wherein the thirdlevel component is selected by the client;
verifying the availability of a proposed domain name by the provider
computer, wherein the proposed domain name is a combination of the
plurality of the selected components; and if the proposed domain name is
available, assigning the proposed domain name to the client.
6. A method as claimed in claim 5, wherein the domain name is further
defined by a fourthlevel component, further comprising: selecting a
fourthlevel component of the domain name, wherein the fourthlevel
component is selected by the client.
7. A method as claimed in claim 5 further comprising: storing the proposed
domain name in a provider maintained register.
8. A method for retrieving an assigned domain on a wide area network by a
provider computer, wherein the assigned domain is referenced by an
assigned domain name which is requested by a user, the domain name having
a computer address being defined by a plurality of components including a
thirdlevel component, a secondlevel component and a toplevel component,
the provider computer including a domain hosting system having a
scheduler, a plurality of redirectors, a plurality of servers and a data
storage apparatus, comprising: identifying the computer address of the
assigned domain name requested by the user, wherein the computer address
is determined by the secondlevel component and toplevel component of the
domain name; executing a parsing procedure, wherein the user requested
domain name is translated to a provider defined subdomain name and a
client directory, wherein the provider defined subdomain name is
partially determined by the secondlevel and toplevel components of the
assigned domain name and wherein the client directory is partially
determined by the thirdlevel component of the assigned domain name;
identifying a second computer address, wherein the second computer
address identifies the provider defined subdomain name; and transmitting
the data associated with the second computer address to the user.
9. A domain management system including a provider defined data structure
for use on a network system, the network system including a user computer
and a provider computer coupled via the network system, wherein the user
computer is capable of transmitting a domain request and the provider
computer is capable of receiving the domain request, comprising: a name
assignment system; and a hosting system, wherein the hosting system
comprises a scheduler, a plurality of redirectors, a plurality of
servers, and a data storage apparatus, wherein the redirectors includes a
parsing mechanism, the parsing mechanism being capable of translating the
domain request, which is transmitted by the user computer, to the
provider defined data structure.
Description
FIELD OF THE INVENTION
[0001] 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.
BACKGROUND OF THE INVENTION
[0002] Wide area networks, such as the World Wide Web ("WWW"), or the
Internet, are developing in importance both in 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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).
[0012] 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 DISCLOSURE
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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
[0022] 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.
[0023] FIG. 1 is a network system environment in accordance with a
preferred embodiment of the instant invention.
[0024] FIG. 2 is a block diagram of a name assignment system in accordance
with a preferred embodiment of the instant invention.
[0025] FIG. 3a is a sample web page illustrating a preferred embodiment of
an input component of the name assignment system of FIG. 2.
[0026] FIG. 3b a sample web page illustrating a preferred embodiment of a
domain name input member of the name assignment system of FIG. 2.
[0027] FIG. 4 is a preferred embodiment of portion of a DNS database,
wherein the provider domain name is stored utilizing a wildcard.
[0028] FIG. 5 depicts a preferred embodiment of the domain retrieval
system.
[0029] 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.
[0030] 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
[0031] 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.
[0032] Hardware Environment:
[0033] Preferred embodiments of the instant invention operate with a
network comprising a plurality of networked computers, such as, for
example, at least one user 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.
[0034] 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 simplifing 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.
[0035] 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.
[0036] 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.
[0037] The content provider computer 14 may comprise any suitable network
device capable of providing content (data representing text, hypertext,
p
hotographs, 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.
[0038] 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, p
hotographs, graphics,
sound, or the like, in a form that is perceivable to the user.
[0039] General Description of Preferred Embodiments
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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".
[0045] 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".
[0046] 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.
[0047] 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.
[0048] 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 fourthlevel.
[0049] 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
"sitename.interest.providerdomainname.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.
[0050] 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.
[0051] 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
domain name is automatically stored in the domain name memory means that
is, the provider maintained register is updated. As the provider
maintains 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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
"webjump.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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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, "freehosting.at.webjump.com/si/sitename-we-
bjump/" 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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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 name to direct pertinent traffic to his
site.
[0070] 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.
[0071] 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.
* * * * *