KR20100020911A - System and method for contents delivery, and web server and contents provider dns server thereof - Google Patents
System and method for contents delivery, and web server and contents provider dns server thereof Download PDFInfo
- Publication number
- KR20100020911A KR20100020911A KR1020090073544A KR20090073544A KR20100020911A KR 20100020911 A KR20100020911 A KR 20100020911A KR 1020090073544 A KR1020090073544 A KR 1020090073544A KR 20090073544 A KR20090073544 A KR 20090073544A KR 20100020911 A KR20100020911 A KR 20100020911A
- Authority
- KR
- South Korea
- Prior art keywords
- server
- client
- page
- dns server
- address
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000002716 delivery method Methods 0.000 claims description 10
- 239000013256 coordination polymer Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 컨텐츠 전달 시스템 및 방법에 관한 것으로, 특히, 클라이언트로 내장형 객체를 포함한 페이지를 제공하는 컨텐츠 제공자 측의 웹서버 또는 컨텐츠 제공자 DNS(Domain Name System) 서버에서 클라이언트와의 지역적 인접성을 고려하여 내장형 객체를 컨텐츠 제공자 측에서 직접 제공할 것인지, CDN(Contents Delivery Network) 사업자의 호스트서버에서 제공할 것인지 결정하도록 하는 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 DNS 서버에 관한 것이다.The present invention relates to a content delivery system and method, and more particularly, to a web server or a content provider domain name system (DNS) server of a content provider that provides a page including an embedded object to a client in consideration of local proximity with a client. A content delivery system and method for determining whether to provide an object directly from a content provider or a host server of a content delivery network (CDN) provider, a web server, and a content provider DNS server.
일반적으로 컨텐츠 제공자(CP: Content Provider)의 웹 서버가 클라이언트에 제공할 컨텐츠(예컨대, 동영상, 음악, 파일 등)의 수는 매우 많다. 웹 서버가 이들의 일부 또는 전부를 다수의 클라이언트들 각각에게 일대일로 제공하기에는 많은 부하가 발생한다. 왜냐하면, 웹 서버는 단일의 ISP(Internet Service Provider)에 연결되어 있는데 반하여 컨텐츠를 요구하는 클라이언트는 다수의 ISP에 존재하기 때문이다.In general, the number of contents (eg, videos, music, files, etc.) that a content provider (CP) provides to a client is very large. There is a heavy load for a web server to provide some or all of these to each of the multiple clients one-to-one. This is because a web server is connected to a single Internet Service Provider (ISP), whereas clients requesting content exist in multiple ISPs.
따라서 ISP들 간의 트래픽은 컨텐츠 제공자와 클라이언트가 늘어남에 따라 기하급수적으로 증가하게 되고, 트래픽 혼잡으로 인한 전송지연 및/또는 전송실패율이 높아진다. 최악의 경우에는 웹 서버의 기능장애(fail-over)가 발생하기도 한다.Therefore, traffic between ISPs increases exponentially as the number of content providers and clients increases, and transmission delay and / or transmission failure rate due to traffic congestion increases. In the worst case, the web server may fail over.
이러한 문제점을 극복하기 위해 도입된 것이 CDN(Content Delivery Network)이다. CDN이란 클라이언트들로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 컨텐츠, 예를 들어 그림, 배너, 비디오 또는 오디오와 같이 용량이 크거나 클라이언트들의 요구가 빈번한 컨텐츠를 다수의 ISP 상호 접속점(PoP: Point of Presence)에 광역적으로 분산 배치된 호스트 서버에 미리 저장해 놓고, 클라이언트의 요구가 있을 경우 해당 이용자와 가장 근접한 호스트 서버의 경로를 반환함으로써 클라이언트가 그 반환된 경로를 통해 호스트 서버에 접속한 후 컨텐츠를 제공받을 수 있도록 한 서비스이다. 여기서 호스트서버는 캐시서버, 복제서버 또는 고스트서버로 다양하게 일컬어진다.The CDN (Content Delivery Network) has been introduced to overcome this problem. A CDN is a collection of content that is concentrated on a content provider's web server that is remote from clients, such as pictures, banners, video, or audio. Point-of-presence is stored in the host server which is widely distributed, and the client connects to the host server through the returned path by returning the path of the host server closest to the user when requested by the client. This service allows you to receive content. The host server is referred to variously as a cache server, a replication server, or a ghost server.
상술한 CDN은 시스템 구성 방식에 따라 크게 두 가지로 나뉜다. 하나는 '오버레이(overlay) 방식'이고 또 하나는 '네트워크 방식'이다. '오버레이 방식'은 특수용도의 서버와 다수의 캐시 서버가 컨텐츠의 분배를 관장한다. 오버레이 방식의 장점으로는 CDN 제공자가 네트워크 하부 요소에 대해 제어할 필요가 없어 관리가 단순해진다는 점이다. 한편, '네트워크 방식'에 있어서, 라우터와 스위치 등의 네트워크 구성요소에는 특정 애플리케이션 유형을 확인하고 미리 정의된 방침에 따라 클라이언트의 요청(request)을 포워딩하기 위한 코드가 구비된다.The above-described CDN is divided into two types according to the system configuration method. One is 'overlay' and the other is 'network.' In the 'overlay method', a special-purpose server and a plurality of cache servers manage the distribution of content. The advantage of the overlay method is that the CDN provider does not have to control the underlying elements of the network, simplifying management. On the other hand, in the network method, network components such as routers and switches are provided with code for identifying a specific application type and forwarding a request from a client according to a predefined policy.
근래 들어, CDN 제공자의 솔루션 대부분은 전술한 오버레이 방식과 네트워크 방식을 혼합한 이른바 혼합 방식을 채택하고 있다. 혼합 방식에 관해서는 F. Thomson Lieghton 등에게 부여(issued)되고 MIT(Massachusetts Institute of Technology)에 양도된 미국 등록특허 US 6,108,703(GLOBAL HOSTING SYSTEM)(이하, '703 특허)에 예시되어 있다.In recent years, most of the CDN provider's solutions have adopted a so-called mixed method in which the above-described overlay method and network method are mixed. A blending scheme is illustrated in US Pat. No. 6,108,703 (GLOBAL HOSTING SYSTEM) (hereinafter '703 patent) issued to F. Thomson Lieghton et al. And assigned to the Massachusetts Institute of Technology (MIT).
상기 '703 특허에 따르면, 컨텐츠 제공자의 웹 서버는 클라이언트의 요구에 응답하여, 특별한 루틴에 의해 변경된 내장형 오브젝트의 URL(이하, '수정 URL'이라 한다)이 포함된 페이지를 제공한다. 클라이언트의 웹 브라우저는 상기 페이지를 디스플레이 하기 위해 내장형 오브젝트를 로딩하게 된다. '703 특허는 제1 레벨 네임서버와 제2 레벨 네임서버로 명명되는 계층구조의 DNS 서버를 통해 상기한 수정 URL을 식별하여 실제 오브젝트를 제공할 수 있는 최적의 호스트 서버의 IP 주소를 클라이언트에 반환한다.According to the '703 patent, the web server of the content provider provides a page including a URL of a built-in object (hereinafter, referred to as a' modified URL ') changed by a special routine in response to a client's request. The client's web browser will load the embedded object to display the page. The '703 patent identifies the above modified URLs through a hierarchical DNS server named first-level name server and second-level name server, and returns the IP address of the optimal host server that can provide the actual object to the client. do.
상술한 '703 특허는 이른바 DNS 기반 리퀘스트 라우팅(DNS-based request routing)을 이용하고 있다. 일반적인 DNS 기반 리퀘스트 라우팅은 DNS 룩업 시간에 의한 네트워크 지연(network latency)이 가중된다는 단점이 있으나, '703 특허는 DNS 서버를 계층구조로 구현함으로써 네트워크 지연을 경감시켰다.The '703 patent mentioned above uses so-called DNS-based request routing. In general, DNS-based request routing has a disadvantage of increasing network latency due to DNS lookup time, but the '703 patent reduces network delay by implementing a DNS server in a hierarchical structure.
그러나, 클라이언트가 컨텐츠 제공자의 웹 서버에 인접해 있는 경우, 다시 말해 양자가 지역적으로 혹은 네트워크 경로상 가까운 경우에도 상기한 DNS 기반의 리퀘스트 라우팅이 행해져 비효율적이라는 문제점이 있다.However, when the client is adjacent to the web server of the content provider, that is, the DNS-based request routing is performed even when both are locally or close to the network path.
이에 상기 문제점들을 개선하기 위한 방법이 요구된다.There is a need for a method for improving the above problems.
본 발명은 컨텐츠 제공자가 운영하는 웹 서버에 인접한 클라이언트에 대해서는 웹 서버가 직접 클라이언트가 요구하는 컨텐츠를 제공함으로써, 인접한 클라이언트에게 보다 향상된 QoS(Quality of Service)를 보장하고 아울러 무용한 네트워크 부하를 줄이는데 주요 목적이 있다.According to the present invention, a web server directly provides a content required by a client to a client adjacent to a web server operated by a content provider, thereby ensuring improved quality of service (QoS) to neighboring clients and reducing useless network load. There is a purpose.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 시스템은, 페이지에 포함된 객체를 수신하여 저장하는 하나 이상의 호스트서버; 상기 페이지와 상기 객체를 저장하고, 상기 객체를 상기 하나 이상의 호스트서버로 전송하여 저장하도록 하며, 클라이언트의 요청이 있으면 상기 클라이언트가 지역적으로 인접하여 위치한 경우 상기 페이지를 상기 클라이언트로 전송하고, 상기 클라이언트가 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL(Uniform Resource Locator)을 리라이팅(rewriting)하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 웹서버; 및 상기 메시지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP(Internet Protocol) 어드레스를 상기 로컬 DNS(Domain Name System) 서버를 거쳐 상기 클라이언트로 전송하는, 상기 URL에 대응되는 CDN(Contents Delivery Network) DNS 서버를 포함한다.Content delivery system of the present invention for achieving the above object, at least one host server for receiving and storing the object included in the page; Store the page and the object, transmit the object to the one or more host servers, and store the page; and if the client requests, the page is transmitted to the client when the client is located locally, and the client A web server for rewriting the object storage location URL (Uniform Resource Locator) of the host server in the object information in the page if the location is not located adjacent to the web server and transmitting the rewritten page to the client; And receiving the IP address query of the host server storing the object from the local DNS server of the client side receiving the message, and assigning an IP (Internet Protocol) address of a specific host server to which the object is to be transmitted. And a CDN (Contents Delivery Network) DNS server corresponding to the URL, transmitted to the client via the local Domain Name System (DNS) server.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 웹서버는, 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.In the content delivery system of the present invention, the web server is configured to determine whether the client is located locally adjacent to the client using IP address information of the client.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 웹서버는, 데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 한다.In the content delivery system of the present invention, the web server may rewrite the URL when data traffic exceeds a threshold.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 CDN DNS 서버는, 상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 한다.In the content delivery system of the present invention, the CDN DNS server, one of the data traffic information of the at least one host server, the local proximity information between the at least one host server and the client and the object information stored in each of the at least one host server In consideration of the above information, the IP address of the specific host server is transmitted to the local DNS server.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 시스템은, 페이지 및 상기 페이지에 포함된 객체를 제공하는 웹서버; 상기 웹서버로부터 상기 객체를 수신하여 저장하는 복수의 CDN 사업자의 하나 이상의 호스트서버; 상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치한 경우 상기 웹서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하고, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 컨텐츠 제공자 DNS 서버; 및 상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면, 상기 하나 이상의 호스트서 버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는, 상기 도메인네임에 대응되는 CDN DNS 서버를 포함한다.Content delivery system of the present invention for achieving the above object, a web server for providing a page and the objects contained in the page; One or more host servers of a plurality of CDN providers for receiving and storing the object from the web server; When receiving the IP address query of the server storing the object from the local DNS server of the client side receiving the page from the web server, the IP address of the web server when the client is located locally adjacent to the web server A content provider DNS server that transmits to the client through the local DNS server and delivers domain name information of the host server to the local DNS server when the client is not located locally adjacent to the web server; And receiving an IP address query of a host server storing the object from the local DNS server, and transmitting an IP address of a specific host server to which the object is to be transmitted from the one or more host servers to the client through the local DNS server. And a CDN DNS server corresponding to the domain name.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 컨텐츠 제공자 DNS 서버는, 상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 한다.In the content delivery system of the present invention, the content provider DNS server includes the domain name information in the CNAME (Canonical NAME) resource record and transmits the information to the local DNS server.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는, 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 한다.In the content delivery system of the present invention, the IPN query received by the CDN DNS server is characterized in that the local DNS server queries the CDN DNS server with reference to the domain name information included in the CNAME resource record. do.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 컨텐츠 제공자 DNS 서버는, 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.In the content delivery system of the present invention, the content provider DNS server is configured to determine whether the client is located locally adjacent to the web server by using the IP address information of the client.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 CDN DNS 서버는, 상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 한다.In the content delivery system of the present invention, the CDN DNS server, one of the data traffic information of the at least one host server, the local proximity information between the at least one host server and the client and the object information stored in each of the at least one host server In consideration of the above information, the IP address of the specific host server is transmitted to the local DNS server.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 방법은, 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계; 클라이언트로부터 상기 페이지를 요청받은 상기 웹서버가 상기 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 판단단계; 상기 판단단계에서의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 페이지 전송단계; 및 상기 페이지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP(Internet Protocol) 어드레스 질의를 수신한 상기 URL에 대응되는 CDN DNS 서버에서, 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하는 IP 어드레스 전송단계를 포함한다.Content delivery method of the present invention for achieving the above object, the storage step of receiving at least one host server the object contained in the page from the web server; Determining, by the web server, that the page is requested from a client, whether the client is located locally; A page transmission step of rewriting the object storage location URL of the host server in the object information in the page and transmitting the rewritten page to the client when it is not located locally adjacent to the determination result in the determination step; And a CDN DNS server corresponding to the URL receiving the IP (Internet Protocol) address query of the host server storing the object, from the local DNS server of the client side receiving the page, wherein the one of the one or more host servers is selected. IP address transmission step of transmitting the IP address of the specific host server to transfer the object to the client via the local DNS server.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 판단단계는, 상기 웹서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 한다.In the content delivery method of the present invention, the determining may include determining whether the web server is locally adjacent with reference to the IP address of the client.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 방법은, 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계; 상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버가, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 판단하고, 그 결과 인접하여 위치하지 않는 것으로 판단되면, 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 전달단계; 및 상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신한 상기 도메인네임 에 대응되는 CDN DNS 서버가 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는 전송단계를 포함한다.Content delivery method of the present invention for achieving the above object, the storage step of receiving at least one host server the object contained in the page from the web server; The content provider DNS server that receives the IP address query of the server storing the object from the local DNS server of the client that receives the page from the web server determines whether the client is located locally adjacent to the web server. If it is determined that the location is not adjacent to each other, transferring the domain name information of the host server to the local DNS server; And a CDN DNS server corresponding to the domain name that receives the IP address query of the host server storing the object from the local DNS server, and transmits the IP address of the specific host server to which the object is to be transmitted among the one or more host servers. And transmitting to the client via a server.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 전달단계는, 상기 컨텐츠 제공자 DNS 서버가 상기 도메인네임 정보를 CNAME 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 한다.In the content delivery method of the present invention, the step of delivering, characterized in that the content provider DNS server delivers the domain name information in the CNAME resource record to the local DNS server.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 전송단계에서, 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 한다.In the content delivery method of the present invention, the IPN query received by the CDN DNS server in the transmission step, the local DNS server queries the CDN DNS server with reference to the domain name information included in the CNAME resource record It is characterized by one.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 전달단계는, 상기 CDN DNS 서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 한다.In the content delivery method of the present invention, the delivery step, characterized in that it is determined whether the CDN DNS server is locally adjacent with reference to the IP address of the client.
상기와 같은 목적을 달성하기 위한 본 발명의 웹서버는, 데이터 송수신을 위한 제1송수신부; 페이지 및 상기 페이지에 포함된 객체를 저장한 컨텐츠 데이터베이스; 상기 페이지를 요청한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제1판단모듈; 및 상기 제1송수신부를 통해 상기 객체를 하나 이상의 호스트서버로 전송하여 저장하도록 하고, 상기 제1송수신부를 통해 상기 클라이언트로부터 요청이 있으면, 상기 제1판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하고, 상기 제1판단 모듈의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하는 제1제어부를 포함한다.Web server of the present invention for achieving the above object, the first transmission and reception unit for transmitting and receiving data; A content database storing a page and an object included in the page; A first judging module for judging whether a client requesting the page is located locally; And storing the object by transmitting the object to one or more host servers through the first transmitter / receiver and requesting the client from the client through the first transmitter / receiver. If a page is transmitted to the client through the first transmitter / receiver, and is not locally located as a result of the determination of the first determination module, the page rewrites the object storage location URL of the host server to the object information in the page. And a first controller for transmitting a page to the client through the first transmitter / receiver.
본 발명의 웹서버에 있어서, 상기 제1판단모듈은 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.In the web server of the present invention, the first determination module is configured to determine whether the client is located locally adjacent to the client using IP address information of the client.
본 발명의 웹서버에 있어서, 상기 제1제어부는, 데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 한다.In the web server of the present invention, the first control unit may rewrite the URL when the data traffic exceeds a threshold.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 제공자 DNS 서버는, 데이터 송수신을 위한 제2송수신부; 웹서버로부터 전송된 페이지 내장형 객체를 저장한 하나 이상의 호스트서버의 어드레스 정보를 저장한 호스트서버 정보 데이터베이스; 상기 페이지를 수신한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제2판단모듈; 및 상기 제2송수신부를 통해 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 제2판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 웹서버의 IP 어드레스를 상기 제2송수신부를 통해 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하고, 상기 제2판단모듈의 판단결과 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 제2송수신부를 통해 상기 로컬 DNS 서버로 전달하는 제2제어부를 포함한다.Content provider DNS server of the present invention for achieving the above object, the second transmission and reception unit for transmitting and receiving data; A host server information database storing address information of at least one host server storing page embedded objects transmitted from a web server; A second judging module for judging whether a client receiving the page is located adjacent to each other; And when the IP address query of the server storing the object is received from the local DNS server of the client, which receives the page through the second transmitter / receiver, when the second determination module determines that the server is located locally. When the IP address of the web server is transmitted to the client via the local DNS server through the second transmitter / receiver, and the client determines that the client is not located locally adjacent to the web server. And a second control unit for transferring the domain name information of the to the local DNS server through the second transmission / reception unit.
본 발명의 컨텐츠 제공자 DNS 서버에 있어서, 상기 제2판단모듈은, 상기 클 라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.In the content provider DNS server of the present invention, the second determination module is configured to determine whether the client is located locally adjacent to the client using IP address information of the client.
본 발명의 컨텐츠 제공자 DNS 서버에 있어서, 상기 제2제어부는, 상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 한다.In the content provider DNS server of the present invention, the second control unit includes the domain name information in a CNAME (Canonical NAME) resource record and transmits the same to the local DNS server.
본 발명으로부터 클라이언트로 제공되는 큰 이점은 보다 향상된 QoS(Quality of Service)이다. 물론, 앞서 설명한 바와 같이 웹 서버의 부담이 다소 커질 수도 있겠으나, 클라이언트에게 신속한 응답을 제공할 수 있다는 것은 컨텐츠 제공자의 서비스 경쟁력 측면에서 보다 큰 이점으로 작용할 것이다.A great advantage provided to the client from the present invention is the improved Quality of Service (QoS). Of course, as described above, the burden on the web server may be somewhat increased, but providing a quick response to the client will be a greater advantage in terms of service competitiveness of the content provider.
또한, 웹 서버와 인접한 클라이언트에 한해서, CDN DNS 서버를 통한 최적의 호스트 서버 조회에 소요되는 부하를 줄일 수 있으므로, 그만큼 CDN 시스템의 가용성을 확보할 수 있다.In addition, only the client adjacent to the web server can reduce the load required for optimal host server lookup through the CDN DNS server, thereby ensuring the availability of the CDN system.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전달 시스템의 구성도이다. 도 1을 참조하면 본 실시예에 따른 컨텐츠 전달 시스템은 클라이언트(110), 로컬 DNS 서버(120), 호스트서버(130), CDN DNS 서버(140), 컨텐츠 제공자 DNS 서버(150), 웹서버(160) 및 네트워크(170)를 포함하여 구성된다.1 is a block diagram of a content delivery system according to an embodiment of the present invention. Referring to FIG. 1, the content delivery system according to the present embodiment includes a
클라이언트(110)는 네트워크(170)로 연결된 서버로부터 정보를 제공받는 컴퓨터 등의 장비를 의미한다. 예를 들어, 본 발명의 클라이언트(110)는 PC(Personal Computer), 가전기기, 이동통신기기 등 현재 개발되어 상용화되었거나 향후 개발될 모든 장비를 포함한다.The
클라이언트(110)는 브라우저와 리졸버(resolver)를 포함한다. 클라이언트(110)의 브라우저에 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locater) 등이 입력되면, 브라우저와 연결된 리졸버(resolver)가 미리 등록된 로컬 DNS 서버(120)에 액세스(access)하여 도메인명을 해당 컨텐츠를 제공하는 웹서버(160)의 IP(Internet Protocol) 어드레스(address)로 변환하는 역할을 한다.The
본 발명에서 클라이언트(110)는 웹서버(160)의 IP 주소를 이용하여 웹서버(160)로부터 페이지를 수신하면, 이를 파싱(parsing)하고 발견한 페이지 내장형 객체(object)의 URL을 이용하여 로컬 DNS 서버(120)로 해당 객체를 제공할 서버의 IP 어드레스를 질의한다. 이후, 로컬 DNS 서버(120)로부터 해당 객체를 전송할 웹서버(160) 또는 호스트서버(130)의 IP 어드레스를 수신하면 이를 이용하여 해당 서버에 접속하고 객체를 수신한다.In the present invention, when the
로컬 DNS(Domain Name System) 서버(120)는 도메인 네임을 IP 주소로 변환시 켜 주는 DNS(Domain Name Server)를 의미하며, 기호명(symbolic name)을 기계가 사용하는 숫자 주소로 변환하여 알려주는 역할을 하는 DNS 서버의 일종이다. 웹서버(160)의 도메인명 정보를 클라이언트(110)의 리졸버로부터 수신한 로컬 DNS 서버(120)는, 컨텐츠 제공자 측의 DNS 서버인 컨텐츠 제공자 DNS 서버(150)로 접속하여 도메인명에 대응되는 웹서버(160)의 IP(Internet Protocol) 어드레스(address)를 수신하고 클라이언트(110)로 전송한다.Local Domain Name System (DNS)
또한 로컬 DNS 서버(120)는 클라이언트(110)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 요청받으면, 컨텐츠 제공자 DNS 서버(150) 또는 CDN DNS 서버(140)와의 메시지 송수신을 통해 해당 객체를 전송할 웹서버(160) 또는 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다.In addition, when the
호스트서버(130)는, 웹서버(160)가 저장 및 관리하는 페이지 내장형 객체의 복사본을 저장하여 클라이언트(110)로부터의 컨텐츠 요청이 있을 경우 신속하게 제공하는 역할을 한다.The
CDN DNS 서버(140)는 CDN 사업자 측의 DNS 서버로서, 로컬 DNS 서버(120)의 요청에 따라 페이지 내장형 객체를 저장한 호스트서버(130)의 IP 어드레스를 제공하는 역할을 한다. 본 발명의 CDN DNS 서버(140)는 일반적인 DNS 서버의 기능에 더하여, 하나 이상의 호스트서버(130)의 데이터 트래픽 정보, 하나 이상의 호스트서버(130)와 클라이언트(110) 간의 지역적 인접성 정보 및 호스트서버(130) 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 클라이언트(110)로 객체를 제공하기에 효율적인 호스트서버(130)를 선정하여 선정된 호스트서버(130)의 IP 어드레 스를 로컬 DNS 서버(120)를 통해 클라이언트(110)로 전송할 수 있다.The
이때, CDN DNS 서버(140)가 고려하는 지역적 인접성 정보, 저장 객체 정보, 호스트서버(130)의 데이터 트래픽 정보는, 호스트서버(130)에 저장되는 객체가 갱신될 때, 일정 주기와 같이 기 설정된 시간에, CDN DNS 서버(140) 또는 호스트서버(130)의 데이터 트래픽과 부하 등을 고려하여 수집된 정보일 수 있다.In this case, the local proximity information, the storage object information, and the data traffic information of the
웹서버(160)는 컨텐츠 제공자가 제공하는 웹 페이지 및 해당 페이지에 포함된 내장형 객체(embedded object) 등을 제공하는 서버이다. 본 발명에서 컨텐츠 제공자(contents provider)는 웹서버(160)로부터 호스트서버(130)로 페이지에 포함된 객체를 전송하여 저장하도록 한다. 이는 클라이언트(110)가 특정 페이지에 포함된 객체를 요청하는 경우 호스트서버(130)를 통하여 신속한 응답을 받을 수 있도록 하기 위함이다.The
또한, 본 발명의 웹서버(160)는 클라이언트(110)로부터 페이지를 요청받으면 클라이언트(110)가 웹서버(160)와 지역적으로 인접해 있는지 판단한다. In addition, when the
판단결과, 클라이언트(110)가 웹서버(160)에서 지역적으로 인접해 있어, CDN 사업자의 네트워크로 경로를 재설정(routing)하는 것보다, 웹서버(160)가 직접 클라이언트(110)로 페이지 내장형 객체를 전송하는 것이 네트워크 경로상 더 효율적이라고 판단된다면, 해당 페이지를 수정하지 않은 상태로 클라이언트(110)로 전송한다. 이후, 클라이언트(110)가 수신한 페이지를 파싱(parsing)하여 내장형 객체의 URL을 발견하여, 웹서버(160)로 해당 객체를 요청하는 경우 웹서버(160)가 직접 그 객체를 클라이언트(110)로 전송한다.As a result, the
반면에 판단결과, 클라이언트(110)가 웹서버(160)에서 지역적으로 인접해 있지 않아, CDN 사업자의 네트워크로 경로를 재설정(routing)하여 호스트서버(130)에서 페이지 내장형 객체를 전송하는 것이 네트워크 경로상 더 효율적이라고 판단되는 경우, 페이지 내에 내장형 객체의 위치를 나타나는 URL을 호스트서버(130)를 나타내도록 리라이팅(writing)하여, 수정된 페이지를 클라이언트(110)로 전송한다. 이후, 클라이언트(110)가 수정된 페이지를 파싱(parsing)하여 수정된 URL을 발견하는 경우, 이를 통해 호스트서버(130)로 접속하여 내장형 객체를 수신할 수 있게 된다.On the other hand, as a result of the determination, since the
웹서버(160)가 클라이언트(110)와 지역적으로 인접한지 판단하는 과정은, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 클라이언트(110)와의 거리가 가까운지 판단하는 방법으로 이루어질 수 있다.The process of determining whether the
또한, 웹서버(160)는 클라이언트(110)가 지역적으로 인접하여 위치한다고 판단한 경우에도, 웹서버(160) 자체의 데이터 트래픽이 임계치를 초과하여 부하를 줄일 필요가 있다고 판단되면, 객체 저장 위치 URL을 페이지에 리라이팅하여 CDN 사업자의 네트워크로 객체 요청을 라우팅하는 방식으로, 웹서버(160) 자체의 부하를 분산할 수 있다.Also, even when the
이러한 방식으로, 클라이언트(110)는 좀 더 응답이 빠른 네트워크를 통해 페이지에 내장된 객체를 수신하는 것이 가능하며, 웹서버(160)는 사용자의 편의와 자체의 부하를 고려하여 동적으로 객체 전송의 주체를 결정할 수 있다.In this way, the
컨텐츠 제공자 DNS 서버(150)는 컨텐츠 제공자 측의 DNS 서버의 일종이다. 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120)로부터 페이지를 저장한 웹서버(160)의 IP 어드레스를 질의받으면, 해당 IP 어드레스를 반환한다. 또한, 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 질의받으면, 전술한 바와 같은 방식으로 웹서버(160)와 클라이언트(110)가 지역적으로 인접한지 판단한다.The content
판단한 결과, 웹서버(160)가 클라이언트(110)와 인접하여 위치한 경우라면, 컨텐츠 제공자 DNS 서버(150)는 웹서버(160)의 IP 어드레스를 로컬 DNS 서버(120)를 통해 클라이언트(110)로 전달하여 웹서버(160)로부터 페이지에 포함된 객체를 전송받을 수 있도록 한다. If it is determined that the
반면, 판단한 결과, 웹서버(160)가 클라이언트(110)와 인접하여 위치하지 않은 경우라면, 컨텐츠 제공자 DNS 서버(150)는 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달하여 로컬 DNS 서버(120)가 이를 이용하여 호스트서버(130)의 IP 어드레스를 획득할 수 있도록 한다. 이를 통해, 클라이언트(110)는 호스트서버(130)로부터 페이지 내장형 객체를 획득할 수 있게 된다.On the other hand, if it is determined that the
이때, 컨텐츠 제공자 DNS 서버(150)가 로컬 DNS 서버(120)로 도메인네임 정보를 전달하는 방식은, 예를 들어, CNAME(Canonical NAME) 방식으로 이루어질 수 있다. CNAME은 호스트 이름을 나타내는 별명의 DNS 데이터베이스 레코드를 의미한다.At this time, the content
즉, 클라이언트(110)가 웹서버(160)와 지역적으로 인접한 경우, 클라이언트(110)의 객체 요청에 대응하여 CDN 사업자의 네트워크로 라우팅함이 없이, 직접 웹서버(160)에서 전송하도록 할 수 있으며, 이러한 효과는 상기한 바와 같으므로 더 이상의 설명은 생략하기로 한다.That is, when the
네트워크(170)는 클라이언트(110), 로컬 DNS 서버(120), 호스트서버(130), CDN DNS 서버(140), 컨텐츠 제공자 DNS 서버(150) 및 웹서버(160) 간의 데이터 전송, 정보 교환을 위한 데이터 통신망을 의미한다. 본 발명의 네트워크(170)는 인터넷, 인스라넷, 익스트라넷 또는 기타 널리 공지되었거나 향후 개발될 유선, 무선 또는 이들의 결합망을 포함한다.The
본 발명의 일 실시예에 따른 웹서버(160)의 구성 및 동작에 대해서는 도 2를 참조하여 좀 더 상세하게 설명하기로 한다.The configuration and operation of the
도 2는 본 발명의 일 실시예에 따른 도 1에 도시된 웹서버(160)의 구성도이다. 도 1 및 도 2를 참조하면, 본 실시예에 따른 웹서버(160)는 제1송수신부(161), 제1제어부(163), 컨텐츠 데이터베이스(165) 및 제1판단모듈(167)을 포함하여 구성된다.2 is a block diagram of the
제1송수신부(161)는 네트워크(170)를 통하여 데이터 전송 및 메시지 송수신 등을 하기 위한 인터페이스를 갖는다.The first transmitter /
컨텐츠 데이터베이스(165)는 페이지 및 페이지에 포함되는 객체의 저장소이다.The
제1판단모듈(167)은 클라이언트(110)와 웹서버(160)와의 지역적 인접성을 판단하는 기능을 한다. 이때, 지역적 인접성은, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 인접하여 위치하는지 검토하는 방식으로 판 단될 수 있다.The
제1제어부(163)는 웹서버(160)의 전체적인 동작을 제어한다. 먼저, 제1제어부(163)는 컨텐츠 데이터베이스(165)에 저장된 페이지 내장형 객체를 제1송수신부(161)를 통해 하나 이상의 호스트서버(130)로 전송하여 저장되도록 한다.The
그리고 제1제어부(163)는 제1송수신부(161)를 통해 클라이언트(110)로부터 컨텐츠 데이터베이스(165)에 저장된 페이지에 대한 요청을 수신하면, 제1판단모듈(167)이 판단한 결과를 참조하여, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우 페이지의 데이터를 수정함이 없이 그대로 제1송수신부(161)를 통해 클라이언트(110)로 전송한다. 반면, 제1판단모듈(167)이 판단한 결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우가 아니라면, 페이지 내 객체 정보에 호스트서버(130)의 객체 저장 위치를 나타내는 URL을 리라이팅하고, 리라이팅하여 수정된 페이지를 제1송수신부(161)를 통해 클라이언트(110)로 전송한다.When the
이때, 제1제어부(163)는 제1판단모듈(167)이 판단한 결과, 웹서버(160)와 클라이언트가 지역적으로 인접한 경우라도, 웹서버(160)의 데이터 트래픽이 임계치 이상인 경우에는 호스트서버(130)의 객체 저장 위치를 나타내는 URL을 페이지에 리라이팅하고 수정된 페이지를 클라이언트(110)에 전송하여, 부하의 분산을 시도할 수 있다.In this case, as a result of the determination by the
본 발명의 따른 컨텐츠 제공자 DNS 서버(150)의 구성 및 동작에 대해서는 도 3을 참조하여 좀 더 상세하게 설명하기로 한다.The configuration and operation of the content
도 3은 본 발명의 도 1에 도시된 컨텐츠 제공자 DNS 서버(150)의 구성을 나 타낸 예시도이다. 도 1 및 도 3을 참조하면, 본 실시예에 따른 컨텐츠 제공자 DNS 서버(150)는 제2송수신부(151), 제2제어부(153), 호스트서버 정보 데이터베이스(155) 및 제2판단모듈(157)을 포함하여 구성된다.3 is an exemplary diagram showing the configuration of the content
제2송수신부(151)는 네트워크(170)를 통하여 데이터 전송 및 메시지 송수신 등을 하기 위한 인터페이스를 갖는다.The second transmitter /
호스트서버 정보 데이터베이스(155)는 웹서버(160)가 제공하는 페이지 내장형 객체를 저장한 호스트서버(130)에 대응되는 도메인네임 정보를 보유하고 있는 저장소이다.The host
제2판단모듈(157)은 클라이언트(110)와 웹서버(160)와의 지역적 인접성을 판단하는 기능을 한다. 이때, 지역적 인접성에 대한 판단이, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 인접하여 위치하는지 판단하는 방식으로 이루어질 수 있음은 상기한 바와 같다.The
제2제어부(153)는 컨텐츠 제공자 DNS 서버(150)의 전체적인 동작을 제어한다. 본 발명에서 제2제어부(153)는 제2송수신부(151)를 통해, 클라이언트(110) 측의 로컬 DNS 서버(120)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스에 대해 질의를 받으면, 제2판단모듈(157)이 판단한 클라이언트(110)와 웹서버(160)와의 지역적 인접성 정보를 참조하여, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우 웹서버(160)의 IP 어드레스를 제2송수신부(151)를 통해 로컬 DNS 서버(120)를 거쳐 클라이언트(110)로 전송한다.The
반면, 제2판단모듈(157)이 판단한 결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우가 아니라면, 페이지 내장형 객체를 저장한 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달한다. 이때, 도메인네임 정보가 CNAME 방식으로 전달될 수 있음은 상기한 바와 같다.On the other hand, if the
본 발명에 따른 컨텐츠 전달 과정에 대해서는 도 4 및 도 5를 참조하여 설명하기로 한다.A content delivery process according to the present invention will be described with reference to FIGS. 4 and 5.
도 4는 본 발명의 일 실시예에 따른 컨텐츠 전달 방법을 나타낸 흐름도이다. 도 4를 참조하면, 호스트서버(130)는 컨텐츠 제공자의 페이지에 포함된 객체를 웹서버(160)로부터 전송받아 저장한다(S400). 단계(S400)에서의 컨텐츠 전송은, 예를 들어, 호스트서버(130)로부터의 요청이 있는 경우, 특정 시간마다, 웹서버(160) 내의 페이지에 포함된 객체가 갱신(update) 되는 경우 등에 이루어지도록 설정될 수 있다.4 is a flowchart illustrating a content delivery method according to an embodiment of the present invention. Referring to FIG. 4, the
이후, 클라이언트(110)의 브라우저가 웹서버(160)로 컨텐츠를 요청하기 위한 URL 등을 입력받으면, 클라이언트(110)의 리졸버가 로컬 DNS 서버(120)로 페이지와 해당 페이지에 포함된 객체를 저장한 웹서버(160)의 IP 어드레스를 질의한다(S405).Thereafter, when the browser of the
단계(S405)에서 웹서버(160)의 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 페이지와 객체를 저장한 웹서버(160)의 IP 어드레스를 컨텐츠 제공자 측의 DNS 서버인 컨텐츠 제공자 DNS 서버(150)로 질의한다(S410).In step S405, the
단계(S410)에서 질의를 수신한 컨텐츠 제공자 DNS 서버(150)는 웹서버(160)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하고(S415), 웹서버(160)의 IP 어드레 스를 수신한 로컬 DNS 서버(120)는 웹서버(160)의 IP 어드레스를 클라이언트(110)로 전송한다(S420).The content
단계(S420)에서 웹서버(160)의 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여 웹서버(160)로 컨텐츠를 요청한다(S425).In step S420, the
단계(S425)에서 컨텐츠 요청을 수신한 웹서버(160)는 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한다(S430). 단계(S430)에서의 지역적 인접성 판단은, 예를 들어, 클라이언트(110)의 IP 어드레스를 참조하여 이루어질 수 있다.The
단계(S430)에서의 판단결과 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우, 웹서버(160)는 페이지를 수정하지 않은 상태 그대로 클라이언트로 전송하며, 이후, 웹서버(160)는 이어지는 클라이언트(110)의 요청에 따라 페이지에 포함된 객체를 클라이언트(110)로 전송한다(S435).As a result of the determination in step S430, when the
반면, 단계(S430)에서의 판단결과 클라이언트(110)와 웹서버(160)가 지역적으로 인접하지 않은 경우, 웹서버(160)는 클라이언트(110)가 페이지에 포함된 객체를 CDN 사업자의 호스트서버(130)에서 수신할 수 있도록, 페이지 내에 객체 저장 위치를 나타내는 URL을 호스트서버(130)에 대응되는 URL로 리라이팅하고, 이렇게 리라이팅하여 수정된 페이지를 클라이언트(110)로 전송한다(S440).On the contrary, when the
본 발명의 일 실시예에서, 단계(S430)에서의 판단결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우라도, 웹서버(160)의 데이터 트래픽이 임계치를 넘는 등 부하를 분산할 필요가 있다고 여겨지는 경우에는, 상기와 같이 수정 된 페이지를 클라이언트(110)로 전송하여, 호스트서버(130)가 페이지 내장형 객체를 제공하도록 할 수 있다.In an embodiment of the present invention, even when the
단계(S440)에서 수정된 페이지를 수신한 클라이언트(110)는 해당 페이지를 파싱(parsing)한다(S445). 단계(S445)에서 클라이언트(110)가 페이지를 파싱하는 도중 페이지에 포함된 객체의 저장 위치를 나타내는 URL을 발견하면, 이를 이용하여 로컬 DNS 서버(120)로 페이지에 포함된 객체를 저장한 호스트서버(130)의 IP 어드레스를 질의한다(S450).The
단계(S450)에서 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 CDN DNS 서버(140)로 해당 객체를 저장한 호스트서버(130)의 IP 어드레스를 질의한다(S455).Upon receiving the IP address query in step S450, the
단계(S455)에서 IP 어드레스 질의를 수신한 CDN DNS 서버(140)는 클라이언트(110)로 페이지에 포함된 객체를 전송할 호스트서버(130)를 선정하고, 선정된 호스트서버(130)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하며(S460), 로컬 DNS 서버(120)는 수신한 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다(S465).Upon receiving the IP address query in step S455, the
단계(S460)에서 CDN DNS 서버(140)가 전송하는 호스트서버(130)의 IP 어드레스는, 페이지에 포함된 객체를 저장한 하나 이상의 호스트서버의 데이터 트래픽 정보, 하나 이상의 호스트서버와 클라이언트(110) 간의 지역적 인접성 정보 및 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 선정된 특정 호스트서버(130)의 IP 어드레스일 수 있다.In operation S460, the IP address of the
단계(S465)에서 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여, 호스트서버(130)로 객체를 요청하고(S470), 호스트서버(130)가 전송한 객체를 수신하게 된다(S475).The
도 5는 본 발명의 다른 일 실시예에 따른 컨텐츠 전달 과정을 나타낸 흐름도이다. 도 5를 참조하면, 단계(S400) 내지 단계(S425)는 전술한 도 4의 해당 단계와 그 과정이 동일하므로, 자세한 설명을 생략하기로 한다.5 is a flowchart illustrating a content delivery process according to another embodiment of the present invention. Referring to FIG. 5, since steps S400 to S425 are the same as those of FIG. 4, the detailed description thereof will be omitted.
단계(S425)에서 컨텐츠 요청을 수신한 웹서버(160)는 해당 페이지를 클라이언트(110)로 전송한다(S480).The
단계(S480)에서 페이지를 수신한 클라이언트(110)는 해당 페이지를 파싱(parsing)한다(S485). 단계(S485)에서 클라이언트(110)가 페이지를 파싱하는 도중 페이지에 포함된 객체의 URL을 발견하면, 이를 이용하여 로컬 DNS 서버(120)로 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 질의한다(S490).The
단계(S490)에서 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 컨텐츠 제공자 DNS 서버(150)로 해당 객체를 저장한 서버의 IP 어드레스를 질의한다(S495).Upon receiving the IP address query in step S490, the
단계(S495)에서 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버(150)는 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한다(S500). 단계(S500)에서의 지역성 인접성 판단은 상기와 같이 클라이언트(110)의 IP 어드레스를 이용하여 이루어질 수 있다.The content
단계(S500)에서의 판단결과, 클라이언트(110)가 웹서버(160)와 인접하여 위치하는 것으로 판단되는 경우, 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120) 로 웹서버의 IP 어드레스를 전송한다(S505). 그리고, 로컬 DNS 서버(120)는 단계(S505)에서 수신한 웹서버(160)의 IP 어드레스를 클라이언트(110)로 전송한다(S507).If it is determined in step S500 that the
클라이언트(110)는 단계(S507)에서 수신한 웹서버의 IP 어드레스를 이용하여 웹서버(160)로 페이지에 포함된 객체를 요청하고(S510), 웹서버(160)가 전송한 객체를 수신하게 된다(S515).The
반면, 단계(S500)에서 컨텐츠 제공자 DNS 서버(150)가 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한 결과, 지역적으로 인접하지 않는다고 판단한 경우, 컨텐츠 제공자 DNS 서버(150)는 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달한다(S520). 그리고, 단계(S520)에서 도메인네임 정보를 수신한 로컬 DNS 서버(120)는 이를 이용하여 CDN DNS 서버(140)로 페이지에 포함된 객체를 포함한 호스트서버(130)의 IP 어드레스를 질의한다(S525).On the other hand, when the content
단계(S520)에서는, 예를 들어, 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 로컬 DNS 서버(120)로 전달할 수 있고, 단계(S525)에서는 로컬 DNS 서버(120)가 CNAME 리소스 레코드에 포함된 도메인네임 정보를 참조하여 CDN DNS 서버(140)로 질의할 수 있다.In step S520, for example, domain name information may be included in a CNAME (Canonical NAME) resource record and transmitted to the
단계(S525)에서 IP 어드레스 질의를 수신한 CDN DNS 서버(140)는 클라이언트(110)로 페이지에 포함된 객체를 전송할 호스트서버(130)를 선정하고, 선정된 호스트서버(130)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하며(S530), 로컬 DNS 서버(120)는 수신한 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다(S535).Upon receiving the IP address query in step S525, the
단계(S530)에서 CDN DNS 서버(140)가 전송하는 호스트서버(130)의 IP 어드레스는, 상기와 같이, 페이지에 포함된 객체를 저장한 하나 이상의 호스트서버의 데이터 트래픽 정보, 하나 이상의 호스트서버와 클라이언트(110) 간의 지역적 인접성 정보 및 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 선정된 특정 호스트서버(130)의 IP 어드레스일 수 있다.In operation S530, the IP address of the
단계(S535)에서 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여, 호스트서버(130)로 객체를 요청하고(S470), 호스트서버(130)가 전송한 객체를 수신하게 된다(S475).The
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 일탈함 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.As described above and described with reference to a preferred embodiment for illustrating the technical idea of the present invention, the present invention is not limited to the configuration and operation as shown and described as such, without departing from the scope of the technical idea Those skilled in the art will appreciate that many variations and modifications to the present invention are possible. Accordingly, all such suitable changes and modifications and equivalents should be considered to be within the scope of the present invention.
본 발명에 의하면 컨텐츠 제공자가 운용 및 관리하는 웹서버 또는 컨텐츠 제공자 DNS 서버에서, 클라이언트와 웹서버 간의 지역적 인접성 및 네트워크 경로를 고려하여 객체를 제공할 서버를 선택할 수 있도록 함으로써, 클라이언트는 보다 신 속하게 페이지 내장형 객체를 수신하여 로딩하고 디스플레이 할 수 있어 사용자의 편의가 증진되고, 컨텐츠 제공자는 웹서버가 감당가능한 범위에서 컨텐츠 제공의 질적 향상을 도모할 수 있게 된다.According to the present invention, a web server or a content provider DNS server operated and managed by a content provider allows a client to select a server to provide an object in consideration of local proximity and a network path between the client and the web server, thereby enabling a client to quickly page. Receiving, loading, and displaying embedded objects can enhance user convenience, and content providers can improve the quality of content provision within a range that a web server can afford.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전달 시스템의 구성도이다.1 is a block diagram of a content delivery system according to an embodiment of the present invention.
도 2는 도 1에 도시된 웹서버의 구성도이다.FIG. 2 is a configuration diagram of the web server shown in FIG. 1.
도 3은 도 1에 도시된 컨텐츠 제공자 DNS 서버의 구성도이다.3 is a block diagram of a content provider DNS server shown in FIG.
도 4는 본 발명의 일 실시예에 따른 컨텐츠 전달 방법의 흐름도이다.4 is a flowchart illustrating a content delivery method according to an embodiment of the present invention.
도 5는 본 발명의 다른 일 실시예에 따른 컨텐츠 전달 방법의 흐름도이다.5 is a flowchart illustrating a content delivery method according to another embodiment of the present invention.
Claims (21)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080079611 | 2008-08-13 | ||
KR20080079611 | 2008-08-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100020911A true KR20100020911A (en) | 2010-02-23 |
KR101082362B1 KR101082362B1 (en) | 2011-11-10 |
Family
ID=42090831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090073544A KR101082362B1 (en) | 2008-08-13 | 2009-08-10 | System and Method for contents delivery, and web server and contents provider DNS server thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101082362B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150031083A (en) * | 2013-09-13 | 2015-03-23 | 에스케이텔레콤 주식회사 | A method for reducing connection time to website and an apparatus for the method |
KR20170021098A (en) * | 2015-08-17 | 2017-02-27 | 에스케이텔레콤 주식회사 | Proxy server, method of reconfigurating of web page using the same |
CN110476401A (en) * | 2017-03-29 | 2019-11-19 | 三星电子株式会社 | Multimedia service content providing device and method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102063500B1 (en) | 2018-03-22 | 2020-01-08 | 주식회사 엘지유플러스 | Apparatus and method for controlling contents, or content control apparatus and method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822871B2 (en) | 2001-09-28 | 2010-10-26 | Level 3 Communications, Llc | Configurable adaptive global traffic control and management |
-
2009
- 2009-08-10 KR KR1020090073544A patent/KR101082362B1/en active IP Right Grant
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150031083A (en) * | 2013-09-13 | 2015-03-23 | 에스케이텔레콤 주식회사 | A method for reducing connection time to website and an apparatus for the method |
KR20170021098A (en) * | 2015-08-17 | 2017-02-27 | 에스케이텔레콤 주식회사 | Proxy server, method of reconfigurating of web page using the same |
CN110476401A (en) * | 2017-03-29 | 2019-11-19 | 三星电子株式会社 | Multimedia service content providing device and method |
US11190815B2 (en) | 2017-03-29 | 2021-11-30 | Samsung Electronics Co., Ltd. | Multimedia service content providing device and method |
CN110476401B (en) * | 2017-03-29 | 2022-04-15 | 三星电子株式会社 | Multimedia service content providing apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
KR101082362B1 (en) | 2011-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8527635B2 (en) | Contents delivery system and method, web server and contents provider DNS server thereof | |
US11909639B2 (en) | Request routing based on class | |
US20170257340A1 (en) | Managing request routing information utilizing client identifiers | |
CN102067094B (en) | cache optimization | |
US11463401B2 (en) | Systems and methods for processing requests for content of a content distribution network | |
KR101082362B1 (en) | System and Method for contents delivery, and web server and contents provider DNS server thereof | |
KR101089058B1 (en) | Contents Provider participation type contents delivery system and method, and Contents Delivery Network Domain Name System Server thereof | |
KR20100020909A (en) | System and method for contents delivery using page redirection, and gslb switch thereof | |
KR20100054661A (en) | System and method for contents delivery based on multiple content delivery network providers | |
KR100944156B1 (en) | Web server load balancing system and method | |
KR101088023B1 (en) | System and Method for contents delivery using object redirection, and GSLB switch thereof | |
KR101160542B1 (en) | System and method for contents delivery based on multiple Content Delivery Network providers, and content provider name server thereof | |
EP3669529A1 (en) | System and method for metro mid-tier mapping in a content delivery network | |
KR101137249B1 (en) | System and method for contents delivery based on multiple Content Delivery Network providers, and content server thereof | |
KR101109524B1 (en) | System and method for contents delivery based on multiple Content Delivery Network providers, and content provider name server thereof | |
KR20100054660A (en) | System and method for contents delivery based on multiple content delivery network providers, and content server thereof | |
KR20100053372A (en) | System and method for contents delivery based on content delivery network provider, and replication server thereof | |
KR20100054659A (en) | System and method for contents delivery based on multiple content delivery network providers, and content server thereof | |
KR20100055295A (en) | System and method for contents delivery based on multiple content delivery network providers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141022 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151022 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20171026 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181101 Year of fee payment: 8 |