KR101091981B1 - 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법 - Google Patents

캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법 Download PDF

Info

Publication number
KR101091981B1
KR101091981B1 KR1020080102390A KR20080102390A KR101091981B1 KR 101091981 B1 KR101091981 B1 KR 101091981B1 KR 1020080102390 A KR1020080102390 A KR 1020080102390A KR 20080102390 A KR20080102390 A KR 20080102390A KR 101091981 B1 KR101091981 B1 KR 101091981B1
Authority
KR
South Korea
Prior art keywords
content
client
cache
server
browser cache
Prior art date
Application number
KR1020080102390A
Other languages
English (en)
Other versions
KR20100050597A (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 에스케이플래닛 주식회사
Priority to KR1020080102390A priority Critical patent/KR101091981B1/ko
Publication of KR20100050597A publication Critical patent/KR20100050597A/ko
Application granted granted Critical
Publication of KR101091981B1 publication Critical patent/KR101091981B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법에 관한 것으로, 컨텐츠서버가 데이터 저장소인 캐시서버 및 하나 이상의 브라우저캐시에 컨텐츠를 전송하여 저장하고, 컨텐츠서버가 사업자 네임서버로 컨텐츠에 대한 접근권한 정보를 전송하여 저장하고, 클라이언트가 사업자 네임서버로 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 요청하며, IP 어드레스를 요청받은 사업자 네임서버가 내부에 저장된 접근권한 정보를 참조하여 클라이언트가 컨텐츠에 대한 접근권한이 있음을 확인한 후, 클라이언트와 캐시서버 간의 응답속도 및 클라이언트와 하나 이상의 브라우저캐시 간의 응답속도를 고려하여 컨텐츠를 전송할 저장소의 IP 어드레스를 클라이언트로 반환하는 과정을 포함하며, 본 발명에 따르면 컨텐츠를 저장한 캐시서버 및 브라우저캐시 중 최적의 저장소를 선택하여 컨텐츠에 접근권한이 있는 클라이언트로 컨텐츠를 전송할 수 있다.
CDN, 캐시서버, 복제서버, 고스트서버, 브라우저캐시, 보안, 암호

Description

캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법{System and method for security content delivery using cache server and browser cache}
본 발명은 컨텐츠 전송시스템 및 방법에 관한 것으로, 특히, 클라이언트로부터 컨텐츠 요청이 있는 경우, 해당 클라이언트가 해당 컨텐츠에 대한 접근권한이 있는지 확인한 후, 컨텐츠를 저장한 CDN(Content Delivery Network) 사업자의 캐시서버(cache server) 및 하나 이상의 브라우저 캐시와 클라이언트와의 응답속도를 고려하여 특정 저장소에서 해당 컨텐츠를 전송할 수 있도록 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법에 관한 것이다.
일반적으로 컨텐츠 제공자(CP: Content Provider)의 웹 서버가 클라이언트에 제공할 컨텐츠(예컨대, 동영상, 음악, 파일 등)의 수는 매우 많다. 웹 서버가 이들의 일부 또는 전부를 다수의 클라이언트들 각각에게 일대일로 제공하기에는 많은 부하가 발생한다. 왜냐하면, 웹 서버는 단일의 ISP(Internet Service Provider)에 연결되어 있는데 반하여 컨텐츠를 요구하는 클라이언트는 다수의 ISP에 존재하기 때문이다.
따라서 ISP들 간의 트래픽은 컨텐츠 제공자와 클라이언트가 늘어남에 따라 기하급수적으로 증가하게 되고, 트래픽 혼잡으로 인한 전송지연 및/또는 전송실패율이 높아진다. 최악의 경우에는 웹 서버의 기능장애(fail-over)가 발생하기도 한다.
이러한 문제점을 극복하기 위해 도입된 것이 CDN이다. CDN이란 클라이언트들로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 컨텐츠, 예를 들어 그림, 배너, 비디오 또는 오디오와 같이 용량이 크거나 클라이언트들의 요구가 빈번한 컨텐츠를 다수의 ISP 상호 접속점(PoP: Point of Presence)에 광역적으로 분산 배치된 호스트 서버에 미리 저장해 놓고, 클라이언트의 요구가 있을 경우 해당 이용자와 가장 근접한 호스트 서버의 경로를 반환함으로써 클라이언트가 그 반환된 경로를 통해 호스트 서버에 접속한 후 컨텐츠를 제공받을 수 있도록 한 서비스이다. 여기서 호스트 서버는 캐시서버, 복제서버 또는 고스트서버(이하, 캐시서버로 칭함)로 다양하게 일컬어진다.
그런데 CDN 사업자가 전세계의 모든 지역에 클라이언트가 만족한 만한 용량 및 응답시간을 갖는 캐시서버를 설치하고 운용하는 데는 많은 비용 및 시간이 들어가게 된다. 또한, 현재 상용화된 CDN 서비스는 클라이언트의 IP(Internet Protocol) 어드레스에 대응되는 캐시서버를 지정해 놓고, 해당 클라이언트로부터 컨텐츠 요청이 있을 경우 대응되는 캐시서버에 해당 컨텐츠가 저장되어 있는지 확인한 후, 저장되어 있지 않다면 컨텐츠 서버에 요청하여 전송하도록 하는 방법을 사용하고 있다.
그러나 이러한 방식을 사용할 경우, 클라이언트에 대응되는 캐시서버에 특정 컨텐츠가 저장되어 있지 않다면, 해당 컨텐츠를 제공하는 원시(origin) 컨텐츠 서버로 컨텐츠 요청(request)이 몰리게 되는 현상이 발생하게 된다는 문제가 있다.
또한, 캐시서버에 저장된 컨텐츠가 특정인에게만 접근이 허가된 컨텐츠인 경우 또는 일정 금액을 지불해야만 획득할 수 있는 컨텐츠인 경우 등에서는 클라이언트 사용자의 계정정보 등을 보유한 컨텐츠 제공자 측의 서버에서 인증과정을 거치게 된다. 예를 들어, 클라이언트로부터 컨텐츠요청을 수신한 컨텐츠 제공자의 DNS(Domain Name Server) 등에서는 클라이언트로 컨텐츠 접근권한을 확인하는 인증서버의 IP 어드레스를 반환하여, 클라이언트가 사용자 계정정보 또는 인증번호 등을 인증서버로 전송하여 접근권한에 대한 확인을 받도록 한다. 그리고 그 이후에 클라이언트는 CDN 사업자의 캐시서버에서 컨텐츠를 전송받을 수 있다.
이때, 컨텐츠 제공자 측의 인증서버를 거치게 되면, 인증서버의 IP 어드레스를 클라이언트로 전송하여 인증을 받게하고, 다시 CDN 사업자 측으로 클라이언트가 접속하게 해야 하기 때문에, 이에 따른 RTT(Round Trip Time)이 발생한다는 문제가 있다. 이에, 캐시서버를 증설하지 않음과 동시에 인증서버를 통해 인증을 받지 않고도 클라이언트가 컨텐츠에 대한 접근권한이 있는지 확인하여 요청된 컨텐츠를 전송할 수 있는 방법이 요구된다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 클라이언트로부터의 컨텐츠 요청이 있는 경우, 클라이언트가 컨텐츠에 대한 접근권한이 있는지 확인하고, 클라이언트와 해당 컨텐츠를 저장한 캐시서버 간의 응답속도 및 클라이언트와 다른 클라이언트에 속한 브라우저캐시 간의 응답속도를 고려하여 최적의 저장소에서 해당 컨텐츠를 전송하도록 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법은, 컨텐츠서버가 데이터 저장소인 캐시서버 및 하나 이상의 브라우저캐시에 컨텐츠를 전송하여 저장하고, 상기 컨텐츠서버가 사업자 네임서버로 상기 컨텐츠에 대한 접근권한 정보를 전송하여 저장하는 저장단계, 클라이언트가 상기 사업자 네임서버로 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 요청하는 요청단계, 및 상기 IP 어드레스를 요청받은 상기 사업자 네임서버가 상기 저장된 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후, 상기 클라이언트와 상기 캐시서버 간의 응답속도 및 상기 클라이언트와 상기 하나 이상의 브라우저캐시 간의 응답속도를 고려하여 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 반환단계를 포함한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 저장단계에서, 상기 접근권한 정보는 상기 컨텐츠에 대한 접근권한이 있는 계정정보를 암호화한 정보를 포함하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 저장단계는, 상기 컨텐츠서버가 특정 클라이언트로부터의 컨텐츠 요청에 응답하여 전송하는 상기 컨텐츠를 저장하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 저장단계는, 다른 컨텐츠에 비해 상대적으로 요청 빈도가 높은 상기 컨텐츠를 미리 전송하여 저장하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 저장단계는, 상기 클라이언트로부터 요청이 예상되는 상기 컨텐츠를 미리 전송하여 저장하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 상기 클라이언트로부터 사용자 계정정보를 수신하고 상기 저장된 접근권한 정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 상기 클라이언트로부터 사용자 계정정보를 수신하고 상기 저장된 접근권한 정보를 상기 계정에 대응되는 키로 복호화한 정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 상기 사업자 네임서버가 복수의 브라우저캐시를 포함하여 그룹핑된 브라우저캐시 그룹 중 상기 클라이언트의 브라우저캐시가 포함된 브라우저캐시 그룹에 속하는 상기 하나 이상의 브라우저캐시와 상기 클라이언트와의 응답속도를 고려하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계에서, 상기 브라우저캐시 그룹은 지역적으로 인접한 상기 복수의 브라우저캐시를 그룹핑한 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계에서, 상기 브라우저캐시 그룹은 다른 브라우저캐시 그룹과 중첩적으로 브라우저캐시를 포함하도록 그룹핑한 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 상기 요청단계에서 IP 어드레스 요청을 받으면 상기 응답속도를 측정하여 상기 IP 어드레스를 반환하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 상기 응답속도를 미리 측정하여 상기 요청단계에서 IP 어드레스 요청을 받으면 상기 IP 어드레스를 반환하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 네트워크의 부하를 고려하여 상기 저장소의 IP 어드레스를 반환하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 기설정된 측정 시간에 상기 응답속도를 측정하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 기설정된 측정 주기에 따라 상기 응답속도를 측정하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법에 있어서, 상기 반환단계는, 상기 응답속도 중 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스를 반환하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템은, 컨텐츠서버로부터 컨텐츠를 전송받아 저장하고 클라이언트로부터 상기 컨텐츠에 대한 요청이 있는 경우 상기 클라이언트로 전송하는 캐시서버, 및 상기 컨텐츠서버로부터 상기 컨텐츠에 대한 접근권한 정보를 전송받아 저장하고 상기 클라이언트로부터 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 요청받으면 상기 저장된 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후, 상기 클라이언트와 상기 캐시서버 간의 응답속도 및 상기 클라이언트와 상기 컨텐츠를 저장한 하나 이상의 브라우저캐시와의 응답속도를 고려하여 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 사업자 네임서버를 포함한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템에 있어서, 상기 사업자 네임서버에서 상기 접근권한 정보는, 상기 컨텐츠에 대한 접근권한이 있는 계정정보를 암호화한 정보를 포함하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템에 있어서, 상기 사업자 네임서버는, 상기 클라이언트로부터 사용자 계정정보를 수신하고 상기 저장된 접근권한 정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 한다.
본 발명의 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템에 있어서, 상기 사업자 네임서버는, 상기 클라이언트로부터 사용자 계정정보를 수신하고 상기 저장된 접근권한 정보를 상기 계정에 대응되는 키로 복호화한 정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 사업자 네임서버는, 데이터 송수신을 위한 입출력부, 클라이언트와 컨텐츠를 저장한 캐시서버 간의 응답속도 및 상기 클라이언트와 상기 컨텐츠를 저장한 하나 이상의 브라우저캐시 간의 응답속도 정보를 보유한 브라우저캐시 정보 데이터베이스부, 상기 컨텐츠로의 접근권한 정보를 저장한 접근권한 정보 데이터베이스부, 및 상기 입출력부를 통해 클라이언트로부터 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 요청받으면 상기 접근권한 정보 데이터베이스부에 저장된 상기 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후, 상기 브라우저캐시 정보 데이터베 이스부가 보유한 상기 응답속도 정보를 고려하여 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 제어부를 포함한다.
상기와 같은 목적을 달성하기 위한 본 발명의 사업자 네임서버는, 데이터 송수신을 위한 입출력부, 캐시서버 및 하나 이상의 브라우저캐시에 저장된 컨텐츠 정보를 보유한 브라우저캐시 정보 데이터베이스부, 상기 컨텐츠로의 접근권한 정보를 저장한 접근권한 정보 데이터베이스부, 및 상기 입출력부를 통해 클라이언트로부터 상기 컨텐츠를 전송할 저장소의 IP 어드레스를 요청받으면 상기 접근권한 정보 데이터베이스부에 저장된 상기 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후, 상기 브라우저캐시 정보 데이터베이스부가 보유한 상기 컨텐츠 정보를 참조하여 상기 특정 컨텐츠를 저장한 저장소와 상기 클라이언트 간의 응답속도를 측정하고 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 제어부를 포함한다.
본 발명에 의하면, 컨텐츠 제공자 측의 인증서버 등을 거치지 않고 CDN 사업자의 네임서버에서 직접 클라이언트의 컨텐츠 접근권한을 확인할 수 있어, 인증에 소요되는 시간을 줄일 수 있고 권한있는 사용자만이 컨텐츠에 접근하도록 할 수 있다. 또한, 컨텐츠를 저장한 캐시서버 및 브라우저캐시와 해당 컨텐츠를 요청한 클라이언트와의 응답속도를 고려하여 네트워크 상태가 좋거나 더 빠른 응답속도를 갖는 최적의 저장소에서 해당 컨텐츠를 전송할 수 있게 되어 네트워크의 효율적인 사 용 및 사용자 편의 증진이 가능하게 된다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전송시스템의 구성도이다. 도 1을 참조하면, 본 실시예의 컨텐츠 전송시스템은 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n), 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n), 사업자 네임서버(130), 캐시서버(140), 컨텐츠서버(150) 및 네트워크(160)를 포함하여 구성된다.
제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n)는 네트워크(160)로 연결된 서버로부터 정보를 제공받는 컴퓨터 등의 단말을 의미한다. 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n)는 브라우저(browser)에 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locater) 등이 입력되면, DNS(Domain Name Server)의 기능을 갖는 사업자 네임서버(130)에 액세스(access)하여 도메인명을 해당 컨텐츠를 제공하는 컨텐츠서버(150) 또는 캐시서버(140)의 IP 주소로 변환하고 해당 IP 주소에 대응되는 서버로 접속하는 역할을 한다.
제1 브라우저캐시(browser cache) 내지 제n 브라우저캐시(120-1, ..., 120-n)는 각각 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n)의 브라우저에 대응되는 컨텐츠 저장소이다. 즉, 각각의 브라우저가 컨텐츠서버(150) 또는 캐시서버(140)로부터 특정 컨텐츠를 수신하면, 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 대응되는 클라이언트의 브라우저캐시에 저장하여, 브라우저 창 등을 통해 디스플레이하는데 활용하게 된다.
사업자 네임서버(130)는 도메인 네임을 IP 주소로 변환시켜 주는 DNS(Domain Name Server)를 의미하며, 기호명(symbolic name)을 기계가 사용하는 숫자 주소로 변환하여 알려 주는 역할을 하는 네임서버의 일종이다. 사업자 네임서버(130)는 CDN 사업자가 CDN 서비스 제공을 위해 운용하는 네임서버로서 캐시서버(140)의 IP 어드레스 정보를 갖고 있다.
또한, 사업자 네임서버(130)는 컨텐츠에 대한 클라이언트 사용자의 접근권한 정보를 컨텐츠서버(150)로부터 수신하여 저장하고 있다. 접근권한 정보는, 예를 들어, 컨텐츠 각각에 대해 접근권한이 있는 사용자의 계정정보를 암호화한 형태의 정보가 될 수 있다.
캐시서버(cache server)(140)는 예를 들어, 복제서버(copy server) 또는 고스트서버(ghost server) 등으로 불리며, 컨텐츠서버(150)가 저장 및 관리하는 컨텐츠 데이터의 복사본을 저장하는 저장소이다. 캐시서버(140)는 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 어느 한 클라이언트로부터의 컨텐츠 요청이 있을 경우 신속하게 응답하는 역할을 한다.
컨텐츠서버(150)는 컨텐츠 제공자가 제공하는 웹페이지 및 객체(object) 등을 저장하고 있다가 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 어느 한 클라이언트로부터의 컨텐츠 요청이 있을 경우 응답하는 역할을 하는 서버이다. 즉, 컨텐츠서버(150)는 특정 클라이언트로부터 요청된 컨텐츠를 전송하는 역할을 하며, 컨텐츠서버(150)가 보유한 컨텐츠 중 일부를 캐시서버(140)로 전송하여 저장하도록 한다. 이를 통해, 캐시서버(140)에서 특정 클라이언트의 요청에 따른 컨텐츠를 신속하게 제공하는 것이 가능하게 된다.
네트워크(160)는 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n), 사업자 네임서버(130), 캐시서버(140), 및 컨텐츠서버(150) 간의 데이터 전송, 정보 교환을 위한 데이터 통신망을 의미한다.
제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 어느 한 클라이언트의 브라우저에 컨텐츠 요청을 위한 URL 등이 입력되면, 로컬 네임서버를 거쳐 사업자 네임서버(130)로 해당 컨텐츠를 전송할 저장소의 IP 어드레스를 요청하게 된다.
예를 들어, 특정 컨텐츠를 요청한 클라이언트가 제1 클라이언트(110-1)라면, 사업자 네임서버(130)는 제1 클라이언트(110-1)가 컨텐츠에 대한 접근권한이 있음을 확인한다. 이 경우, 사업자 네임서버(130)가 제1 클라이언트(110-1)로부터 사용자 계정정보를 수신하고, 이를 데이터베이스 등에 저장된 컨텐츠의 접근권한 정보와 비교하여 일치하는 경우에 접근권한이 있음을 확인할 수 있다.
이때, 사업자 네임서버(130)의 데이터베이스 등에 저장된 접근권한 정보가 암호화된 정보일 경우, 예를 들어, 각 사용자 계정에 대응되는 키(key) 등을 사용하여 복호화하고 제1 클라이언트(110-1)로부터 수신한 계정정보와 비교하여 접근권한의 확인이 이루어질 수 있을 것이다.
그리고 사업자 네임서버(130)는 제1 클라이언트(110-1)와 캐시서버(140) 간의 응답속도 및 제1 클라이언트(110-1)와 제2 브라우저캐시 내지 제n 브라우저캐시(120-2, ..., 120-n) 중 하나 이상의 브라우저캐시와의 응답속도를 고려하여, 해당 컨텐츠를 제1 클라이언트(110-1)로 전송할 저장소를 선택하고 선택된 저장소의 IP 어드레스를 제1 클라이언트(110-1)로 반환하게 된다.
이 경우, 사업자 네임서버(130)가 제1 클라이언트(110-1)로부터 IP 어드레스 요청을 수신하면, 각 저장소의 응답속도를 측정하여 저장소를 선택하고 해당 저장소의 IP 어드레스를 전송할 수 있다. 또한, 사업자 네임서버(130)에서 미리 응답속도를 측정하여 해당 정보를 저장하고 있다가, 제1 클라이언트(110-1)로부터의 IP 어드레스 요청을 수신하면, 저장된 응답속도 정보를 참조하여 저장소를 선택하고 해당 저장소의 IP 어드레스를 전송할 수도 있다.
사업자 네임서버(130)에서 미리 응답속도를 측정하는 경우에는, 예를 들어, 특정 측정시간을 설정하고 해당 설정된 시간에 응답속도를 측정하도록 할 수 있을 뿐 아니라, 응답속도의 측정 주기를 설정하고 이에 따라 응답속도를 측정하도록 할 수도 있다.
사업자 네임서버(130)가 제1 클라이언트(110-1)로부터의 IP 어드레스 요청에 대응하여 응답속도를 측정하고 컨텐츠를 전송할 저장소의 IP 어드레스를 반환하는 경우 또는 미리 측정한 응답속도 정보를 참조하여 IP 어드레스를 반환하는 경우에는 최적의 저장소를 선택하여 해당 저장소의 IP 어드레스를 반환하게 되며, 최적의 저장소 선정은, 예를 들어, 응답속도가 가장 빠른 저장소를 선택하는 방식으로 이루어질 수 있다.
또한 컨텐츠를 전송할 저장소의 IP 어드레스 반환은, 예를 들어, 사업자 네임서버(130)가 각 저장소의 네트워크 부하를 고려하여 상대적으로 부하가 적은 저장소의 IP 어드레스를 제1 클라이언트(110-1)로 반환하는 방식으로 이루어질 수도 있다.
본 발명의 일 실시예에서, 제1 클라이언트(110-1) 내의 제1 브라우저캐시(120-1)와, 다른 클라이언트에 속하는 제2 브라우저캐시 내지 제n 브라우저캐시(120-2, ..., 120-n)는, 동일한 브라우저캐시 그룹(group)에 속하도록 그룹핑(grouping) 된 브라우저캐시일 수 있다. 예를 들어, 동일한 그룹으로 그룹핑된 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n)는 지역적으로 서로 인접한 클라이언트 내의 브라우저캐시일 수 있으며, 이는 지역적으로 인접한 클라이언트 또는 브라우저캐시 간의 응답속도가 일반적으로 빠르기 때문이다.
이때, 각각의 그룹에 포함된 브라우저캐시가 서로 겹치지 않도록 그룹핑될 수 있으며, 일부의 브라우저캐시가 서로 다른 그룹에 속할 수 있도록 중첩적으로 그룹핑될 수도 있다.
본 발명의 일 실시예에 따른 사업자 네임서버(130)의 구성 및 동작에 대해서 는 도 2를 참조하여 좀 더 상세하게 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 도 1에 도시된 사업자 네임서버(130)의 구성도이다. 도 2를 참조하면, 본 실시예에 따른 사업자 네임서버(130)는 입출력부(210), 제어부(220), 브라우저캐시 정보 데이터베이스부(230) 및 접근권한 정보 데이터베이스부(230)를 포함하여 구성된다.
입출력부(210)는 네트워크(160)를 통하여 데이터를 송수신하기 위한 인터페이스를 갖는다.
브라우저캐시 정보 데이터베이스부(230)는 캐시서버(140)에 저장된 컨텐츠 정보 및 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 하나 이상의 브라우저캐시에 저장된 컨텐츠 정보를 보유한 저장소이다.
접근권한 정보 데이터베이스부(240)는 컨텐츠에 접근권한이 있는 계정정보를 보유한 저장소이다.
제어부(220)는 입출력부(210)를 통해 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 특정 클라이언트로부터 컨텐츠를 전송할 저장소의 IP 어드레스를 요청받으면, 특정 클라이언트로부터 사용자 계정정보 등을 수신하고 접근권한 정보 데이터베이스부(240)에 저장된 계정정보와 비교하여 특정 클라이언트가 컨텐츠에 대한 접근권한이 있음을 확인한다.
그리고, 제어부(220)는 브라우저캐시 정보 데이터베이스부(230)가 보유한 컨텐츠 정보를 참조하여 해당 컨텐츠를 보유한 저장소와 상기 특정 클라이언트 간의 응답속도를 측정하고, 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스를 상기 특정 클라이언트로 반환하는 역할을 한다.
본 발명의 다른 실시예에서, 브라우저캐시 정보 데이터베이스부(230)는 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 각각과 캐시서버(140) 간의 응답속도 및 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 각각과 다른 클라이언트에 속한 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 하나 이상의 브라우저캐시 간의 응답속도 정보를 보유하고 있다.
이때, 제어부(220)는 입출력부(210)를 통해, 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 특정 클라이언트로부터, 컨텐츠를 전송할 저장소의 IP 어드레스를 요청받으면, 브라우저캐시 정보 데이터베이스부(230)가 보유한 응답속도 정보를 참조하여 해당 컨텐츠를 전송할 저장소의 IP 어드레스를 상기 클라이언트로 반환하게 된다. 반환되는 IP 어드레스가 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스 일 수 있음은 상기한 바와 같다.
본 발명의 일 실시예에 따른 접근권한 정보 데이터베이스부(240)가 보유한 정보에 대해서는 도 3을 참조하여 좀 더 상세하게 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 도 2의 접근권한 정보 데이터베이스부(240)에 저장된 접근권한 정보테이블(300)의 예시도이다. 도 3을 참조하면, 접근권한 정보테이블(300)은 컨텐츠정보, 접근권한이 있는 계정정보, 패스워드 정보 항목을 포함한다.
컨텐츠정보 항목은 캐시서버(140) 또는 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 하나 이상의 저장소에 저장된 컨텐츠를 나타내는 필드이다.
접근권한이 있는 계정정보 항목은 각 컨텐츠에 접근권한이 있는 사용자 계정의 계정정보를 포함한 필드이다.
패스워드(password) 정보 항목은 각 계정에 대응되는 패스워드 정보를 포함한 필드이다.
컨텐츠정보 항목을 참조하면, 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 하나 이상의 저장소에 'image1.gif'의 컨텐츠가 저장되어 있음을 알 수 있다. 또한, 같은 행(row)을 참조하면, 'image1.gif'의 컨텐츠에 접근권한이 있는 계정은 'user1', 'user2', ... 등이고, 'user1' 계정의 패스워드는 '1111', 'user2' 계정의 패스워드는 '2222'임을 알 수 있다.
마찬가지로, 'image2.gif' 컨텐츠에 접근권한이 있는 계정은 'user1', 'user3', ... 등이고, 'user3' 계정의 패스워드는 '3333'이며, 'image3.gif' 컨텐츠에 접근권한이 있는 계정은 'user1', 'user2', 'user3', ... 등임을 알 수 있다.
예를 들어, 특정 클라이언트가 사업자 네임서버(130)로 'image3.gif'의 컨텐츠를 보유한 저장소의 IP 어드레스를 요청하는 경우, 해당 클라이언트로 하여금 사용자 계정정보 및 패스워드를 전송하도록 하여 수신한다. 이때, 수신한 계정정보가 'user1'이고 패스워드가 '1111'이라면, 이를 접근권한 정보테이블(300)의 'image3.gif'의 컨텐츠에 대응되는 계정정보 및 패스워드 정보와 비교하여, 'user1'의 사용자가 이용하는 특정 클라이언트에 'image3.gif'에 접근할 권한이 있음을 확인하게 된다.
만일, 접근권한 정보테이블(300)에 저장된 계정정보 및 패스워드 정보가 각 사용자 계정에 대응되는 고유의 키 값으로 암호화 되었다면, 이를 해당 키로 복호화하여 특정 클라이언트가 전송한 계정정보 및 패스워드와 비교하여 접근권한을 확인할 수 있을 것이다.
본 발명의 일 실시예에 따른 브라우저캐시 정보 데이터베이스부(230)가 보유한 정보에 대해서는 도 4 및 도 5를 참조하여 좀 더 상세하게 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 도 2의 브라우저캐시 정보 데이터베이스부(230)에 저장된 브라우저캐시 그룹테이블(410) 및 링크 정보테이블(420)의 예시도이다.
도 4에서 브라우저캐시 그룹테이블(410)을 참조하면, 클라이언트 IP 어드레스와 브라우저캐시 그룹 항목으로 이루어져 있다. 또한, 링크 정보테이블(420)은 브라우저캐시 그룹, 클라이언트 IP 어드레스 및 저장 컨텐츠 항목으로 이루어져 있다.
브라우저캐시 그룹테이블(410)에서 클라이언트 IP 어드레스 항목은 각각의 클라이언트에 대응되는 IP 어드레스 정보를 포함한 필드이다. 그리고 브라우저캐시 그룹 항목은 각각의 클라이언트 IP 어드레스에 대응되는 브라우저캐시가 속한 브라우저캐시 그룹의 정보를 포함한 필드이다.
링크 정보테이블(420)에서 브라우저캐시 그룹 항목은, 브라우저캐시 그룹테이블(410)의 각 브라우저캐시 그룹 항목과 링크된(linked) 정보 필드이며, 정보의 링크는, 예를 들어, 연결 리스트(linked list) 형태로 이루어질 수 있다. 클라이언트 IP 어드레스 항목은 각 브라우저캐시 그룹에 속하는 클라이언트의 IP 어드레스 정보를 포함한 필드이다. 저장 컨텐츠 항목은 각 클라이언트의 브라우저캐시에 저장된 컨텐츠의 정보를 나타내는 필드이다.
브라우저캐시 그룹테이블(410)을 참조하면, IP 어드레스가 '111.111.111.110'인 클라이언트의 브라우저캐시는 제1그룹에 속하는 것을 알 수 있다. 그리고 제1그룹 항목에 링크된 링크 정보테이블(420)의 항목에는 제1그룹에 속하는 클라이언트 브라우저캐시의 IP 어드레스가 '111.111.111.110', '111.111.111.111', '111.111.111.112', ... 등임을 알 수 있다.
이때, IP 어드레스가 '111.111.111.110'인 클라이언트의 브라우저캐시에 저장된 컨텐츠는 'image1.gif' 및 'image2.gif' 이며, 마찬가지로, IP 어드레스가 '111.111.111.111'인 클라이언트의 브라우저캐시에는 'image1.gif' 및 'image3.gif'의 컨텐츠가 저장되어 있고, IP 어드레스가 '111.111.111.112'인 클라이언트의 브라우저캐시에는 'image2.gif' 및 'image3.gif'의 컨텐츠가 저장되어 있음을 알 수 있다.
IP 어드레스가 '111.111.111.110'인 클라이언트가 사업자 네임서버(130)로 'image3.gif'의 컨텐츠를 전송할 저장소의 IP 어드레스를 요청하면, 이를 수신한 사업자 네임서버(130)는 해당 컨텐츠를 저장한 캐시서버(140)와 IP 어드레스가 '111.111.111.110'인 클라이언트 간의 응답속도, 및 IP 어드레스가 '111.111.111.111', '111.111.111.112'인 클라이언트 브라우저캐시 각각과 IP 어드레스가 '111.111.111.110'인 클라이언트 간의 응답속도를 각각 측정한다. 그리고 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스를, IP 어드레스가 '111.111.111.110'인 클라이언트로 반환하게 된다.
도 5는 본 발명의 일 실시예에 따른 도 2의 브라우저캐시 정보 데이터베이스부(230)에 저장된 응답속도 정보테이블(500)의 예시도이다. 본 실시예에서, 사업자 네임서버(130)의 브라우저캐시 정보 데이터베이스부(230)는 도 4에 도시된 브라우저캐시 그룹테이블(410) 및 링크된 정보테이블(420) 뿐만 아니라, 응답속도 정보테이블(500)을 더 포함하고 있어, 사업자 네임서버(130)의 제어부(220)가 특정 컨텐츠를 전송할 저장소를 선택하고 해당 저장소의 IP 어드레스를 클라이언트로 반환하는데 활용할 수 있도록 한다.
도 5를 참조하면, 응답속도 정보 테이블(500)은 클라이언트 IP 어드레스, 다른 클라이언트의 IP 어드레스 및 응답속도 항목을 포함한다.
클라이언트 IP 어드레스 항목은 컨텐츠를 요청하는 클라이언트의 IP 어드레스 정보를 포함한 필드이다.
다른 클라이언트의 IP 어드레스 항목은 특정 클라이언트의 브라우저캐시와 같은 브라우저캐시 그룹에 속하는, 다른 클라이언트의 브라우저캐시에 대응되는 IP 어드레스 정보를 포함한 필드이다.
응답속도 항목은 각 클라이언트와 다른 클라이언트에 속한 브라우저캐시 간의 응답속도 정보를 포함한 필드이다.
응답속도 정보 테이블(500)에서, IP 어드레스 '111.111.111.110'의 클라이언트 브라우저캐시와 같은 브라우저캐시 그룹에 속하는, 다른 클라이언트 브라우저캐시의 IP 어드레스는 '111.111.111.111', '111.111.111.112', ... 등임을 알 수 있다. 그리고 IP 어드레스 '111.111.111.110'의 클라이언트와 IP 어드레스 '111.111.111.111'에 대응되는 클라이언트 브라우저캐시 간의 응답속도가 '1 ms' 이고, IP 어드레스 '111.111.111.110'의 클라이언트와 IP 어드레스 '111.111.111.111'에 대응되는 클라이언트 브라우저캐시 간의 응답속도가 '2 ms' 임을 알 수 있다.
예를 들어, 사업자 네임서버(130)가 IP 어드레스 '111.111.111.110'의 클라이언트로부터 특정 컨텐츠를 저장한 저장소의 IP 어드레스를 요청받았고, 해당 컨텐츠를 저장한 브라우저캐시의 IP 어드레스가 '111.111.111.111' 및 '111.111.111.112' 이며, 해당 컨텐츠를 저장한 캐시서버가 존재하지 않거나 해당 컨텐츠를 저장한 캐시서버(140)와 IP 어드레스 '111.111.111.110'의 클라이언트 간의 응답속도가 '3 ms'인 경우를 가정하면, 사업자 네임서버(130)는 상대적으로 응답속도가 더 빠른 저장소에 대응되는 클라이언트의 IP 어드레스 '111.111.111.111'를, IP 어드레스 '111.111.111.110'의 클라이언트로 반환하게 된다.
본 발명의 일 실시예에 따른 컨텐츠 제공과정에 대해서는 도 6를 참조하여 좀 더 상세하게 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 전송방법의 흐름도이다. 도 1 및 도 6을 참조하면, 먼저 컨텐츠서버(150)에서 캐시서버(140)로 특정 컨텐츠를 전송하여 저장하도록 한다(S610). 또한 컨텐츠서버(150)는 제2 브라우저캐시(120-2)를 포함하여 하나 이상의 브라우저캐시로 해당 컨텐츠를 전송하여 저장하도록 한다(S620).
그리고 컨텐츠서버(150)는 각 컨텐츠에 접근권한이 있는 사용자 계정정보 및 대응되는 패스워드 정보를 사업자 네임서버(130)로 전송하여 저장하도록 하며(S630), 전송되는 계정정보 및 패스워드 정보가 각 사용자 계정에 대응되는 고유의 키 값으로 암호화되어 전송될 수 있음은 상기한 바와 같다. 이때, 단계(S610), 단계(S620) 및 단계(S630) 중 하나 이상의 단계는 순서를 바꾸어 이루어질 수도 있다.
단계(S620)에서 컨텐츠를 수신하여 저장하는 브라우저캐시는, 예를 들어, 복수의 브라우저캐시로 그룹핑된 브라우저캐시일 수 있으며, 그룹핑은 지역적으로 인접한 복수의 브라우저캐시를 하나의 그룹으로 그룹핑하는 방식으로 이루어질 수 있다.
단계(S610) 및 단계(S620)에서의 컨텐츠 전송과 저장은, 컨텐츠서버(150)가 특정 클라이언트로부터의 컨텐츠 요청에 응답하여 전송하는 컨텐츠를 저장하는 방식으로 이루어질 수 있다.
또한, 단계(S610) 및 단계(S620)에서의 컨텐츠 전송과 저장은, 컨텐츠서버(150)에 저장된 컨텐츠 중 다른 컨텐츠에 비해 상대적으로 요청 빈도가 높은 컨텐츠 또는 클라이언트로부터의 요청이 예상되는 컨텐츠를, 특정 클라이언트로부터의 요청이 있기 전에 미리 전송하여 저장하도록 하는 방식으로 이루어질 수도 있다.
이후, 제1 클라이언트(110-1)는 단계(S610) 및 단계(S620)에서 컨텐츠를 저장한 저장소 중 제1 클라이언트(110-1)로 해당 컨텐츠를 전송할 저장소의 IP 어드레스를 사업자 네임서버(130)로 요청한다(S640).
단계(S640)에서 IP 어드레스 요청을 받은 사업자 네임서버(130)는, 제1 클라이언트(110-1)로부터 사용자 계정정보 및 패스워드 등을 수신하고 데이터베이스 등에 저장된 계정정보 및 패스워드 정보와 비교하여 특정 클라이언트가 컨텐츠에 대한 접근권한이 있음을 확인한다. 그리고 사업자 네임서버(130)는 제1 클라이언트(110-1)와 캐시서버(140) 간의 응답속도 및 제1 클라이언트와 해당 컨텐츠를 저장한 하나 이상의 브라우저캐시 간의 응답속도를 고려한다(S650).
단계(S650)에서의 응답속도 고려는, 예를 들어, IP 어드레스 요청을 받은 후 응답속도를 측정하여 고려하는 방식으로 이루어질 수 있으며, 또는, 사업자 네임서버(130)에서 기설정된 방식으로 측정하여 미리 저장한 응답속도 정보를 참조하여 응답속도를 고려하는 방식으로 이루어질 수도 있다.
이때, 응답속도의 측정은, 예를 들어, 사업자 네임서버(130)가 제1 클라이언트(110-1)로 캐시서버(140)의 IP 어드레스 또는 각 브라우저캐시에 대응되는 클라 이언트의 IP 어드레스 정보를 전송하고, 제1 클라이언트(110-1)가 해당 저장소 각각으로 응답속도를 계산하기 위한 메시지를 전송하여 응답을 받도록 한 후, 소요된 RTT(Round Trip Time) 정보를 사업자 네임서버(130)가 수신하는 방식으로 이루어질 수 있을 것이다.
이후, 사업자 네임서버(130)는 최적의 저장소로 선택된 제2 브라우저캐시(120-2)가 속하는 클라이언트의 IP 어드레스를 제1 클라이언트로 반환한다(S660).
단계(S660)에서는, 예를 들어, 단계(S650)에서 고려한 응답속도 중 제일 빠른 응답속도를 갖는 제2 브라우저캐시(120-2) 클라이언트의 IP 어드레스 정보를 제1 클라이언트(110-1)로 반환할 수 있다. 이때, 제1 클라이언트(110-1)의 브라우저캐시(120-1)와 제2 브라우저캐시(120-2)는 같은 브라우저캐시 그룹에 속하는 브라우저캐시일 수 있다.
단계(S660)에서 제2 브라우저캐시(120-2)에 대응되는 IP 어드레스를 반환받은 제1 클라이언트(110-1)는, 해당 IP 어드레스로 접속하여 컨텐츠를 요청하고(S670), 제2 브라우저캐시(120-2)로부터 해당 컨텐츠를 전송받게 된다(S680). 단계(S680)에서의 컨텐츠 전송은, 예를 들어, 피어 투 피어(P2P: Peer to Peer) 방식으로 이루어질 수 있다.
본 발명에 의하면, 본 발명에 의하면, 컨텐츠 제공자 측의 인증서버 등을 거치지 않고 CDN 사업자의 네임서버에서 직접 클라이언트의 컨텐츠 접근권한을 확인 할 수 있어, 인증에 소요되는 시간을 줄일 수 있고 권한있는 사용자만이 컨텐츠에 접근하도록 할 수 있다. 또한 클라이언트로부터 요청된 컨텐츠를 저장한 캐시서버와 브라우저캐시의 응답속도를 고려하여 네트워크 상태가 좋거나 더 빠른 응답속도를 갖는 최적의 저장소에서 해당 컨텐츠를 전송할 수 있게 된다. 이를 통해, CDN 서비스 제공을 위해 캐시서버를 증설하고 운용하지 않아도, 클라이언트로부터의 컨텐츠 요청에 신속히 응답할 수 있게 되어, 캐시서버 및 컨텐츠서버로 몰리게 되는 컨텐츠 요청을 분산할 수 있으며, CDN 서비스 사업자 및 사용자의 편의를 증진할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전송시스템의 구성도이다.
도 2는 도 1에 도시된 사업자 네임서버의 구성도이다.
도 3은 도 2의 접근권한 정보 데이터베이스부에 저장된 접근권한 정보테이블의 예시도이다.
도 4는 도 2의 브라우저캐시 정보 데이터베이스부에 저장된 브라우저캐시 그룹테이블 및 링크 정보테이블의 예시도이다.
도 5는 도 4의 브라우저캐시 정보 데이터베이스부에 저장된 응답속도 정보테이블의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 전송방법의 흐름도이다.

