KR101082362B1 - 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 dns 서버 - Google Patents

컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 dns 서버 Download PDF

Info

Publication number
KR101082362B1
KR101082362B1 KR1020090073544A KR20090073544A KR101082362B1 KR 101082362 B1 KR101082362 B1 KR 101082362B1 KR 1020090073544 A KR1020090073544 A KR 1020090073544A KR 20090073544 A KR20090073544 A KR 20090073544A KR 101082362 B1 KR101082362 B1 KR 101082362B1
Authority
KR
South Korea
Prior art keywords
server
client
page
dns server
host
Prior art date
Application number
KR1020090073544A
Other languages
English (en)
Other versions
KR20100020911A (ko
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/ko
Application granted granted Critical
Publication of KR101082362B1 publication Critical patent/KR101082362B1/ko

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

본 발명은 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 DNS 서버에 관한 것으로, 컨텐츠 제공자의 웹서버 또는 컨텐츠 제공자 측의 DNS 서버에서 클라이언트와 웹서버의 지역적 인접성을 판단하여 동적으로 페이지에 포함된 객체를 제공할 서버를 선택하고 선택된 서버에서 클라이언트로 페이지에 포함된 객체를 제공하도록 하는 과정을 포함하며, 이를 통해, 사용자의 편의가 증진되고 컨텐츠 제공자는 서비스의 질적 향상을 도모할 수 있게 된다.
CDN, 라우팅, URL rewriting, CNAME

Description

컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 DNS 서버{System and Method for contents delivery, and web server and contents provider DNS server thereof}
본 발명은 컨텐츠 전달 시스템 및 방법에 관한 것으로, 특히, 클라이언트로 내장형 객체를 포함한 페이지를 제공하는 컨텐츠 제공자 측의 웹서버 또는 컨텐츠 제공자 DNS(Domain Name System) 서버에서 클라이언트와의 지역적 인접성을 고려하여 내장형 객체를 컨텐츠 제공자 측에서 직접 제공할 것인지, CDN(Contents Delivery Network) 사업자의 호스트서버에서 제공할 것인지 결정하도록 하는 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 DNS 서버에 관한 것이다.
일반적으로 컨텐츠 제공자(CP: Content Provider)의 웹 서버가 클라이언트에 제공할 컨텐츠(예컨대, 동영상, 음악, 파일 등)의 수는 매우 많다. 웹 서버가 이들의 일부 또는 전부를 다수의 클라이언트들 각각에게 일대일로 제공하기에는 많은 부하가 발생한다. 왜냐하면, 웹 서버는 단일의 ISP(Internet Service Provider)에 연결되어 있는데 반하여 컨텐츠를 요구하는 클라이언트는 다수의 ISP에 존재하기 때문이다.
따라서 ISP들 간의 트래픽은 컨텐츠 제공자와 클라이언트가 늘어남에 따라 기하급수적으로 증가하게 되고, 트래픽 혼잡으로 인한 전송지연 및/또는 전송실패율이 높아진다. 최악의 경우에는 웹 서버의 기능장애(fail-over)가 발생하기도 한다.
이러한 문제점을 극복하기 위해 도입된 것이 CDN(Content Delivery Network)이다. CDN이란 클라이언트들로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 컨텐츠, 예를 들어 그림, 배너, 비디오 또는 오디오와 같이 용량이 크거나 클라이언트들의 요구가 빈번한 컨텐츠를 다수의 ISP 상호 접속점(PoP: Point of Presence)에 광역적으로 분산 배치된 호스트 서버에 미리 저장해 놓고, 클라이언트의 요구가 있을 경우 해당 이용자와 가장 근접한 호스트 서버의 경로를 반환함으로써 클라이언트가 그 반환된 경로를 통해 호스트 서버에 접속한 후 컨텐츠를 제공받을 수 있도록 한 서비스이다. 여기서 호스트서버는 캐시서버, 복제서버 또는 고스트서버로 다양하게 일컬어진다.
상술한 CDN은 시스템 구성 방식에 따라 크게 두 가지로 나뉜다. 하나는 '오버레이(overlay) 방식'이고 또 하나는 '네트워크 방식'이다. '오버레이 방식'은 특수용도의 서버와 다수의 캐시 서버가 컨텐츠의 분배를 관장한다. 오버레이 방식의 장점으로는 CDN 제공자가 네트워크 하부 요소에 대해 제어할 필요가 없어 관리가 단순해진다는 점이다. 한편, '네트워크 방식'에 있어서, 라우터와 스위치 등의 네트워크 구성요소에는 특정 애플리케이션 유형을 확인하고 미리 정의된 방침에 따라 클라이언트의 요청(request)을 포워딩하기 위한 코드가 구비된다.
근래 들어, CDN 제공자의 솔루션 대부분은 전술한 오버레이 방식과 네트워크 방식을 혼합한 이른바 혼합 방식을 채택하고 있다. 혼합 방식에 관해서는 F. Thomson Lieghton 등에게 부여(issued)되고 MIT(Massachusetts Institute of Technology)에 양도된 미국 등록특허 US 6,108,703(GLOBAL HOSTING SYSTEM)(이하, '703 특허)에 예시되어 있다.
상기 '703 특허에 따르면, 컨텐츠 제공자의 웹 서버는 클라이언트의 요구에 응답하여, 특별한 루틴에 의해 변경된 내장형 오브젝트의 URL(이하, '수정 URL'이라 한다)이 포함된 페이지를 제공한다. 클라이언트의 웹 브라우저는 상기 페이지를 디스플레이 하기 위해 내장형 오브젝트를 로딩하게 된다. '703 특허는 제1 레벨 네임서버와 제2 레벨 네임서버로 명명되는 계층구조의 DNS 서버를 통해 상기한 수정 URL을 식별하여 실제 오브젝트를 제공할 수 있는 최적의 호스트 서버의 IP 주소를 클라이언트에 반환한다.
상술한 '703 특허는 이른바 DNS 기반 리퀘스트 라우팅(DNS-based request routing)을 이용하고 있다. 일반적인 DNS 기반 리퀘스트 라우팅은 DNS 룩업 시간에 의한 네트워크 지연(network latency)이 가중된다는 단점이 있으나, '703 특허는 DNS 서버를 계층구조로 구현함으로써 네트워크 지연을 경감시켰다.
그러나, 클라이언트가 컨텐츠 제공자의 웹 서버에 인접해 있는 경우, 다시 말해 양자가 지역적으로 혹은 네트워크 경로상 가까운 경우에도 상기한 DNS 기반의 리퀘스트 라우팅이 행해져 비효율적이라는 문제점이 있다.
이에 상기 문제점들을 개선하기 위한 방법이 요구된다.
본 발명은 컨텐츠 제공자가 운영하는 웹 서버에 인접한 클라이언트에 대해서는 웹 서버가 직접 클라이언트가 요구하는 컨텐츠를 제공함으로써, 인접한 클라이언트에게 보다 향상된 QoS(Quality of Service)를 보장하고 아울러 무용한 네트워크 부하를 줄이는데 주요 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 시스템은, 페이지에 포함된 객체를 수신하여 저장하는 하나 이상의 호스트서버; 상기 페이지와 상기 객체를 저장하고, 상기 객체를 상기 하나 이상의 호스트서버로 전송하여 저장하도록 하며, 클라이언트의 요청이 있으면 상기 클라이언트가 지역적으로 인접하여 위치한 경우 상기 페이지를 상기 클라이언트로 전송하고, 상기 클라이언트가 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL(Uniform Resource Locator)을 리라이팅(rewriting)하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 웹서버; 및 상기 페이지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP(Internet Protocol) 어드레스를 상기 로컬 DNS(Domain Name System) 서버를 거쳐 상기 클라이언트로 전송하는, 상기 URL에 대응되는 CDN(Contents Delivery Network) DNS 서버를 포함한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 웹서버는, 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 웹서버는, 데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 CDN DNS 서버는, 상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 시스템은, 페이지 및 상기 페이지에 포함된 객체를 제공하는 웹서버; 상기 웹서버로부터 상기 객체를 수신하여 저장하는 복수의 CDN 사업자의 하나 이상의 호스트서버; 상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치한 경우 상기 웹서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하고, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 컨텐츠 제공자 DNS 서버; 및 상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면, 상기 하나 이상의 호스트서 버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는, 상기 도메인네임에 대응되는 CDN DNS 서버를 포함한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 컨텐츠 제공자 DNS 서버는, 상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는, 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 컨텐츠 제공자 DNS 서버는, 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.
본 발명의 컨텐츠 전달 시스템에 있어서, 상기 CDN DNS 서버는, 상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 방법은, 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계; 클라이언트로부터 상기 페이지를 요청받은 상기 웹서버가 상기 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 판단단계; 상기 판단단계에서의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 페이지 전송단계; 및 상기 페이지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP(Internet Protocol) 어드레스 질의를 수신한 상기 URL에 대응되는 CDN DNS 서버에서, 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하는 IP 어드레스 전송단계를 포함한다.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 판단단계는, 상기 웹서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 전달 방법은, 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계; 상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버가, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 판단하고, 그 결과 인접하여 위치하지 않는 것으로 판단되면, 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 전달단계; 및 상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신한 상기 도메인네임 에 대응되는 CDN DNS 서버가 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는 전송단계를 포함한다.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 전달단계는, 상기 컨텐츠 제공자 DNS 서버가 상기 도메인네임 정보를 CNAME 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 한다.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 전송단계에서, 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 한다.
본 발명의 컨텐츠 전달 방법에 있어서, 상기 전달단계는, 상기 CDN DNS 서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 웹서버는, 데이터 송수신을 위한 제1송수신부; 페이지 및 상기 페이지에 포함된 객체를 저장한 컨텐츠 데이터베이스; 상기 페이지를 요청한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제1판단모듈; 및 상기 제1송수신부를 통해 상기 객체를 하나 이상의 호스트서버로 전송하여 저장하도록 하고, 상기 제1송수신부를 통해 상기 클라이언트로부터 요청이 있으면, 상기 제1판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하고, 상기 제1판단 모듈의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하는 제1제어부를 포함한다.
본 발명의 웹서버에 있어서, 상기 제1판단모듈은 상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.
본 발명의 웹서버에 있어서, 상기 제1제어부는, 데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 컨텐츠 제공자 DNS 서버는, 데이터 송수신을 위한 제2송수신부; 웹서버로부터 전송된 페이지 내장형 객체를 저장한 하나 이상의 호스트서버의 어드레스 정보를 저장한 호스트서버 정보 데이터베이스; 상기 페이지를 수신한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제2판단모듈; 및 상기 제2송수신부를 통해 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 제2판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 웹서버의 IP 어드레스를 상기 제2송수신부를 통해 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하고, 상기 제2판단모듈의 판단결과 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 제2송수신부를 통해 상기 로컬 DNS 서버로 전달하는 제2제어부를 포함한다.
본 발명의 컨텐츠 제공자 DNS 서버에 있어서, 상기 제2판단모듈은, 상기 클 라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 한다.
본 발명의 컨텐츠 제공자 DNS 서버에 있어서, 상기 제2제어부는, 상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 한다.
본 발명으로부터 클라이언트로 제공되는 큰 이점은 보다 향상된 QoS(Quality of Service)이다. 물론, 앞서 설명한 바와 같이 웹 서버의 부담이 다소 커질 수도 있겠으나, 클라이언트에게 신속한 응답을 제공할 수 있다는 것은 컨텐츠 제공자의 서비스 경쟁력 측면에서 보다 큰 이점으로 작용할 것이다.
또한, 웹 서버와 인접한 클라이언트에 한해서, CDN DNS 서버를 통한 최적의 호스트 서버 조회에 소요되는 부하를 줄일 수 있으므로, 그만큼 CDN 시스템의 가용성을 확보할 수 있다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전달 시스템의 구성도이다. 도 1을 참조하면 본 실시예에 따른 컨텐츠 전달 시스템은 클라이언트(110), 로컬 DNS 서버(120), 호스트서버(130), CDN DNS 서버(140), 컨텐츠 제공자 DNS 서버(150), 웹서버(160) 및 네트워크(170)를 포함하여 구성된다.
클라이언트(110)는 네트워크(170)로 연결된 서버로부터 정보를 제공받는 컴퓨터 등의 장비를 의미한다. 예를 들어, 본 발명의 클라이언트(110)는 PC(Personal Computer), 가전기기, 이동통신기기 등 현재 개발되어 상용화되었거나 향후 개발될 모든 장비를 포함한다.
클라이언트(110)는 브라우저와 리졸버(resolver)를 포함한다. 클라이언트(110)의 브라우저에 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locater) 등이 입력되면, 브라우저와 연결된 리졸버(resolver)가 미리 등록된 로컬 DNS 서버(120)에 액세스(access)하여 도메인명을 해당 컨텐츠를 제공하는 웹서버(160)의 IP(Internet Protocol) 어드레스(address)로 변환하는 역할을 한다.
본 발명에서 클라이언트(110)는 웹서버(160)의 IP 주소를 이용하여 웹서버(160)로부터 페이지를 수신하면, 이를 파싱(parsing)하고 발견한 페이지 내장형 객체(object)의 URL을 이용하여 로컬 DNS 서버(120)로 해당 객체를 제공할 서버의 IP 어드레스를 질의한다. 이후, 로컬 DNS 서버(120)로부터 해당 객체를 전송할 웹서버(160) 또는 호스트서버(130)의 IP 어드레스를 수신하면 이를 이용하여 해당 서버에 접속하고 객체를 수신한다.
로컬 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)로 전송한다.
또한 로컬 DNS 서버(120)는 클라이언트(110)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 요청받으면, 컨텐츠 제공자 DNS 서버(150) 또는 CDN DNS 서버(140)와의 메시지 송수신을 통해 해당 객체를 전송할 웹서버(160) 또는 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다.
호스트서버(130)는, 웹서버(160)가 저장 및 관리하는 페이지 내장형 객체의 복사본을 저장하여 클라이언트(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)로 전송할 수 있다.
이때, CDN DNS 서버(140)가 고려하는 지역적 인접성 정보, 저장 객체 정보, 호스트서버(130)의 데이터 트래픽 정보는, 호스트서버(130)에 저장되는 객체가 갱신될 때, 일정 주기와 같이 기 설정된 시간에, CDN DNS 서버(140) 또는 호스트서버(130)의 데이터 트래픽과 부하 등을 고려하여 수집된 정보일 수 있다.
웹서버(160)는 컨텐츠 제공자가 제공하는 웹 페이지 및 해당 페이지에 포함된 내장형 객체(embedded object) 등을 제공하는 서버이다. 본 발명에서 컨텐츠 제공자(contents provider)는 웹서버(160)로부터 호스트서버(130)로 페이지에 포함된 객체를 전송하여 저장하도록 한다. 이는 클라이언트(110)가 특정 페이지에 포함된 객체를 요청하는 경우 호스트서버(130)를 통하여 신속한 응답을 받을 수 있도록 하기 위함이다.
또한, 본 발명의 웹서버(160)는 클라이언트(110)로부터 페이지를 요청받으면 클라이언트(110)가 웹서버(160)와 지역적으로 인접해 있는지 판단한다.
판단결과, 클라이언트(110)가 웹서버(160)에서 지역적으로 인접해 있어, CDN 사업자의 네트워크로 경로를 재설정(routing)하는 것보다, 웹서버(160)가 직접 클라이언트(110)로 페이지 내장형 객체를 전송하는 것이 네트워크 경로상 더 효율적이라고 판단된다면, 해당 페이지를 수정하지 않은 상태로 클라이언트(110)로 전송한다. 이후, 클라이언트(110)가 수신한 페이지를 파싱(parsing)하여 내장형 객체의 URL을 발견하여, 웹서버(160)로 해당 객체를 요청하는 경우 웹서버(160)가 직접 그 객체를 클라이언트(110)로 전송한다.
반면에 판단결과, 클라이언트(110)가 웹서버(160)에서 지역적으로 인접해 있지 않아, CDN 사업자의 네트워크로 경로를 재설정(routing)하여 호스트서버(130)에서 페이지 내장형 객체를 전송하는 것이 네트워크 경로상 더 효율적이라고 판단되는 경우, 페이지 내에 내장형 객체의 위치를 나타나는 URL을 호스트서버(130)를 나타내도록 리라이팅(writing)하여, 수정된 페이지를 클라이언트(110)로 전송한다. 이후, 클라이언트(110)가 수정된 페이지를 파싱(parsing)하여 수정된 URL을 발견하는 경우, 이를 통해 호스트서버(130)로 접속하여 내장형 객체를 수신할 수 있게 된다.
웹서버(160)가 클라이언트(110)와 지역적으로 인접한지 판단하는 과정은, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 클라이언트(110)와의 거리가 가까운지 판단하는 방법으로 이루어질 수 있다.
또한, 웹서버(160)는 클라이언트(110)가 지역적으로 인접하여 위치한다고 판단한 경우에도, 웹서버(160) 자체의 데이터 트래픽이 임계치를 초과하여 부하를 줄일 필요가 있다고 판단되면, 객체 저장 위치 URL을 페이지에 리라이팅하여 CDN 사업자의 네트워크로 객체 요청을 라우팅하는 방식으로, 웹서버(160) 자체의 부하를 분산할 수 있다.
이러한 방식으로, 클라이언트(110)는 좀 더 응답이 빠른 네트워크를 통해 페이지에 내장된 객체를 수신하는 것이 가능하며, 웹서버(160)는 사용자의 편의와 자체의 부하를 고려하여 동적으로 객체 전송의 주체를 결정할 수 있다.
컨텐츠 제공자 DNS 서버(150)는 컨텐츠 제공자 측의 DNS 서버의 일종이다. 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120)로부터 페이지를 저장한 웹서버(160)의 IP 어드레스를 질의받으면, 해당 IP 어드레스를 반환한다. 또한, 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120)로부터 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 질의받으면, 전술한 바와 같은 방식으로 웹서버(160)와 클라이언트(110)가 지역적으로 인접한지 판단한다.
판단한 결과, 웹서버(160)가 클라이언트(110)와 인접하여 위치한 경우라면, 컨텐츠 제공자 DNS 서버(150)는 웹서버(160)의 IP 어드레스를 로컬 DNS 서버(120)를 통해 클라이언트(110)로 전달하여 웹서버(160)로부터 페이지에 포함된 객체를 전송받을 수 있도록 한다.
반면, 판단한 결과, 웹서버(160)가 클라이언트(110)와 인접하여 위치하지 않은 경우라면, 컨텐츠 제공자 DNS 서버(150)는 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달하여 로컬 DNS 서버(120)가 이를 이용하여 호스트서버(130)의 IP 어드레스를 획득할 수 있도록 한다. 이를 통해, 클라이언트(110)는 호스트서버(130)로부터 페이지 내장형 객체를 획득할 수 있게 된다.
이때, 컨텐츠 제공자 DNS 서버(150)가 로컬 DNS 서버(120)로 도메인네임 정보를 전달하는 방식은, 예를 들어, CNAME(Canonical NAME) 방식으로 이루어질 수 있다. CNAME은 호스트 이름을 나타내는 별명의 DNS 데이터베이스 레코드를 의미한다.
즉, 클라이언트(110)가 웹서버(160)와 지역적으로 인접한 경우, 클라이언트(110)의 객체 요청에 대응하여 CDN 사업자의 네트워크로 라우팅함이 없이, 직접 웹서버(160)에서 전송하도록 할 수 있으며, 이러한 효과는 상기한 바와 같으므로 더 이상의 설명은 생략하기로 한다.
네트워크(170)는 클라이언트(110), 로컬 DNS 서버(120), 호스트서버(130), CDN DNS 서버(140), 컨텐츠 제공자 DNS 서버(150) 및 웹서버(160) 간의 데이터 전송, 정보 교환을 위한 데이터 통신망을 의미한다. 본 발명의 네트워크(170)는 인터넷, 인스라넷, 익스트라넷 또는 기타 널리 공지되었거나 향후 개발될 유선, 무선 또는 이들의 결합망을 포함한다.
본 발명의 일 실시예에 따른 웹서버(160)의 구성 및 동작에 대해서는 도 2를 참조하여 좀 더 상세하게 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 도 1에 도시된 웹서버(160)의 구성도이다. 도 1 및 도 2를 참조하면, 본 실시예에 따른 웹서버(160)는 제1송수신부(161), 제1제어부(163), 컨텐츠 데이터베이스(165) 및 제1판단모듈(167)을 포함하여 구성된다.
제1송수신부(161)는 네트워크(170)를 통하여 데이터 전송 및 메시지 송수신 등을 하기 위한 인터페이스를 갖는다.
컨텐츠 데이터베이스(165)는 페이지 및 페이지에 포함되는 객체의 저장소이다.
제1판단모듈(167)은 클라이언트(110)와 웹서버(160)와의 지역적 인접성을 판단하는 기능을 한다. 이때, 지역적 인접성은, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 인접하여 위치하는지 검토하는 방식으로 판 단될 수 있다.
제1제어부(163)는 웹서버(160)의 전체적인 동작을 제어한다. 먼저, 제1제어부(163)는 컨텐츠 데이터베이스(165)에 저장된 페이지 내장형 객체를 제1송수신부(161)를 통해 하나 이상의 호스트서버(130)로 전송하여 저장되도록 한다.
그리고 제1제어부(163)는 제1송수신부(161)를 통해 클라이언트(110)로부터 컨텐츠 데이터베이스(165)에 저장된 페이지에 대한 요청을 수신하면, 제1판단모듈(167)이 판단한 결과를 참조하여, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우 페이지의 데이터를 수정함이 없이 그대로 제1송수신부(161)를 통해 클라이언트(110)로 전송한다. 반면, 제1판단모듈(167)이 판단한 결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우가 아니라면, 페이지 내 객체 정보에 호스트서버(130)의 객체 저장 위치를 나타내는 URL을 리라이팅하고, 리라이팅하여 수정된 페이지를 제1송수신부(161)를 통해 클라이언트(110)로 전송한다.
이때, 제1제어부(163)는 제1판단모듈(167)이 판단한 결과, 웹서버(160)와 클라이언트가 지역적으로 인접한 경우라도, 웹서버(160)의 데이터 트래픽이 임계치 이상인 경우에는 호스트서버(130)의 객체 저장 위치를 나타내는 URL을 페이지에 리라이팅하고 수정된 페이지를 클라이언트(110)에 전송하여, 부하의 분산을 시도할 수 있다.
본 발명의 따른 컨텐츠 제공자 DNS 서버(150)의 구성 및 동작에 대해서는 도 3을 참조하여 좀 더 상세하게 설명하기로 한다.
도 3은 본 발명의 도 1에 도시된 컨텐츠 제공자 DNS 서버(150)의 구성을 나 타낸 예시도이다. 도 1 및 도 3을 참조하면, 본 실시예에 따른 컨텐츠 제공자 DNS 서버(150)는 제2송수신부(151), 제2제어부(153), 호스트서버 정보 데이터베이스(155) 및 제2판단모듈(157)을 포함하여 구성된다.
제2송수신부(151)는 네트워크(170)를 통하여 데이터 전송 및 메시지 송수신 등을 하기 위한 인터페이스를 갖는다.
호스트서버 정보 데이터베이스(155)는 웹서버(160)가 제공하는 페이지 내장형 객체를 저장한 호스트서버(130)에 대응되는 도메인네임 정보를 보유하고 있는 저장소이다.
제2판단모듈(157)은 클라이언트(110)와 웹서버(160)와의 지역적 인접성을 판단하는 기능을 한다. 이때, 지역적 인접성에 대한 판단이, 예를 들어, 클라이언트(110)의 IP 어드레스 정보를 이용하여 웹서버(160)와 인접하여 위치하는지 판단하는 방식으로 이루어질 수 있음은 상기한 바와 같다.
제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)로 전송한다.
반면, 제2판단모듈(157)이 판단한 결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우가 아니라면, 페이지 내장형 객체를 저장한 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달한다. 이때, 도메인네임 정보가 CNAME 방식으로 전달될 수 있음은 상기한 바와 같다.
본 발명에 따른 컨텐츠 전달 과정에 대해서는 도 4 및 도 5를 참조하여 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 컨텐츠 전달 방법을 나타낸 흐름도이다. 도 4를 참조하면, 호스트서버(130)는 컨텐츠 제공자의 페이지에 포함된 객체를 웹서버(160)로부터 전송받아 저장한다(S400). 단계(S400)에서의 컨텐츠 전송은, 예를 들어, 호스트서버(130)로부터의 요청이 있는 경우, 특정 시간마다, 웹서버(160) 내의 페이지에 포함된 객체가 갱신(update) 되는 경우 등에 이루어지도록 설정될 수 있다.
이후, 클라이언트(110)의 브라우저가 웹서버(160)로 컨텐츠를 요청하기 위한 URL 등을 입력받으면, 클라이언트(110)의 리졸버가 로컬 DNS 서버(120)로 페이지와 해당 페이지에 포함된 객체를 저장한 웹서버(160)의 IP 어드레스를 질의한다(S405).
단계(S405)에서 웹서버(160)의 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 페이지와 객체를 저장한 웹서버(160)의 IP 어드레스를 컨텐츠 제공자 측의 DNS 서버인 컨텐츠 제공자 DNS 서버(150)로 질의한다(S410).
단계(S410)에서 질의를 수신한 컨텐츠 제공자 DNS 서버(150)는 웹서버(160)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하고(S415), 웹서버(160)의 IP 어드레 스를 수신한 로컬 DNS 서버(120)는 웹서버(160)의 IP 어드레스를 클라이언트(110)로 전송한다(S420).
단계(S420)에서 웹서버(160)의 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여 웹서버(160)로 컨텐츠를 요청한다(S425).
단계(S425)에서 컨텐츠 요청을 수신한 웹서버(160)는 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한다(S430). 단계(S430)에서의 지역적 인접성 판단은, 예를 들어, 클라이언트(110)의 IP 어드레스를 참조하여 이루어질 수 있다.
단계(S430)에서의 판단결과 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우, 웹서버(160)는 페이지를 수정하지 않은 상태 그대로 클라이언트로 전송하며, 이후, 웹서버(160)는 이어지는 클라이언트(110)의 요청에 따라 페이지에 포함된 객체를 클라이언트(110)로 전송한다(S435).
반면, 단계(S430)에서의 판단결과 클라이언트(110)와 웹서버(160)가 지역적으로 인접하지 않은 경우, 웹서버(160)는 클라이언트(110)가 페이지에 포함된 객체를 CDN 사업자의 호스트서버(130)에서 수신할 수 있도록, 페이지 내에 객체 저장 위치를 나타내는 URL을 호스트서버(130)에 대응되는 URL로 리라이팅하고, 이렇게 리라이팅하여 수정된 페이지를 클라이언트(110)로 전송한다(S440).
본 발명의 일 실시예에서, 단계(S430)에서의 판단결과, 클라이언트(110)와 웹서버(160)가 지역적으로 인접한 경우라도, 웹서버(160)의 데이터 트래픽이 임계치를 넘는 등 부하를 분산할 필요가 있다고 여겨지는 경우에는, 상기와 같이 수정 된 페이지를 클라이언트(110)로 전송하여, 호스트서버(130)가 페이지 내장형 객체를 제공하도록 할 수 있다.
단계(S440)에서 수정된 페이지를 수신한 클라이언트(110)는 해당 페이지를 파싱(parsing)한다(S445). 단계(S445)에서 클라이언트(110)가 페이지를 파싱하는 도중 페이지에 포함된 객체의 저장 위치를 나타내는 URL을 발견하면, 이를 이용하여 로컬 DNS 서버(120)로 페이지에 포함된 객체를 저장한 호스트서버(130)의 IP 어드레스를 질의한다(S450).
단계(S450)에서 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 CDN DNS 서버(140)로 해당 객체를 저장한 호스트서버(130)의 IP 어드레스를 질의한다(S455).
단계(S455)에서 IP 어드레스 질의를 수신한 CDN DNS 서버(140)는 클라이언트(110)로 페이지에 포함된 객체를 전송할 호스트서버(130)를 선정하고, 선정된 호스트서버(130)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하며(S460), 로컬 DNS 서버(120)는 수신한 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다(S465).
단계(S460)에서 CDN DNS 서버(140)가 전송하는 호스트서버(130)의 IP 어드레스는, 페이지에 포함된 객체를 저장한 하나 이상의 호스트서버의 데이터 트래픽 정보, 하나 이상의 호스트서버와 클라이언트(110) 간의 지역적 인접성 정보 및 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 선정된 특정 호스트서버(130)의 IP 어드레스일 수 있다.
단계(S465)에서 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여, 호스트서버(130)로 객체를 요청하고(S470), 호스트서버(130)가 전송한 객체를 수신하게 된다(S475).
도 5는 본 발명의 다른 일 실시예에 따른 컨텐츠 전달 과정을 나타낸 흐름도이다. 도 5를 참조하면, 단계(S400) 내지 단계(S425)는 전술한 도 4의 해당 단계와 그 과정이 동일하므로, 자세한 설명을 생략하기로 한다.
단계(S425)에서 컨텐츠 요청을 수신한 웹서버(160)는 해당 페이지를 클라이언트(110)로 전송한다(S480).
단계(S480)에서 페이지를 수신한 클라이언트(110)는 해당 페이지를 파싱(parsing)한다(S485). 단계(S485)에서 클라이언트(110)가 페이지를 파싱하는 도중 페이지에 포함된 객체의 URL을 발견하면, 이를 이용하여 로컬 DNS 서버(120)로 페이지에 포함된 객체를 저장한 서버의 IP 어드레스를 질의한다(S490).
단계(S490)에서 IP 어드레스 질의를 수신한 로컬 DNS 서버(120)는 컨텐츠 제공자 DNS 서버(150)로 해당 객체를 저장한 서버의 IP 어드레스를 질의한다(S495).
단계(S495)에서 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버(150)는 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한다(S500). 단계(S500)에서의 지역성 인접성 판단은 상기와 같이 클라이언트(110)의 IP 어드레스를 이용하여 이루어질 수 있다.
단계(S500)에서의 판단결과, 클라이언트(110)가 웹서버(160)와 인접하여 위치하는 것으로 판단되는 경우, 컨텐츠 제공자 DNS 서버(150)는 로컬 DNS 서버(120) 로 웹서버의 IP 어드레스를 전송한다(S505). 그리고, 로컬 DNS 서버(120)는 단계(S505)에서 수신한 웹서버(160)의 IP 어드레스를 클라이언트(110)로 전송한다(S507).
클라이언트(110)는 단계(S507)에서 수신한 웹서버의 IP 어드레스를 이용하여 웹서버(160)로 페이지에 포함된 객체를 요청하고(S510), 웹서버(160)가 전송한 객체를 수신하게 된다(S515).
반면, 단계(S500)에서 컨텐츠 제공자 DNS 서버(150)가 클라이언트(110)가 웹서버(160)와 지역적으로 인접하여 위치하는지 판단한 결과, 지역적으로 인접하지 않는다고 판단한 경우, 컨텐츠 제공자 DNS 서버(150)는 호스트서버(130)에 대응되는 도메인네임 정보를 로컬 DNS 서버(120)로 전달한다(S520). 그리고, 단계(S520)에서 도메인네임 정보를 수신한 로컬 DNS 서버(120)는 이를 이용하여 CDN DNS 서버(140)로 페이지에 포함된 객체를 포함한 호스트서버(130)의 IP 어드레스를 질의한다(S525).
단계(S520)에서는, 예를 들어, 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 로컬 DNS 서버(120)로 전달할 수 있고, 단계(S525)에서는 로컬 DNS 서버(120)가 CNAME 리소스 레코드에 포함된 도메인네임 정보를 참조하여 CDN DNS 서버(140)로 질의할 수 있다.
단계(S525)에서 IP 어드레스 질의를 수신한 CDN DNS 서버(140)는 클라이언트(110)로 페이지에 포함된 객체를 전송할 호스트서버(130)를 선정하고, 선정된 호스트서버(130)의 IP 어드레스를 로컬 DNS 서버(120)로 전송하며(S530), 로컬 DNS 서버(120)는 수신한 호스트서버(130)의 IP 어드레스를 클라이언트(110)로 전송한다(S535).
단계(S530)에서 CDN DNS 서버(140)가 전송하는 호스트서버(130)의 IP 어드레스는, 상기와 같이, 페이지에 포함된 객체를 저장한 하나 이상의 호스트서버의 데이터 트래픽 정보, 하나 이상의 호스트서버와 클라이언트(110) 간의 지역적 인접성 정보 및 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 선정된 특정 호스트서버(130)의 IP 어드레스일 수 있다.
단계(S535)에서 IP 어드레스를 수신한 클라이언트(110)는 이를 이용하여, 호스트서버(130)로 객체를 요청하고(S470), 호스트서버(130)가 전송한 객체를 수신하게 된다(S475).
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 일탈함 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
본 발명에 의하면 컨텐츠 제공자가 운용 및 관리하는 웹서버 또는 컨텐츠 제공자 DNS 서버에서, 클라이언트와 웹서버 간의 지역적 인접성 및 네트워크 경로를 고려하여 객체를 제공할 서버를 선택할 수 있도록 함으로써, 클라이언트는 보다 신 속하게 페이지 내장형 객체를 수신하여 로딩하고 디스플레이 할 수 있어 사용자의 편의가 증진되고, 컨텐츠 제공자는 웹서버가 감당가능한 범위에서 컨텐츠 제공의 질적 향상을 도모할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전달 시스템의 구성도이다.
도 2는 도 1에 도시된 웹서버의 구성도이다.
도 3은 도 1에 도시된 컨텐츠 제공자 DNS 서버의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 컨텐츠 전달 방법의 흐름도이다.
도 5는 본 발명의 다른 일 실시예에 따른 컨텐츠 전달 방법의 흐름도이다.

