U.S. patent application number 12/540270 was filed with the patent office on 2010-02-18 for contents provider participation type contents delivery system and method, and contents delivery network domain name system server thereof.
This patent application is currently assigned to SK TELECOM CO., LTD.. Invention is credited to Jae Sic JEON, Kyong Hwan KIM.
Application Number | 20100042725 12/540270 |
Document ID | / |
Family ID | 41682024 |
Filed Date | 2010-02-18 |
United States Patent
Application |
20100042725 |
Kind Code |
A1 |
JEON; Jae Sic ; et
al. |
February 18, 2010 |
CONTENTS PROVIDER PARTICIPATION TYPE CONTENTS DELIVERY SYSTEM AND
METHOD, AND CONTENTS DELIVERY NETWORK DOMAIN NAME SYSTEM SERVER
THEREOF
Abstract
A CP participated contents delivery system and method, and a CDN
DNS server of the system are provided. When a client detects an
embedded object while parsing a page received from a web server,
the client inquires of a local DNS server about the IP address of a
server storing the object. The local DNS server receives the
inquiry of the client and inquires of a CDN DNS server about the IP
address of the server storing the object. The CDN DNS server
selects a server located in proximity to the client from a host
server of a CDN provider, which stores the object, and the web
server. The selected server transmits the object to the client.
Accordingly, the client can rapidly receive the object and a
contents provider can promote qualitative contents providing
service improvement.
Inventors: |
JEON; Jae Sic; (Seoul,
KR) ; KIM; Kyong Hwan; (Seoul, KR) |
Correspondence
Address: |
LOWE HAUPTMAN HAM & BERNER, LLP
1700 DIAGONAL ROAD, SUITE 300
ALEXANDRIA
VA
22314
US
|
Assignee: |
SK TELECOM CO., LTD.
Seoul
KR
|
Family ID: |
41682024 |
Appl. No.: |
12/540270 |
Filed: |
August 12, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61088541 |
Aug 13, 2008 |
|
|
|
Current U.S.
Class: |
709/226 ;
709/219 |
Current CPC
Class: |
H04L 67/1034 20130101;
H04L 29/12066 20130101; H04L 61/1511 20130101; H04L 67/1002
20130101; H04L 67/1008 20130101; H04L 67/1021 20130101 |
Class at
Publication: |
709/226 ;
709/219 |
International
Class: |
G06F 15/173 20060101
G06F015/173 |
Claims
1. A contents provider (CP) participated contents delivery system
comprising: at least one host server receiving and storing an
object embedded in a page and transmitting the object to a client
at the request of the client; a web server storing the page and the
object, transmitting the object to the at least one host server
such that the at least one host server stores the object, and
transmitting the page or the object to the client at the request of
the client; and a CDN DNS server selecting a server located in
proximity to the client from the at least one host server and the
web server and transmitting the IP address of the selected server
to the client through a local DNS server at the client when inquiry
about the IP address of a server storing the object is received
from the local DNS server.
2. The CP participated contents delivery system of claim 1, wherein
the CDN DNS server selects the server located in proximity to the
client with reference to the IP address of the client.
3. The CP participated contents delivery system of claim 1, wherein
the CDN DNS server selects another server located in proximity to
the client when the data traffic of the selected server exceeds a
critical value.
4. A CDN DNS server comprising: a transmitting/receiving unit for
transmitting/receiving data; a database storing IP addresses of at
least one host server storing an object embedded in a page and a
web server providing the page and the object; a determination
module determining proximity of an arbitrary client to at least one
of the at least one host server and the web server; and a
controller selecting a specific server which will transmit the
object to the client receiving the page through the
transmitting/receiving unit from the at least one host server and
the web server with reference to the determination result of the
determination module and transmitting the IP address of the
specific server to the client through the transmitting/receiving
unit via a local DNS server at the client with reference to the IP
addresses stored in the database when inquiry of the local DNS
server about the IP address of a server storing the object is
received.
5. The CDN DNS server of claim 4, wherein the determination module
determines the proximity of the client to at least one of the at
least one host server and the web server with reference to the IP
address of the client.
6. The CDN DNS server of claim 4, wherein the controller selects
another server located in proximity to the client when data traffic
of the selected server exceeds a critical value.
7. A CP participated contents delivery method comprising: a storing
step in which at least one host server receives an object embedded
in a page from a web server and stores the object embedded in the
page; a page transmitting step in which the web server requested by
a client to provide the page transmits the page to the client; and
an address transmitting step in which a CDN DNS server selects a
server located in proximity to the client from the at least one
host server and the web server and transmits the IP address of the
selected server to the client through the local DNS server when
receiving inquiry about the IP address of a server storing the
object is received from a local DNS server at the client receiving
the page.
8. The CP participated contents delivery method of claim 7,
wherein, in the address transmitting step, the CDN DNS server
selects the server with reference to the IP address of the
client.
9. The CP participated contents delivery method of claim 7, wherein
the address transmitting step in which the CDN DNS server receives
the inquiry about the IP address of the server storing the object
comprises a step in which the client inquires of the local DNS
server about the IP address of the server storing the object by
using a URL representing the position of the object detected while
receiving and parsing the page.
10. The CP participated contents delivery method of claim 8,
wherein the address transmitting step in which the CDN DNS server
receives the inquiry about the IP address of the server storing the
object comprises a step in which the local DNS server, which
receives the inquiry of the client about the IP address, inquires
of a contents provider DNS server about the IP address of the
server storing the object, receives domain name information of a
CDN provider from the contents provider DNS server and inquires of
the CDN DNS server about the IP address of the server storing the
object.
11. The CP participated contents delivery method of claim 8,
wherein the domain name information received by the local DNS
server is included in a canonical name (CNAME) record and received.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention relates to a contents delivery network
(CDN) including globally deployed replica servers, and more
particularly, to a contents provider (CP) participated contents
delivery system and method for allowing a web server of a CP to
function as a replica server of a CDN for a client located in
proximity to the web server to directly provide contents to the
client, and a CDN domain name system (DNS) server of the
system.
[0003] 2. Description of the Related Art
[0004] A web server of a contents provider (CP) generally provides
a large number of contents (for example, videos, music, files,
etc.) to clients. A large load is generated when the web server
provides the whole or some of the contents to a plurality of
clients one to one because the plurality of clients exist in a
plurality of Internet service providers (ISPs) while the web server
is connected to a single ISP.
[0005] Accordingly, traffic between ISPs exponentially increases as
the number of contents providers and clients increase, and thus
transmission delay and/or transmission failure rate due to traffic
congestion increase. Web server fail-over may occur in the worst
case.
[0006] To solve this problem, a contents delivery network (CDN) is
introduced. The CDN is a service which previously stores contents
converging on a web server of a contents provider located at a
great distance from clients, for example, contents with large
capacity, such as pictures, banners, videos or audio, or contents
frequently requested by clients, in host servers globally deployed
at points of presence (PoP) of a plurality of ISPs and redirects
the path of the host server closest to a client when the client
requests the contents provider to provide contents such that the
client accesses the host server through the redirected path to be
provided with the contents. Here, the host server may be referred
to as a cache server, a replica server or a ghost server.
[0007] The CDN is classified into an overlay type and a network
type according to system configuration. In the overlay type CDN, a
server for a special purpose and a plurality of cache servers
manage distribution of contents. The overlay type CDN has an
advantage of simple administration because there is no need for a
CDN provider to control network lower layer. In the network type
CDN, network components such as a router and a switch include codes
for confirming a specific application type and forwarding requests
of clients according to a predetermined policy.
[0008] Recently, most of solutions of CDN providers have adopted
mixture of the overlay and network types. An example of mixture of
the two types is disclosed in U.S. Pat. No. 6,108,703 (Referred to
as '703 patent hereinafter) entitled "Global hosting system",
issued to F. Thomson Lieghton et al., and assigned to MIT
(Messachusetts Institute of Technology).
[0009] According to the '703 patent, a web server of a contents
provider provides a page including a uniform resource locator (URL)
(referred to as `modified URL` hereinafter) of an embedded object,
which is modified according to a special routine, in response to a
request of a client. The web browser of the client loads the
embedded object in order to display the page. The '703 patent
identifies the modified URL through hierarchical DNS servers called
a first level name server and a second level name server and
returns the IP address of the optimum host server capable of
providing the actual object to the client.
[0010] The '703 patent uses so-called DNS-based request routing.
Although general DNS-based request routing has a problem that
network latency according to DNS look-up time is aggravated, the
'703 patent decreases network latency by constructing hierarchical
DNS servers.
[0011] However, even when the client is located in proximity to the
web server of the contents provider, that is, when the client and
the web server of the contents provider are close to each other
geographically or on a network route, the DNS-based request routing
is performed, which is inefficient.
[0012] Accordingly, a method for solving the aforementioned
problems is required.
SUMMARY OF THE INVENTION
[0013] An object of the present invention is to allow a DNS server
of a CDN provider to perform routing such that a web server
operated by a contents provider to directly provide contents such
as page embodied objects to a client who requests the contents
through a network of the CDN provider when the client is located in
proximity to the web server so as to provide improved quality of
service (QoS) to the client and decrease useless network load.
[0014] To accomplish the object of the present invention, according
to an aspect of the present invention, there is provided a contents
provider (CP) participated contents delivery system including: at
least one host server receiving and storing an object embedded in a
page and transmitting the object to a client at the request of the
client; a web server storing the page and the object, transmitting
the object to the at least one host server such that the at least
one host server stores the object, and transmitting the page or the
object to the client at the request of the client; and a CDN DNS
server selecting a server located in proximity to the client from
the at least one host server and the web server and transmitting
the IP address of the selected server to the client through a local
DNS server at the client when inquiry about the IP address of a
server storing the object is received from the local DNS
server.
[0015] The CDN DNS server may select the server located in
proximity to the client with reference to the IP address of the
client.
[0016] The CDN DNS server may select another server located in
proximity to the client when the data traffic of the selected
server exceeds a critical value.
[0017] According to another aspect of the present invention, there
is provided a CDN DNS server including: a transmitting/receiving
unit for transmitting/receiving data; a database storing IP
addresses of at least one host server storing an object embedded in
a page and a web server providing the page and the object; a
determination module determining proximity of an arbitrary client
to at least one of the at least one host server and the web server;
and a controller selecting a specific server which will transmit
the object to the client receiving the page through the
transmitting/receiving unit from the at least one host server and
the web server with reference to the determination result of the
determination module and transmitting the IP address of the
specific server to the client through the transmitting/receiving
unit via a local DNS server at the client with reference to the IP
addresses stored in the database when inquiry of the local DNS
server about the IP address of a server storing the object is
received.
[0018] The determination module may determine the proximity of the
client to at least one of the at least one host server and the web
server with reference to the IP address of the client.
[0019] The controller may select another server located in
proximity to the client when data traffic of the selected server
exceeds a critical value.
[0020] According to another aspect of the present invention, there
is provided a CP participated contents delivery method including: a
storing step in which at least one host server receives an object
embedded in a page from a web server and stores the object embedded
in the page; a page transmitting step in which the web server
requested by a client to provide the page transmits the page to the
client; and an address transmitting step in which a CDN DNS server
selects a server located in proximity to the client from the at
least one host server and the web server and transmits the IP
address of the selected server to the client through the local DNS
server when receiving inquiry about the IP address of a server
storing the object is received from a local DNS server at the
client receiving the page.
[0021] In the address transmitting step, the CDN DNS server may
select the server with reference to the IP address of the
client.
[0022] The address transmitting step in which the CDN DNS server
receives the inquiry about the IP address of the server storing the
object may include a step in which the client inquires of the local
DNS server about the IP address of the server storing the object by
using a URL representing the position of the object detected while
receiving and parsing the page.
[0023] The address transmitting step in which the CDN DNS server
receives the inquiry about the IP address of the server storing the
object may include a step in which the local DNS server, which
receives the inquiry of the client about the IP address, inquires
of a contents provider DNS server about the IP address of the
server storing the object, receives domain name information of a
CDN provider from the contents provider DNS server and inquires of
the CDN DNS server about the IP address of the server storing the
object.
[0024] The domain name information received by the local DNS server
may be included in a canonical name (CNAME) record and
received.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The above and other features and advantages of the present
invention will become more apparent by describing in detail
exemplary embodiments thereof with reference to the attached
drawings in which:
[0026] FIG. 1 is a configuration of a CP participated contents
delivery system according to an embodiment of the present
invention;
[0027] FIG. 2 is a block diagram of a CDN DNS server illustrated in
FIG. 1;
[0028] FIG. 3 is a flowchart showing a CP participated contents
delivery method according to an embodiment of the present
invention; and
[0029] FIG. 4 is a flowchart showing a CP participated contents
delivery method according to another embodiment of the present
invention
DETAILED DESCRIPTION OF THE INVENTION
[0030] The present invention will now be described more fully with
reference to the accompanying drawings, in which exemplary
embodiments of the invention are shown. The invention may, however,
be embodied in many different forms and should not be construed as
being limited to the embodiments set forth herein; rather, these
embodiments are provided so that this disclosure will be thorough
and complete, and will fully convey the concept of the invention to
those skilled in the art. Throughout the drawings, like reference
numerals refer to like elements.
[0031] FIG. 1 illustrates a configuration of a CP participated
contents delivery system according to an embodiment of the present
invention. Referring to FIG. 1, the contents delivery system
includes a client 110, a local domain name system (DNS) server 120,
a host server 130, a CDN DNS server 140, a contents provider DNS
server 150, a web server 160 and a network 170.
[0032] The client 110 corresponds to equipment such as a computer
receiving information from the servers connected through the
network 170. For example, the client 110 includes equipment which
is currently commercially used or will be developed such as
personal computers (PCs), household appliances, mobile
communication devices, etc. in the current embodiment of the
invention.
[0033] The client 110 includes a browser and a resolver. When a
uniform resource locator (URL) that requests specific contents is
input to the browser of the client 110, the resolver connected to
the browser accesses the previously registered local DNS server 120
and resolves a domain name corresponding to the URL into the IP
(Internet Protocol) address of the web server 160 providing the
contents.
[0034] In the current embodiment of the invention, when the client
110 receives a page from the web server 160 by using the IP address
of the web server 160, the client 110 parses the page and inquires
of the local DNS server 120 about the IP address of a server which
will provide an embedded object detected while the page is parsed
by using the URL of the embedded object. Then, when the client 110
receives the IP address of the web server 160 or the host server
130, which will transmit the embedded object, from the local DNS
server 120, the client 110 accesses the corresponding server by
using the IP address and receives the embedded object.
[0035] The local DNS server 120 means a domain name server that
transforms a domain name into an IP address and converts a symbolic
name into a numeral address used by machines. The local DNS server
120 that receives the domain name of the web server 160 from the
resolver accesses the contents provider DNS server 150, receives
the IP address of the web server 160, which corresponds to the
domain name, and transmits the IP address to the client 110.
[0036] When the client 110 requests the local DNS server 120 to
provide the IP address of the server storing the embedded object
included in the page, the local DNS server 120 transmits/receives
messages to/from the contents provider DNS server 150 or the CDN
DNS server 140 to transmit the IP address of the web server 160 or
the host server 130 which will transmit the embedded object to the
client 110.
[0037] The host server 130 stores replicas of page embedded objects
stored in and administrated by the web server 160 and rapidly
provides the replicas when the client 110 requests the host server
130 to provide contents.
[0038] The CDN DNS server 140 is a DNS server of a CDN provider and
provides the IP address of the host server 130 storing the embedded
object at the request of the local DNS server 120. The CDN DNS
server 140 of the present invention not only performs a general DNS
server function but also selects the host server 130 efficient to
provide the embedded object to the client 110 in consideration of
at least one of data traffic information of at least one host
information 130, information on proximity of the client 110 to the
at least one host server 130 and object information stored in the
at least one host server 130 and transmits the IP address of the
selected host server 130 to the client 110 through the local DNS
server 120.
[0039] Here, the data traffic information of the at least one host
information 130, the information on proximity of the client 110 to
the at least one host server 130 and the object information stored
in the at least one host server 130, considered by the CDN DNS
server 140, may be collected in consideration of data traffic and
load of the CDN DNS server 140 or the host server 130 when the
object stored in the host server 130 is updated and at
predetermined time such as a specific period.
[0040] When the CDN DNS server 140 receives inquiry of the local
DNS server 120 at the client 110 about the IP address of a server
storing the page embedded object, the CDN DNS server 140 selects a
server located in proximity to the client 110 from the at least one
host server 130 and the web server 160 which store the object and
transmits the IP address of the selected server to the client 110
through the local DNS server 120 such that the client 110 can
receive the object from the selected server. That is, if the web
server 160 is located in proximity to the client 110, and thus it
is more efficient to provide the page embedded object by the web
server 160 in terms of network route, the web server 160 provides
the object to the client 110. If not, one of the at least one host
server 130, which is located in proximity to the client 110 to be
suitable to provide the object, is selected and provides the object
to the client 110.
[0041] Here, the server located in proximity to the client 110 may
be selected with reference to the IP address of the client 110.
However, when the data traffic of the server selected to provide
the object to the client 110 exceeds a critical value, another
server located in proximity to the client 110 may be selected and
the IP address of the selected server may be transmitted to the
client 110 through the local DNS server 120.
[0042] In this manner, the client 110 can receive the page embedded
object through a network route providing a more rapid response and
the CDN provider can dynamically determine the subject of object
transmission in consideration of loads of the host server 130 and
the web server 160 and network route.
[0043] The web server 160 provides a web page and an embedded
object included in the web page, provided by the contents provider.
In the current embodiment of the present invention, the contents
provider transmits the embedded object from the web server 160 to
the host server 130 such that the host server 130 stores the
embedded object. Accordingly, when the client 110 requests the
embedded object included in the page, the client 110 can rapidly
receive a response through the host server 130.
[0044] The contents DNS server 150 is a DNS server of the contents
provider. When the contents provider DNS server 150 receives
inquiry of the local DNS server 120 about the IP address of the web
server 160 storing the page, the contents provider DNS server 150
returns the IP address.
[0045] Furthermore, when the contents provider DNS server 150
receives inquiry of the local DNS server 120 about the IP address
of a server storing the object included in the page, the contents
provider DNS server 150 transmits domain name information of the
CDN provider to the local DNS server 120 such that the local DNS
server 120 can inquire of the CDN DNS server 140 about the IP
address of the server storing the object.
[0046] Here, the domain name information can be transmitted to the
local DNS server 120 through a canonical name (CANAME) method, for
example. CNAME means DNS database record representing a host name.
The local DNS server 120 can inquire of the CDN DNS server 140
about the IP address of the server storing object by using the
domain name information of the CND provider, which is included in
the DNS database record.
[0047] The network 170 corresponds to a data communication network
for data transmission and information exchange among the client
110, the local DNS server 120, the host server 130, the CDN DNS
server 140, the contents provider DNS server 150 and the web server
160. The network 170 according to the present invention includes
Internet, Intranet, Extranet, and other wired and wireless networks
and a combination thereof, which are well-known or will be
developed.
[0048] The configuration and operation of the CDN DNS server 140
according to an embodiment of the present invention will now be
explained in more detail with reference to FIG. 2.
[0049] FIG. 2 is a block diagram of the CDN DNS server 140
illustrated in FIG. 1. Referring to FIGS. 1 and 2, the CDN DNS
server 140 includes a transmitting/receiving unit 141, a controller
143, a database 145 and a determination module 147.
[0050] The transmitting/receiving unit 141 has an interface for
transmitting/receiving data and messages through the network
170.
[0051] The database 145 stores the IP addresses of the at least one
host server 130 and the web server 160 which store page embedded
objects provided by the web server.
[0052] The determination module 147 determines proximity of the
client 110 to the at least one host server 130 and the web server
160. Here, the proximity of the client 110 to at least one host
server 130 and the web server 160 can be determined by using the IP
address of the client 110.
[0053] The controller 143 controls the operation of the CDN DNS
server 140. Specifically, the controller 143 transmits the IP
address of the web server 160 to the client 110 through the
transmitting/receiving unit 141 via the local DNS server 120 if the
determination module 147 determines that the client is located in
proximity to the web server 160 when the local DNS server 120
inquires of the CDN DNS server 140 about the IP address of a server
storing a page embedded object.
[0054] If the determination module 147 determines that the client
110 is closer to the host server 130 than the web server 160, the
controller transmits the IP address of the host server 130 to the
client 110 through the transmitting/receiving unit 141 through the
local DNS server 120.
[0055] In this manner, the client 110 can receive the page embedded
object from the server located in proximity thereto. If the
selected server is not suitable to provide the object to the client
110 because the data traffic of the server exceeds a critical value
although the determination module 147 determines that the server is
located in proximity to the client 110, the controller 143 can
transmit the IP address of another sever located in proximity to
the client 110 to the client 110 through the transmitting/receiving
unit 141 via the local DNS server 120 to attempt to distribute load
of the server.
[0056] Here, data traffic information of each server may be
information collected by the controller 143 through the
transmitting/receiving unit 141 at a specific period or information
collected by the determination module 147 through
transmitting/receiving unit 141 at a specific period and referred
to by the controller 143.
[0057] A contents delivery method according to the present
invention will be explained with reference to FIGS. 3 and 4.
[0058] FIG. 3 is a flowchart showing a CP participated contents
delivery method according to an embodiment of the present
invention. Referring to FIG. 3, the at least one host server 130
receives an object embedded in a page of the contents provider from
the web server 160 and stores the embedded object in step S400.
Contents, that is, the embedded object, may be transmitted in step
S400 when the host server 130 requests the web server 160 to
provide the embedded object, at specific periods, and when the
object embedded in the page stored in the web server 160 is
updated.
[0059] When the browser of the client 110 receives a URL for
requesting the web server 160 to provide the embedded object, the
resolver of the client 110 inquires of the local DNS server 120
about the IP address of the web server 160 storing the page and the
embedded object in step S405.
[0060] The local DNS server 120 receives the inquiry about the IP
address of the web server 160 in step S405 and inquires of the
contents provider DNS server 150 about the IP address of the web
server 160 storing the page and the embedded object in step
S410.
[0061] The contents provider DNS server 150 receives the inquiry of
the local DNS server 120 in step S410 and transmits the IP address
of the web server 160 to the local DNS server 120 in step S415. The
local DNS server 120 receives the IP address of the web server 160
and transmits the IP address of the web server 160 to the client
110 in step S420.
[0062] The client 110 receives the IP address of the web server 160
in step S420 and requests the web server 160 to provide the page
embedded object by using the IP address of the web server 160 in
step S425.
[0063] The web server 160 receives the request of the client 110 in
step S425 and transmits the page to the client 110 in step S430.
Here, the URL representing the position of the embedded object
stored in the page is rewritten into a URL representing the
position of the embedded object stored in the host server 130
operated and administrated by the CDN provider.
[0064] The client 110 receives the page in step S430 and parses the
page in step S435. When the client 110 detects the URL representing
the position of the embedded object stored in the page while
parsing the page, the client 110 inquires of the local DNS server
120 about the IP address of a server storing the page embedded
object by using the URL in step S440.
[0065] The local DNS server 120 receives the inquiry of the client
110 in step S440 and inquires of the CDN DNS server 140 about the
IP address of the server storing the object in step S445.
[0066] The CDN DNS server 140 receives the inquiry of the local DNS
server 120 in step S445 and determines proximity of the client 110
to the at least one host server 130 and the web server 160 in step
S450. Here, the CDN DNS server 140 can determine the proximity of
the client 110 to the at least one host server 130 and the web
server 160 with reference to the IP address of the client 110, for
example.
[0067] When the CDN DNS server 140 determines that the client 110
is located in proximity to the web server 160 in step S450, the CDN
DNS server 140 transmits the IP address of the web server 160 to
the local DNS server 120 in step S455. The local DNS server 120
transmits the IP address of the web server 160, received in step
S455, to the client 110 in step S460.
[0068] The client 110 requests the web server 160 to provide the
object by using the IP address of the web server 160, received in
step S460, and receives the object from the web server 160 in step
S470.
[0069] In the current embodiment of the present invention, if the
data traffic of the web server 160 exceeds a critical value
although it is determined that the client 110 is located in
proximity to the web server 160 in step S450, the IP address of
another web server or host server located in proximity to the
client 110 can be transmitted to the local DNS server 120 to
prevent the load of the web server 160 from increasing.
[0070] If the CDN DNS server 140 determines that a specific host
server 130 is closer to the client 110 than the web server 160 in
step S450, the CDN DNS server 140 transmits the IP address of the
specific host server 130 to the local DNS server 120 in step S475.
The local DNS server 120 transmits the IP address of the host
server 130, received in step S475, to the client 110 in step
S480.
[0071] Then, the client 110 requests the host server 130 to provide
the object by using the IP address of the host server 130, received
in step S480, in step S485 and receives the object from the host
server 130 in step S490.
[0072] In the current embodiment of the present invention, if the
data traffic of the host server 130 exceeds a critical value
although the CDN DNS server 140 determines that the client 110 is
located in proximity to the host server 130 in step S450, the CDN
DNS server 140 can transmit the IP address of the web server 160 or
another host server located in proximity to the client 110 to the
local DNS server 120 to attempt load distribution.
[0073] FIG. 4 is a flowchart showing a CP participated contents
delivery method according to another embodiment of the present
invention. In FIG. 4, steps S400 through S425 are identical to
those of the contents delivery method illustrated in FIG. 3 so that
detailed explanations thereof are omitted.
[0074] The web server 160 receives the request of the client 110
for the page embedded object in step S425 and transmits the
corresponding page to the client 110 in step S500. The page
transmitted in step S500 may be the original page in which the URL
representing the position of the embedded object is not rewritten,
which is distinguished from the embodiment described with reference
to FIG. 3.
[0075] The client 110 parses the page, received in step S500, in
step S505. When the client 110 detects the URL of the object
embedded in the page while parsing the page in step S505, the
client 110 inquires of the local DNS server 120 about the IP
address of a server storing the page embedded object by using the
URL in step S510.
[0076] The local DNS server 120 receives the inquiry of the client
110 in step S510 and inquires of the contents provider DNS server
150 about the IP address of the server storing the object in step
S515.
[0077] The contents provider DNS server 150 receives the inquiry of
the local DNS server 120 in step S515 and transmits domain name
information of the CDN provider to the local DNS server 120 in step
S520. Here, the domain name information of the CDN provider may be
included in CNAME resource record and transmitted, for example.
[0078] The local DNS server 120 receives the domain name
information in step S520 and inquires of the CDN DNS server 140
about the IP address of the server storing the page embedded object
by using the domain name information in step S525.
[0079] The CDN DNS server 140 receives the inquiry of the local DNS
server 120 in step S525 and determines proximity of the client 110
to the at least one host server 130 and the web server 160 in step
S530. Here, the CDN DNS server 140 can determine the proximity of
the client 110 to the at least one host server 130 and the web
server 160 with reference to the IP address of the client 110, for
example.
[0080] When the CDN DNS server 140 determines that the client 110
is located in proximity to the web server 160 in step S530, the CDN
DNS server 140 transmits the IP address of the web server 160 to
the local DNS server 120 in step S535. The local DNS server 120
transmits the IP address of the web server 160, received in step
S535, to the client 110 in step S540.
[0081] The client 110 requests the web server 160 to provide the
page em bedded object by using the IP address of the web server
160, received in step S540, in step S545 and receives the object
from the web server 160 in step S550.
[0082] In the current embodiment of the present invention, if the
data traffic of the web server 160 exceeds a critical value
although it is determined that the client 110 is located in
proximity to the web server 160 in step S530, the IP address of
another web server or host server located in proximity to the
client 110 can be transmitted to the local DNS server 120 to
prevent the load of the web server 160 from increasing.
[0083] If the CDN DNS server 140 determines that a specific host
server 130 is closer to the client 110 than the web server 160 in
step S530, the CDN DNS server 140 transmits the IP address of the
specific host server 130 to the local DNS server 120 in step S555.
The local DNS server 120 transmits the IP address of the host
server 130, received in step S555, to the client 110 in step
S560.
[0084] Then, the client 110 requests the host server 130 to provide
the object by using the IP address of the host server 130, received
in step S560, in step S565 and receives the object from the host
server 130 in step S570.
[0085] In the current embodiment of the present invention, if the
data traffic of the host server 130 exceeds a critical value
although the CDN DNS server 140 determines that the client 110 is
located in proximity to the host server 130 in step S530, the CDN
DNS server 140 can transmit the IP address of the web server 160 or
another host server located in proximity to the client 110 to the
local DNS server 120 to attempt load distribution.
[0086] According to the present invention, a client can receive a
page embedded object from a server selected from a web server and
at least one host server and located in proximity to the client.
Accordingly, the client can rapidly receive the object and a
contents provider can promote qualitative contents providing
service improvement.
[0087] While the present invention has been particularly shown and
described with reference to exemplary embodiments thereof, it will
be understood by those of ordinary skill in the art that various
changes in form and details may be made therein without departing
from the spirit and scope of the present invention as defined by
the following claims.
* * * * *