Claims (22)

  1. 컨텐츠서버가 데이터 저장소인 캐시서버 및 하나 이상의 브라우저캐시에 컨텐츠를 전송하여 저장하고, 사업자 네임서버에 상기 컨텐츠에 대한 접근권한정보를 전송하여 저장하는 단계;
    클라이언트가 상기 컨텐츠가 저장된 저장소의 IP(Internet Protocol) 어드레스를 상기 사업자 네임서버로 요청하는 단계; 및
    상기 사업자 네임서버가 상기 저장된 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후,
    상기 캐시서버 및 브라우저캐시 그룹 중 적어도 하나의 브라우저 캐시와 상기 클라이언트 간의 응답속도를 고려하여, 상기 컨텐츠 전송을 요청한 클라이언트에게 전송할 컨텐츠가 저장된 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 단계-상기 브라우저캐시 그룹은, 상기 컨텐츠 전송을 요청한 클라이언트의 브라우저캐시와 지역적으로 인접한 클라이언트의 브라우저캐시를 그룹핑하여 형성됨-; 를 포함하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  2. 제1항에 있어서, 상기 저장단계에서
    상기 접근권한 정보는 상기 컨텐츠에 대한 접근권한이 있는 계정정보를 암호화한 정보를 포함하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  3. 제1항에 있어서, 상기 저장단계는
    상기 컨텐츠서버가 특정 클라이언트로부터의 컨텐츠 요청에 응답하여 전송하는 상기 컨텐츠를 저장하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  4. 제1항에 있어서, 상기 저장단계는
    상기 컨텐츠서버에 저장된 컨텐츠 중 기 설정된 수 이상 요청되는 컨텐츠를 미리 전송하여 저장하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  5. 제1항에 있어서, 상기 저장단계는
    상기 클라이언트로부터 요청이 예상되는 상기 컨텐츠를 미리 전송하여 저장하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  6. 제1항에 있어서, 상기 반환단계는
    상기 컨텐츠 전송을 요청한 클라이언트로부터 사용자 계정정보를 수신하고 상기 저장된 접근권한정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  7. 제2항에 있어서, 상기 반환단계는
    상기 컨텐츠 전송을 요청한 클라이언트로부터 사용자 계정정보를 수신하고 상기 저장된 접근권한정보를 상기 계정에 대응되는 키(key)로 복호화한 정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  8. 삭제
  9. 삭제
  10. 제1항에있어서, 상기 반환단계에서
    상기 브라우저캐시 그룹은 다른 브라우저캐시 그룹과 중첩적으로 브라우저캐시를 포함하도록 그룹핑한 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  11. 제1항에 있어서, 상기 반환단계는
    상기 요청단계에서 IP 어드레스 요청을 받으면 상기 응답속도를 측정하여 상기 IP 어드레스를 반환하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  12. 제1항에 있어서, 상기 반환단계는
    상기 응답속도를 미리 측정하여 상기 요청단계에서 IP 어드레스 요청을 받으면 상기 IP 어드레스를 반환하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  13. 제11항 또는 제12항에 있어서, 상기 반환단계는
    네트워크의 부하를 함께 고려하여 상기 저장소의 IP 어드레스를 반환하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  14. 제12항에 있어서, 상기 반환단계는
    기설정된 측정 시간에 상기 응답속도를 측정하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  15. 제12항에 있어서, 상기 반환단계는
    기설정된 측정 주기에 따라 상기 응답속도를 측정하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  16. 제1항에 있어서, 상기 반환단계는
    상기 응답속도 중 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스를 반환하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송방법.
  17. 컨텐츠서버로부터 컨텐츠를 전송받아 저장하고 클라이언트로부터 상기 컨텐츠에 대한 요청이 있는 경우 상기 컨텐츠를 상기 클라이언트로 전송하는 캐시서버; 및
    상기 컨텐츠서버로부터 상기 컨텐츠에 대한 접근권한 정보를 전송받아 저장하고 상기 클라이언트로부터 상기 컨텐츠가 저장된 저장소의 IP 어드레스를 요청받으면 상기 저장된 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후,
    상기 캐시서버 및 브라우저캐시 그룹 중 적어도 하나의 브라우저 캐시와 상기 클라이언트 간의 응답속도를 고려하여 상기 컨텐츠 전송을 요청한 클라이언트에게 전송할 컨텐츠가 저장된 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 사업자 네임서버-상기 브라우저캐시 그룹은 상기 컨텐츠 전송을 요청한 클라이언트의 브라우저캐시와 지역적으로 인접한 클라이언트의 브라우저 캐시를 그룹핑하여 형성됨-; 를 포함하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템.
  18. 제17항에 있어서, 상기 사업자 네임서버에서
    상기 접근권한 정보는 상기 컨텐츠에 대한 접근권한이 있는 계정정보를 암호화한 정보를 포함하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템.
  19. 제17항에 있어서, 상기 사업자 네임서버는
    상기 컨텐츠 전송을 요청한 클라이언트로부터 사용자계정정보를 수신하고 상기 저장된 접근권한정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠전송시스템.
  20. 제18항에 있어서, 상기 사업자 네임서버는
    상기 컨텐츠전송을 요청한 클라이언트로부터 사용자계정정보를 수신하고 상기 저장된 접근권한정보를 상기 계정에 대응되는 키(key)로 복호화한 정보와 비교하여 상기 접근권한이 있음을 확인하는 것을 특징으로 하는 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템.
  21. 데이터 송수신을 위한 입출력부;
    클라이언트와 컨텐츠를 저장한 캐시서버 간의 응답속도 및
    상기 클라이언트와 브라우저캐시그룹 중 적어도 하나의 브라우저캐시 간의 응답속도정보를 보유한 브라우저캐시정보 데이터베이스부-상기 브라우저캐시 그룹은 상기 클라이언트의 브라우저캐시와 지역적으로 인접한 클라이언트의 브라우저 캐시를 그룹핑하여 형성됨-;
    상기 컨텐츠로의 접근권한 정보를 저장한 접근권한 정보 데이터베이스부; 및
    상기 입출력부를 통해 클라이언트로부터 상기 컨텐츠가 저장된 저장소의 IP 어드레스를 요청받으면 상기 접근권한 정보 데이터베이스부에 저장된 상기 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후, 상기 브라우저캐시 정보 데이터베이스부가 보유한 상기 응답속도 정보를 고려하여 상기 컨텐츠 전송을 요청한 클라이언트에게 전송할 컨텐츠가 저장된 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 제어부; 를 포함하는 사업자 네임서버.
  22. 데이터 송수신을 위한 입출력부;
    캐시서버 및 지역적으로 인접한 클라이언트의 브라우저캐시를 그룹핑하여 형성된 브라우저캐시그룹 중 적어도 하나의 브라우저캐시에 저장된 컨텐츠 정보를 보유한 브라우저캐시정보 데이터베이스부;
    상기 컨텐츠로의 접근권한 정보를 저장한 접근권한 정보 데이터베이스부; 및
    상기 입출력부를 통해 클라이언트로부터 상기 컨텐츠가 저장된 저장소의 IP 어드레스를 요청받으면 상기 접근권한 정보 데이터베이스부에 저장된 상기 접근권한 정보를 참조하여 상기 클라이언트가 상기 컨텐츠에 대한 접근권한이 있음을 확인한 후, 상기 브라우저캐시 정보 데이터베이스부가 보유한 상기 컨텐츠 정보를 참조하여 상기 컨텐츠 전송을 요청한 클라이언트에 전송할 컨텐츠가 저장된 저장소와 상기 클라이언트 간의 응답속도를 측정하고 가장 빠른 응답속도를 갖는 저장소의 IP 어드레스를 상기 클라이언트로 반환하는 제어부; 를 포함하는 사업자 네임서버.