Claims (21)

  1. 페이지에 포함된 객체를 수신하여 저장하는 하나 이상의 호스트서버;
    상기 페이지와 상기 객체를 저장하고, 상기 객체를 상기 하나 이상의 호스트서버로 전송하여 저장하도록 하며, 클라이언트의 요청이 있으면 상기 클라이언트가 지역적으로 인접하여 위치한 경우 상기 페이지를 상기 클라이언트로 전송하고, 상기 클라이언트가 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 상기 객체 저장 위치 URL(Uniform Resource Locator)를 리라이팅(rewriting)하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 웹서버; 및
    상기 클라이언트 측의 로컬 DNS(Domain Name System) 서버로부터, 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP(Internet Protocol) 어드레스를 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하는, 상기 URL에 대응되는 CDN(Contents Delivery Network) DNS 서버를 포함하는 컨텐츠 전달 시스템.
  2. 제1항에 있어서, 상기 웹서버는
    상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 컨텐츠 전달 시스 템.
  3. 제1항에 있어서, 상기 웹서버는
    데이터 트래픽이 임계치를 초과하는 경우 상기 페이지 내 객체 정보에 상기 호스트 서버의 상기 객체 저장 위치 URL을 리라이팅하는 것을 특징으로 하는 컨텐츠 전달 시스템.
  4. 제1항에 있어서, 상기 CDN DNS 서버는
    상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 하는 컨텐츠 전달 시스템.
  5. 페이지 및 상기 페이지에 포함된 객체를 제공하는 웹서버;
    상기 웹서버로부터 상기 객체를 수신하여 저장하는 하나 이상의 호스트서버;
    상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치한 경우 상기 웹서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하고, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 컨텐츠 제공자 DNS 서버; 및
    상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신하면, 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는, 상기 도메인네임에 대응되는 CDN DNS 서버를 포함하는 컨텐츠 전달 시스템.
  6. 제5항에 있어서, 상기 컨텐츠 제공자 DNS 서버는
    상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 하는 컨텐츠 전달 시스템.
  7. 제6항에 있어서, 상기 CDN DNS 서버가 수신한 IP 어드레스 질의는
    상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 하는 컨텐츠 전달 시스템.
  8. 제5항에 있어서, 상기 컨텐츠 제공자 DNS 서버는
    상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 컨텐츠 전달 시스템.
  9. 제5항에 있어서, 상기 CDN DNS 서버는
    상기 하나 이상의 호스트서버의 데이터 트래픽 정보, 상기 하나 이상의 호스트서버와 클라이언트 간의 지역적 인접성 정보 및 상기 하나 이상의 호스트서버 각각이 저장한 객체 정보 중 하나 이상의 정보를 고려하여 상기 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버로 전송하는 것을 특징으로 하는 컨텐츠 전달 시스템.
  10. 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계;
    클라이언트로부터 상기 페이지를 요청받은 상기 웹서버가 상기 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 판단단계;
    상기 판단단계에서의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호스트서버의 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 클라이언트로 전송하는 페이지 전송단계; 및
    상기 페이지를 수신한 상기 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 호스트서버의 IP(Internet Protocol) 어드레스 질의를 수신한 상기 URL에 대응되는 CDN DNS 서버에서, 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하는 IP 어드레스 전송단계를 포함하는 컨텐츠 전달 방법.
  11. 제10항에 있어서, 상기 판단단계는
    상기 웹서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 하는 컨텐츠 전달 방법.
  12. 하나 이상의 호스트서버가 웹서버로부터 페이지에 포함된 객체를 수신하여 저장하는 저장단계;
    상기 웹서버로부터 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신한 컨텐츠 제공자 DNS 서버가, 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하는지 판단하고, 그 결과 인접하여 위치하지 않는 것으로 판단되면, 상기 호스트서버의 도메인네임 정보를 상기 로컬 DNS 서버로 전달하는 전달단계; 및
    상기 로컬 DNS 서버로부터 상기 객체를 저장한 호스트서버의 IP 어드레스 질의를 수신한 상기 도메인네임 정보에 대응되는 CDN DNS 서버가 상기 하나 이상의 호스트서버 중 상기 객체를 전송할 특정 호스트서버의 IP 어드레스를 상기 로컬 DNS 서버를 통해 상기 클라이언트로 전송하는 전송단계를 포함하는 컨텐츠 전달 방법.
  13. 제12항에 있어서, 상기 전달단계는
    상기 컨텐츠 제공자 DNS 서버가 상기 도메인네임 정보를 CNAME 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 하는 컨텐츠 전달 방 법.
  14. 제13항에 있어서, 상기 전송단계에서
    상기 CDN DNS 서버가 수신한 IP 어드레스 질의는 상기 로컬 DNS 서버가 상기 CNAME 리소스 레코드에 포함된 상기 도메인네임 정보를 참조하여 상기 CDN DNS 서버로 질의한 것을 특징으로 하는 컨텐츠 전달 방법.
  15. 제12항에 있어서 상기 전달단계는
    상기 CDN DNS 서버가 상기 클라이언트의 IP 어드레스를 참조하여 지역적으로 인접하는지 판단하는 것을 특징으로 하는 컨텐츠 전달 방법.
  16. 데이터 송수신을 위한 제1송수신부;
    페이지 및 상기 페이지에 포함된 객체를 저장한 컨텐츠 데이터베이스;
    상기 페이지를 요청한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제1판단모듈; 및
    상기 제1송수신부를 통해 상기 객체를 하나 이상의 호스트서버로 전송하여 저장하도록 하고, 상기 제1송수신부를 통해 상기 클라이언트로부터 요청이 있으면, 상기 제1판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하고, 상기 제1판단모듈의 판단결과 지역적으로 인접하여 위치하지 않은 경우 상기 페이지 내 객체 정보에 상기 호 스트서버의 객체 저장 위치 URL을 리라이팅하여 상기 리라이팅한 페이지를 상기 제1송수신부를 통해 상기 클라이언트로 전송하는 제1제어부를 포함하는 웹서버.
  17. 제16항에 있어서, 상기 제1판단모듈은
    상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 웹 서버.
  18. 제16항에 있어서, 상기 제1제어부는
    데이터 트래픽이 임계치를 초과하는 경우 상기 URL을 리라이팅하는 것을 특징으로 하는 웹 서버.
  19. 데이터 송수신을 위한 제2송수신부;
    웹서버로부터 전송된 페이지 내장형 객체를 저장한 하나 이상의 호스트서버의 IP 어드레스 정보를 저장한 호스트서버 정보 데이터베이스;
    상기 페이지를 수신한 클라이언트가 지역적으로 인접하여 위치하는지 판단하는 제2판단모듈; 및
    상기 제2송수신부를 통해 상기 페이지를 수신한 클라이언트 측의 로컬 DNS 서버로부터, 상기 객체를 저장한 서버의 IP 어드레스 질의를 수신하면, 상기 제2판단모듈의 판단결과 지역적으로 인접하여 위치하는 경우 상기 웹서버의 IP 어드레스를 상기 제2송수신부를 통해 상기 로컬 DNS 서버를 거쳐 상기 클라이언트로 전송하 고, 상기 제2판단모듈의 판단결과 상기 클라이언트가 상기 웹서버와 지역적으로 인접하여 위치하지 않은 경우 상기 호스트서버의 도메인네임 정보를 상기 제2송수신부를 통해 상기 로컬 DNS 서버로 전달하는 제2제어부를 포함하는 컨텐츠 제공자 DNS 서버.
  20. 제19항에 있어서, 상기 제2판단모듈은
    상기 클라이언트의 IP 어드레스 정보를 이용하여 상기 클라이언트가 지역적으로 인접하여 위치하는지 여부를 판단하는 것을 특징으로 하는 컨텐츠 제공자 DNS 서버.
  21. 제19항에 있어서, 상기 제2제어부는
    상기 도메인네임 정보를 CNAME(Canonical NAME) 리소스 레코드에 포함하여 상기 로컬 DNS 서버로 전달하는 것을 특징으로 하는 컨텐츠 제공자 DNS 서버.
