KR101959970B1 - 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치 - Google Patents

컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치 Download PDF

Info

Publication number
KR101959970B1
KR101959970B1 KR1020120098212A KR20120098212A KR101959970B1 KR 101959970 B1 KR101959970 B1 KR 101959970B1 KR 1020120098212 A KR1020120098212 A KR 1020120098212A KR 20120098212 A KR20120098212 A KR 20120098212A KR 101959970 B1 KR101959970 B1 KR 101959970B1
Authority
KR
South Korea
Prior art keywords
content
cache
master
message
slave
Prior art date
Application number
KR1020120098212A
Other languages
English (en)
Other versions
KR20140032064A (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 KR1020120098212A priority Critical patent/KR101959970B1/ko
Publication of KR20140032064A publication Critical patent/KR20140032064A/ko
Application granted granted Critical
Publication of KR101959970B1 publication Critical patent/KR101959970B1/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치에 관한 것으로서, 네트워크에 분산 배치된 다수의 캐시 장치를 다수의 그룹으로 그룹화하고, 각 그룹별로, 마스터 캐시 장치와 상기 마스터 캐시 장치의 하위 노드인 슬레이브 캐시 장치를 설정한 후, 다수의 마스터 캐시 장치를 계층적으로 구분하여 트리 구조로 연결한 상태에서, 단말 장치의 컨텐츠 요청 메시지 및 이에 대응하는 컨텐츠 응답 메시지가 트리구조로 연결된 하나 이상의 마스터 캐시 장치를 통해서 컨텐츠 제공 서버 및 단말 장치로 전송되도록 하면서, 상기 컨텐츠 응답 메시지를 수신한 마스터 캐시 장치는, 컨텐츠 응답 메시지로부터 추출된 컨텐츠를 캐싱할 캐시 장치를 나타내는 컨텐츠 위치 정보를 저장하고, 컨텐츠 요청 메시지의 수신 시, 요청된 컨텐츠에 대한 캐시 히트 여부 및 컨텐츠 위치 정보의 저장 여부를 판단하여, 캐시 히트인 경우, 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 단말 장치로 전송하여, 상기 단말 장치가 다른 캐시 장치로부터 컨텐츠를 제공받도록 구현된다.

Description

컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치{Contents delivery service method using contents sharing, and cache apparatus therefor}
본 발명은 네트워크에서의 컨텐츠 중복 전송을 방지하여 트래픽을 감소시키기 위한 컨텐츠 전송 서비스에 관한 것으로서, 더욱 상세하게는 캐싱된 컨텐츠를 캐시 장치 간에 공유하도록 함으로써, 제한된 저장 용량을 효율적으로 이용하여 컨텐츠 전송 서비스를 제공할 수 있는 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치에 관한 것이다.
최근, 성능이 향상된 스마트 폰의 보급과, 이를 기반으로 한 컨텐츠 제공자의 급증으로 인하여, 이동통신망의 트래픽은 점점 증가하고 있는 추세이며, 그에 따라서, 웹(Web) 다운로드, 비디오(Video), 오디오(Audio), 영상(Image), 어플리케이션(Application) 등과 같은 컨텐츠의 전송 속도 저하로 인한 서비스 품질 문제가 이슈가 되고 있다.
특히, 컨텐츠 전송 기술의 발달하고 사용자의 고품질 서비스 요구도 높아짐에 따라서, VOD(Video On Demand), Live Streaming과 같은 온라인 동영상 서비스나 음악 스트리밍, 파일 업로드 및 파일 다운로드 등에 있어서, 대용량 컨텐츠 전송이 빈번해 지고 있다.
그런데 이러한 컨텐츠 제공 서비스들은, 통상적으로 중복적인 컨텐츠를 동일 도메인 또는 동일 무선 커버리지 내의 사용자에게 전달하는 특징이 있으며, 이용 증가에 따라서 네트워크 트래픽에서 차지하는 비중이 점차적으로 증가하고 있는 상황이다.
이와 같이, 대용량 컨텐츠 전송에 의해 통신망의 트래픽이 급속하게 증가하고 있는 상황에서 중복된 컨텐츠의 전송은 통신망의 트래픽 부하를 더욱 증가시키므로 이러한 중복 전송의 방지를 통해 트래픽 감소를 위한 노력이 요구된다.
이에 네트워크에서의 트래픽을 감소시키면서, 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 컨텐츠를 사용자에게 안정적으로 전달하기 위하여 CDN(Contents Delivery network) 기술이 제안되었으며, 이는 통상 네트워크상에 분산 배치된 다수의 캐시 장치에 컨텐츠를 저장하여 두고, GLB(Global Load Balance) 서버와 같은 부하 분산 장치를 통해서 다수의 캐시 서버 중에서 최적의 캐시 서버를 선택하여, 선택된 캐시 서버를 통해 요청된 컨텐츠를 사용자의 단말로 전달하도록 구현된다.
아울러, 최근에는 캐시 서버가 컨텐츠 제공 서버에서 단말 장치로 전송되는 컨텐츠를 기 설정된 캐싱 정책에 따라서 수집하여 저장하고, 해당 컨텐츠에 대한 요청이 발생한 경우, 상기 컨텐츠 제공 서버를 대신하여 해당 컨텐츠를 단말 장치로 전송하는 Transparent CDN 기술도 사용되고 있다.
이와 같이, 다수의 캐시 서버를 통해서 트래픽을 감소시키는 CDN의 구현에 있어서, 캐시 서버의 저장 용량이 클수록 더 많은 컨텐츠를 저장하여 캐시 히트율을 높이고 이를 통해 전송 서비스 품질을 향상시킬 수 있으나, 그에 비례하여 구축 비용이 증가하기 때문에, 캐시 서버의 저장 용량을 무조건 크게 할 수는 없다.
따라서, 다수의 캐시 서버를 활용하여 보다 효율적으로 컨텐츠를 캐싱하고, 캐싱된 컨텐츠를 단말 장치로 제공하기 위한 방안이 요구된다.
이에 본 발명은 컨텐츠 전송 서비스에 있어서 저장 공간을 효율적으로 이용할 수 있도록 하기 위한 것으로서, 특히 캐시 장치간에 캐싱된 컨텐츠를 공유하여 제한된 용량의 저장 공간을 보다 효율적으로 이용할 수 있는 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치를 제공하고자 한다.
본 발명은 상술한 과제를 해결하기 위한 수단으로서, 마스터 캐시 장치가, 하나 이상의 슬레이브 캐시 장치, 상위 레벨 마스터 캐시 장치, 하위 레벨 마스터 캐시 장치 중에서 하나 이상의 정보를 저장하는 단계; 상기 하나 이상의 슬레이브 캐시 장치 및 하위 레벨 마스터 캐시 장치 중 어느 하나인 하위 노드로부터 컨텐츠 요청 메시지를 수신하는 단계; 요청된 컨텐츠에 대한 캐시 히트 여부를 판단하는 단계; 캐시 히트가 아니면, 상기 컨텐츠 요청 메시지를 상위 레벨 마스터 캐시 장치로 전송하는 단계; 캐시 히트이면, 상기 컨텐츠 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 상기 하위 노드로 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법을 제공한다.
상기 컨텐츠 전송 서비스 방법은, 상기 마스터 캐시 장치가 컨텐츠 제공 서버 혹은 상위 레벨 마스터 캐시 장치로부터 컨텐츠 응답 메시지를 수신하는 단계; 상기 컨텐츠 응답 메시지로부터 컨텐츠가 캐싱될 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 저장하는 단계; 및 상기 컨텐츠 응답 메시지를 상기 하위 노드로 전송하는 단계를 더 포함할 수 있다.
상기 컨텐츠 전송 서비스 방법은, 또한, 상기 마스터 캐시 장치가 상위 레벨 마스터 캐시 장치로부터 리다이렉션 메시지를 수신하는 단계; 상기 리다이렉션 메시지로부터 컨텐츠가 캐싱된 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 저장하는 단계; 상기 리다이렉션 메시지를 상기 하위 노드 또는 해당 단말 장치로 전송하는 단계를 더 포함할 수 있다.
상기 컨텐츠 전송 서비스 방법은, 또한, 캐시 히트가 아닌 경우, 상기 마스터 캐시 장치가 상위 레벨 마스터 캐시 장치가 존재하는 지를 확인하는 단계; 및 상위 레벨 마스터 캐시 장치가 존재하지 않으면, 상기 마스터 캐시 장치가 컨텐츠 제공 서버로 상기 컨텐츠 요청 메시지를 전송하는 단계를 더 포함할 수 있다.
상기 컨텐츠 전송 서비스 방법은, 캐시 히트가 아니면, 상기 마스터 캐시 장치가 요청된 컨텐츠에 대한 컨텐츠 위치 정보가 존재하는 지를 확인하는 단계; 컨텐츠 위치 정보가 존재하면, 상기 마스터 캐시 장치가 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 생성하여 상기 하위 노드 또는 상기 단말 장치로 전송하는 단계를 더 포함할 수 있다.
또한, 상기 컨텐츠 전송 서비스 방법, 상기 리다이렉션 메시지를 하위 노드 또는 단말 장치로 전송하기 전에, 상기 컨텐츠 위치 정보에 대응하는 컨텐츠의 요청 횟수를 확인하는 단계; 상기 요청 횟수가 기준값 이상이면, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠를 요청하는 단계; 상기 요청에 대응하여 상기 캐시 장치로부터 전송된 컨텐츠 응답 메시지를 수신하고 이로부터 컨텐츠를 추출하여 캐싱하는 단계; 및 상기 수신한 컨텐츠 응답 메시지를 상기 하위 노드 또는 상기 단말 장치로 전송하는 단계를 더 포함할 수 있다.
아울러, 본 발명은 상술한 과제의 해결 수단으로서, 슬레이브 캐시 장치가, 마스터 캐시 장치의 설정 정보를 저장하는 단계; 단말 장치의 컨텐츠 요청 메시지를 수신하는 단계; 요청된 컨텐츠의 캐시 히트 여부를 판단하는 단계; 캐시 히트이면, 캐싱된 컨텐츠를 추출하여 컨텐츠 응답 메시지를 생성하고, 생성한 컨텐츠 응답 메시지를 상기 단말 장치로 전송하는 단계; 및 캐시 히트가 아니면, 상기 컨텐츠 요청 메시지를 상기 마스터 캐시 장치를 통해 컨텐츠 제공 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법을 제공할 수 있다.
상기 컨텐츠 전송 서비스 방법은, 상기 슬레이브 캐시 장치가, 상기 마스터 장치를 통해 상기 요청된 컨텐츠에 대한 컨텐츠 응답 메시지를 수신하는 단계; 상기 컨텐츠 응답 메시지로부터 컨텐츠를 추출하여 캐싱하는 단계; 상기 컨텐츠 응답 메시지를 상기 단말 장치로 전송하는 단계를 더 포함하고, 아울러, 상기 슬레이브 캐시 장치가 상기 마스터 장치로부터 리다이렉션 메시지를 수신하면, 상기 리다이렉션 메시지를 상기 단말 장치로 전송하는 단계를 더 포함할 수 있다.
아울러, 본 발명은 상술한 과제의 해결 수단으로서, 네트워크에 분산 배치된 다수의 캐시 장치를 다수의 그룹으로 그룹화하는 단계; 각 그룹별로, 마스터 캐시 장치와 상기 마스터 캐시 장치의 하위 노드인 슬레이브 캐시 장치를 설정하는 단계; 다수의 마스터 캐시 장치를 계층적으로 구분하여 트리 구조로 연결하는 단계; 단말 장치의 컨텐츠 요청 메시지 및 이에 대응하는 컨텐츠 응답 메시지가 트리구조로 연결된 하나 이상의 마스터 캐시 장치를 통해서 컨텐츠 제공 서버 및 단말 장치로 전송하는 단계; 상기 컨텐츠 응답 메시지를 수신한 마스터 캐시 장치는, 컨텐츠 응답 메시지로부터 추출된 컨텐츠를 캐싱할 캐시 장치를 나타내는 컨텐츠 위치 정보를 저장하는 단계; 및 상기 컨텐츠 요청 메시지를 수신한 마스터 캐시 장치는 요청된 컨텐츠에 대한 캐시 히트 여부를 판단하는 단계; 및 캐시 히트인 경우, 컨텐츠 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 상기 단말 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법을 더 제공할 수 있다.
상기 컨텐츠 전송 서비스 방법에 있어서, 상기 마스터 캐시 장치와 상기 마스터 캐시 장치의 하위 노드인 슬레이브 캐시 장치를 설정하는 단계는, 각 그룹에 속하는 다수 캐시 장치에 대하여, 캐시 용량, 하드웨어 성능, 서비스 대상 단말 장치의 수 중 하나 이상을 포함하는 캐시 성능 정보를 비교하여 상기 마스터 캐시 장치 및 슬레이브 캐시 장치를 설정할 수 있다.
아울러, 본 발명은 상술한 과제의 해결 수단으로서, 네트워크를 통해 데이터를 송수신하기 위한 통신 인터페이스부; 캐싱된 컨텐츠, 트리 구조로 연결된 다른 캐시 장치를 정의하는 캐시 연결 정보, 다른 캐시 장치에 저장된 컨텐츠에 대한 컨텐츠 위치 정보 중 하나 이상을 저장하는 저장부; 및 마스터 모드인지 슬레이브 모드인지를 확인하여, 마스터 모드인 경우, 상기 캐시 연결 정보로서 하나 이상의 슬레이브 캐시 장치, 트리 구조로 연결된 상위 레벨 마스터 캐시 장치 및 하위 레벨 캐시 장치 중에서 하나 이상에 대한 정보를 저장하고, 단말 장치가 요청한 컨텐츠에 대한 캐시 히트 여부를 판단하여 캐시 히트이면, 컨텐츠 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해 상기 단말 장치로 전송하는 제어부를 포함하는 것을 특징으로 하는 캐시 장치를 제공한다.
상기 캐시 장치의 제어부는 마스터 모드인 경우, 상기 상위 레벨 마스터 캐시 장치 또는 컨텐츠 제공 서버로부터 컨텐츠 응답 메시지 또는 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 수신하여 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해 단말 장치로 전송하되, 상기 컨텐츠 응답 메시지 또는 리다이렉션 메시지로부터 컨텐츠가 캐싱될 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 상기 저장부에 저장할 수 있다.
또한, 상기 캐시 장치의 제어부는 마스터 모드인 경우, 캐시 히트가 아니면, 상기 요청된 컨텐츠에 대한 컨텐츠 위치 정보가 상기 저장부에 존재하는 지를 더 확인하고, 상기 컨텐츠 위치 정보가 존재하는 경우, 컨텐츠 요청 위치를 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 변경하는 리다이렉션 메시지를 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해 해당 단말 장치로 전송할 수 있다.
또한, 상기 캐시 장치의 제어부는 해당 컨텐츠의 요청 횟수, 해당 컨텐츠를 요청한 단말 장치의 위치 중 하나 이상에 따라서, 해당 컨텐츠를 캐싱할 지를 판단하고, 캐싱하는 것으로 판단되면, 상기 리다이렉션 메시지를 전송하는 대신에, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로부터 해당 컨텐츠를 전송 받아 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치로 전송할 수 있다.
또한, 상기 캐시 장치의 제어부는 단말 장치로부터 컨텐츠 요청 메시지를 수신하면, 요청된 컨텐츠의 캐시 히트 여부 및 컨텐츠 위치 정보의 존재 여부 중에서 하나 이상을 판단하여, 캐시 히트인 경우, 캐싱된 컨텐츠를 상기 단말 장치로 전송하고, 캐시 히트가 아니지만 컨텐츠 위치 정보가 존재하는 경우, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 상기 단말 장치로 전송할 수 있다.
아울러, 상기 캐시 장치의 제어부는 슬레이브 모드인 경우, 상위 노드인 마스터 캐시 장치의 설정 정보를 캐시 연결 정보로서 저장하고, 단말 장치로부터 컨텐츠 요청 메시지를 수신하여, 컨텐츠 캐시 히트 여부를 판단하여, 캐시 히트이면 캐싱된 컨텐츠를 상기 단말 장치로 전송하고, 캐시 히트가 아니면, 상기 컨텐츠 요청 메시지를 상기 마스터 캐시 장치로 전송하고, 더하여, 슬레이브 모드인 경우, 상기 마스터 캐시 장치를 통해서 컨텐츠 제공 서버의 컨텐츠 응답 메시지를 수신하면, 상기 컨텐츠 응답 메시지는 상기 단말 장치로 전송하면서, 상기 컨텐츠 응답 메시지로부터 컨텐츠 데이터를 추출하여 상기 저장부에 저장할 수 있다.
상술한 과제의 해결 수단을 통하여, 본 발명은 컨텐츠 전송 서비스에 있어서, 네트워크에 분산 배치된 다수의 캐시 장치를 계층적으로 구분하여 트리 구조로 연결하고, 캐시 장치들이 서로 캐싱된 컨텐츠에 대한 정보를 공유할 수 있도록 함으로써, 특정 캐시 장치에 요청된 컨텐츠를 캐싱하지 않고 있다 하더라도, 해당 컨텐츠를 캐싱하고 있는 다른 캐시 장치를 통해서 컨텐츠를 제공되도록 할 수 있으며, 그 결과, 캐시 장치들의 저장 공간을 보다 효율적으로 이용할 수 있으며, 아울러, 컨텐츠 제공 서버로 집중되는 트래픽을 더 분산시킬 수 있는 우수한 효과가 있다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 전송 시스템에 있어서, 컨텐츠 전송 흐름의 예를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템에 있어서, 컨텐츠 전송 과정을 나타낸 메시지 흐름도이다.
도 4는 본 발명의 실시 예에 따른 캐시 장치의 구성을 나타낸 블록도이다.
도 5 내지 도 9는 본 발명의 실시 예에 따른 컨텐츠 전송 서비스 방법을 나타낸 순서도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템의 구성을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 전송 시스템은, 네트워크에 분산 배치된 다수의 캐시 장치(101~109)로 이루어진다. 아울러, 도 1에 도시된, 부호 200은 네트워크를 통해서 컨텐츠 제공하는 컨텐츠 제공 서버로서, 특히, 본 발명에 따른 컨텐츠 전송 시스템을 통해서 다수의 단말 장치(301,302)로 컨텐츠를 제공하는 서버 장치이다. 즉, 컨텐츠 제공 서버(200)는 본 발명에 따른 컨텐츠 전송 시스템을 통해 단말 장치(301,302)로 전송되는 컨텐츠의 원본 데이터를 제공하는 컨텐츠 제공자 측 장치이다. 예를 들어, 컨텐츠 제공 서버(200)는 VOD(Video On Demand)와 같은 동영상 컨텐츠 제공 서버 혹은 동영상 공유 서비스 서버일 수 있다.
상기 단말 장치(301,302)는 본 발명에 따른 컨텐츠 전송 시스템이 적용된 네트워크를 통해서 컨텐츠 제공 서버(200)가 제공하는 컨텐츠를 요청하고, 요청된 컨텐츠를 수신하여 사용자에게 제공하는 단말 장치이다. 이러한 단말 장치(301,302)는 예를 들어, 데스크톱 PC, 노트북 컴퓨터, 태블릿 PC, 스마트 폰, PDA(Personal Digital Assistant), 인터넷 TV(스마트 TV) 등 통신 기능을 포함하고 있는 전자/정보 통신 기기라면 어떤 것이라도 될 수 있다.
더하여, 본 발명이 적용되는 네트워크는 인터넷 망과 같은 IP 기반의 유선 통신망뿐만 아니라, LTE(Long term evolution) 망, WCDMA 망과 같은 이동통신망, Wi-Fi망과 같은 다양한 종류의 무선망, 및 이들의 조합으로 이루어질 수 있다. 즉, 본 발명에 따른 컨텐츠 전송 시스템은, 유무선 통신망에 구별 없이 모두 적용될 수 있다.
본 발명에 따른 다수의 캐시 장치(101~109)는 네트워크에 분산 배치되어, 상기 컨텐츠 제공 서버(200)가 사용자에게 제공하고자 하는 컨텐츠를 임시 또는 일정 시간 동안 저장하고, 특정 단말 장치(301,302)로부터 상기 컨텐츠가 요청되면, 상기 컨텐츠 제공 서버(200)를 대신하여 자신이 저장하고 있는 컨텐츠를 해당 단말 장치(301, 302)로 전송한다.
특히, 다수의 캐시 장치(101~109)는 네트워크의 에지에 분산 배치될 수 있는데, 네트워크가 상기 단말 장치(301,302)가 접속되는 하나 이상의 무선 또는 유선의 접속망과, 상기 다수 접속망 간을 연결하는 코어망으로 이루어진다고 할 때, 코어망의 에지, 더 구체적으로 접속망이 연결되는 코어망의 에지에 배치되어, 각각 대응하는 접속망에 접속한 단말 장치의 컨텐츠 요청을 모니터링하여, 요청된 컨텐츠를 캐싱하고 있는 경우, 캐싱된 컨텐츠를 해당 단말 장치로 제공하고, 캐싱하고 있지 않은 경우, 상기 컨텐츠 제공 서버(200)에 요청하여 컨텐츠를 전송 받아 전달하게 된다.
본 발명은 이러한 다수의 캐시 장치(101~109)를 통해 컨텐츠 전송 서비스를 제공하는데 있어서, 각 캐시 장치(101~109)의 저장 공간을 보다 효율적으로 사용하며 컨텐츠 제공 서버(200)로의 트래픽 집중을 분산시키기 위하여, 다수의 캐시 장치(101~109)를 다수의 그룹으로 그룹화하고, 각 그룹별로 동적으로 마스터 캐시 장치를 설정하고, 각 마스터 캐시 장치간을 계층적으로 구분하여 트리 구조로 연결하며, 트리 구조 상 루트 노드에 해당하는 마스터 캐시 장치를 컨텐츠 제공 서버(200)와 연결한다. 여기서, 각 그룹 중 마스터 캐시 장치 이외의 나머지 캐시 장치를 슬레이브 캐시 장치라 한다. 도 1에 도시한 실시 예에서는, 캐시 장치(101~103)을 마스터 캐시 장치로, 캐시 장치(104~109)를 슬레이브 캐시 장치로 설정한다. 아울러, 마스터 캐시 장치(101~103)를 각각 편의상 제1 내지 제3 마스터 캐시 장치(101~103)로 구분한다.
상기 제1 내지 제3 마스터 캐시 장치(101~103)는 동적으로 설정될 수 있는 것으로, 서비스 환경 변화 혹은 장애 발생 여부에 따라서 다른 캐시 장치로 변경가능하다.
이러한 제1 내지 제3 마스터 캐시 장치(101~103)는 캐시 용량, 하드웨어 성능, 서비스 대상 단말 장치의 수 중 하나 이상을 포함하는 캐시 성능 정보를 비교하여 설정될 수 있다. 또한, 상기 마스터 캐시 장치의 설정 및 마스터 캐시 장치 간의 트리 구조 설정은 다양한 방법, 예를 들어, 관리자에 의한 수동 설정, OSPF(Open Shortest Path First) 등을 기반으로 설정될 수 있다. OSPF는 라우팅 프로토콜로서, 이는 각 링크로 패킷을 전달하는 드는 코스트가 가장 적은 경로를 인식하여 가장 짧은 경로의 트리 토폴로지를 생성할 수 있는 프로토콜이다. 여기서, 코스트는 강 링크의 대역, 거리 등을 기반으로 산출될 수 있다. 이러한 OSPF에 대해서 기 공지되어 있으므로 여기에서 더 구체적인 설명은 생략한다. 본 발명은 이러한 OSPF 방법을 이용하여 다수의 캐시 장치 중 마스터 캐시 장치(101~103)를 설정하고, 제1 내지 제3 마스터 캐시 장치(101~103) 간에 트리 연결 구조를 설정할 수 있다. 아울러, 기 설정된 제1 내지 제3 마스터 캐시 장치(101~103)는 장애 발생시 다른 캐시 장치로 변경될 수 있다.
본 발명에 따르면, 컨텐츠 전송 시스템의 다수 캐시 장치들은, 다수의 그룹(그룹 A, B, C)으로 분류되고, 각 그룹별로 하나의 마스터 캐시 장치(101~103)가 설정된다. 상기 설정된 제1 내지 제3 마스터 캐시 장치(101~103)는 각각 해당 그룹의 나머지 캐시 장치인, 슬레이브 캐시 장치(104~109)와 연결되며, 또한 다른 마스터 캐시 장치와 트리구조로 연결된다. 이에, 제1 내지 제3 마스터 캐시 장치(101, 103)는 트리 구조에서 상위 노드인 상위 레벨 마스터 캐시 장치, 트리 구조에서 하위 노드인 하위 레벨 마스터 캐시 장치 중 하나 이상이 설정된다.
도 1의 실시 예에서, 제1,2 마스터 캐시 장치(101, 102)는 제3 마스터 캐시 장치(103)의 하위 레벨 마스터 캐시 장치가 되며, 제3 마스터 캐시 장치(103)는 트리 구조의 최상위에 위치한 루트 노드로서, 제1,2 마스터 캐시 장치(101, 102)의 상위 레벨 마스터 캐시 장치가 되며, 컨텐츠 제공 서버(200)와 연결된다.
상기 상태에서, 특정 캐시 장치(101 내지 109 중 어느 하나)에서 검출된 단말 장치(301, 302)의 컨텐츠 요청 메시지는, 트리 구조로 연결된 제1 내지 제3 마스터 캐시 장치(101~103)중 하나 이상을 통해서 컨텐츠 제공 서버(200)로 전송되며, 그에 대한 컨텐츠 제공 서버(200)의 응답 메시지도 동일한 경로로 전달된다. 이렇게 단말 장치(301, 302)의 컨텐츠 요청 메시지 및 이에 대응하는 컨텐츠 응답 메시지가 트리구조로 연결된 하나 이상의 마스터 캐시 장치(101~103)를 통해서 전송되는 중에, 각 마스터 캐시 장치(101~103)는 수신된 컨텐츠 응답 메시지로부터 해당 컨텐츠를 캐싱할 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 저장한다. 그리고, 컨텐츠 요청 메시지의 수신시 요청된 컨텐츠의 캐시 히트 여부 및 컨텐츠 위치 정보의 저장 여부를 확인하여, 캐시 히트 혹은 컨텐츠 위치 정보가 저장되어 있는 경우, 자신 또는 컨텐츠 위치 정보에 대응하는 다른 캐시 장치로 컨텐츠 요청 위치를 변경하기 위한 리다이렉션 메시지를 해당 단말 장치(301, 302)로 전송한다. 이에, 해당 단말 장치(301, 302)는 실제 해당 컨텐츠를 저장하고 있는 캐시 장치에 요청하여 컨텐츠를 전송 받을 수 있다.
여기서, 컨텐츠 요청과 관련된 메시지는 HTTP 프로토콜에 따라 전송될 수 있으며, 구체적으로 컨텐츠 요청 메시지는 HTTP GET 메시지일 수 있으며, 컨텐츠 응답 메시지는 HTTP RESPONSE 메시지일 수 있으며, 리다이렉션 메시지는 HTTP REDIRECT 메시지일 수 있다.
이하, 본 발명에 따른 컨텐츠 전송 시스템에서, 컨텐츠의 전송 과정을 예를 들어 설명한다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 전송 시스템에 있어서, 컨텐츠 전송 흐름의 예를 나타낸 도면이다. 아울러, 이하의 설명에서, 단말 장치(301,302)는 편의상, 제1,2 단말 장치로 구분한다. 아울러, 제1 단말 장치(301)를 통해서 특정 컨텐츠가 최초 요청되며, 이후 제2 단말 장치(302)가 동일 컨텐츠를 요청한다고 가정한다.
이때, 모든 캐시 장치, 즉, 제1 내지 제3 마스터 캐시 장치(101~103) 및 슬레이브 캐시 장치들(104~109)는 특정 단말 장치의 컨텐츠 요청 메시지를 검출 시에, 해당 컨텐츠 요청 메시지에서 요청한 컨텐츠를 자신이 저장하고 있는 지의 여부, 즉, 캐시 히트 여부를 먼저 판단하여, 캐시 히트이면 캐싱된 컨텐츠를 추출하여 해당 단말 장치로 전송한다. 여기서, 캐시 히트 여부의 판단은, URL 기반, 컨텐츠 내용 기반 등 다양한 방식으로 이루어질 수 있다. 아울러, 제1 내지 제3 캐시 장치(101~103)는 캐시 히트 여부를 판단한 후에, 캐시 히트가 아닌 경우, 요청된 컨텐츠의 위치 정보가 저장되어 있는 지를 더 판단할 수 있다.
따라서, 상기 제1 마스터 캐시 장치(101)도 컨텐츠 요청 메시지가 검출되면, 상기 컨텐츠 요청 메시지에서 요청한 컨텐츠가 저장되어 있는 지의 여부, 즉, 캐시 히트 여부를 먼저 판단한다. 여기서, 요청된 컨텐츠를 캐싱하고 있으면 캐싱된 컨텐츠를 추출하여 상기 제1 단말 장치(301)로 바로 제공할 수 있으며, 상기 컨텐츠 요청 메시지는 다른 마스터 캐시 장치나 컨텐츠 제공 서버(200)로 전송되지 않는다.
반면, 제1 마스터 캐시 장치(101)가 요청된 컨텐츠를 저장하고 있지 않은 경우, 요청된 컨텐츠에 대한 위치 정보가 저장되어 있는 지를 더 확인하여, 컨텐츠 위치 정보도 저장되어 있지 않으므로, 제1 마스터 캐시 장치(101)는 트리 구조로 연결된 상위 레벨 마스터 캐시 장치인, 제3 마스터 캐시 장치(103)로 상기 제1 단말 장치(301)의 컨텐츠 요청 메시지를 전달한다. 아울러, 상기 제3 마스터 캐시 장치(103)도 요청된 컨텐츠에 대한 캐시 히트 여부 및 컨텐츠 위치 정보의 저장 여부를 판단하게 되며, 마찬가지로 요청된 컨텐츠 및 그의 위치 정보 중 어느 것도 저장되어 있지 않으면, 상기 제1 단말 장치(301)의 컨텐츠 요청 메시지를 상위 노드로 전송한다. 이때, 상기 제3 마스터 캐시 장치(103)는 트리 구조에서 루트 노드에 해당하므로, 제1 단말 장치(301)의 컨텐츠 요청 메시지는 제3 마스터 캐시 장치(103)에서 컨텐츠 제공 서버(200)로 전송된다(①).
이에, 컨텐츠 제공 서버(200)는 요청된 컨텐츠를 포함하는 컨텐츠 응답 메시지를 생성하여 전송하게 되는데, 상기 컨텐츠 응답 메시지는 제3 마스터 캐시 장치(103) 및 제1 마스터 캐시 장치(101)를 통해서 제1 단말 장치(301)로 전송된다(②).
이때, 상기 제1 단말 장치(301)의 컨텐츠 요청 메시지를 검출한 캐시 장치, 즉, 제1 마스터 캐시 장치(101)는 상기 컨텐츠 응답 메시지로부터 요청된 컨텐츠의 데이터를 추출하여 저장한다. 아울러, 상기 컨텐츠 응답 메시지의 전송 경로 상에 위치한 마스터 캐시 장치, 즉, 제3 마스터 캐시 장치(103)는 각각 컨텐츠 응답 메시지로부터 컨텐츠 위치 정보, 즉, 컨텐츠가 캐싱될 캐시 장치(제1 마스터 캐시 장치(101))에 대한 정보를 추출하여 저장한다.
상기 상태에서, 동일한 컨텐츠를 제2 단말 장치(302)가 요청하고, 상기 제2 단말 장치(302)의 컨텐츠 요청 메시지를 그룹 B 영역의 슬레이브 캐시 장치(106)가 검출한다고 할 때, 상기 슬레이브 캐시 장치(106)는 제2 단말 장치(302)가 요청한 컨텐츠를 저장하고 있지 않으므로, 해당 그룹 B의 마스터 노드인, 제2 마스터 캐시 장치(102)로 상기 제2 단말 장치(302)의 컨텐츠 요청 메시지를 전송한다. 이어 제2 마스터 캐시 장치(102)는 해당 컨텐츠의 캐시 히트 여부 및 위치 정보를 확인하여, 캐시 히트도 아니고, 컨텐츠 위치 정보도 존재하지 않으므로, 트리 구조 상의 상위 노드인 제3 마스터 캐시 장치(103)로 상기 제2 단말 장치(302)의 컨텐츠 요청 메시지를 전송한다(③).
이때 상기 제3 마스터 캐시 장치(103)는 앞서 제1 단말 장치(301)의 컨텐츠 요청에 대응하여 해당 컨텐츠에 대한 컨텐츠 위치 정보를 저장하고 있는 상태이므로, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지(HTTP REDIRCT 메시지)를 제2 단말 장치(302)로 전송하고, 이에 제2 단말 장치(302)는 상기 제1 마스터 캐시 장치(101)로부터 해당 컨텐츠를 전송 받게 된다(④).
본 발명의 실시 예에 따른 컨텐츠 전송 과정을 도 3의 메시지 흐름도를 참조하여 더 구체적으로 설명한다.
도 3은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템에 있어서, 컨텐츠 전송 과정을 나타낸 메시지 흐름도이다.
도 3을 참조하면, 상기 제1 단말 장치(301)의 컨텐츠 요청 메시지(HTTP GET 메시지)는 서비스 영역의 할당에 따라서, 제1 마스터 캐시 장치(101)가 검출하며, 요청된 컨텐츠 및 그와 관련된 컨텐츠 위치 정보도 저장되어 있지 않으므로, 트리 구조상의 상위 노드, 즉, 제3 마스터 캐시 장치(103)를 통해서 컨텐츠 제공 서버(200)로 전송되고, 상기 컨텐츠 제공 서버(200)에서 생성된 컨텐츠 응답 메시지(HTTP RESPONSE)는 마찬가지로, 상기 제3 마스터 캐시 장치(103) 및 제1 마스터 캐시 장치(101)를 통해서 제1 단말 장치(301)로 전송된다(S101). 이때, 상기 제1 단말 장치(301)의 컨텐츠 요청 메시지를 검출한 캐시 장치인 제1 마스터 캐시 장치(101)는 상기 컨텐츠 응답 메시지로부터 요청된 컨텐츠의 데이터를 추출하여 저장하고, 상기 컨텐츠 응답 메시지의 전송 경로 상에 위치한 마스터 캐시 장치인 제3 마스터 캐시 장치(103)는 컨텐츠 응답 메시지로부터 컨텐츠 위치 정보, 즉, 컨텐츠가 캐싱될 캐시 장치(제1 마스터 캐시 장치(101))에 대한 정보를 추출하여 저장한다.
상기 상태에서, 동일한 컨텐츠를 요청하는 제2 단말 장치(302)의 컨텐츠 요청 메시지(HTTP GET)가 전송되고, 이를 해당 영역을 담당하는 그룹 B의 슬레이브 캐시 장치(106)가 검출한다고 할 때, 상기 제2 단말 장치(302)의 컨텐츠 요청 메시지(HTTP GET)는 해당 그룹 B의 상위 노드인 제2 마스터 캐시 장치(102)로 전송되며, 제2 마스터 캐시 장치(102)는 해당 컨텐츠의 캐시 히트 여부 및 위치 정보를 확인하여, 캐시 히트도 아니고, 컨텐츠 위치 정보도 존재하지 않으므로, 상기 제2 단말 장치(302)의 컨텐츠 요청 메시지는 제3 마스터 캐시 장치(103)까지 전송되며, 제3 마스터 캐시 장치(103)는 해당 컨텐츠를 제1 마스터 캐시 장치(101)가 저장하고 있음을 나타내는 컨텐츠 위치 정보를 저장하고 있으므로, 상기 컨텐츠 위치 정보를 이용하여 컨텐츠 요청 위치를 변경하는 HTTP REDIRECT 메시지를 전송하고, 이는 제2 마스터 캐시 장치(102) 및 슬레이브 캐시 장치(106)를 통해서 제2 단말 장치(302)로 전송된다(S103). 이때, 상기 HTTP REDIRECT 메시지를 수신한 제2 마스터 캐시 장치(102)는 해당 HTTP REDIRECT 메시지로부터 해당 컨텐츠의 저장 위치, 즉, 제1 마스터 캐시 장치(101)에 대한 정보를 추출하여 저장할 수 있다.
상기 HTTP REDIRCT 메시지를 수신한 제2 단말 장치(302)는 해당 메시지에 기록된 변경된 주소, 즉, 제1 마스터 캐시 장치(101)로 해당 컨텐츠를 요청하는 HTTP GET 메시지를 전송하고, 상기 제1 마스터 캐시 장치(101)로부터 요청된 컨텐츠를 포함하는 HTTP RESPONSE 메시지를 수신한다(S105).
상기 상태에서, 제2 단말 장치(302)가 동일 컨텐츠를 다시 요청하는 경우, 이후의 제2 단말 장치(302)의 HTTP GET 메시지는 앞서와 마찬가지로 슬레이브 캐시 장치(106)를 통해 제2 마스터 캐시 장치(102)로 전송되나, 이때, 상기 제2 마스터 캐시 장치(102)는 S103 단계에서 해당 컨텐츠의 컨텐츠 위치 정보를 획득하였으므로, 상기 제2 단말 장치(302)의 HTTP GET 메시지를 상위 노드로 전송하지 않고, 컨텐츠 요청 위치를 제1 마스터 캐시 장치(101)로 변경하는 HTTP REDIRCT 메시지를 생성하여 슬레이브 캐시 장치(106)를 통해서 제2 단말 장치(302)로 전송한다(S107).
이에 제2 단말 장치(302)는 동일한 컨텐츠에 대한 다음 데이터를 요청하는 HTTP GET 메시지를 제1 마스터 캐시 장치(101)로 전송하고, 제1 마스터 캐시 장치로부터 해당 컨텐츠의 데이터를 포함하는 HTTP RESPONSE 메시지를 수신한다(S109).
상기 S107 단계 내지 S109 단계가 반복 실행되어, 리다이렉션을 통해서 제1 마스터 캐시 장치(101)로부터 제2 단말 장치(302)로 컨텐츠 전송되는 중에, 컨텐츠를 리다이렉션하는 제2 마스터 캐시 장치(102)는, 소정의 기준에 따라서 HTTP REDIRECT 메시지를 전송하는 대신, 자신이 직접 컨텐츠 캐싱할지를 판단할 수 있다. 예를 들어, 제2 마스터 캐시 장치(102)는 동일 컨텐츠 요청에 대한 리다이렉션 횟수를 확인하고, 상기 리다이렉션 횟수가 기준 횟수를 초과할 경우, 컨텐츠 위치 정보에 해당하는 제1 마스터 캐시 장치(101)로 직접 HTTP GET 메시지를 전송하여, 상기 제1 마스터 캐시 장치(101)로부터 컨텐츠 데이터를 포함하는 HTTP RESPONSE 메시지를 수신하여 하위 노드인 슬레이브 캐시 장치(106)로 전달할 수 있다(S111). 이 경우, 상기 슬레이브 캐시 장치(106)는 수신한 HTTP RESPONSE 메시지를 제2 단말 장치(302)로 전달하는 중에, 해당 컨텐츠 데이터를 추출하여 캐싱할 수 있다. 따라서, 이후에 그룹 B의 영역에서 동일한 컨텐츠가 요청될 때 슬레이브 캐시 장치(106)는 바로 요청된 컨텐츠를 전송할 수 있다.
다음으로 상술한 과정을 수행하는 캐시 장치의 구성 및 동작을 설명한다.
도 4는 본 발명의 실시 예에 따른 캐시 장치(100)의 구성을 나타낸 블록도이다. 여기서 도시된 캐시 장치(100)는 도 1의 마스터 캐시 장치(101~103) 및 슬레이브 캐시 장치(104~109)를 모두 포함하는 개념으로 나타낸다. 즉, 도 4에 있어서, 캐시 장치(100)는 경우에 따라서, 마스터 캐시 장치(101~103)로 동작할 수도 있고, 슬레이브 캐시 장치(104~109)로 동작할 수도 있다.
도 4를 참조하면, 본 발명에 따른 캐시 장치(100)는 통신 인터페이스부(110)와, 저장부(120)와, 제어부(130)를 포함하여 이루어진다.
통신 인터페이스부(110)는 본 발명에 따른 컨텐츠 전송 시스템이 적용된 네트워크를 통해 데이터를 송수신하기 위한 구성 요소이다. 구체적으로 통신 인터페이스부(110)는 네트워크를 통해 송수신되는 컨텐츠 요청 메시지 및 컨텐츠 응답 메시지를 수신하고, 이를 다른 캐시 장치 혹은 컨텐츠 제공 서버(200) 혹은 단말 장치(301, 302)로 전송할 수 있다.
저장부(120)는 캐시 장치(100)의 운용 필요한 데이터 및 프로그램을 저장하기 위한 구성 요소로서, 기본적으로 캐시 장치(100)가 캐싱한 컨텐츠 데이터(121), 즉, 컨텐츠 제공 서버(200)가 제1,2 단말 장치(301,302)에 제공하고자 하는 컨텐츠 데이터(121)를 저장한다. 아울러, 상기 캐시 장치(100)가 마스터 캐시 장치로 설정된 경우(이하, 마스터 모드라 함), 저장부(120)는 컨텐츠 위치 정보(122)를 더 저장할 수 있다. 여기서, 컨텐츠 위치 정보(122)는 본 발명에 따른 다수의 캐시 장치(100)를 통해서 전송 서비스되는 컨텐츠의 위치 정보, 구체적으로는 해당 컨텐츠가 저장된 캐시 장치의 정보로서, 특히 다른 캐시 장치에 저장된 컨텐츠의 위치 정보를 의미한다. 아울러, 저장부(120)는 본 발명에 따른 트리 연결을 형성하기 위해 다른 캐시 장치들과 연결하는데 필요한 캐시 연결 정보(123)를 더 저장할 수 있다. 해당 캐시 장치(100)가 마스터 모드인 경우, 캐시 연결 정보(123)는 슬레이브 캐시 장치, 트리구조 상에서 상위 노드 및 하위 노드에 해당하는 상위 레벨 마스터 캐시 장치 및 하위 레벨 마스터 캐시 장치 중에서 하나 이상에 대한 설정 정보를 포함할 수 있으며, 상기 캐시 장치(100)가 마스터 모드가 아닌 경우, 즉, 슬레이브 캐시 장치로 설정된 경우(슬레이브 모드라 함), 상기 캐시 연결 정보(123)는 자신이 속한 그룹의 마스터 캐시 장치의 설정 정보를 포함한다.
제어부(130)는 캐시 장치(100)에 의한 캐싱 서비스 동작의 전반을 제어하는 수단으로서, 그 동작은 캐시 장치(100)의 동작 모드, 즉, 마스터 모드/슬레이브 모드에 따라서 달라질 수 있다.
먼저, 슬레이브 모드로 설정된 경우, 제어부(130)는 캐시 연결 정보(123)로서 자신이 속한 그룹의 마스터 캐시 장치에 대한 정보를 획득하여 저장부(120)에 저장한다. 상기 마스터 캐시 장치에 대한 정보는, 마스터 캐시 장치로 설정된 캐시 장치의 식별 정보 또는 주소 정보(예를 들어, IP 주소)를 포함할 수 있다. 그리고, 해당 네트워크를 통해서 임의의 단말 장치, 더 구체적으로는 자신의 담당 영역에 위치한 단말 장치의 컨텐츠 요청 메시지를 검출하고, 상기 컨텐츠 요청 메시지에서 요청하는 컨텐츠에 대한 캐시 히트 여부, 즉, 요청된 컨텐츠가 저장부(120)에 저장되어 있는 지를 판단하고, 캐시 히트된 경우, 저장부(120)에서 요청된 컨텐츠를 추출하여 해당 단말 장치로 전송한다. 반면에, 캐시 히트가 아닌 경우, 즉, 요청된 컨텐츠가 저장부(120)에 저장되어 있지 않으면, 상기 검출한 컨텐츠 요청 메시지를 캐시 연결 정보(120)에서 정의된 마스터 캐시 장치로 전송한다.
이후, 상기 제어부(130)는 상기 마스터 캐시 장치로부터 상기 요청된 컨텐츠에 대응하는 컨텐츠 응답 메시지를 수신하면, 수신된 컨텐츠 응답 메시지를 해당 단말 장치로 전송하면서, 대응하는 컨텐츠 데이터를 추출하여 저장부(120)에 저장한다.
반면, 마스터 모드로 설정된 경우, 제어부(130)는 하나 이상의 슬레이브 캐시 장치, 상위 레벨 마스터 캐시 장치, 하위 레벨 마스터 캐시 장치 중에서 하나 이상에 대한 정보를 획득하여 캐시 연결 정보(123)로서 저장한다.
그리고, 제어부(130)는 통신 인터페이스부(100)를 통해 컨텐츠 요청 메시지를 수신하여, 컨텐츠 요청 메시지에서 요청한 컨텐츠가 저장부(120)에 저장되어 있는 지(즉, 캐시 히트)를 판단한다. 이때, 상기 컨텐츠 요청 메시지는 단말 장치 또는 슬레이브 캐시 장치, 또는 하위 레벨 마스터 캐시 장치로부터 전송될 수 있다. 기본적으로 마스터 모드이더라도 캐시 장치(100)가 직접 단말 장치의 컨텐츠 요청 메시지를 수신한 경우, 제어부(130)는 캐시 히트 판단 결과, 캐시 히트라면 저장부(120)로부터 해당 컨텐츠를 추출하여 해당 단말 장치로 전송하고, 캐시 히트가 아닌 경우에는 해당 컨텐츠 요청 메시지를 상위 노드, 즉, 캐시 연결 정보(123)에 기록된 상위 레벨 마스터 캐시 장치로 전송한다.
반면, 슬레이브 캐시 장치 또는 하위 레벨의 마스터 캐시 장치로부터 전송된 컨텐츠 요청 메시지에서 요청된 컨텐츠가 캐시 히트되면, 제어부(130)는 자신을 컨텐츠 요청 위치로 변경하는 리다이렉션 메시지를 생성하여 상기 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해서 해당 단말 장치로 전송한다. 이에 해당 단말 장치로부터 직접 컨텐츠 요청 메시지를 수신하여 컨텐츠 제공한다.
또한, 상기 제어부(130)는 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치로부터 전송된 컨텐츠 요청 메시지에서 요청된 컨텐츠가 캐시 히트가 아니면, 요청된 컨텐츠에 대한 컨텐츠 위치 정보가 저장되어 있는 지를 더 확인한다. 여기서, 제어부(130)는 컨텐츠 위치 정보가 저장되어 있으면, 해당 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 생성하여 상기 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치로 전송하고, 컨텐츠 위치 정보도 저장되지 않은 경우, 캐시 연결 정보(123)에 기록된 상위 레벨 마스터 캐시 장치로 상기 컨텐츠 요청 메시지를 전달한다. 이때, 캐시 연결 정보(123)에 상위 레벨 마스터 캐시 장치에 대한 정보가 없다면, 컨텐츠 제공 서버(200)로 상기 컨텐츠 요청 메시지를 전송한다.
아울러, 상기 제어부(130)는 통신 인터페이스부(110)를 통해서 컨텐츠 제공 서버(200) 또는 상위 레벨 마스터 캐시 장치로부터 컨텐츠 응답 메시지 또는 리다이렉션 메시지를 수신할 수 있으며, 이 경우, 제어부(130)는 수신한 컨텐츠 응답 메시지 또는 리다이렉션 메시지를 자신의 하위 노드, 즉, 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치로 전달하되, 상기 컨텐츠 응답 메시지 또는 리다이렉션 메시지로부터 컨텐츠 위치 정보를 추출하여 저장부(120)에 저장한다.
이어서 상술한 바와 같이 구성되는 다수의 캐시 장치(100)를 통해 이루어지는 컨텐츠 전송 서비스 방법을 순차적으로 설명한다.
도 5 내지 도 9는 본 발명의 실시 예에 따른 컨텐츠 전송 서비스 방법을 나타낸 순서도이다. 아울러, 이하의 설명은 도 1에 도시된 컨텐츠 전송 시스템을 기반으로 이루어진다.
먼저, 도 5를 참조하면, 본 발명에 의한 컨텐츠 전송 서비스 방법은, 네트워크에 분산 배치된 다수의 캐시 장치(100: 101~109)를 소정의 기준(예를 들어, IP 주소, 거리, 지역 등)에 따라서 다수의 그룹으로 그룹화하고(S201), 각 그룹별로, 마스터 캐시 장치(101~103)와 상기 마스터 캐시 장치의 하위 노드인 슬레이브 캐시 장치(104~109)를 설정한다(S203). 상기 S203 단계에서, 마스터 캐시 장치와 슬레이브 캐시 장치의 설정은, 각 그룹에 속하는 다수 캐시 장치에 대하여, 캐시 용량, 하드웨어 성능, 서비스 대상 단말 장치의 수 중 하나 이상을 포함하는 캐시 성능 정보를 비교함에 의해 이루어질 수 있다. 예를 들어, 캐시 용량이 크고, 접속된 단말 장치의 수가 많은 캐시 장치를 마스터 캐시 장치로 설정할 수 있다.
그리고, 상기 다수의 마스터 캐시 장치(101~103)를 계층적으로 구분하여 트리 구조로 연결 설정한다(S205). 상기 S205 단계는, OSPF 방법 혹은 IP 어드레스를 기반으로 이루어질 수 있으며, 슬레이브 캐시 장치(104~109)가 각각 자신의 상위 노드인 마스터 캐시 장치(101~103)에 대한 정보를 저장하고, 각 마스터 캐시 장치(101~103)가 각각 슬레이브 캐시 장치(104~109)에 대한 정보 및, 트리 구조 상에서 상위 노드 또는 하위 노드로 연결된 다른 마스터 캐시 장치, 즉, 상위 레벨 마스터 캐시 장치 및 하위 레벨 마스터 캐시 장치에 대한 정보를 설정함에 의해 이루어질 수 있다.
본 발명에 의한 컨텐츠 전송 서비스 방법은 이러한 계층적 트리 구조 기반의 컨텐츠 전송 시스템을 기반으로 이루어지는데, 이때 그 동작은 마스터 캐시 장치 및 슬레이브 캐시 장치로 구분하여 이루어진다.
이에, 각 캐시 장치(100: 101~109)는 컨텐츠 전송 서비스를 수행하기 전에 자신이 마스터 캐시 장치인지 슬레이브 캐시 장치를 확인할 수 있다.
특정 캐시 장치(101~103)가 마스터 캐시 장치로 설정되면(S301), 상기 마스터 캐시 장치(101~103)는, 자신이 속한 그룹에 해당하는 하나 이상의 슬레이브 캐시 장치, 상위 레벨 마스터 캐시 장치, 하위 레벨 마스터 캐시 장치 중에서 하나 이상에 대한 설정 정보를 획득하여 캐시 연결 정보(123)로서 저장할 수 있다(S303).
이어서 상기 마스터 캐시 장치(101~103)는 통신 인터페이스부(100)를 통해 임의의 컨텐츠 요청 메시지를 수신하면(S305), 상기 컨텐츠 요청 메시지에 의해 요청된 컨텐츠를 자신의 저장부(120)에 저장하고 있는 지(즉, 캐시 히트)를 판단한다(S307).
이때, 수신한 컨텐츠 요청 메시지에서 요청하는 컨텐츠가 캐시 히트된 경우, 마스터 캐시 장치(101~103)는 상기 수신한 컨텐츠 요청 메시지가 단말 장치(301, 302)로부터 직접 수신된 것인지를 확인한다(S309).
확인 결과, 단말 장치(301, 302)로부터 직접 수신된 컨텐츠 요청 메시지이면, 컨텐츠 응답 메시지를 생성하고, 상기 컨텐츠 응답 메시지를 통해서 캐시 히트된 컨텐츠의 데이터를 해당 단말 장치(301, 302)로 전송한다(S313, S314).
반면 단말 장치(301, 302)로부터 직접 수신한 컨텐츠 요청 메시지가 아니면, 즉, 하위 노드, 슬레이브 캐시 장치(104~109) 또는 하위 레벨의 다른 마스터 캐시 장치로부터 전송된 컨텐츠 요청 메시지이면, 컨텐츠 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 생성하여 상기 하위 노드, 슬레이브 캐시 장치(104~109) 또는 하위 레벨의 마스터 캐시 장치로 전송한다(S311).
아울러, 상기 S307 단계에서, 수신된 컨텐츠 요청 메시지에서 요청하는 컨텐츠를 저장하고 있지 않으면, 마스터 캐시 장치(101~103)는 도 7에 도시된 바와 같이, 상기 컨텐츠 요청 메시지에서 요청한 컨텐츠에 대한 컨텐츠 위치 정보를 자신이 가지고 있는 지를 더 확인한다(S401).
상기 확인 결과, 컨텐츠 위치 정보를 자신이 가지고 있으면, 해당 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 하위 노드, 즉, 상기 단말 장치(301, 302) 또는 슬레이브 캐시 장치(104~109) 또는 하위 레벨 마스터 캐시 장치로 전송한다(S403). 상기 슬레이브 캐시 장치(104~109) 또는 하위 레벨 마스터 캐시 장치로 전송된 리다이렉션 메시지는, 트리 연결 구조 상에 위치한 각 노드를 통해 해당 단말 장치(301, 302)로 전달된다.
반면, 상기 S401 단계에서 확인한 결과, 요청된 컨텐츠에 대한 컨텐츠 위치 정보를 저장하고 있지 않으면, 마스터 캐시 장치(101~103)는, 상기 수신한 컨텐츠 요청 메시지를 상위 레벨 마스터 캐시 장치 또는 컨텐츠 제공 서버(200)로 전송한다. 더 구체적으로, 마스터 캐시 장치(101~103)는 상위 노드로서, 상위 레벨 마스터 캐시 장치가 캐시 연결 정보(123)에 존재하는 지를 확인하여(S405), 상위 레벨 마스터 캐시 장치가 존재하면, 해당 상위 레벨 마스터 캐시 장치로 상기 컨텐츠 요청 메시지를 전송하고(S407), 상위 레벨 마스터 캐시 장치가 존재하지 않으면, 자신이 트리 구조의 루트 노드이므로, 컨텐츠 요청 메시지를 컨텐츠 제공 서버(200)로 전송한다(S409).
상술한 과정에 의하여, 단말 장치(301, 302)의 컨텐츠 요청 메시지는 트리 구조로 연결되는 다수의 캐시 장치, 즉, 다수의 마스터 캐시 장치(101~103)를 통해 컨텐츠 제공 서버(200)로 전달된다.
이에, 상기 컨텐츠 제공 서버(200)는 컨텐츠 응답 메시지를 생성하고, 상기 컨텐츠 응답 메시지에 요청된 컨텐츠의 데이터를 실어 전송하는데, 상기 컨텐츠 응답 메시지는 앞서 컨텐츠 요청 메시지를 전송한 트리 구조로 연결된 다수의 마스터 캐시 장치(101~103)를 통해서 단말 장치(301, 302)로 전송된다.
따라서, 마스터 캐시 장치(101~103)는 도 8에 도시된 바와 같이, 컨텐츠 제공 서버(200) 또는 상위 레벨 마스터 캐시 장치로부터 컨텐츠 응답 메시지를 수신할 수 있다(S501).
이와 같이, 컨텐츠 응답 메시지를 수신한 마스터 캐시 장치(101~103)는, 먼저, 상기 컨텐츠 응답 메시지를 전송할 하위 노드가 존재하는 지를 확인한다(S503). 여기서 하위 노드의 존재 여부는 상기 컨텐츠 응답 메시지의 목적지인, 단말 장치(301, 302)가 자신에게 접속되어 있는지 여부를 판단함에 의해 이루어질 수 있다.
해당 단말 장치(301, 302)가 자신에게 접속되어 있지 않으면, 마스터 캐시 장치(101~103)는 상기 수신한 컨텐츠 응답 메시지로부터 컨텐츠 위치 정보, 즉, 해당 컨텐츠가 저장될 캐시 장치를 추출하여 저장하고(S505), 아울러, 상기 컨텐츠 응답 메시지를 하위 노드, 즉, 하위 레벨 마스터 캐시 장치 또는 슬레이브 캐시 장치(104~109)로 전송한다(S507).
반대로 해당 단말 장치(301, 302)가 자신에게 접속되어 있으면, 상기 수신한 컨텐츠 응답 메시지를 전송할 하위 노드가 존재하지 않는 것이므로, 상기 컨텐츠 응답 메시지로부터 컨텐츠 데이터를 추출하여 캐싱하고(S509), 아울러, 상기 컨텐츠 응답 메시지를 하위 노드, 즉, 하위 레벨 마스터 캐시 장치 또는 슬레이브 캐시 장치(104~109)로 전송하여 해당 단말 장치(301, 302)로 전송되도록 한다(S511).
아울러, 마스터 캐시 장치(101~103)는 상위 레벨 마스터 캐시 장치가 앞서 설명한 도 6의 S311 단계 또는 도 7의 S403 단계를 수행함에 의해 전송된, 리다이렉션 메시지를 수신할 수 있다(S513).
이와 같이, 상위 레벨 마스터 캐시 장치로부터 리다이렉션 메시지를 수신할 경우, 상기 마스터 캐시 장치(101~103)는 상기 리다이렉션 메시지로부터 컨텐츠 위치 정보(컨텐츠를 캐싱하고 있는 캐시 장치의 정보)를 추출하여 저장하고(S515), 상기 리다이렉션 메시지를 해당 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치 또는 단말 장치(301, 302)로 전송한다(S517). 즉, 상기 리다이렉션 메시지의 목적지에 해당하는 단말 장치(301, 302)가 자신에 접속된 경우, 마스터 캐시 장치(101~109)는 수신한 리다이렉션 메시지를 해당 단말 장치(301, 302)로 직접 전송하고, 다른 캐시 장치를 통해 연결된 경우, 해당 단말 장치(301, 302)까지 전달되도록 슬레이브 캐시 장치 또는 하위 레벨 캐시 장치로 전송한다.
상술한 바에 의하여, 마스터 모드로 설정된 마스터 캐시 장치(101~103)는 다른 캐시 장치의 컨텐츠 캐싱 정보를 공유하고, 이 공유를 통해서 단말 장치(301, 302)에서 요청한 컨텐츠를 제공할 수 있다.
한편, 슬레이브 모드로 설정된 캐시 장치, 즉, 슬레이브 캐시 장치(104~109)는, 도 9에 도시된 바와 같이, 먼저, 자신의 상위 노드인, 하나의 마스터 캐시 장치에 대한 정보를 저장한다(S601).
상기 상태에서, 임의의 단말 장치(301, 302)로부터 컨텐츠 요청 메시지를 수신할 수 있다(S603).
이와 같이, 단말 장치(301, 302)의 컨텐츠 요청 메시지가 수신되면, 슬레이브 캐시 장치(104~109)는 상기 컨텐츠 요청 메시지에서 요청된 컨텐츠에 대한 캐시 히트 여부를 판단한다(S605).
S605 단계의 판단 결과, 캐시 히트로 판단되면, 저장부(120)에 저장된 컨텐츠를 추출하여 컨텐츠 응답 메시지를 생성하고, 생성한 컨텐츠 응답 메시지를 해당 단말 장치(301, 302)로 전송한다(S607). 즉, 단말 장치(301, 302)가 요청한 컨텐츠를 캐싱하고 있는 경우, 컨텐츠 제공 서버(302)를 대신하여 캐싱된 컨텐츠를 단말 장치(301, 302)로 제공한다.
반면, S605 단계에서 캐시 히트가 아니면, 다른 캐시 장치 혹은 컨텐츠 제공 서버(200)가 요청된 컨텐츠를 제공할 수 있도록, 상기 수신한 컨텐츠 요청 메시지를 S601 단계에서 설정된 마스터 캐시 장치(101~103)로 전송한다(S609).
또한, 상기 슬레이브 캐시 장치(104~109)는, 상위의 마스터 캐시 장치(101~103)를 통해서 컨텐츠 제공 서버(200)의 컨텐츠 응답 메시지를 수신할 수 있다(S611). 이렇게 컨텐츠 제공 서버(200)의 컨텐츠 응답 메시지를 마스터 캐시 장치(101~103)를 통해 수신하면, 컨텐츠 응답 메시지에 포함된 컨텐츠 데이터를 추출하여 저장부(120)에 저장하면서(S613), 상기 컨텐츠 응답 메시지를 원래의 목적지인 단말 장치(301, 302)로 전송한다(S615). 이를 통해 슬레이브 캐시 장치(104~109)는 동일 컨텐츠에 대하여 다시 요청된 경우, 컨텐츠 제공 서버(200)에 요청할 필요 없이, 바로 저장된 컨텐츠를 서비스할 수 있다.
또한, 상기 슬레이브 캐시 장치(104~109)는, 상위의 마스터 캐시 장치(101~103)를 통해서 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 수신할 수 있다(S617). 이렇게 리다이렉션 메시지를 수신한 슬레이브 캐시 장치(104~109)는 상기 수신한 리다이렉션 메시지를 단말 장치(301, 302)에 그대로 전달하여, 상기 단말 장치(301, 302)가 리다이렉션 메시지에서 변경된 위치로 컨텐츠를 다시 요청하여 수신할 수 있도록 한다(S619).
본 발명에 따른 컨텐츠 전송 서비스 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.
본 발명은 컨텐츠 전송 서비스에 적용되어, 네트워크에 분산 배치된 다수의 캐시 장치를 계층적으로 구분하여 트리 구조로 연결하고, 캐시 장치들이 서로 캐싱된 컨텐츠에 대한 정보를 공유할 수 있도록 함으로써, 특정 캐시 장치에 요청된 컨텐츠를 캐싱하지 않고 있다 하더라도, 해당 컨텐츠를 캐싱하고 있는 다른 캐시 장치를 통해서 컨텐츠를 제공되도록 할 수 있으며, 그 결과, 캐시 장치들의 저장 공간을 보다 효율적으로 이용할 수 있으며, 아울러, 컨텐츠 제공 서버로 집중되는 트래픽을 더 분산시킬 수 있는 우수한 효과가 있으므로, 산업상 이용 가능성이 있는 것이다.
100: 캐시 장치
101~103: 마스터 캐시 장치
104~109: 슬레이브 캐시 장치
200: 컨텐츠 제공 서버
301, 302: 단말 장치

Claims (19)

  1. 마스터 캐시 장치가,
    하나 이상의 슬레이브 캐시 장치, 상위 레벨 마스터 캐시 장치, 하위 레벨 마스터 캐시 장치 중에서 하나 이상에 대한 설정 정보를 저장하는 단계;
    상기 하나 이상의 슬레이브 캐시 장치 및 하위 레벨 마스터 캐시 장치 중 어느 하나인 하위 노드로부터 컨텐츠 요청 메시지를 수신하는 단계;
    요청된 컨텐츠에 대한 캐시 히트 여부를 판단하는 단계;
    캐시 히트가 아니면, 상기 컨텐츠 요청 메시지를 상위 레벨 마스터 캐시 장치로 전송하는 단계;
    캐시 히트이면, 상기 컨텐츠의 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 상기 하위 노드로 전송하는 단계를 포함하고,
    상기 설정 정보를 저장하는 단계는
    그룹 별로 캐시 장치들의 성능 관련 정보를 비교하여 마스터 캐시 장치와 슬레이브 캐시 장치를 설정하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  2. 제1항에 있어서,
    상기 마스터 캐시 장치가 컨텐츠 제공 서버 혹은 상위 레벨 마스터 캐시 장치로부터 컨텐츠 응답 메시지를 수신하는 단계;
    상기 컨텐츠 응답 메시지로부터 컨텐츠가 캐싱될 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 저장하는 단계; 및
    상기 컨텐츠 응답 메시지를 상기 하위 노드 또는 해당 컨텐츠를 요청한 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  3. 제1항에 있어서,
    상기 마스터 캐시 장치가 상위 레벨 마스터 캐시 장치로부터 리다이렉션 메시지를 수신하는 단계;
    상기 리다이렉션 메시지로부터 컨텐츠가 캐싱된 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 저장하는 단계;
    상기 리다이렉션 메시지를 상기 하위 노드 또는 해당 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  4. 제1항에 있어서,
    캐시 히트가 아닌 경우, 상위 레벨 마스터 캐시 장치가 존재하는 지를 확인하는 단계; 및
    상위 레벨 마스터 캐시 장치가 존재하지 않으면, 컨텐츠 제공 서버로 상기 컨텐츠 요청 메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  5. 제1항에 있어서,
    캐시 히트가 아니면, 요청된 컨텐츠에 대한 컨텐츠 위치 정보가 존재하는 지를 확인하는 단계;
    컨텐츠 위치 정보가 존재하면, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 생성하여 상기 하위 노드 또는 컨텐츠를 요청한 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  6. 제5항에 있어서,
    상기 리다이렉션 메시지를 하위 노드 또는 단말 장치로 전송하기 전에, 해당 컨텐츠의 요청 횟수를 확인하는 단계;
    상기 요청 횟수가 기준값 이상이면, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠를 요청하는 단계;
    상기 요청에 대응하여 상기 캐시 장치로부터 전송된 컨텐츠 응답 메시지를 수신하고 이로부터 컨텐츠를 추출하여 캐싱하는 단계; 및
    상기 수신한 컨텐츠 응답 메시지를 상기 하위 노드 또는 상기 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  7. 슬레이브 캐시 장치가,
    마스터 캐시 장치의 설정 정보를 저장하는 단계;
    단말 장치의 컨텐츠 요청 메시지를 수신하는 단계;
    요청된 컨텐츠의 캐시 히트 여부를 판단하는 단계;
    캐시 히트이면, 캐싱된 컨텐츠를 추출하여 컨텐츠 응답 메시지를 생성하고, 생성한 컨텐츠 응답 메시지를 상기 단말 장치로 전송하는 단계; 및
    캐시 히트가 아니면, 상기 컨텐츠 요청 메시지를 상기 마스터 캐시 장치를 통해 컨텐츠 제공 서버로 전송하는 단계를 포함하고,
    상기 설정 정보를 저장하는 단계는
    그룹 별로 캐시 장치들의 성능 관련 정보를 비교하여 마스터 캐시 장치와 슬레이브 캐시 장치를 설정하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  8. 제7항에 있어서,
    상기 슬레이브 캐시 장치가, 상기 마스터 캐시 장치를 통해 상기 요청된 컨텐츠에 대한 컨텐츠 응답 메시지를 수신하는 단계;
    상기 컨텐츠 응답 메시지로부터 컨텐츠를 추출하여 캐싱하는 단계;
    상기 컨텐츠 응답 메시지를 상기 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  9. 제7항에 있어서,
    상기 슬레이브 캐시 장치가 상기 마스터 캐시 장치로부터 리다이렉션 메시지를 수신하면, 상기 리다이렉션 메시지를 상기 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  10. 다수의 캐시 장치 중 어느 하나의 캐시 장치가,
    네트워크에 분산 배치된 다수의 캐시 장치를 다수의 그룹으로 그룹화하는 단계;
    각 그룹별로, 마스터 캐시 장치와 상기 마스터 캐시 장치의 하위 노드인 슬레이브 캐시 장치를 설정하는 단계;
    다수의 마스터 캐시 장치를 계층적으로 구분하여 트리 구조로 연결하는 단계;
    단말 장치의 컨텐츠 요청 메시지 및 이에 대응하는 컨텐츠 응답 메시지를 트리구조로 연결된 하나 이상의 마스터 캐시 장치를 통해서 컨텐츠 제공 서버 및 단말 장치로 전송하는 단계;
    상기 컨텐츠 응답 메시지를 수신한 마스터 캐시 장치는, 컨텐츠 응답 메시지로부터 추출된 컨텐츠를 캐싱할 캐시 장치를 나타내는 컨텐츠 위치 정보를 저장하는 단계; 및
    상기 컨텐츠 요청 메시지를 수신한 마스터 캐시 장치는 요청된 컨텐츠에 대한 캐시 히트 여부를 판단하는 단계; 및
    캐시 히트인 경우, 상기 마스터 캐시 장치가 컨텐츠 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 상기 단말 장치로 전송하는 단계;를 포함하고,
    상기 설정하는 단계는
    그룹 별로 캐시 장치들의 성능 관련 정보를 비교하여 마스터 캐시 장치와 슬레이브 캐시 장치를 설정하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  11. 제10항에 있어서,
    캐시 히트가 아니면, 상기 마스터 캐시 장치가 상기 요청된 컨텐츠에 대응하는 컨텐츠 위치 정보가 존재하는 지를 확인하는 단계; 및
    컨텐츠 위치 정보가 존재하면, 상기 마스터 캐시 장치가 상기 컨텐츠 위치 정보에 대응하여 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 상기 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  12. 제10항에 있어서, 상기 설정하는 단계는,
    각 그룹에 속하는 다수 캐시 장치에 대하여, 캐시 용량, 하드웨어 성능, 서비스 대상 단말 장치의 수 중 하나 이상을 포함하는 캐시 성능 정보를 비교하여 상기 마스터 캐시 장치 및 슬레이브 캐시 장치를 설정하는 것을 특징으로 하는 컨텐츠 전송 서비스 방법.
  13. 네트워크를 통해 데이터를 송수신하기 위한 통신 인터페이스부;
    캐싱된 컨텐츠, 트리 구조로 연결된 다른 캐시 장치를 정의하는 캐시 연결 정보, 다른 캐시 장치에 저장된 컨텐츠에 대한 컨텐츠 위치 정보 중 하나 이상을 저장하는 저장부; 및
    마스터 모드인지 슬레이브 모드인지를 확인하여, 마스터 모드인 경우, 상기 캐시 연결 정보로서 하나 이상의 슬레이브 캐시 장치, 트리 구조로 연결된 상위 레벨 마스터 캐시 장치 및 하위 레벨 캐시 장치 중에서 하나 이상에 대한 정보를 저장하고, 단말 장치가 요청한 컨텐츠에 대한 캐시 히트 여부를 판단하여 캐시 히트이면, 컨텐츠 요청 위치를 자신으로 변경하는 리다이렉션 메시지를 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해 상기 단말 장치로 전송하는 제어부를 포함하고,
    상기 제어부는
    그룹 별로 캐시 장치들의 성능 관련 정보를 비교하여 마스터 캐시 장치와 슬레이브 캐시 장치를 설정하는 것을 특징으로 하는 캐시 장치.
  14. 제13항에 있어서, 상기 제어부는
    마스터 모드인 경우, 상기 상위 레벨 마스터 캐시 장치 또는 컨텐츠 제공 서버로부터 컨텐츠 응답 메시지 또는 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 수신하여 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해 단말 장치로 전송하되, 상기 컨텐츠 응답 메시지 또는 리다이렉션 메시지로부터 컨텐츠가 캐싱될 캐시 장치를 나타내는 컨텐츠 위치 정보를 추출하여 상기 저장부에 저장하는 것을 특징으로 하는 캐시 장치.
  15. 제13항에 있어서, 상기 제어부는
    마스터 모드인 경우, 캐시 히트가 아니면, 상기 요청된 컨텐츠에 대한 컨텐츠 위치 정보가 상기 저장부에 존재하는 지를 더 확인하고, 상기 컨텐츠 위치 정보가 존재하는 경우, 컨텐츠 요청 위치를 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 변경하는 리다이렉션 메시지를 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치를 통해 해당 단말 장치로 전송하는 것을 특징으로 하는 캐시 장치.
  16. 제13항에 있어서, 상기 제어부는
    해당 컨텐츠의 요청 횟수, 해당 컨텐츠를 요청한 단말 장치의 위치 중 하나 이상에 따라서, 해당 컨텐츠를 캐싱할 지를 판단하고, 캐싱하는 것으로 판단되면, 상기 리다이렉션 메시지를 전송하는 대신에, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로부터 해당 컨텐츠를 전송 받아 상기 하나 이상의 슬레이브 캐시 장치 또는 하위 레벨 마스터 캐시 장치로 전송하는 것을 특징으로 하는 캐시 장치.
  17. 제13항에 있어서, 상기 제어부는
    단말 장치로부터 컨텐츠 요청 메시지를 수신하면, 요청된 컨텐츠의 캐시 히트 여부 및 컨텐츠 위치 정보의 존재 여부 중에서 하나 이상을 판단하여, 캐시 히트인 경우, 캐싱된 컨텐츠를 상기 단말 장치로 전송하고, 캐시 히트가 아니지만 컨텐츠 위치 정보가 존재하는 경우, 상기 컨텐츠 위치 정보에 대응하는 캐시 장치로 컨텐츠 요청 위치를 변경하는 리다이렉션 메시지를 상기 단말 장치로 전송하는 것을 특징으로 하는 캐시 장치.
  18. 제13항에 있어서, 상기 제어부는
    슬레이브 모드인 경우, 상위 노드인 마스터 캐시 장치의 설정 정보를 캐시 연결 정보로서 저장하고, 단말 장치로부터 컨텐츠 요청 메시지를 수신하면, 컨텐츠 캐시 히트 여부를 판단하여, 캐시 히트이면 캐싱된 컨텐츠를 상기 단말 장치로 전송하고, 캐시 히트가 아니면, 상기 컨텐츠 요청 메시지를 상기 마스터 캐시 장치로 전송하는 것을 특징으로 하는 캐시 장치.
  19. 제18항에 있어서, 상기 제어부는
    슬레이브 모드인 경우, 상기 마스터 캐시 장치를 통해서 컨텐츠 제공 서버의 컨텐츠 응답 메시지를 수신하면, 상기 컨텐츠 응답 메시지는 상기 단말 장치로 전송하면서, 상기 컨텐츠 응답 메시지로부터 컨텐츠 데이터를 추출하여 상기 저장부에 저장하는 것을 특징으로 하는 캐시 장치.
KR1020120098212A 2012-09-05 2012-09-05 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치 KR101959970B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120098212A KR101959970B1 (ko) 2012-09-05 2012-09-05 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120098212A KR101959970B1 (ko) 2012-09-05 2012-09-05 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치

Publications (2)

Publication Number Publication Date
KR20140032064A KR20140032064A (ko) 2014-03-14
KR101959970B1 true KR101959970B1 (ko) 2019-07-04

Family

ID=50643782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120098212A KR101959970B1 (ko) 2012-09-05 2012-09-05 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치

Country Status (1)

Country Link
KR (1) KR101959970B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015160222A1 (ko) * 2014-04-18 2015-10-22 에스케이텔레콤 주식회사 실시간 방송 컨텐츠 전송 방법 및 이를 위한 장치
CN106256132B (zh) 2014-04-18 2019-06-18 Sk电信有限公司 用于实时发送广播内容的方法及其装置
KR101999719B1 (ko) * 2014-10-29 2019-07-12 에스케이텔레콤 주식회사 컨텐츠 관리장치 및 방법
JP6497993B2 (ja) * 2015-03-17 2019-04-10 日本放送協会 中継装置、視聴端末およびそれらのプログラム
KR102169717B1 (ko) * 2015-03-17 2020-10-23 에스케이텔레콤 주식회사 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치
US11010341B2 (en) * 2015-04-30 2021-05-18 Netflix, Inc. Tiered cache filling
KR102293001B1 (ko) * 2016-03-03 2021-08-24 에스케이텔레콤 주식회사 컨텐츠 제공 및 캐싱 방법, 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
KR101817744B1 (ko) * 2017-07-13 2018-01-11 주식회사 티피올 네트워크를 기반으로 사용자 편의 서비스를 제공하는 방법 및 이러한 방법을 수행하는 장치
KR102133840B1 (ko) * 2018-11-16 2020-07-14 네이버 주식회사 라이브 서비스를 위한 분산 파일 시스템 및 데이터 처리 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
JP2008219885A (ja) 2007-03-01 2008-09-18 Seiko Epson Corp ネットワーク環境における無線周辺機器の自動設定方法、ネットワークにおける機器の自動設定方法、ネットワーク環境における複数の無線周辺機器を自動的に設定する方法、および周辺機器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240105B2 (en) * 2001-01-26 2007-07-03 International Business Machines Corporation Distributed multicast caching technique
KR100533678B1 (ko) * 2003-10-02 2005-12-05 삼성전자주식회사 공개 키 기반 구조의 도메인을 형성하여 UPnP를통하여 구현하는 방법
KR101125065B1 (ko) * 2008-10-31 2012-03-21 에스케이플래닛 주식회사 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법
US8417816B2 (en) * 2009-02-20 2013-04-09 Alcatel Lucent Topology aware cache cooperation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
JP2008219885A (ja) 2007-03-01 2008-09-18 Seiko Epson Corp ネットワーク環境における無線周辺機器の自動設定方法、ネットワークにおける機器の自動設定方法、ネットワーク環境における複数の無線周辺機器を自動的に設定する方法、および周辺機器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최창호 외 2인."계층적 서버 모델을 기반으로 한 이동 호스트 프로토콜 설계".한국정보과학회 학술발표논문집.1997.04.30.,24(1A),(제187면 내지 제190면) 1부.*

Also Published As

Publication number Publication date
KR20140032064A (ko) 2014-03-14

Similar Documents

Publication Publication Date Title
KR101959970B1 (ko) 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치
US11165879B2 (en) Proxy server failover protection in a content delivery network
KR101330052B1 (ko) 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
CN108027805B (zh) 数据网络中的负载分发
US10587513B2 (en) Method, apparatus and system for determining content acquisition path and processing request
US20150207846A1 (en) Routing Proxy For Adaptive Streaming
KR20150091223A (ko) 가상 파이프에서 멀티미디어 스트림에 의해 사용되는 망자원들을 관리하기 위한 방법 및 장치
KR20130088774A (ko) 분할 콘텐트 전달 시스템 및 방법
US20220141141A1 (en) Systems and methods for adjusting a congestion window value of a content delivery network
KR101436049B1 (ko) 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR101981285B1 (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
CN102301682A (zh) 网络缓存方法和***及dns重定向子***
US10250671B2 (en) P2P-based file transmission control method and P2P communication control device therefor
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
KR101356961B1 (ko) 컨텐츠 전송 시스템, 이를 위한 방법 및 장치
KR101441403B1 (ko) 컨텐츠 전송 서비스 시스템, 그의 장치 및 컨텐츠 전송 서비스 지원 방법
CN106533760B (zh) 一种在cm网络中构建cdn***的方法及装置
US10372564B2 (en) Failover handling in a content node of a content delivery network
CN104518985A (zh) 一种分布式网络环境下服务节点的选择方法及终端
KR20150011087A (ko) 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치
US20140164608A1 (en) Content transmission system
KR102100319B1 (ko) 컨텐츠 전송 제어 방법 및 이를 위한 장치
KR20130108228A (ko) 컨텐츠 전송 시스템, 이를 위한 방법 및 장치
KR20140031433A (ko) 컨텐츠 전송 시스템 및 방법
KR20130134911A (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치

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
GRNT Written decision to grant