KR1020080102390A 2008-10-20 2008-10-20 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법 KR101091981B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080102390A KR101091981B1 (ko) 2008-10-20 2008-10-20 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080102390A KR101091981B1 (ko) 2008-10-20 2008-10-20 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100050597A KR20100050597A (ko) 2010-05-14
KR101091981B1 true KR101091981B1 (ko) 2011-12-08

Family

ID=42276558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080102390A KR101091981B1 (ko) 2008-10-20 2008-10-20 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101091981B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101432990B1 (ko) 2012-12-12 2014-08-22 에스케이플래닛 주식회사 사용자의 입력에 즉각적인 결과를 제공할 수 있는 서비스 제공 방법, 이를 위한 시스템 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330052B1 (ko) 2012-06-01 2013-11-15 에스케이텔레콤 주식회사 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101432990B1 (ko) 2012-12-12 2014-08-22 에스케이플래닛 주식회사 사용자의 입력에 즉각적인 결과를 제공할 수 있는 서비스 제공 방법, 이를 위한 시스템 및 장치

Also Published As

Publication number Publication date
KR20100050597A (ko) 2010-05-14

Similar Documents

Publication Publication Date Title
US9800539B2 (en) Request routing management based on network components
US7743132B2 (en) Secure content delivery system
US8527635B2 (en) Contents delivery system and method, web server and contents provider DNS server thereof
EP2294515B1 (en) Request routing using network computing components
EP3156911B1 (en) Content management
US8397073B1 (en) Managing secure content in a content delivery network
US11704421B2 (en) Domain name obfuscation and metadata storage via encryption
US20100121914A1 (en) Contents delivery system and method based on content delivery network provider and replication server thereof
WO2009002597A2 (en) Apparatus, system, and method for resilient content acquisition
EP3103037B1 (en) Security information management for content delivery
CN106131165B (zh) 用于内容分发网络的防盗链方法和装置
US11841910B2 (en) Token-based authentication for a proxy web scraping service
Alimi et al. A survey of in-network storage systems
KR101091981B1 (ko) 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법
US11184318B2 (en) 302 redirecting method, URL generating method and system, and domain-name resolving method and system
KR101104727B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
KR101066871B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
KR101091982B1 (ko) 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법 및 그 캐시서버
KR20100050594A (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
US9288153B2 (en) Processing encoded content
CN114244607B (zh) 单点登录方法、系统、设备、介质和程序
KR101135032B1 (ko) 캐시서버 및 셋탑박스 데이터 저장소를 이용한 컨텐츠 전송시스템 및 방법
CN104079618A (zh) 通过浏览器进行远程资源共享和访问的方法及装置
KR20180067936A (ko) 캐시서버 및 브라우저캐시를 이용한 워드프레스 콘텐츠 전송시스템
Yang Internet Engineering Task Force (IETF) R. Alimi, Ed. Request for Comments: 6392 Google Category: Informational A. Rahman, Ed.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191121

Year of fee payment: 9