KR102000168B1 - 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템 - Google Patents

콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템 Download PDF

Info

Publication number
KR102000168B1
KR102000168B1 KR1020130038677A KR20130038677A KR102000168B1 KR 102000168 B1 KR102000168 B1 KR 102000168B1 KR 1020130038677 A KR1020130038677 A KR 1020130038677A KR 20130038677 A KR20130038677 A KR 20130038677A KR 102000168 B1 KR102000168 B1 KR 102000168B1
Authority
KR
South Korea
Prior art keywords
content
stored
providing device
content providing
cluster
Prior art date
Application number
KR1020130038677A
Other languages
English (en)
Other versions
KR20140036942A (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 US13/941,083 priority Critical patent/US9621620B2/en
Publication of KR20140036942A publication Critical patent/KR20140036942A/ko
Application granted granted Critical
Publication of KR102000168B1 publication Critical patent/KR102000168B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel

Abstract

본 발명은 IP 네트워크와 호환성을 유지하고 콘텐트 전달을 위한 콘텐트 동기화 및 요청 라우팅 과정을 배제하여 완전 분산 구조 형태로 콘텐트를 전달하는 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템을 제안한다. 제안된 시스템은 콘텐트를 요청하는 사용자 단말; 콘텐트의 요청이 수신되면 콘텐트가 저장되어 있는지 여부를 판별하며, 콘텐트가 저장되어 있으면 저장된 콘텐트를 사용자 단말로 전송하는 제1 콘텐트 제공 장치; 및 제1 콘텐트 제공 장치와 함께 클러스터를 구성하는 것으로서, 콘텐트가 제1 콘텐트 제공 장치에 저장되어 있지 않을 때 제1 콘텐트 제공 장치의 요청에 따라 콘텐트가 저장되어 있는지 여부를 판별하며, 콘텐트가 저장되어 있으면 제1 콘텐트 제공 장치를 통해 사용자 단말로 콘텐트를 전송하는 제2 콘텐트 제공 장치를 포함한다.

Description

콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템 {Apparatus and method for providing content, and system for providing content with the said apparatus}
본 발명은 콘텐트를 제공하는 장치와 방법 및 상기 장치를 구비하는 콘텐트 제공 시스템에 관한 것이다. 보다 상세하게는, 유무선 네트워크에서 요청된 콘텐트를 사용자에게 전송하는 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템에 관한 것이다.
스마트폰 및 패드와 같은 다양한 스마트 장치가 사용자에게 제공됨에 따라 유무선 네트워크에서의 인터넷 트래픽은 증가하여 통신 사업자의 네트워크 유지 비용이 급격히 증가하고 있다. 인터넷 트래픽의 급증 원인 중 하나는 비디오와 같은 특정 콘텐트에 의해 유발되며, 이를 위하여 콘텐트 제공 사업자와 통신 사업자는 CDN(Content Delivery Network)과 같은 콘텐트 전달 네트워크를 제공하고 있다.
콘텐트 전달 네트워크는 모든 콘텐트 서버에 동일한 콘텐트를 배포하고 사용자는 자신이 필요로 하는 콘텐트를 가장 가까운 콘텐트 서버로부터 받는다. 기존의 콘텐트 전달 네트워크는 콘텐트 배포 서버 및 콘텐트 서버의 동기화 과정, 그리고 사용자가 요구하는 콘텐트를 제공하기 위한 콘텐트 서버 선정을 위한 요청 라우팅 과정이 필요하다. 이러한 콘텐트 동기화 및 요청 라우팅 과정은 콘텐트 전송과의 별개의 인터넷 트래픽으로 전달하는 콘텐트 종류 및 요청 콘텐트 증가에 따라 네트워크 부담으로 작용하는 문제점을 가지고 있다. 이를 해결하기 위해 CCN(Content Centric Network)와 같은 콘텐트 정보 기반의 네트워크가 연구되고 있으나, IP 네트워크와의 호환성, 콘텐트 정보 체계 및 콘텐트 정보를 이용한 라우팅 테이블 크기의 제약 등의 문제점이 있다.
본 발명이 속하는 기술분야의 종래기술로 한국등록특허 제715,143호가 있다. 그런데 이 종래기술에서는 대용량 콘텐트를 전송하기 위한 스트리밍 제어를 위한 파일 분할, 병합 및 재생 기술을 제안하고 있을 뿐, CDN에서 콘텐트 동기화 문제와 콘텐트 위치를 찾기 위한 요청 라우팅 문제를 해결할 수가 없다. 또한 CCN에서 문제점으로 지적되는 IP 네트워크 연동 문제도 해결할 수가 없다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로서, IP 네트워크와 호환성을 유지하고 콘텐트 전달을 위한 콘텐트 동기화 및 요청 라우팅 과정을 배제하여 완전 분산 구조 형태로 콘텐트를 전달하는 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템을 제안함을 목적으로 한다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명은 상기한 목적을 달성하기 위해 안출된 것으로서, 사용자 단말을 통해 요청된 콘텐트가 저장되어 있는지 여부를 판별하는 판별부; 상기 콘텐트가 저장되어 있지 않으면 동일 클러스터 내의 다른 콘텐트 제공 장치들로 상기 콘텐트가 저장되어 있는지 여부를 질의하는 질의부; 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치로부터 상기 콘텐트를 수신하는 제1 처리부; 및 상기 콘텐트가 저장되어 있으면 저장된 상기 콘텐트를 상기 사용자 단말로 전송하며, 상기 콘텐트가 저장되어 있지 않으면 수신된 상기 콘텐트를 저장하고 상기 사용자 단말로 전송하는 제2 처리부를 포함하는 것을 특징으로 하는 콘텐트 제공 장치를 제안한다.
상기 제1 처리부는 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 한개이면 이 콘텐트 제공 장치로부터 상기 콘텐트를 수신하며, 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 적어도 두개이면 가장 가까운 위치에 있는 콘텐트 제공 장치로부터 상기 콘텐트를 수신한다.
상기 제1 처리부는 각 콘텐트 제공 장치의 위치 정보를 기초로 상기 각 콘텐트 제공 장치까지의 거리를 계산하여 가장 가까운 위치에 있는 콘텐트 제공 장치를 결정한다.
상기 질의부는 공인 아이피 네트워크(Public IP network) 상에 있는 콘텐트 제공 서버로 상기 콘텐트가 저장되어 있는지 여부를 질의한다.
상기 제1 처리부는 상기 동일 클러스터 내의 다른 콘텐트 제공 장치들에 상기 콘텐트가 저장되어 있지 않으면 상기 콘텐트 제공 서버로부터 상기 콘텐트를 수신하며, 상기 동일 클러스터 내의 다른 콘텐트 제공 장치에 상기 콘텐트가 저장되어 있으면 상기 콘텐트 제공 서버로 상기 콘텐트의 전송을 중지 요청한다.
상기 제2 처리부는 상기 콘텐트를 상기 사용자 단말로 전송할 때마다 상기 콘텐트를 전송한 횟수를 카운트한다.
상기 제2 처리부는 저장되어 있지 않은 미저장 콘텐트를 콘텐트 저장 목록에 제1 콘텐트로 기록하고, 동일 클러스터에 속하는 적어도 두개의 콘텐트 저장 장치들로부터 상기 미저장 콘텐트를 보유하고 있다고 응답받으면 상기 미저장 콘텐트를 제공받아 저장하면서 상기 미저장 콘텐트를 상기 콘텐트 저장 목록에서 제2 콘텐트로 변경 기록하며, 동일 클러스터에 속하는 하나의 콘텐트 저장 장치나 상기 콘텐트 제공 서버로부터 상기 미저장 콘텐트를 보유하고 있다고 응답받으면 상기 미저장 콘텐트를 제공받아 저장하면서 상기 미저장 콘텐트를 상기 콘텐트 저장 목록에 제3 콘텐트로 변경 기록한다.
상기 콘텐트 제공 장치는 저장중인 콘텐트를 삭제하며, 상기 콘텐트 저장 목록을 이용하여 상기 제2 콘텐트를 먼저 삭제하고 상기 제3 콘텐트를 나중 삭제하는 제3 처리부를 더욱 포함한다.
상기 제3 처리부는 상기 제2 콘텐트가 적어도 두개일 때 상기 사용자 단말로의 전송 횟수가 적은 콘텐트부터 삭제한다.
상기 콘텐트 제공 장치는 상기 콘텐트를 저장하는 저장부; 및 다른 콘텐트 제공 장치들과 연합하여 클러스터를 생성하거나, 이미 구성된 클러스터에 등록하는 클러스터링부를 더욱 포함한다.
또한 본 발명은 사용자 단말을 통해 요청된 콘텐트가 저장되어 있는지 여부를 판별하는 판별 단계; 상기 콘텐트가 저장되어 있지 않으면 동일 클러스터 내의 다른 콘텐트 제공 장치들로 상기 콘텐트가 저장되어 있는지 여부를 질의하는 질의 단계; 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치로부터 상기 콘텐트를 수신하는 제1 처리 단계; 및 상기 콘텐트가 저장되어 있으면 저장된 상기 콘텐트를 상기 사용자 단말로 전송하며, 상기 콘텐트가 저장되어 있지 않으면 수신된 상기 콘텐트를 저장하고 상기 사용자 단말로 전송하는 제2 처리 단계를 포함하는 것을 특징으로 하는 콘텐트 제공 방법을 제안한다.
상기 제1 처리 단계는 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 한개이면 이 콘텐트 제공 장치로부터 상기 콘텐트를 수신하며, 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 적어도 두개이면 가장 가까운 위치에 있는 콘텐트 제공 장치로부터 상기 콘텐트를 수신한다.
상기 제1 처리 단계는 각 콘텐트 제공 장치의 위치 정보를 기초로 상기 각 콘텐트 제공 장치까지의 거리를 계산하여 가장 가까운 위치에 있는 콘텐트 제공 장치를 결정한다.
상기 질의 단계는 공인 아이피 네트워크(Public IP network) 상에 있는 콘텐트 제공 서버로 상기 콘텐트가 저장되어 있는지 여부를 질의한다.
상기 제1 처리 단계는 상기 동일 클러스터 내의 다른 콘텐트 제공 장치들에 상기 콘텐트가 저장되어 있지 않으면 상기 콘텐트 제공 서버로부터 상기 콘텐트를 수신하며, 상기 동일 클러스터 내의 다른 콘텐트 제공 장치에 상기 콘텐트가 저장되어 있으면 상기 콘텐트 제공 서버로 상기 콘텐트의 전송을 중지 요청한다.
상기 제2 처리 단계는 상기 콘텐트를 상기 사용자 단말로 전송할 때마다 상기 콘텐트를 전송한 횟수를 카운트한다.
상기 제2 처리 단계는 저장되어 있지 않은 미저장 콘텐트를 콘텐트 저장 목록에 제1 콘텐트로 기록하고, 동일 클러스터에 속하는 적어도 두개의 콘텐트 저장 장치들로부터 상기 미저장 콘텐트를 보유하고 있다고 응답받으면 상기 미저장 콘텐트를 제공받아 저장하면서 상기 미저장 콘텐트를 상기 콘텐트 저장 목록에서 제2 콘텐트로 변경 기록하며, 동일 클러스터에 속하는 하나의 콘텐트 저장 장치나 상기 콘텐트 제공 서버로부터 상기 미저장 콘텐트를 보유하고 있다고 응답받으면 상기 미저장 콘텐트를 제공받아 저장하면서 상기 미저장 콘텐트를 상기 콘텐트 저장 목록에 제3 콘텐트로 변경 기록한다.
상기 제2 처리 단계 이후, 저장중인 콘텐트를 삭제하며, 상기 콘텐트 저장 목록을 이용하여 상기 제2 콘텐트를 먼저 삭제하고 상기 제3 콘텐트를 나중 삭제하는 제3 처리 단계를 포함한다. 상기 제3 처리 단계는 저장되어 있는 콘텐트가 있다면 아무때나 수행되어도 무방하므로 상기 제2 처리 단계 이후에 수행됨에 한정되지 않는다.
상기 제3 처리 단계는 상기 제2 콘텐트가 적어도 두개일 때 상기 사용자 단말로의 전송 횟수가 적은 콘텐트부터 삭제한다.
또한 본 발명은 콘텐트를 요청하는 사용자 단말; 상기 콘텐트의 요청이 수신되면 상기 콘텐트가 저장되어 있는지 여부를 판별하며, 상기 콘텐트가 저장되어 있으면 저장된 상기 콘텐트를 상기 사용자 단말로 전송하는 제1 콘텐트 제공 장치; 및 상기 제1 콘텐트 제공 장치와 함께 클러스터를 구성하는 것으로서, 상기 콘텐트가 상기 제1 콘텐트 제공 장치에 저장되어 있지 않을 때 상기 제1 콘텐트 제공 장치의 요청에 따라 상기 콘텐트가 저장되어 있는지 여부를 판별하며, 상기 콘텐트가 저장되어 있으면 상기 제1 콘텐트 제공 장치를 통해 상기 사용자 단말로 상기 콘텐트를 전송하는 제2 콘텐트 제공 장치를 포함하는 것을 특징으로 하는 콘텐트 제공 시스템을 제안한다.
상기 콘텐트가 저장되어 있는 상기 제2 콘텐트 제공 장치가 적어도 두개일 때 상기 제1 콘텐트 제공 장치는 각 제2 콘텐트 제공 장치의 위치 정보를 기초로 상기 각 제2 콘텐트 제공 장치까지의 거리를 계산하여 가장 가까운 위치에 있는 제2 콘텐트 제공 장치로부터 상기 콘텐트를 수신한다.
상기 콘텐트 제공 시스템은 공인 아이피 네트워크 상에 있는 서버로서, 상기 콘텐트가 상기 제1 콘텐트 제공 장치에 저장되어 있지 않을 때 상기 제1 콘텐트 제공 장치의 요청에 따라 상기 콘텐트가 저장되어 있는지 여부를 판별하며, 상기 콘텐트가 저장되어 있으면 상기 제1 콘텐트 제공 장치를 통해 상기 사용자 단말로 상기 콘텐트를 전송하는 콘텐트 제공 서버; 및 상기 제1 콘텐트 제공 장치와 상기 콘텐트 제공 서버를 연결하는 것으로서, 상기 콘텐트가 상기 제2 콘텐트 제공 장치에 저장되어 있으면 상기 콘텐트 제공 서버가 상기 제1 콘텐트 제공 장치로 상기 콘텐트를 전송하는 것을 중지시키는 게이트웨이를 더욱 포함한다.
상기 게이트웨이는 상기 제1 콘텐트 제공 장치 및 상기 제2 콘텐트 제공 장치와 동일 클러스터에 속하는 제3 콘텐트 제공 장치로 구현된다.
본 발명의 구성에 따르면 콘텐트 전달을 위한 사용자 밀결합(tightly coupling) 클러스터를 구성할 수 있다. 본 발명은 콘텐트 동기화 및 요청 라우팅 과정 배제를 위해 완전 분산 콘텐트 저장 및 제공 구조를 제공함으로써, 종래 콘텐트 전달 네트워크가 가진 문제점을 해결할 수 있다. 또한, 본 발명에서 고안된 사용자 밀결합 클러스터는 인기 콘텐트에 대해 지역적으로 분산시켜 해당 콘텐트를 콘텐트 서버로부터 직접 서비스 받지 않게 함으로써, 액세스 네트워크 또는 백홀 네트워크의 특정 네트워크 장치에서 발생하는 병목 현상을 경감시켜 네트워크 사업자의 네트워크 유지 및 증설 비용을 경감할 수 있다. 완전 분산 콘텐트 저장 및 제공 구조는 일부 서버에서 장애가 발생하여도 다른 서버로부터 콘텐트를 제공 받음으로써 장애를 극복할 수 있는 고가용성을 제공한다.
도 1은 본 발명의 바람직한 실시예에 따른 콘텐트 제공 시스템을 개략적으로 도시한 블록도이다.
도 2는 도 1에 도시된 제1 콘텐트 제공 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 3은 도 2에 도시된 제1 콘텐트 제공 장치에 추가되는 구성을 도시한 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따른 제1 콘텐트 제공 장치의 콘텐트 제공 방법을 개략적으로 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 시스템을 도시한 개념도이다.
도 6은 도 5의 시스템을 구성하는 CCE의 내부 구성을 도시한 블록도이다.
도 7은 도 5의 시스템을 구성하는 서비스 게이트웨이의 내부 구성을 도시한 블록도이다.
도 8은 CCE에 저장된 콘텐트를 관리하기 위한 MES 프로토콜의 콘텐트 상태 관리 천이도이다.
도 9는 콘텐트 상태를 이용한 우선순위 기반의 LRU 방법의 동작 순서도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 바람직한 실시예에 따른 콘텐트 제공 시스템을 개략적으로 도시한 블록도이다. 도 1에 따르면, 콘텐트 제공 시스템(100)은 사용자 단말(110), 제1 콘텐트 제공 장치(120) 및 제2 콘텐트 제공 장치(130)를 포함한다. 콘텐트 제공 시스템(100)은 게이트웨이(140) 및 콘텐트 제공 서버(150)를 더욱 포함할 수 있다.
사용자 단말(110)은 콘텐트를 요청하는 기능을 수행한다. 사용자 단말(110)은 사용자가 휴대하고 있거나 사용자에 의해 지정된 단말로 구현될 수 있다.
제1 콘텐트 제공 장치(120)는 콘텐트의 요청이 수신되면 콘텐트가 저장되어 있는지 여부를 판별하는 기능을 수행한다. 또한 제1 콘텐트 제공 장치(120)는 콘텐트가 저장되어 있으면 저장된 콘텐트를 사용자 단말로 전송하는 기능을 수행한다. 제1 콘텐트 제공 장치(120)는 통상의 서버로 구현될 수 있다.
제2 콘텐트 제공 장치(130)는 콘텐트가 제1 콘텐트 제공 장치(120)에 저장되어 있지 않을 때 제1 콘텐트 제공 장치(120)의 요청에 따라 콘텐트가 저장되어 있는지 여부를 판별하는 기능을 수행한다. 또한 제2 콘텐트 제공 장치(130)는 콘텐트가 저장되어 있으면 제1 콘텐트 제공 장치(120)를 통해 사용자 단말(110)로 콘텐트를 전송하는 기능을 수행한다. 제2 콘텐트 제공 장치(130)는 제1 콘텐트 제공 장치(120)와 함께 클러스터(160)를 구성하는 것으로서, 본 실시예에서 적어도 하나 구비된다. 제2 콘텐트 제공 장치(130)는 제1 콘텐트 제공 장치(120)와 더불어 통상의 서버로 구현될 수 있다.
콘텐트 제공 서버(150)는 공인 아이피 네트워크(Public IP Network) 상에 있는 서버이다. 이 콘텐트 제공 서버(150)는 콘텐트가 제1 콘텐트 제공 장치(120)에 저장되어 있지 않을 때 제1 콘텐트 제공 장치(120)의 요청에 따라 콘텐트가 저장되어 있는지 여부를 판별하는 기능을 수행한다. 또한 콘텐트 제공 서버(150)는 콘텐트가 저장되어 있으면 제1 콘텐트 제공 장치(120)를 통해 사용자 단말(110)로 콘텐트를 전송하는 기능을 수행한다. 다만 콘텐트 제공 서버(150)는 제2 콘텐트 제공 장치(130)도 콘텐트를 저장하고 있지 않을 때에 한해 콘텐트 전송 기능을 수행한다.
게이트웨이(140)는 제1 콘텐트 제공 장치(120)와 콘텐트 제공 서버(150)를 연결하는 구성이다. 게이트웨이(140)는 콘텐트가 제2 콘텐트 제공 장치(130)에 저장되어 있으면 콘텐트 제공 서버(150)가 제1 콘텐트 제공 장치(120)로 콘텐트를 전송하는 것을 중지시키는 기능을 수행한다.
한편 게이트웨이(140)는 제1 콘텐트 제공 장치(120) 및 제2 콘텐트 제공 장치(130)와 동일 클러스터(160)에 속하는 제3 콘텐트 제공 장치로 구현될 수도 있다.
다음으로 도 1의 콘텐트 제공 시스템(100)에 구비되는 제1 콘텐트 제공 장치(120)에 대하여 설명한다. 도 2는 도 1에 도시된 제1 콘텐트 제공 장치의 내부 구성을 개략적으로 도시한 블록도이다. 도 3은 도 2에 도시된 제1 콘텐트 제공 장치에 추가되는 구성을 도시한 블록도이다.
도 2에 따르면, 제1 콘텐트 제공 장치(120)는 판별부(210), 질의부(220), 제1 처리부(230), 제2 처리부(240), 전원부(250) 및 주제어부(260)를 포함한다.
판별부(210)는 사용자 단말(110)을 통해 요청된 콘텐트가 저장되어 있는지 여부를 판별하는 기능을 수행한다. 판별부(210)는 도 6을 참조하여 후술할 콘텐트 목록 관리 및 검사부(522)를 모델로 한 구성이다.
질의부(220)는 콘텐트가 저장되어 있지 않으면 제2 콘텐트 제공 장치들로 콘텐트가 저장되어 있는지 여부를 질의하는 기능을 수행한다. 상기에서 제2 콘텐트 제공 장치는 제1 콘텐트 제공 장치(120)와 동일 클러스터 내에 있는 다른 콘텐트 제공 장치를 의미한다.
질의부(220)는 공인 아이피 네트워크(Public IP network) 상에 있는 콘텐트 제공 서버(150)로 콘텐트가 저장되어 있는지 여부를 질의하는 기능도 수행한다. 질의부(220)의 이 질의 기능은 제2 콘텐트 제공 장치들에게 질의할 때와 동시에 수행될 수 있으나, 미리 정해진 시간 내에 제2 콘텐트 제공 장치들로부터 콘텐트를 보유하고 있다는 응답을 받지 못한 이후에 수행되는 것도 가능하다.
제1 처리부(230)는 제2 콘텐트 제공 장치들 중에서 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치로부터 콘텐트를 수신하는 기능을 수행한다. 이때 제1 처리부(230)는 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 한개이면 이 콘텐트 제공 장치로부터 콘텐트를 수신하며, 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 적어도 두개이면 가장 가까운 위치에 있는 콘텐트 제공 장치로부터 콘텐트를 수신한다. 제1 처리부(230)는 각 콘텐트 제공 장치의 위치 정보를 기초로 자기로부터 각 콘텐트 제공 장치까지의 거리를 계산하여 가장 가까운 위치에 있는 콘텐트 제공 장치를 결정한다.
제1 처리부(230)는 적어도 하나의 제2 콘텐트 제공 장치에 콘텐트가 저장되어 있지 않으면 콘텐트 제공 서버(150)로부터 콘텐트를 수신하는 기능을 수행한다. 반면 제1 처리부(230)는 적어도 하나의 제2 콘텐트 제공 장치에 콘텐트가 저장되어 있으면 콘텐트 제공 서버(150)로 콘텐트의 전송을 중지 요청하는 기능을 수행한다.
제2 처리부(240)는 콘텐트가 저장되어 있으면 이 콘텐트를 사용자 단말(110)로 전송하는 기능을 수행한다. 제2 처리부(240)는 콘텐트가 저장되어 있지 않으면 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치로부터 콘텐트를 수신하여 저장하며, 이 콘텐트를 사용자 단말(110)로 전송하는 기능을 수행한다.
제2 처리부(240)는 콘텐트를 사용자 단말(110)로 전송할 때마다 콘텐트를 전송한 횟수를 카운트하는 기능을 수행한다. 제2 처리부(240)는 이 기능을 통하여 미리 정해진 기간동안 누적된 전송 횟수가 기준값 이상인 콘텐트를 사용자에게 인기가 높은 콘텐트로 보고 이 콘텐트들만 저장할 수 있다. 이는 콘텐트 제공 장치의 저장량이 작더라도 저장부의 효율적 운용이 가능해지는 효과를 얻을 수 있다.
이상의 질의부(220), 제1 처리부(230) 및 제2 처리부(240)는 도 6을 참조하여 후술할 통신 정합 및 CI(Content Inspection) 엔진(521)의 일부 기능을 모듈화한 구성이다.
한편 제2 처리부(240)는 저장되어 있지 않은 미저장 콘텐트를 콘텐트 저장 목록에 제1 콘텐트로 기록할 수 있다. 또한 제2 처리부(240)는 동일 클러스터에 속하는 적어도 두개의 콘텐트 저장 장치들로부터 미저장 콘텐트를 보유하고 있다고 응답받으면 미저장 콘텐트를 제공받아 저장하면서 미저장 콘텐트를 콘텐트 저장 목록에서 제2 콘텐트로 변경 기록할 수 있다. 또한 제2 처리부(240)는 동일 클러스터에 속하는 하나의 콘텐트 저장 장치나 콘텐트 제공 서버(150)로부터 미저장 콘텐트를 보유하고 있다고 응답받으면 미저장 콘텐트를 제공받아 저장하면서 미저장 콘텐트를 콘텐트 저장 목록에 제3 콘텐트로 변경 기록할 수 있다. 제2 처리부(240)의 이러한 기능들에 대하여 보다 자세한 설명은 도 8 및 도 9를 참조한다.
전원부(250)는 제1 콘텐트 제공 장치(120)를 구성하는 각 구성에 전원을 공급하는 기능을 수행한다.
주제어부(260)는 제1 콘텐트 제공 장치(120)를 구성하는 각 구성의 전체 작동을 제어하는 기능을 수행한다.
제1 콘텐트 제공 장치(120)는 도 3에 도시된 바와 같이 제3 처리부(270), 저장부(280) 및 클러스터링부(290) 중 적어도 하나의 구성을 더욱 포함할 수 있다.
제3 처리부(270)는 저장중인 콘텐트를 삭제하는 것으로서, 콘텐트 저장 목록을 이용하여 제2 콘텐트를 먼저 삭제하고 제3 콘텐트를 나중 삭제하는 기능을 수행한다. 이때 제3 처리부(270)는 제2 콘텐트가 적어도 두개일 때 사용자 단말(110)로의 전송 횟수가 적은 콘텐트부터 삭제한다. 제3 처리부(270)의 이러한 기능은 제3 콘텐트가 적어도 두개일 때도 마찬가지로 적용된다. 제3 처리부(270)는 MES 프로토콜에 따라 콘텐트를 관리하고 우선순위 기반의 LRU(Least Recently Used) 방법을 수행하는 구성을 모듈화한 구성이다. 이 구성의 보다 자세한 설명은 도 8 및 도 9를 참조하여 후술한다.
저장부(280)는 콘텐트를 저장하는 것이다. 저장부(280)는 도 6의 콘텐트 저장부(523)를 모델로 한 구성이다.
클러스터링부(290)는 다른 콘텐트 제공 장치들과 연합하여 클러스터를 생성하거나, 이미 구성된 클러스터에 등록하는 기능을 수행한다. 클러스터링부(290)는 도 6의 통신 정합 및 CI 엔진(521)의 일부 기능을 모듈화한 구성이다.
다음으로 도 1 내지 도 3을 참조하여 설명한 제1 콘텐트 제공 장치(120)의 콘텐트 제공 방법에 대하여 설명한다. 도 4는 본 발명의 바람직한 실시예에 따른 제1 콘텐트 제공 장치의 콘텐트 제공 방법을 개략적으로 도시한 흐름도이다. 이하 설명은 도 1 내지 도 4를 참조한다.
먼저 판별부(210)가 사용자 단말(110)을 통해 요청된 콘텐트가 저장되어 있는지 여부를 판별한다(S410). 콘텐트가 저장되어 있으면 제2 처리부(240)가 콘텐트를 사용자 단말(110)로 전송한다(S420). 반면 콘텐트가 저장되어 있지 않으면 질의부(220)가 제2 콘텐트 제공 장치들로 콘텐트가 저장되어 있는지 여부를 질의한다(S430). 한편 질의부(220)는 공인 아이피 네트워크(Public IP network) 상에 있는 콘텐트 제공 서버(150)로 콘텐트가 저장되어 있는지 여부를 질의할 수 있다.
S430 단계 이후, 제2 콘텐트 제공 장치들 중에서 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 있다면(S440), 제1 처리부(230)는 이 콘텐트 제공 장치로부터 콘텐트를 수신한다. 이후 제2 처리부(240)는 수신된 콘텐트를 저장하고 이 콘텐트를 사용자 단말(110)로 전송한다(S450). 한편 이 경우 제1 처리부(230)는 게이트웨이(140)나 콘텐트 제공 서버(150)로 콘텐트의 전송을 중지 요청한다.
반면 제2 콘텐트 제공 장치들 중에서 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 없다면(S440), 제1 처리부(230)는 콘텐트 제공 서버(150)로부터 콘텐트를 수신하며, 이후 제2 처리부(240)가 수신된 콘텐트를 저장하고 이 콘텐트를 사용자 단말(110)로 전송한다(S460).
한편 제3 처리부(270)는 저장중인 콘텐트를 삭제할 때 콘텐트 저장 목록을 이용하여 제2 콘텐트를 먼저 삭제하고 제3 콘텐트를 나중 삭제할 수 있다. 제3 처리부(270)의 이 기능은 S450 단계나 S460 단계 이후에 수행될 수 있으나, 저장되어 있는 콘텐트가 있다면 아무때나 수행되어도 무방하다.
다음으로 도 5 내지 도 9를 예시로 하여 도 1 내지 도 3을 참조하여 설명한 콘텐트 제공 시스템(100)의 일실시예를 설명한다.
도 5에서는 유무선 네트워크에서의 콘텐트 전달 시스템으로서 기존 콘텐트 전달 네트워크(CDN)에서 문제점으로 지적되는 콘텐트 동기 및 요청 라우팅을 배제하기 위해 완전 분산 구조로 사용자에게 콘텐트를 전달하기 위한 시스템을 제안한다. 도 5의 시스템(500)은 IP 네트워크와 호환성을 유지하고 콘텐트 전달을 위해 사용자 밀결합(tightly coupling) 콘텐트 서버와 이들을 상호 연결하는 클러스터를 이용하여 콘텐트 동기 및 요청 라우팅을 배제한 완전 분산 구조 형태의 것이다.
21세기에 진입하면서 스마트폰, 스마트 패드 등과 같은 휴대형 스마트 단말기가 사용자에게 광범위하게 보급되면서 유무선 네트워크에서 발생되는 인터넷 트래픽 증가 속도가 통신 사업자의 네트워크 설비 설치 속도를 앞서고 있다. 이동통신 네트워크에서 사용자에 의해 유발되는 트래픽은 2015년에는 3G와 LTE에서 제공되는 대역폭의 3.5배를 초과할 것으로 예상된다.
급격한 인터넷 트래픽의 주요 요인은 인터넷 비디오 또는 모바일 비디오에 의해 유발된다. 유무선 네트워크에서 인터넷 비디오와 모바일 비디오가 차지하는 비중은 점진적으로 증가되어 2015년에는 60%를 초과할 것으로 예상된다. 인터넷 비디오와 모바일 비디오에 의해 유발되는 급격한 인터넷 트래픽 급증은 엑세스 네트워크와 백홀 네트워크에 집중되어 통신 사업자의 네트워크 설비 증설 및 유지 보수 비용 부담이 급증하게 된다.
상기와 같은 현상을 해결하기 위한 방안으로 콘텐트 전달 네트워크 CDN(Content Delivery Network)이 있다. CDN은 주로 에지 네트워크(edge network)에 설치되지만 점진적으로 가입자에 가까운 위치로 이동하고 있으며, 현재는 엑세스 네트워크에 설치되는 사례도 있다.
CDN은 크게 콘텐트를 분배하는 콘텐트 분배 서버와 사용자에 콘텐트를 제공하기 위한 콘텐트 서버로 구성된다. 콘텐트 제공 사업자는 콘텐트 분배 서버를 통해 콘텐트 서버로 콘텐트를 전송하고 콘텐트 서버들은 서로 동일한 콘텐트를 유지하기 위한 동기화 과정을 주기적으로 반복한다. 사용자가 특정 콘텐트를 요구하게 되면 DNS를 통한 Naming Resolution 과정을 거쳐 콘텐트를 다운받기 위한 과정 즉 사용자에게 가장 가까운 콘텐트 서버를 선정하는 과정을 거친 후, 요청한 콘텐트에 대한 서비스를 받게 된다. 이러한 DNS를 통한 Naming Resolution 과정을 요청 라우팅(Request Routing)이라고 한다. 요청 라우팅은 여러가지 원인으로 인한 DNS 서비스 불가 또는 오동작이 발생할 경우, 사용자는 정상적인 콘텐트 서비스를 받을 수 없다. 또한, 콘텐트 동기화와 요청 라우팅은 순수한 콘텐트 서비스와 별개의 트래픽으로 네트워크의 부담으로 작용한다.
상기한 문제를 해결하기 위한 방안으로 정보 기반의 콘텐트 라우팅에 관련된 CCN(Content Centric Network)도 있다. CCN은 콘텐트 정보를 이용하여 라우팅 과정을 수행함에 따라, 기존 IP Network와의 호환성 문제가 발생한다. CCN에서는 필요한 콘텐트에 관련된 정보를 모든 이웃 노드들에 전파하기 때문에 요청하는 콘텐트의 수가 증가할수록 라우팅 테이블의 크기가 커지는 문제점을 가지고 있다.
상기와 같은 문제점을 해결하기 위하여, 본 발명은 도 5 내지 도 9를 참조하여 후술하는 시스템을 제안한다. 이하, 본 발명을 상세히 설명한다.
도 5는 본 발명에서 고안하고 구현한 콘텐트 전달을 위한 콘텐트 라우팅이 적용된 시스템(500)을 도시한 것이다.
본 발명에서는 콘텐트 서버들의 동기화에 따른 부담(Overhead)와 콘텐트 위치를 찾기 위한 DNS 기반의 요청 라우팅(Request Routing) 문제점을 해결하기 위해 콘텐트 서버들 간에 완전 분산 구조 형태로 콘텐트를 전달하기 위한 콘텐트 라우팅 기법이 적용된 클러스터 콘텐트 엔진(CCE; Cluster Content Engine)을 제안한다.
콘텐트 클러스터(Content Cluster; 500)는 다수개의 CCE(Cluster Content Engine)로 구성되며, 사용자와 가장 가까운 위치에 클러스터 형태로 구성되고 사용자에게 인기가 높은 콘텐트를 저장함으로써 작은 스토리지로도 효율적인 콘텐트를 사용자에게 공급할 수 있다. 또한 자신에게 존재하지 않는 콘텐트는 우선적으로 클러스터(500) 내부의 CCE로부터 수신함으로써 콘텐트 전달에 따른 Public IP 네트워크(560)의 부담을 최소화할 수 있다. CCE는 자신이 보유하고 있지 않은 콘텐트를 다른 CCE 또는 Public IP 네트워크(560)에 존재하는 Content Server(570)로부터 수신하여 사용자에게 전달할 때 동시에 자신의 스토리지에 저장함으로써 사용자가 요청하는 콘텐트 보유하는 확률인 콘텐트 Hit율을 높여 효율적인 콘텐트를 전달할 수 있다.
사용자가 원하는 콘텐트를 보기 위해서 단말(510)을 통해 사용자 콘텐트를 요청할 경우(A), 단말(510)과 연결된 제1 CCE(520)는 자신의 스토리지에서 해당 콘텐트 존재 유무를 확인하여 존재할 경우 사용자 콘텐트를 제공한다(B).
만일 해당 콘텐트가 존재하지 않을 경우, 제1 CCE(520)는 클러스터(540) 내 다른 CCE 즉 제2 CCE들(530)과 Content Server(570)에게 콘텐트를 요청하기 위해서 콘텐트 요청 방송 메시지를 전송한다(C, D). 콘텐트 요청 방송 메시지를 수신한 제2 CCE들(530)과 Public IP 네트워크(560)에 존재하는 Content Server(570)는 요청된 콘텐트 존재 유무 확인 과정을 수행하게 된다.
콘텐트 요청 방송 메시지를 수신한 제2 CCE들(530) 가운데 요청된 콘텐트가 존재하는 CCE는 콘텐트가 존재함을 제1 CCE(520)에 알리기 위해 콘텐트 응답 메시지를 전송한다(E, F). 콘텐트 응답 메시지에는 CCE의 위치 정보 등을 포함하여 콘텐트를 요청한 CCE(즉, 제1 CCE)가 콘텐트를 보유한 CCE로부터 콘텐트를 전송받기 위한 CCE 선정 과정에 활용한다. 콘텐트 응답을 받은 제1 CCE(520)는 콘텐트 응답에 포함된 CCE의 위치 정보를 이용하여 콘텐트 응답을 전송한 CCE들 중 자신과 위치가 가장 가까운 CCE를 선택함으로써 전송 지연 시간을 최소화한다.
콘텐트를 수신받을 CCE 선정 과정이 종료되면 콘텐트 송수신 CCE들 사이에 연결 과정을 통하여 콘텐트 전송 경로를 확보하게 된다. 이러한 연결 과정은 연결 요청(G)과 연결 응답(H)으로 구성된다. 연결 과정을 통해 상호 연결되면 콘텐트 전송(I)이 수행된다. 두 CCE(520, 530) 사이에 콘텐트 전달을 위한 통로가 연결되면, 콘텐트를 요청한 제1 CCE(510)는 수신받은 콘텐트를 사용자 콘텐트로 제공한다(B). 이때 제1 CCE(510)는 사용자에게 콘텐트를 전달함과 동시에 자신의 스토리지에 저장한다. 이런 콘텐트 저장 과정은 콘텐트의 공간적(Spatial) 및 시간적(Time) 로컬러티(Locality)를 높임으로써 콘텐트 Hit율을 높임으로써 네트워크 부담을 최소화하고 효율적인 콘텐트 전달이 가능하도록 한다.
상기 과정과 동시에 콘텐트 요청 방송 메시지를 수신한 서비스 게이트웨이(Service Gateway; 550)는 이를 Content Server(570)로 전달한다(D). 제2 CCE들(530)의 콘텐트 보유 유무를 확인하는 과정과 동시에 Content Server(570)로 서버 콘텐트 요청 메시지를 전송함으로써 클러스터(540)의 모든 제2 CCE들(530)에 해당 콘텐트가 존재하지 않을 경우 발생하는 서비스 지연 시간을 최소화하기 위함이다.
서버 콘텐트 요청 메시지를 수신한 Content Server(570)는 콘텐트가 있음을 알리고 해당 콘텐트를 전달하는 서버 콘텐트 응답 및 전송 메시지를 전송한다(J). 서버 콘텐트 응답 및 전송 메시지는 서버 콘텐트 응답 메시지와 서버 콘텐트 전송 메시지로 구분되지만 편의상 한 개의 메시지로 표기하였다. 또한 서버 콘텐트 전송 메시지는 요청된 콘텐트를 전송하기 위한 스트림이다.
서버 콘텐트 응답 및 전송 메시지를 수신한 서비스 게이트웨이(550)는 해당 콘텐트를 제1 CCE(510)에 서버 콘텐트 메시지를 이용하여 전송한다(K). 서비스 게이트웨이(550)는 요청된 콘텐트가 클러스터(540)에 존재함을 의미하는 클러스터 콘텐트 Hit 메시지를 수신할 경우(L), Content Server(570)로부터 더이상 해당 콘텐트를 수신할 필요가 없기 때문에 서버 콘텐트 전송 중지 요청 메시지를 송신하여(M) Content Server(570)와의 콘텐트 전송 과정을 종료하여 불필요한 서비스 지연 시간 및 대역폭 낭비를 최소화한다.
이상 설명한 바와 같이 본 발명에서는 클러스터(540)를 구성하는 CCE들 사이에 요청된 콘텐트를 공유하는 완전 분산 구조를 제공함으로써 콘텐트 동기화 및 요청 라우팅 과정을 배제할 수 있다.
도 6은 클러스터(540)를 구성하는 제1 CCE(520)의 내부 구조를 도시한 것이다. 도 6에 도시된 내부 구조는 제2 CCE(530)에도 동일하게 적용됨은 물론이다.
제1 CCE(520)는 통신 정합 및 CI(Content Inspection) 엔진(521), 콘텐트 목록 관리 및 검사부(522) 및 콘텐트 저장부(523)로 구성된다. 통신 정합 및 CI 엔진(521)은 클러스터(540)와 정합을 하고 사용자가 요청한 콘텐트를 전달하기 위한 것이다. 콘텐트 목록 관리 및 검사부(522)는 사용자가 요청한 콘텐트 존재 유무를 검사하고 관리하기 위한 것이다. 콘텐트 저장부(523)는 콘텐트를 저장하는 것이다.
통신 정합 및 CI 엔진(521)은 사용자 콘텐트 요청 메시지(A) 또는 콘텐트 요청 방송 수신 메시지(C)를 수신하면, 사용자가 요청한 콘텐트를 식별하기 위한 콘텐트 정보를 추출하기 위한 CI(Content Inspection) 과정을 수행한다. CI 과정을 통해 추출된 콘텐트 정보는 콘텐트 목록 관리 및 검사부(522)로 전달되어(O), 콘텐트 저장부(523)에 저장된 콘텐트 목록을 검사하여 해당 콘텐트 존재 유무를 검사한다. 해당 콘텐트가 존재할 경우 콘텐트 목록 관리 및 검사부(522)는 콘텐트 읽기 메시지를 콘텐트 저장부(523)로 전송하며(R), 이를 수신한 콘텐트 저장부(523)는 저장 콘텐트 전송 메시지를 통하여 스트림 형태로 통신 정합 및 CI 엔진(521)으로 전송한다.
통신 정합 및 CI 엔진(521)은 저장 콘텐트 전송이 사용자 콘텐트 요청(A)에 의해 유발된 경우 사용자에게 의해 요청된 콘텐트이므로 사용자 콘텐트 제공 메시지를 통해 사용자에게 요청된 콘텐트를 제공한다(B). 만일 저장 콘텐트 전송 메시지가 콘텐트 요청 방송 수신 메시지(C)에 의해 유발된 것이라면, 이는 다른 CCE에 의해 요청된 콘텐트이므로, 요청된 콘텐트가 자신이 가지고 있음을 콘텐트 요청 CCE에 알리기 위해서 콘텐트 응답 송신 메시지를 콘텐트 요청 CCE로 전송한다(F). 콘텐트 요청 CCE에서 콘텐트 응답 송신 메시지는 콘텐트 응답 수신 메시지로 입력된다(E).
콘텐트 응답 송신 메시지를 다수개의 CCE로부터 수신한 콘텐트 요청 CCE는 콘텐트 보유 CCE의 위치 정보를 이용하여 콘텐트를 수신할 CCE를 선정하고 해당 CCE로 연결 요청 송신 메시지를 전송하며(I), 이를 수신한 CCE는 연결 응답 수신 메시지를 보내(J) 두 CCE 사이에 콘텐트를 주고 받기 위한 통로를 설정한다. 두 CCE를 연결하기 위한 연결 메시지에 대하여, 콘텐트 요청 CCE는 연결 요청 송신 메시지(I)와 연결 응답 수신 메시지(L)로 출력하며, 콘텐트 보유 CCE는 연결 요청 수신 메시지(J)와 연결 응답 송신 메시지(K)로 출력한다.
두 CCE 사이에 통로가 연결된 후, 콘텐트 보유 CCE는 콘텐트 전송 메시지를 콘텐트 요청 CCE로 스트림 형태로 요청된 콘텐트를 전달한다(G). 요청된 콘텐트를 수신한 CCE는 사용자 콘텐트 제공 메시지를 통하여 요청한 콘텐트를 사용자에게 제공한다. 요청된 콘텐트에 대한 콘텐트 응답 메시지를 수신하면(E), 콘텐트 요청 CCE는 클러스터 콘텐트 Hit 메시지를 서비스 게이트웨이(550)로 전송하여(M) Content Server(570)가 더이상 해당 콘텐트를 전송하지 않도록 함으로써 Public IP 네트워크(560)의 대역폭 낭비를 최소화한다.
콘텐트 목록 관리 및 검사부(522)는 사용자가 요청한 콘텐트가 자신이 보유한 콘텐트 목록에 없을 경우 미확인 콘텐트 메시지를 통신 정합 및 CI 엔진(521)으로 전송하여(P) 컨텐트 요청 방송 송신 메시지를 클러스터(540)와 Content Server(570)로 방송한다(D). 요청된 콘텐트가 클러스터(540)의 CCE에 존재할 경우는 상기 과정을 통해서 요청된 콘텐트를 획득하며, 클러스터(540)의 CCE에 존재하지 않을 경우는 서비스 게이트웨이(550)로부터 수신되는 서버 콘텐트 수신 메시지(N)를 수신한 통신 정합 및 CI 엔진(521)은 사용자 콘텐트 제공 메시지를 통해 스트림 형태로 사용자에게 요청한 콘텐트를 제공한다.
사용자에 의해 요청된 콘텐트가 미확인 콘텐트에 관련된 경우 콘텐트 Hit율을 향상시키기 위해 요청된 콘텐트를 사용자에게 제공함과 동시에 자신의 컨텐트 저장부(523)에 저장한다.
통신 정합 및 CI 엔진(521)은 미확인 콘텐트에 관련된 콘텐트 정보는 콘텐트 정보 업데이트 메시지를 콘텐트 목록 관리 및 검사부(522)로 전송하여(Q) 콘텐트 목록에 해당 콘텐트를 추가한다. 통신 정합 및 CI 엔진(521)은 추가된 콘텐트를 콘텐트 저장부(523)에 저장하기 위하여 콘텐트 수신 메시지(H) 또는 서버 콘텐트 수신 메시지(N)를 수신 콘텐트 스트림으로 변경하여 콘텐트 저장부(523)로 전송한다.
이와 동시에 콘텐트 목록 관리 및 검사부(522)는 수신 콘텐트 스트림을 콘텐트 저장부(523)에 저장하기 위하여 콘텐트 쓰기 메시지를 콘텐트 저장부(523)에 전송한다(S). 콘텐트 쓰기 메시지를 수신한 콘텐트 저장부(523)는 수신 콘텐트 스트림 메시지를 수신하여(T) 사용자가 요청한 콘텐트를 사용자에게 전송하면서(U) 자신의 스토리지에 콘텐트를 저장한다. 콘텐트 저장부(523)는 자신이 보유하고 있지 않은 콘텐트를 저장함으로써 콘텐트 Hit율을 향상시킬 수가 있다. 이러한 콘텐트 Hit율 향상은 Public IP 네트워크(560)와 클러스터(540)의 대역폭 낭비를 최소화할 뿐 아니라, 콘텐트 전달 시간을 최소화함으로써 콘텐트 서비스 품질을 향상시킬 수 있다.
도 7은 서비스 게이트웨이(550)의 내부 기능 블록을 도시한 것이다. 본 발명에서 고안된 서비스 게이트웨이(550)는 콘텐트 클러스터(540)와 Public IP 네트워크(560)를 상호 연결하여 주며, 사용자에게 콘텐트 전달을 위해 소모되는 Public IP 네트워크(560)의 대역폭을 최소화하는 기능을 수행한다.
서비스 게이트웨이(550)는 클러스터 정합부(551)와 IP 네트워크 정합부(552)로 구성된다. 클러스터 정합부(551)는 콘텐트 클러스터(540)로부터 콘텐트 요청을 받고 해당 콘텐트를 콘텐트 클러스터(540)로 전달한다. IP 네트워크 정합부(552)는 Content Server(570)가 위치한 Public IP 네트워크(560)와의 연동을 구현한다.
클러스터(540)로부터 서버 콘텐트 요청 방송(A)을 수신한 클러스터 정합부(551)는 Content Server(570)에게 해당 콘텐트를 요청하기 위하여 클러스터-서버 콘텐트 요청 방송 메시지(B)를 IP 네트워크 정합부(552)로 전송한다. 클러스터-서버 콘텐트 요청 방송 메시지를 수신한 IP 네트워크 정합부(552)는 서버 콘텐트 요청 메시지(C)를 Content Server(570)로 전송한다. 이를 수신한 Content Server(570)는 해당 콘텐트가 존재한다는 서버 콘텐트 응답 메시지(D)를 IP 네트워크 정합부(552)로 전송한 후, 서버 콘텐트 수신 메시지(E)를 이용하여 스트림 형태로 요청된 콘텐트를 서비스 게이트웨이(550)로 전송한다.
서버 콘텐트 수신 메시지를 수신한 IP 네트워크 정합부(552)는 서버 콘텐트 스트림 메시지(F)를 이용하여 클러스터 정합부(551)로 해당 콘텐트를 전달한다. 클러스터 정합부(551)는 서버 콘텐트 송신 메시지(G)를 이용하여 콘텐트 요청 CCE로 해당 콘텐트를 전달한다.
요청된 콘텐트를 Content Server(570)로부터 수신하는 도중 클러스터 정합부(551)가 클러스터 콘텐트 Hit 메시지(H)를 수신하면, Public IP 네트워크(560)의 대역폭 낭비를 줄이기 위하여 클러스터 정합부(551)는 클러스터-서버 콘텐트 Hit 메시지(I)를 IP 네트워크 정합부(552)로 전송한다. 클러스터-서버 콘텐트 Hit 메시지를 수신한 IP 네트워크 정합부(552)는 서버 콘텐트 전송 중지 요청 메시지(J)를 Content Server(570)로 전송하여 Content Server(570)가 해당 콘텐트에 대한 스트림 전송을 중지하도록 한다.
서비스 게이트웨이(550)는 클러스터(540) 내 CCE와 통합될 수 있으며, 통합될 경우 클러스터(540) 내 CCE들 중 하나가 서비스 게이트웨이 역할을 한다.
도 8은 CCE에 저장된 콘텐트를 관리하기 위한 MES 프로토콜의 콘텐트 상태 관리 천이도를 도시한 것이다.
M(Missed Content; 810)은 CCE에 존재하지 않는 콘텐트를 의미한다. S(Shared Content; 830)는 두 개 이상의 CCE에 동일한 콘텐트가 존재하는 경우를 의미한다. S(830)는 클러스터(540)에 존재하는 다른 CCE로부터 해당 콘텐트를 복사한 경우에 해당된다. E(Exclusive Content; 820)는 Content Server(570)로부터 해당 콘텐트를 복사한 경우를 의미하며, 해당 콘텐트는 클러스터(540)에 한 개 복사본이 존재하거나, 다른 CCE가 복사한 콘텐트를 의미한다.
사용자가 요청한 콘텐트가 CCE에 존재하지 않을 경우 MISS_CNT_REQ에 의해 해당 콘텐트의 상태는 M(810)을 유지한다. M(810) 상태로 유지된 해당 콘텐트는 클러스터(540)의 다른 CCE로부터 복사하였다면 TC_IS 신호에 의해 S(830) 상태로 변경된다. 만일 M(810) 상태로 유지된 해당 콘텐트가 클러스터(540)의 모든 CCE에 존재하지 않아 Content Server(570)로부터 복사할 경우는 TC_ES 신호에 의해 E(820) 상태로 변경된다.
E(820) 상태와 S(830) 상태를 유지하는 콘텐트는 CCE의 콘텐트 저장부(523)에 더이상 저장할 수 없을 경우, 새로운 콘텐트를 저장하기 위해 기존 콘텐트를 삭제해야 한다. !DEL_CNT 신호를 수신한 E(820) 상태와 S(830) 상태를 가지는 콘텐트는 삭제되며 DEL_CNT 신호에 의해 M(810) 상태로 변경된다. M(810) 상태로 변경된 콘텐트는 콘텐트 목록 관리 및 검사부(522)가 관리하는 목록에서 삭제되며, 콘텐트 저장부(523)에서 데이터도 삭제된다.
본 발명에서는 삭제되는 콘텐트를 선정하기 위한 콘텐트 상태를 이용한 우선순위 기반의 LRU 방법을 고안하였으며 도 9를 참조하여 상세히 기술한다.
도 10은 본 발명에서 고안한 콘텐트 상태를 이용한 우선순위 기반의 LRU 방법의 동작 순서도를 도시한 것이다.
콘텐트 상태를 이용한 우선순위 기반의 LRU 방법은 콘텐트 저장부(523)에 저장된 콘텐트의 상태를 검사하여 S 상태를 가진 콘텐트를 삭제 우선순위에 두며, 동일한 콘텐트 상태를 가지는 경우는 LRU(Least Recently Used) 방법을 사용하여 사용자가 가장 적게 요청한 콘텐트를 선정하여 삭제될 콘텐트를 선정하는 방법이다. LRU 방법은 CCE에 의해 모두 수행된다.
콘텐트 저장소에 새로운 콘텐트를 저장할 수 없을 경우 기존 콘텐트 중 일부를 삭제해야 한다. 본 발명에서는 삭제될 콘텐트를 선정하기 위해 콘텐트 상태 검사 과정(S910)을 거쳐 콘텐트 상태가 S 상태인(S915) 콘텐트에 대한 정보를 콘텐트 삭제 Pool에 저장한다(S920).
S 상태 콘텐트를 검사 완료하였으나(S925) 콘텐트 삭제 Pool이 Empty 상태라면(S930) 콘텐트 저장소에 저장된 콘텐트는 모두 E 상태라는 것을 의미한다. E 상태에 관련된 콘텐트는 LRU 방법에 의해 삭제될 콘텐트를 선정하기 때문에 Refer Index 값이 T 미만(S935)인 E 상태의 콘텐트 정보를 콘텐트 삭제 Pool에 기록한다(S920). Refer Index 값이 T 미만이라는 의미는 일정 시간 동안 사용자에게 요구되지 않았다는 것을 의미한다. T는 임계값이며, 운영자가 설정 가능한 값이다.
콘텐트 Reference Index 검사 완료(S940) 이후, 콘텐트 삭제 Pool의 상태가 Empty라면(S945) 삭제할 콘텐트 그룹을 선정하지 못했기 때문에 일정값 a을 더하여 T의 임계값을 조정하여 삭제될 콘텐트 그룹을 선정한다(S950).
S 상태 콘텐트 검사(S925)와 Refer Index 검사(S940)를 통하여 삭제될 콘텐트 그룹을 선정하게 되면 선정된 그룹에 속한 콘텐트의 정보들을 검사하여 최대 Refer Index를 가진 콘텐트를 선정한다(S955). 이러한 과정을 통해 삭제될 콘텐트를 선정하면, 콘텐트 목록 관리 및 검사부(522)의 콘텐트 목록에 해당 콘텐트 정보를 삭제하고 사용자가 요구한 콘텐트 정보를 업데이트한다(S960). 이후 선정된 콘텐트를 삭제하고 사용자가 요구한 콘텐트를 저장한다(S965).
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 사용자 단말을 통해 요청된 콘텐트가 저장되어 있는지 여부를 판별하는 판별부;
    상기 콘텐트가 저장되어 있지 않으면 동일 클러스터 내의 다른 콘텐트 제공 장치들로 상기 콘텐트가 저장되어 있는지 여부를 질의하는 질의부;
    상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치로부터 상기 콘텐트를 수신하는 제1 처리부;
    상기 콘텐트가 저장되어 있으면 저장된 상기 콘텐트를 상기 사용자 단말로 전송하며, 상기 콘텐트가 저장되어 있지 않으면 수신된 상기 콘텐트를 저장하고 상기 사용자 단말로 전송하는 제2 처리부;
    다른 콘텐트 제공 장치들과 연합하여 클러스터를 생성하거나, 이미 구성된 클러스터에 등록하는 클러스터링부; 및
    상기 콘텐트를 저장하는 저장부를 포함하고,
    상기 질의부는 상기 다른 콘텐트 제공 장치에 대한 질의와 동시에 공인 아이피 네트워크(Public IP network) 상에 있는 콘텐트 제공 서버로 상기 콘텐트가 저장되어 있는지 여부를 질의하고,
    상기 제1 처리부는 상기 동일 클러스터 내의 다른 콘텐트 제공 장치들에 상기 콘텐트가 저장되어 있지 않으면 상기 콘텐트 제공 서버로부터 상기 콘텐트를 수신하며, 상기 동일 클러스터 내의 다른 콘텐트 제공 장치에 상기 콘텐트가 저장되어 있으면 상기 콘텐트 제공 서버로 상기 콘텐트의 전송을 중지 요청하고, 위치 정보를 이용하여 가장 위치가 가까운 콘텐트 제공 장치를 선택하고,
    상기 저장부는 사용자가 요청한 콘텐트를 사용자에게 전송하면 스토리지에 콘텐트를 저장하는 것
    을 특징으로 하는 콘텐트 제공 장치.
  2. 제 1 항에 있어서,
    상기 제1 처리부는 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 한개이면 이 콘텐트 제공 장치로부터 상기 콘텐트를 수신하며, 상기 콘텐트가 저장되어 있다고 응답한 콘텐트 제공 장치가 적어도 두개이면 가장 가까운 위치에 있는 콘텐트 제공 장치로부터 상기 콘텐트를 수신하는 것을 특징으로 하는 콘텐트 제공 장치.
  3. 제 2 항에 있어서,
    상기 제1 처리부는 콘텐트 응답에 포함된 각 콘텐트 제공 장치의 위치 정보를 기초로 상기 각 콘텐트 제공 장치까지의 거리를 계산하여 가장 가까운 위치에 있는 콘텐트 제공 장치를 결정하는 것을 특징으로 하는 콘텐트 제공 장치.
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 제2 처리부는 상기 콘텐트를 상기 사용자 단말로 전송할 때마다 상기 콘텐트를 전송한 횟수를 카운트하는 것을 특징으로 하는 콘텐트 제공 장치.
  7. 제 1 항에 있어서,
    상기 제2 처리부는 저장되어 있지 않은 미저장 콘텐트를 콘텐트 저장 목록에 제1 콘텐트로 기록하고, 동일 클러스터에 속하는 적어도 두개의 콘텐트 저장 장치들로부터 상기 미저장 콘텐트를 보유하고 있다고 응답받으면 상기 미저장 콘텐트를 상기 콘텐트 저장 목록에서 제2 콘텐트로 변경 기록하며, 동일 클러스터에 속하는 하나의 콘텐트 저장 장치나 상기 콘텐트 제공 서버로부터 상기 미저장 콘텐트를 보유하고 있다고 응답받으면 상기 미저장 콘텐트를 상기 콘텐트 저장 목록에 제3 콘텐트로 변경 기록하는 것을 특징으로 하는 콘텐트 제공 장치.
  8. 제 7 항에 있어서,
    저장중인 콘텐트를 삭제하며, 상기 콘텐트 저장 목록을 이용하여 상기 제2 콘텐트를 먼저 삭제하고 상기 제3 콘텐트를 나중 삭제하는 제3 처리부
    를 더욱 포함하는 것을 특징으로 하는 콘텐트 제공 장치.
  9. 제 8 항에 있어서,
    상기 제3 처리부는 상기 제2 콘텐트가 적어도 두개일 때 상기 사용자 단말로의 전송 횟수가 적은 콘텐트부터 삭제하는 것을 특징으로 하는 콘텐트 제공 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020130038677A 2012-09-14 2013-04-09 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템 KR102000168B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/941,083 US9621620B2 (en) 2012-09-14 2013-07-12 Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120102423 2012-09-14
KR20120102423 2012-09-14

Publications (2)

Publication Number Publication Date
KR20140036942A KR20140036942A (ko) 2014-03-26
KR102000168B1 true KR102000168B1 (ko) 2019-10-02

Family

ID=50646083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130038677A KR102000168B1 (ko) 2012-09-14 2013-04-09 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템

Country Status (1)

Country Link
KR (1) KR102000168B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252663A (ja) * 2003-02-19 2004-09-09 Toshiba Corp ストレージ装置、分担範囲決定方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023622B1 (ko) * 2008-12-16 2011-03-22 지에스네오텍(주) 적응적 고성능 프락시 캐시 서버 및 캐싱방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252663A (ja) * 2003-02-19 2004-09-09 Toshiba Corp ストレージ装置、分担範囲決定方法及びプログラム

Also Published As

Publication number Publication date
KR20140036942A (ko) 2014-03-26

Similar Documents

Publication Publication Date Title
US20140082135A1 (en) Apparatus and method for providing content, and system for providing content with the said apparatus
US11316946B2 (en) Processing and caching in an information-centric network
US10986387B1 (en) Content management for a distributed cache of a wireless mesh network
WO2021004384A1 (zh) 内容分发网络、数据处理方法、装置、设备及存储介质
US8756296B2 (en) Method, device and system for distributing file data
JP6900481B2 (ja) Nfコンポーネントの例外を処理するための方法およびシステム、ならびにデバイス
CN101540775A (zh) 内容分发方法、装置与内容分发网络系统
WO2012075970A1 (zh) 一种获取媒体内容的方法、设备及系统
CN113542058B (zh) 数据回源的方法、服务器及存储介质
US20140317271A1 (en) Method and node apparatus for collecting information in content network based on information-centric networking
CN105009520A (zh) 用于在通信网络中传送内容的方法及其装置
CN113301079A (zh) 一种数据的获取方法、系统、计算设备及存储介质
US11089103B1 (en) Content management in a distributed cache of a wireless mesh network
KR101904195B1 (ko) 계층형 비디오의 캐싱 및 전달을 위한 시스템 및 방법
KR101469310B1 (ko) 서비스 오버레이 네트워크에서 종단간 QoS 보장형 콘텐츠 전달 방법 및 그 시스템
KR102000168B1 (ko) 콘텐트 제공 장치와 방법 및 콘텐트 제공 시스템
JP5399276B2 (ja) コンテンツ配信システムと方法およびプログラム
KR101418570B1 (ko) P2p 제어 장치 및 전송 오버레이 제어 방법
WO2018090315A1 (zh) 数据请求的处理方法及缓存系统
WO2013047207A1 (ja) キャッシュシステム、キャッシュ方法、及びキャッシュサーバ
EP2997489B1 (en) Method and device for efficient mobile data transmission
KR20210044566A (ko) WebRTC를 이용한 다자간 영상통화 제어 시스템 및 방법
KR101360772B1 (ko) 핸드오버를 고려한 모바일 컨텐츠 제공 방법 및 이를 위한 장치
JP2018036889A (ja) 通信装置、通信方法及びプログラム
KR20110032523A (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