KR1020090073544A 2008-08-13 2009-08-10 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 dns 서버 KR101082362B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080079611 2008-08-13
KR1020080079611 2008-08-13

Publications (2)

Publication Number Publication Date
KR20100020911A KR20100020911A (ko) 2010-02-23
KR101082362B1 true KR101082362B1 (ko) 2011-11-10

Family

ID=42090831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090073544A KR101082362B1 (ko) 2008-08-13 2009-08-10 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 dns 서버

Country Status (1)

Country Link
KR (1) KR101082362B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190111255A (ko) 2018-03-22 2019-10-02 주식회사 엘지유플러스 콘텐츠 제어 장치 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102093166B1 (ko) * 2013-09-13 2020-03-25 에스케이텔레콤 주식회사 웹사이트 접속 시간 단축 방법 및 이를 위한 장치
KR102193481B1 (ko) * 2015-08-17 2020-12-21 에스케이텔레콤 주식회사 프록시 서버, 상기 프록시 서버에서의 페이지 재구성 방법
EP3598715B1 (en) 2017-03-29 2022-02-09 Samsung Electronics Co., Ltd. Multimedia service content providing device and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027906A2 (en) 2001-09-28 2003-04-03 Savvis Communications Corporation System and method for policy dependent name to address resolutioin.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027906A2 (en) 2001-09-28 2003-04-03 Savvis Communications Corporation System and method for policy dependent name to address resolutioin.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190111255A (ko) 2018-03-22 2019-10-02 주식회사 엘지유플러스 콘텐츠 제어 장치 및 그 방법

