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 PDF

Info

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
Application number
KR1020090073544A
Other languages
Korean (ko)
Other versions
KR101082362B1 (en
Inventor
전재식
김경환
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of KR20100020911A publication Critical patent/KR20100020911A/en
Application granted granted Critical
Publication of KR101082362B1 publication Critical patent/KR101082362B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network 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

PURPOSE: A system and a method for delivering contents, a web server thereof and a contents provider DNS server thereof are provided to supply that a web server by hosting by a CP provides an adjacent client with contents in direct way thereby guaranteeing an improved QOS(Quality of Service) for adjacent client and reducing a network load. CONSTITUTION: A host server(130) receives a object included in a page and stores. If a client(110) is regionally adjacent, a web server(160) transmits the page to the client. If the client is not regionally adjacent, the web server rewrites an object storage location URL(Uniform Resource Locator) to an object information thereby transmitting the re-written page to the client. A CDN(Contents Delivery Network) DNS(Domain Name System) server corresponding to the URL transmits an IP(Internet Protocol) address of a specific host server for transmitting the object to the client through a local DNS server(120).

Description

컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 DNS 서버{System and Method for contents delivery, and web server and contents provider DNS server thereof}System and method for contents delivery, and web server and contents provider DNS server

본 발명은 컨텐츠 전달 시스템 및 방법에 관한 것으로, 특히, 클라이언트로 내장형 객체를 포함한 페이지를 제공하는 컨텐츠 제공자 측의 웹서버 또는 컨텐츠 제공자 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 client 110, a local DNS server 120, a host server 130, a CDN DNS server 140, a content provider DNS server 150, a web server ( 160 and network 170.

클라이언트(110)는 네트워크(170)로 연결된 서버로부터 정보를 제공받는 컴퓨터 등의 장비를 의미한다. 예를 들어, 본 발명의 클라이언트(110)는 PC(Personal Computer), 가전기기, 이동통신기기 등 현재 개발되어 상용화되었거나 향후 개발될 모든 장비를 포함한다.The client 110 refers to equipment such as a computer that receives information from a server connected to the network 170. For example, the client 110 of the present invention includes all equipment that is currently developed and commercialized or will be developed in the future, such as a personal computer (PC), a home appliance, and a mobile communication device.

클라이언트(110)는 브라우저와 리졸버(resolver)를 포함한다. 클라이언트(110)의 브라우저에 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locater) 등이 입력되면, 브라우저와 연결된 리졸버(resolver)가 미리 등록된 로컬 DNS 서버(120)에 액세스(access)하여 도메인명을 해당 컨텐츠를 제공하는 웹서버(160)의 IP(Internet Protocol) 어드레스(address)로 변환하는 역할을 한다.The client 110 includes a browser and a resolver. When a URL (Uniform Resource Locater) for requesting specific content is input to the browser of the client 110, a resolver connected to the browser accesses a local DNS server 120 that is registered in advance. It converts the name into an Internet Protocol (IP) address of the web server 160 providing the corresponding content.

본 발명에서 클라이언트(110)는 웹서버(160)의 IP 주소를 이용하여 웹서버(160)로부터 페이지를 수신하면, 이를 파싱(parsing)하고 발견한 페이지 내장형 객체(object)의 URL을 이용하여 로컬 DNS 서버(120)로 해당 객체를 제공할 서버의 IP 어드레스를 질의한다. 이후, 로컬 DNS 서버(120)로부터 해당 객체를 전송할 웹서버(160) 또는 호스트서버(130)의 IP 어드레스를 수신하면 이를 이용하여 해당 서버에 접속하고 객체를 수신한다.In the present invention, when the client 110 receives a page from the web server 160 using the IP address of the web server 160, the client 110 parses it and uses a URL of a page embedded object found locally. The DNS server 120 queries the IP address of the server that will provide the object. Then, when receiving the IP address of the web server 160 or the host server 130 to transfer the object from the local DNS server 120 using it to access the server and receive the object.

로컬 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) server 120 refers to Domain Name Server (DNS) that converts domain names into IP addresses, and converts symbol names into numeric addresses used by the machine and informs them. It is a kind of DNS server. The local DNS server 120, which receives the domain name information of the web server 160 from the resolver of the client 110, connects to the content provider DNS server 150, which is the DNS server of the content provider side, and corresponds to the web corresponding to the domain name. It receives an Internet Protocol (IP) address of the server 160 and transmits it to the client 110.

또한 로컬 DNS 서버(120)는 클라이언트(110)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 요청받으면, 컨텐츠 제공자 DNS 서버(150) 또는 CDN DNS 서버(140)와의 메시지 송수신을 통해 해당 객체를 전송할 웹서버(160) 또는 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다.In addition, when the local DNS server 120 receives a request for the IP address of the server storing the object included in the page from the client 110, the object through the message transmission and reception with the content provider DNS server 150 or CDN DNS server 140 The IP address of the web server 160 or the host server 130 to be transmitted is transmitted to the client 110.