Also Published As

Publication number Publication date
KR20100020911A (ko) 2010-02-23

Similar Documents

Publication Publication Date Title
US8527635B2 (en) Contents delivery system and method, web server and contents provider DNS server thereof
US11805184B2 (en) Content delivery systems and methods
US11108729B2 (en) Managing request routing information utilizing client identifiers
EP2263164B1 (en) Request routing based on class
US10958501B1 (en) Request routing information based on client IP groupings
US11252127B2 (en) Systems and methods for processing requests for content of a content distribution network
US20100121914A1 (en) Contents delivery system and method based on content delivery network provider and replication server thereof
KR101082362B1 (ko) 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 dns 서버
KR101089058B1 (ko) Cp 참여형 컨텐츠 전달 시스템 및 방법, 그 cdn dns 서버
KR20100020909A (ko) 페이지 리다이렉션을 이용한 컨텐츠 전달 시스템 및 방법, 그 gslb 스위치
KR20100054661A (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법
KR101088023B1 (ko) 오브젝트 리다이렉션을 이용한 컨텐츠 전달 시스템 및 방법, 그 gslb 스위치
KR100944156B1 (ko) 웹 서버 부하 분산 시스템 및 방법
KR101066871B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
KR101160542B1 (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠 제공자 네임서버
KR101137249B1 (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버
KR101109524B1 (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠 제공자 네임서버
KR20100054660A (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버
KR20100053372A (ko) Cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 복제서버
KR20100054659A (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버
KR20100055295A (ko) 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법

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