호스트서버(130)는, 웹서버(160)가 저장 및 관리하는 페이지 내장형 객체의 복사본을 저장하여 클라이언트(110)로부터의 컨텐츠 요청이 있을 경우 신속하게 제공하는 역할을 한다.The host server 130 stores a copy of the page embedded object that the web server 160 stores and manages, and promptly provides a content request from the client 110.

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 server 140 serves as a DNS server of the CDN provider and provides an IP address of the host server 130 storing the page embedded object in response to a request of the local DNS server 120. In addition to the functions of a general DNS server, the CDN DNS server 140 of the present invention includes data traffic information of one or more host servers 130, local proximity information between one or more host servers 130 and the client 110, and a host server ( 130 In consideration of one or more pieces of information stored in each object, a host server 130 that is effective for providing an object to the client 110 is selected, and the IP address of the selected host server 130 is selected from a local DNS server ( 120 may be transmitted to the client 110.

이때, 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 host server 130 considered by the CDN DNS server 140 may be preset in a predetermined period when an object stored in the host server 130 is updated. At this time, the information may be collected in consideration of data traffic and load of the CDN DNS server 140 or the host server 130.

웹서버(160)는 컨텐츠 제공자가 제공하는 웹 페이지 및 해당 페이지에 포함된 내장형 객체(embedded object) 등을 제공하는 서버이다. 본 발명에서 컨텐츠 제공자(contents provider)는 웹서버(160)로부터 호스트서버(130)로 페이지에 포함된 객체를 전송하여 저장하도록 한다. 이는 클라이언트(110)가 특정 페이지에 포함된 객체를 요청하는 경우 호스트서버(130)를 통하여 신속한 응답을 받을 수 있도록 하기 위함이다.The web server 160 is a server that provides a web page provided by a content provider and an embedded object included in the page. In the present invention, a content provider transmits and stores an object included in a page from the web server 160 to the host server 130. This is for receiving a quick response through the host server 130 when the client 110 requests an object included in a specific page.

또한, 본 발명의 웹서버(160)는 클라이언트(110)로부터 페이지를 요청받으면 클라이언트(110)가 웹서버(160)와 지역적으로 인접해 있는지 판단한다. In addition, when the web server 160 of the present invention receives a page request from the client 110, the web server 160 determines whether the client 110 is locally adjacent to the web server 160.

판단결과, 클라이언트(110)가 웹서버(160)에서 지역적으로 인접해 있어, CDN 사업자의 네트워크로 경로를 재설정(routing)하는 것보다, 웹서버(160)가 직접 클라이언트(110)로 페이지 내장형 객체를 전송하는 것이 네트워크 경로상 더 효율적이라고 판단된다면, 해당 페이지를 수정하지 않은 상태로 클라이언트(110)로 전송한다. 이후, 클라이언트(110)가 수신한 페이지를 파싱(parsing)하여 내장형 객체의 URL을 발견하여, 웹서버(160)로 해당 객체를 요청하는 경우 웹서버(160)가 직접 그 객체를 클라이언트(110)로 전송한다.As a result, the client 110 is adjacent to the web server 160 locally, so that the web server 160 directly transfers the page embedded object to the client 110, rather than rerouting to the CDN network. If it is determined that the transmission is more efficient on the network path, it transmits to the client 110 without modifying the corresponding page. Subsequently, when the client 110 parses the received page and finds the URL of the embedded object and requests the object from the web server 160, the web server 160 directly retrieves the object. To send.

반면에 판단결과, 클라이언트(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 client 110 is not locally adjacent to the web server 160, it is possible to route the page embedded object from the host server 130 by routing to the network of the CDN service provider. If it is determined to be more efficient, the URL indicating the location of the embedded object in the page is rewritten to indicate the host server 130, and the modified page is transmitted to the client 110. Then, when the client 110 parses the modified page and finds the modified URL, the client 110 can access the host server 130 and receive the embedded object.

웹서버(160)가 클라이언트(110)와 지역적으로 인접한지 판단하는 과정은, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 클라이언트(110)와의 거리가 가까운지 판단하는 방법으로 이루어질 수 있다.The process of determining whether the web server 160 is locally adjacent to the client 110 includes, for example, whether the distance between the web server 160 and the client 110 is close by using IP address information of the client 110. It can be made by the method of judgment.

또한, 웹서버(160)는 클라이언트(110)가 지역적으로 인접하여 위치한다고 판단한 경우에도, 웹서버(160) 자체의 데이터 트래픽이 임계치를 초과하여 부하를 줄일 필요가 있다고 판단되면, 객체 저장 위치 URL을 페이지에 리라이팅하여 CDN 사업자의 네트워크로 객체 요청을 라우팅하는 방식으로, 웹서버(160) 자체의 부하를 분산할 수 있다.Also, even when the web server 160 determines that the client 110 is located locally, if it is determined that the data traffic of the web server 160 itself exceeds the threshold and needs to reduce the load, the object storage location URL By rewriting the page in a way to route the object request to the network of the CDN provider, it is possible to distribute the load of the web server 160 itself.

이러한 방식으로, 클라이언트(110)는 좀 더 응답이 빠른 네트워크를 통해 페이지에 내장된 객체를 수신하는 것이 가능하며, 웹서버(160)는 사용자의 편의와 자체의 부하를 고려하여 동적으로 객체 전송의 주체를 결정할 수 있다.In this way, the client 110 can receive an object embedded in a page through a more responsive network, and the web server 160 dynamically manages object transmission in consideration of the user's convenience and its own load. The subject can be determined.

컨텐츠 제공자 DNS 서버(150)는 컨텐츠 제공자 측의 DNS 서버의 일종이다. 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120)로부터 페이지를 저장한 웹서버(160)의 IP 어드레스를 질의받으면, 해당 IP 어드레스를 반환한다. 또한, 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 질의받으면, 전술한 바와 같은 방식으로 웹서버(160)와 클라이언트(110)가 지역적으로 인접한지 판단한다.The content provider DNS server 150 is a kind of DNS server on the content provider side. When the content provider DNS server 150 receives the IP address of the web server 160 storing the page from the local DNS server 120, the content provider DNS server 150 returns the corresponding IP address. In addition, when the content provider DNS server 150 receives the IP address of the server storing the object included in the page from the local DNS server 120, the web server 160 and the client 110 in the manner described above Determine if they are locally adjacent.

판단한 결과, 웹서버(160)가 클라이언트(110)와 인접하여 위치한 경우라면, 컨텐츠 제공자 DNS 서버(150)는 웹서버(160)의 IP 어드레스를 로컬 DNS 서버(120)를 통해 클라이언트(110)로 전달하여 웹서버(160)로부터 페이지에 포함된 객체를 전송받을 수 있도록 한다. If it is determined that the web server 160 is located adjacent to the client 110, the content provider DNS server 150 transmits the IP address of the web server 160 to the client 110 through the local DNS server 120. It delivers the object included in the page from the web server 160.

반면, 판단한 결과, 웹서버(160)가 클라이언트(110)와 인접하여 위치하지 않은 경우라면, 컨텐츠 제공자 DNS 서버(150)는 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달하여 로컬 DNS 서버(120)가 이를 이용하여 호스트서버(130)의 IP 어드레스를 획득할 수 있도록 한다. 이를 통해, 클라이언트(110)는 호스트서버(130)로부터 페이지 내장형 객체를 획득할 수 있게 된다.On the other hand, if it is determined that the web server 160 is not located adjacent to the client 110, the content provider DNS server 150 transmits the domain name information corresponding to the host server 130 to the local DNS server 120. The local DNS server 120 can obtain the IP address of the host server 130 using the same. Through this, the client 110 may obtain a page embedded object from the host server 130.

이때, 컨텐츠 제공자 DNS 서버(150)가 로컬 DNS 서버(120)로 도메인네임 정보를 전달하는 방식은, 예를 들어, CNAME(Canonical NAME) 방식으로 이루어질 수 있다. CNAME은 호스트 이름을 나타내는 별명의 DNS 데이터베이스 레코드를 의미한다.At this time, the content provider DNS server 150 may transfer the domain name information to the local DNS server 120 may be, for example, a CNAME (Canonical NAME) method. CNAME stands for the DNS database record of the alias representing the host name.

즉, 클라이언트(110)가 웹서버(160)와 지역적으로 인접한 경우, 클라이언트(110)의 객체 요청에 대응하여 CDN 사업자의 네트워크로 라우팅함이 없이, 직접 웹서버(160)에서 전송하도록 할 수 있으며, 이러한 효과는 상기한 바와 같으므로 더 이상의 설명은 생략하기로 한다.That is, when the client 110 is locally adjacent to the web server 160, the web server 160 can be directly transmitted without routing to the CDN provider's network in response to the object request of the client 110. Since these effects are as described above, further description will be omitted.

네트워크(170)는 클라이언트(110), 로컬 DNS 서버(120), 호스트서버(130), CDN DNS 서버(140), 컨텐츠 제공자 DNS 서버(150) 및 웹서버(160) 간의 데이터 전송, 정보 교환을 위한 데이터 통신망을 의미한다. 본 발명의 네트워크(170)는 인터넷, 인스라넷, 익스트라넷 또는 기타 널리 공지되었거나 향후 개발될 유선, 무선 또는 이들의 결합망을 포함한다.The network 170 transfers data and exchanges information between the client 110, the local DNS server 120, the host server 130, the CDN DNS server 140, the content provider DNS server 150, and the web server 160. Means a data communication network. The network 170 of the present invention includes the Internet, an Insnet, an extranet, or other wired, wireless, or combinations thereof well known or later developed.

본 발명의 일 실시예에 따른 웹서버(160)의 구성 및 동작에 대해서는 도 2를 참조하여 좀 더 상세하게 설명하기로 한다.The configuration and operation of the web server 160 according to an embodiment of the present invention will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 도 1에 도시된 웹서버(160)의 구성도이다. 도 1 및 도 2를 참조하면, 본 실시예에 따른 웹서버(160)는 제1송수신부(161), 제1제어부(163), 컨텐츠 데이터베이스(165) 및 제1판단모듈(167)을 포함하여 구성된다.2 is a block diagram of the web server 160 shown in FIG. 1 according to an embodiment of the present invention. 1 and 2, the web server 160 according to the present embodiment includes a first transmitter / receiver 161, a first controller 163, a content database 165, and a first determination module 167. It is configured by.

제1송수신부(161)는 네트워크(170)를 통하여 데이터 전송 및 메시지 송수신 등을 하기 위한 인터페이스를 갖는다.The first transmitter / receiver 161 has an interface for data transmission, message transmission and the like through the network 170.

컨텐츠 데이터베이스(165)는 페이지 및 페이지에 포함되는 객체의 저장소이다.The content database 165 is a page and a repository of objects contained in the page.

제1판단모듈(167)은 클라이언트(110)와 웹서버(160)와의 지역적 인접성을 판단하는 기능을 한다. 이때, 지역적 인접성은, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 인접하여 위치하는지 검토하는 방식으로 판 단될 수 있다.The first determination module 167 determines a local proximity of the client 110 and the web server 160. In this case, the local proximity may be determined by examining whether the location is adjacent to the web server 160 using, for example, the IP address information of the client 110.

제1제어부(163)는 웹서버(160)의 전체적인 동작을 제어한다. 먼저, 제1제어부(163)는 컨텐츠 데이터베이스(165)에 저장된 페이지 내장형 객체를 제1송수신부(161)를 통해 하나 이상의 호스트서버(130)로 전송하여 저장되도록 한다.The first controller 163 controls the overall operation of the web server 160. First, the first controller 163 transmits the page embedded object stored in the content database 165 to one or more host servers 130 through the first transmitter / receiver 161 to be stored.

그리고 제1제어부(163)는 제1송수신부(161)를 통해 클라이언트(110)로부터 컨텐츠 데이터베이스(165)에 저장된 페이지에 대한 요청을 수신하면, 제1판단모듈(167)이 판단한 결과를 참조하여, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우 페이지의 데이터를 수정함이 없이 그대로 제1송수신부(161)를 통해 클라이언트(110)로 전송한다. 반면, 제1판단모듈(167)이 판단한 결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우가 아니라면, 페이지 내 객체 정보에 호스트서버(130)의 객체 저장 위치를 나타내는 URL을 리라이팅하고, 리라이팅하여 수정된 페이지를 제1송수신부(161)를 통해 클라이언트(110)로 전송한다.When the first controller 163 receives a request for the page stored in the content database 165 from the client 110 through the first transmitter / receiver 161, the first controller 163 refers to the result determined by the first determination module 167. When the client 110 and the web server 160 are locally adjacent to each other, the client 110 and the web server 160 are transmitted to the client 110 through the first transmitter / receiver 161 without modifying the data of the page. On the other hand, if the first determination module 167 determines that the client 110 and the web server 160 are not adjacent to each other, the URL indicating the object storage location of the host server 130 is rewritten in the object information on the page. And, by rewriting the modified page is transmitted to the client 110 through the first transmitting and receiving unit 161.

이때, 제1제어부(163)는 제1판단모듈(167)이 판단한 결과, 웹서버(160)와 클라이언트가 지역적으로 인접한 경우라도, 웹서버(160)의 데이터 트래픽이 임계치 이상인 경우에는 호스트서버(130)의 객체 저장 위치를 나타내는 URL을 페이지에 리라이팅하고 수정된 페이지를 클라이언트(110)에 전송하여, 부하의 분산을 시도할 수 있다.In this case, as a result of the determination by the first determination module 167, the first control unit 163 may determine that the host server (if the data traffic of the web server 160 is greater than or equal to a threshold) even when the web server 160 and the client are locally adjacent to each other. The URL indicating the object storage location of the 130 may be rewritten to the page and the modified page may be transmitted to the client 110 to attempt to distribute the load.

본 발명의 따른 컨텐츠 제공자 DNS 서버(150)의 구성 및 동작에 대해서는 도 3을 참조하여 좀 더 상세하게 설명하기로 한다.The configuration and operation of the content provider DNS server 150 according to the present invention will be described in more detail with reference to FIG. 3.

도 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 provider DNS server 150 shown in FIG. 1 of the present invention. 1 and 3, the content provider DNS server 150 according to the present embodiment includes a second transmitter / receiver 151, a second controller 153, a host server information database 155, and a second determination module ( 157).

제2송수신부(151)는 네트워크(170)를 통하여 데이터 전송 및 메시지 송수신 등을 하기 위한 인터페이스를 갖는다.The second transmitter / receiver 151 has an interface for data transmission, message transmission, and the like through the network 170.

호스트서버 정보 데이터베이스(155)는 웹서버(160)가 제공하는 페이지 내장형 객체를 저장한 호스트서버(130)에 대응되는 도메인네임 정보를 보유하고 있는 저장소이다.The host server information database 155 is a repository that holds domain name information corresponding to the host server 130 that stores the page embedded object provided by the web server 160.

제2판단모듈(157)은 클라이언트(110)와 웹서버(160)와의 지역적 인접성을 판단하는 기능을 한다. 이때, 지역적 인접성에 대한 판단이, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 인접하여 위치하는지 판단하는 방식으로 이루어질 수 있음은 상기한 바와 같다.The second determination module 157 determines the local proximity of the client 110 and the web server 160. In this case, as described above, the determination of the local proximity may be performed by determining whether the location is adjacent to the web server 160 using, for example, the IP address information of the client 110.

제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 second controller 153 controls the overall operation of the content provider DNS server 150. In the present invention, when the second controller 153 receives an inquiry about the IP address of the server storing the object included in the page from the local DNS server 120 of the client 110 through the second transmitter / receiver 151. When the client 110 and the web server 160 are locally adjacent to each other, the IP of the web server 160 is locally referred to by referring to the information on the local proximity between the client 110 and the web server 160 determined by the second determination module 157. The address is transmitted to the client 110 via the local DNS server 120 through the second transmitter / receiver 151.

반면, 제2판단모듈(157)이 판단한 결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우가 아니라면, 페이지 내장형 객체를 저장한 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달한다. 이때, 도메인네임 정보가 CNAME 방식으로 전달될 수 있음은 상기한 바와 같다.On the other hand, if the second determination module 157 determines that the client 110 and the web server 160 are not adjacent to each other locally, the domain name information corresponding to the host server 130 storing the page embedded object is localized. Forward to DNS server 120. In this case, the domain name information may be delivered in the CNAME method as described above.

본 발명에 따른 컨텐츠 전달 과정에 대해서는 도 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 host server 130 receives and stores an object included in a page of the content provider from the web server 160 (S400). The content transmission in step S400 is performed, for example, when there is a request from the host server 130, when an object included in a page in the web server 160 is updated at a specific time. Can be set to lose.

이후, 클라이언트(110)의 브라우저가 웹서버(160)로 컨텐츠를 요청하기 위한 URL 등을 입력받으면, 클라이언트(110)의 리졸버가 로컬 DNS 서버(120)로 페이지와 해당 페이지에 포함된 객체를 저장한 웹서버(160)의 IP 어드레스를 질의한다(S405).Thereafter, when the browser of the client 110 receives a URL for requesting content from the web server 160, the resolver of the client 110 stores the page and the objects included in the page to the local DNS server 120. The IP address of one web server 160 is queried (S405).

단계(S405)에서 웹서버(160)의 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 페이지와 객체를 저장한 웹서버(160)의 IP 어드레스를 컨텐츠 제공자 측의 DNS 서버인 컨텐츠 제공자 DNS 서버(150)로 질의한다(S410).In step S405, the local DNS server 120 that receives the IP address query of the web server 160 receives the IP address of the web server 160 that stores the page and the object. In step 150, the query is made (S410).

단계(S410)에서 질의를 수신한 컨텐츠 제공자 DNS 서버(150)는 웹서버(160)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하고(S415), 웹서버(160)의 IP 어드레 스를 수신한 로컬 DNS 서버(120)는 웹서버(160)의 IP 어드레스를 클라이언트(110)로 전송한다(S420).The content provider DNS server 150 receiving the query in step S410 transmits the IP address of the web server 160 to the local DNS server 120 (S415), and receives the IP address of the web server 160. One local DNS server 120 transmits the IP address of the web server 160 to the client 110 (S420).

단계(S420)에서 웹서버(160)의 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여 웹서버(160)로 컨텐츠를 요청한다(S425).In step S420, the client 110 that receives the IP address of the web server 160 requests the content to the web server 160 by using the same (S425).

단계(S425)에서 컨텐츠 요청을 수신한 웹서버(160)는 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한다(S430). 단계(S430)에서의 지역적 인접성 판단은, 예를 들어, 클라이언트(110)의 IP 어드레스를 참조하여 이루어질 수 있다.The web server 160 receiving the content request in step S425 determines whether the client 110 is located adjacent to the web server 160 locally (S430). The determination of local proximity in step S430 may be made by referring to the IP address of the client 110, for example.

단계(S430)에서의 판단결과 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우, 웹서버(160)는 페이지를 수정하지 않은 상태 그대로 클라이언트로 전송하며, 이후, 웹서버(160)는 이어지는 클라이언트(110)의 요청에 따라 페이지에 포함된 객체를 클라이언트(110)로 전송한다(S435).As a result of the determination in step S430, when the client 110 and the web server 160 are locally adjacent to each other, the web server 160 transmits the page to the client without modification of the page, and then the web server 160 Subsequently, the object included in the page is transmitted to the client 110 according to a request of the client 110 (S435).

반면, 단계(S430)에서의 판단결과 클라이언트(110)와 웹서버(160)가 지역적으로 인접하지 않은 경우, 웹서버(160)는 클라이언트(110)가 페이지에 포함된 객체를 CDN 사업자의 호스트서버(130)에서 수신할 수 있도록, 페이지 내에 객체 저장 위치를 나타내는 URL을 호스트서버(130)에 대응되는 URL로 리라이팅하고, 이렇게 리라이팅하여 수정된 페이지를 클라이언트(110)로 전송한다(S440).On the contrary, when the client 110 and the web server 160 are not adjacent to each other as a result of the determination in step S430, the web server 160 may host the object in which the client 110 is included in the page in the host server of the CDN provider. In order to be received by the 130, the URL indicating the object storage location in the page is rewritten to a URL corresponding to the host server 130, and the rewrite is thus performed to transmit the modified page to the client 110 (S440).

본 발명의 일 실시예에서, 단계(S430)에서의 판단결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우라도, 웹서버(160)의 데이터 트래픽이 임계치를 넘는 등 부하를 분산할 필요가 있다고 여겨지는 경우에는, 상기와 같이 수정 된 페이지를 클라이언트(110)로 전송하여, 호스트서버(130)가 페이지 내장형 객체를 제공하도록 할 수 있다.In an embodiment of the present invention, even when the client 110 and the web server 160 are adjacent to each other as a result of the determination in step S430, the load is distributed such that the data traffic of the web server 160 exceeds a threshold value. If it is deemed necessary, the modified page as described above may be transmitted to the client 110 so that the host server 130 may provide a page embedded object.

단계(S440)에서 수정된 페이지를 수신한 클라이언트(110)는 해당 페이지를 파싱(parsing)한다(S445). 단계(S445)에서 클라이언트(110)가 페이지를 파싱하는 도중 페이지에 포함된 객체의 저장 위치를 나타내는 URL을 발견하면, 이를 이용하여 로컬 DNS 서버(120)로 페이지에 포함된 객체를 저장한 호스트서버(130)의 IP 어드레스를 질의한다(S450).The client 110 receiving the modified page in step S440 parses the corresponding page (S445). When the client 110 discovers a URL indicating a storage location of an object included in the page while parsing the page in step S445, the host server stores the object included in the page to the local DNS server 120 using the URL. In step S450, the IP address is queried.

단계(S450)에서 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 CDN DNS 서버(140)로 해당 객체를 저장한 호스트서버(130)의 IP 어드레스를 질의한다(S455).Upon receiving the IP address query in step S450, the local DNS server 120 queries the CDN DNS server 140 for the IP address of the host server 130 that stored the object (S455).

단계(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 CDN DNS server 140 selects the host server 130 to transmit the object included in the page to the client 110, and selects the IP address of the selected host server 130. The local DNS server 120 transmits (S460), and the local DNS server 120 transmits the received IP address of the host server 130 to the client 110 (S465).

단계(S460)에서 CDN DNS 서버(140)가 전송하는 호스트서버(130)의 IP 어드레스는, 페이지에 포함된 객체를 저장한 하나 이상의 호스트서버의 데이터 트래픽 정보, 하나 이상의 호스트서버와 클라이언트(110) 간의 지역적 인접성 정보 및 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 선정된 특정 호스트서버(130)의 IP 어드레스일 수 있다.In operation S460, the IP address of the host server 130 transmitted by the CDN DNS server 140 may include data traffic information of one or more host servers storing the objects included in the page, one or more host servers, and the client 110. It may be an IP address of a specific host server 130 selected in consideration of at least one of local proximity information of each other and object information stored by each of the one or more host servers.

단계(S465)에서 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여, 호스트서버(130)로 객체를 요청하고(S470), 호스트서버(130)가 전송한 객체를 수신하게 된다(S475).The client 110 receiving the IP address in step S465 requests the object to the host server 130 by using the same (S470), and receives the object transmitted by the host server 130 (S475).

도 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 web server 160 receiving the content request in step S425 transmits the corresponding page to the client 110 (S480).

단계(S480)에서 페이지를 수신한 클라이언트(110)는 해당 페이지를 파싱(parsing)한다(S485). 단계(S485)에서 클라이언트(110)가 페이지를 파싱하는 도중 페이지에 포함된 객체의 URL을 발견하면, 이를 이용하여 로컬 DNS 서버(120)로 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 질의한다(S490).The client 110 receiving the page in step S480 parses the page (S485). When the client 110 detects the URL of the object included in the page while parsing the page in step S485, the local DNS server 120 queries the IP address of the server storing the object included in the page by using the same. (S490).

단계(S490)에서 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 컨텐츠 제공자 DNS 서버(150)로 해당 객체를 저장한 서버의 IP 어드레스를 질의한다(S495).Upon receiving the IP address query in step S490, the local DNS server 120 queries the content provider DNS server 150 for the IP address of the server that stores the object (S495).

단계(S495)에서 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버(150)는 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한다(S500). 단계(S500)에서의 지역성 인접성 판단은 상기와 같이 클라이언트(110)의 IP 어드레스를 이용하여 이루어질 수 있다.The content provider DNS server 150 that receives the IP address query in step S495 determines whether the client 110 is located adjacent to the web server 160 locally (S500). The determination of locality proximity in step S500 may be performed using the IP address of the client 110 as described above.

단계(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 client 110 is located adjacent to the web server 160, the content provider DNS server 150 transmits the IP address of the web server to the local DNS server 120. It transmits (S505). The local DNS server 120 transmits the IP address of the web server 160 received in step S505 to the client 110 (S507).

클라이언트(110)는 단계(S507)에서 수신한 웹서버의 IP 어드레스를 이용하여 웹서버(160)로 페이지에 포함된 객체를 요청하고(S510), 웹서버(160)가 전송한 객체를 수신하게 된다(S515).The client 110 requests the object included in the page to the web server 160 using the IP address of the web server received in step S507 (S510), and receives the object transmitted by the web server 160. (S515).

반면, 단계(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 provider DNS server 150 determines that the client 110 is located adjacent to the web server 160 locally in step S500, and determines that the content provider DNS server 150 is not adjacent to the web server 160, the content provider DNS server 150 The server transmits domain name information corresponding to the host server 130 to the local DNS server 120 (S520). In operation S520, the local DNS server 120 receiving the domain name information queries the CDN DNS server 140 for the IP address of the host server 130 including the object included in the page (S525). ).

단계(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 local DNS server 120. In step S525, the local DNS server 120 may transmit the CNAME resource record. The CDN DNS server 140 may query the domain name information included in the CDN DNS server 140.

단계(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 CDN DNS server 140 selects the host server 130 to transmit the object included in the page to the client 110, and selects the IP address of the selected host server 130. The local DNS server 120 transmits the data to the local DNS server 120 (S530), and the local DNS server 120 transmits the received IP address of the host server 130 to the client 110 (S535).

단계(S530)에서 CDN DNS 서버(140)가 전송하는 호스트서버(130)의 IP 어드레스는, 상기와 같이, 페이지에 포함된 객체를 저장한 하나 이상의 호스트서버의 데이터 트래픽 정보, 하나 이상의 호스트서버와 클라이언트(110) 간의 지역적 인접성 정보 및 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 선정된 특정 호스트서버(130)의 IP 어드레스일 수 있다.In operation S530, the IP address of the host server 130 transmitted by the CDN DNS server 140 may include data traffic information of at least one host server storing the objects included in the page, at least one host server, and the like. It may be an IP address of a specific host server 130 selected in consideration of at least one of local proximity information between the client 110 and object information stored by each of the one or more host servers.

단계(S535)에서 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여, 호스트서버(130)로 객체를 요청하고(S470), 호스트서버(130)가 전송한 객체를 수신하게 된다(S475).The client 110 receiving the IP address in step S535 requests the object to the host server 130 using this, in step S470, and receives the object transmitted by the host server 130 in step S475.

이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 일탈함 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.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)

페이지에 포함된 객체를 수신하여 저장하는 하나 이상의 호스트서버;At least one host server for receiving and storing an object included in the page; 상기 페이지와 상기 객체를 저장하고, 상기 객체를 상기 하나 이상의 호스트서버로 전송하여 저장하도록 하며, 클라이언트의 요청이 있으면 상기 클라이언트가 지역적으로 인접하여 위치한 경우 상기 페이지를 상기 클라이언트로 전송하고, 상기 클라이언트가 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL(Uniform Resource Locator)을 리라이팅(rewriting)하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 웹서버; 및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 상기 메시지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP(Internet Protocol) 어드레스를 상기 로컬 DNS(Domain Name System) 서버를 거쳐 상기 클라이언트로 전송하는, 상기 URL에 대응되는 CDN(Contents Delivery Network) DNS 서버를 포함하는 컨텐츠 전달 시스템.Receiving the IP address query of the host server that stores the object from the local DNS server of the client side receiving the message, the Internet Protocol (IP) address of the specific host server to which the object is to be transmitted is transmitted. And a Contents Delivery Network (CDN) DNS server corresponding to the URL, which is transmitted to the client via a local Domain Name System (DNS) server. 제1항에 있어서, 상기 웹서버는The method of claim 1, wherein the web server 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 컨텐츠 전달 시스 템.And determining whether or not the client is located locally adjacent by using the IP address information of the client. 제1항에 있어서, 상기 웹서버는The method of claim 1, wherein the web server 데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 하는 컨텐츠 전달 시스템.Rewriting the URL if data traffic exceeds a threshold. 제1항에 있어서, 상기 CDN DNS 서버는The method of claim 1, wherein the CDN DNS server is 상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 하는 컨텐츠 전달 시스템.The IP address of the specific host server may be determined based on at least one of data traffic information of the one or more host servers, local proximity information between the one or more host servers and clients, and object information stored by each of the one or more host servers. Content delivery system, characterized in that the transmission to the DNS server. 페이지 및 상기 페이지에 포함된 객체를 제공하는 웹서버;A web server providing a page and an object included in the page; 상기 웹서버로부터 상기 객체를 수신하여 저장하는 복수의 CDN 사업자의 하나 이상의 호스트서버;One or more host servers of a plurality of CDN providers for receiving and storing the object from the web server; 상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치한 경우 상기 웹서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하고, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 컨텐츠 제공자 DNS 서버; 및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 상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면, 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는, 상기 도메인네임에 대응되는 CDN DNS 서버를 포함하는 컨텐츠 전달 시스템.Receiving an IP address query of a host server storing the object from the local DNS server, transmitting the 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, Content delivery system comprising a CDN DNS server corresponding to the domain name. 제5항에 있어서, 상기 컨텐츠 제공자 DNS 서버는The method of claim 5, wherein the content provider DNS server is 상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 하는 컨텐츠 전달 시스템.And delivering the domain name information to a CDN resource record to the local DNS server. 제6항에 있어서, 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는The method of claim 6, wherein the IPN query received by the CDN DNS server is 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 하는 컨텐츠 전달 시스템.And the local DNS server queries the CDN DNS server with reference to the domain name information included in the CNAME resource record. 제5항에 있어서, 상기 컨텐츠 제공자 DNS 서버는The method of claim 5, wherein the content provider DNS server is 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 컨텐츠 전달 시스템.And determining whether the client is locally located adjacent to the web server by using the IP address information of the client. 제5항에 있어서, 상기 CDN DNS 서버는6. The CDN DNS server of claim 5, wherein the CDN DNS server is 상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 하는 컨텐츠 전달 시스템.The IP address of the specific host server may be determined based on at least one of data traffic information of the one or more host servers, local proximity information between the one or more host servers and clients, and object information stored by each of the one or more host servers. Content delivery system, characterized in that the transmission to the DNS server. 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계;A storage step of receiving at least one host server an object included in a page from a web server and storing the object; 클라이언트로부터 상기 페이지를 요청받은 상기 웹서버가 상기 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 판단단계;Determining, by the web server, that the page is requested from a client, whether the client is located locally; 상기 판단단계에서의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 페이지 전송단계; 및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 상기 페이지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP(Internet Protocol) 어드레스 질의를 수신한 상기 URL에 대응되는 CDN DNS 서버에서, 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하는 IP 어드레스 전송단계를 포함하는 컨텐츠 전달 방법.The object of the one or more host servers in the CDN DNS server corresponding to the URL from which the IP (Internet Protocol) address query of the host server storing the object is received from the local DNS server of the client side receiving the page; IP address transmission step of transmitting the IP address of the specific host server to be transmitted to the client via the local DNS server. 제10항에 있어서, 상기 판단단계는The method of claim 10, wherein the determining step 상기 웹서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 하는 컨텐츠 전달 방법.And determining whether the web server is locally adjacent by referring to the IP address of the client. 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계;A storage step of receiving at least one host server an object included in a page from a web server and storing the object; 상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버가, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 판단하고, 그 결과 인접하여 위치하지 않는 것으로 판단되면, 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 전달단계; 및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 상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신한 상기 도메인네임에 대응되는 CDN DNS 서버가 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는 전송단계를 포함하는 컨텐츠 전달 방법.The 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 receives the IP address of a specific host server to which the object is to be transmitted among the one or more host servers. Content delivery method comprising the step of transmitting to the client via. 제12항에 있어서, 상기 전달단계는The method of claim 12, wherein the delivering step 상기 컨텐츠 제공자 DNS 서버가 상기 도메인네임 정보를 CNAME 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 하는 컨텐츠 전달 방 법.The content provider DNS server includes the domain name information in the CNAME resource record and delivers to the local DNS server. 제13항에 있어서, 상기 전송단계에서The method of claim 13, wherein in the transmitting step 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 하는 컨텐츠 전달 시스템.The IPN query received by the CDN DNS server, the local DNS server queries the CDN DNS server with reference to the domain name information included in the CNAME resource record. 제12항에 있어서 상기 전달단계는The method of claim 12, wherein the delivering step 상기 CDN DNS 서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 하는 컨텐츠 전달 방법.And determining whether the CDN DNS server is locally adjacent by referring to the IP address of the client. 데이터 송수신을 위한 제1송수신부;A first transmitter and receiver for transmitting and receiving data; 페이지 및 상기 페이지에 포함된 객체를 저장한 컨텐츠 데이터베이스;A content database storing a page and an object included in the page; 상기 페이지를 요청한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제1판단모듈; 및A first judging module for judging whether a client requesting the page is located locally; And 상기 제1송수신부를 통해 상기 객체를 하나 이상의 호스트서버로 전송하여 저장하도록 하고, 상기 제1송수신부를 통해 상기 클라이언트로부터 요청이 있으면, 상기 제1판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하고, 상기 제1판단모듈의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호 스트서버의 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하는 제1제어부를 포함하는 웹서버.The object is transmitted to the at least one host server through the first transmitter / receiver and stored therein, and when a request is received from the client through the first transmitter / receiver, when determined to be located locally in the first judging module, the page Is transmitted to the client through the first transmitter / receiver, and when the first determination module determines that the object storage location URL of the host server is rewritten to the object information in the page when the location is not adjacent to each other. And a first controller for transmitting a page to the client through the first transmitter / receiver. 제16항에 있어서, 상기 제1판단모듈은The method of claim 16, wherein the first determination module 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 웹 서버.And determining whether the client is locally located adjacent to the client using IP address information of the client. 제16항에 있어서, 상기 제1제어부는The method of claim 16, wherein the first control unit 데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 하는 웹 서버.And if the data traffic exceeds a threshold, rewrite the URL. 데이터 송수신을 위한 제2송수신부;A second transceiver for transmitting and receiving data; 웹서버로부터 전송된 페이지 내장형 객체를 저장한 하나 이상의 호스트서버의 IP 어드레스 정보를 저장한 호스트서버 정보 데이터베이스;A host server information database storing IP address information of at least one host server storing page embedded objects transmitted from a web server; 상기 페이지를 수신한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제2판단모듈; 및A second judging module for judging whether a client receiving the page is located adjacent to each other; And 상기 제2송수신부를 통해 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 제2판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 웹서버의 IP 어드레스를 상기 제2송수신부를 통해 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하 고, 상기 제2판단모듈의 판단결과 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 제2송수신부를 통해 상기 로컬 DNS 서버로 전달하는 제2제어부를 포함하는 컨텐츠 제공자 DNS 서버.When receiving the IP address query of the server that stores the object from the local DNS server of the client side that receives the page through the second transmitter and receiver, when the second judging module determines that the local location is adjacent to the web When the IP address of the server is transmitted to the client through the local DNS server through the second transmitter and receiver, and the client determines that the client is not located locally adjacent to the web server. And a second controller for transmitting the domain name information of the server to the local DNS server through the second transmitter / receiver. 제19항에 있어서, 상기 제2판단모듈은The method of claim 19, wherein the second determination module 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 컨텐츠 제공자 DNS 서버.And determining whether the client is located locally adjacent by using the IP address information of the client. 제19항에 있어서, 상기 제2제어부는The method of claim 19, wherein the second control unit 상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 하는 컨텐츠 제공자 DNS 서버.And providing the domain name information in a CNAME (Canonical NAME) resource record to the local DNS server.
KR1020090073544A 2008-08-13 2009-08-10 System and Method for contents delivery, and web server and contents provider DNS server thereof KR101082362B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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