KR20090114705A - 적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법 - Google Patents

적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법 Download PDF

Info

Publication number
KR20090114705A
KR20090114705A KR1020080040483A KR20080040483A KR20090114705A KR 20090114705 A KR20090114705 A KR 20090114705A KR 1020080040483 A KR1020080040483 A KR 1020080040483A KR 20080040483 A KR20080040483 A KR 20080040483A KR 20090114705 A KR20090114705 A KR 20090114705A
Authority
KR
South Korea
Prior art keywords
content
server
service
service server
user
Prior art date
Application number
KR1020080040483A
Other languages
English (en)
Inventor
김재호
김인극
최명진
Original Assignee
주식회사 이노그리드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이노그리드 filed Critical 주식회사 이노그리드
Priority to KR1020080040483A priority Critical patent/KR20090114705A/ko
Publication of KR20090114705A publication Critical patent/KR20090114705A/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
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 컨텐츠 전송 네트워크(contents delivery network, CDN)에 관한 것으로, 특히 동기화 문제를 제거하여 사용자의 서비스 요구에 적응적으로 대응할 수 있는 컨텐츠 분배 시스템 및 컨텐츠 분배 방법에 관한 것이다. 구체적으로, 캐시 메모리와 유사한 역할을 담당하는 다수의 서비스 서버가 사용자의 컨텐츠 요청에 대응하여 적응적으로 컨텐츠를 제공하고, 이러한 서비스 서버를 관리하는 부하 분산 서버가 다수의 서비스 서버 중 최적의 서비스 서버를 선택하여 사용자 요청에 따른 컨텐츠 서비스를 제공하는 것을 특징으로 한다. 이에 의하면, 사용자의 서비스 요구에 적응적으로 서비스 서버가 동작하기 때문에, 스토리지 낭비를 제거하고 네트워크의 활용도를 최대한으로 높일 수 있으며 우수한 컨텐츠 전송 속도를 보장할 수 있는 효과가 있다.
컨텐츠 전송 네트워크(contents delivery network, CDN), 캐싱, 부하분산, 컨텐츠 서비스, 컨텐츠 동기화

Description

적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법{Adaptive contents delivery system and delivery method thereof}
본 발명은 컨텐츠 전송 네트워크 시스템(contents delivery network system, CDN system)에 관한 것으로, 특히 사용자의 서비스 요구에 적응적으로 대응하는 컨텐츠 분배 시스템 및 컨텐츠 분배 방법에 관한 것이다.
최근 UCC(user created contents)가 이슈화되면서 집중되는 트래픽을 안전하고 빠르게 처리하기 위해 컨텐츠 전송 네트워크(contents delivery network system, CDN) 서비스의 중요성이 높아지고 있다.
이러한 CDN 서비스는 콘텐츠 제공업자(CP)의 웹 서버에 집중되어 있는 컨텐츠 중 용량이 크거나 사용자의 요구가 빈번한 컨텐츠를 ISP 측에 설치한 CDN 서버에 미리 저장하고 CDN 서버로부터 최적의 경로로 사용자에게 컨텐츠를 전달하는 기술을 말한다.
특히 동영상 스트리밍, 파일 다운로드 등 대용량 파일 전송시 이용자가 몰려 전송 속도가 떨어질 때, 네트워크 주요 지점에 전용 서버를 설치해 두고 해당 컨텐츠를 미리 저장해 두었다가 이후 이용자가 몰릴 때 가까운 곳의 서버가 이를 전송 하여 문제를 해결하는 방식으로 이용되고 있다.
컨텐츠를 전용 서버에 미리 저장하는 것을 동기화 과정이라고 하는데, 이러한 동기화 과정은 컨텐츠 규모의 증가로 인하여 많은 시간과 노력을 필요로 한다. 또한, 사용자의 컨텐츠 요구에 의한 트래픽 추이는 시간에 따라 수시로 변화하고 이를 예측하는 것에는 시간적/인적 오버헤드가 필요하기 때문에 이러한 동기화 과정을 수반한 기존의 CDN 시스템은 네트워크 변화에 즉각적으로 대응하지 못하여 많은 스토리지 낭비와 서버 낭비를 초래하고 있다.
서비스 품질에 대한 사용자의 요구는 지속적으로 증가하여 SLA(service level agreement) 계약이 증가하고 있는 추세임을 감안할 때 전송 품질의 보장이 확보되지 않으면 CDN 비즈니스에 많은 악영향을 미칠 수 있다.
따라서, 새로운 시스템은 사용자의 서비스 요청에 즉각적이고 적응적으로 대처할 수 있어야 하며 기존 동기화 및 서비스 품질 모니터링에 대한 오버헤드를 감소시키고 능동적으로 대응할 수 있어야 한다.
본 발명은 전술한 점을 고려하여 안출된 것으로서, 동기화 문제를 제거하여 사용자의 서비스 요구에 적응적으로 대응하는 컨텐츠 분배 시스템 및 컨텐츠 분배 방법을 제공하는데 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 일 양상에 따른 적응형 컨텐츠 분배 시스템은, 컨텐츠가 저장되는 컨텐츠 스토리지 서버와 연동하여 사용자에게 컨텐츠 서비스를 제공하되, 사용자의 컨텐츠 요청에 대응하여 컨텐츠를 능동적으로 캐싱하는 다수의 서비스 서버; 및 사용자의 컨텐츠 요청이 있는 경우, 서비스 서버가 보고하는 현재 서비스 상태를 바탕으로 서비스 서버들 중에서 최적의 서비스 서버를 선택하는 부하 분산 서버; 를 포함할 수 있다.
이때, 상기 서비스 서버는 자신의 현재 서비스 상태를 주기적으로 부하 분산 서버로 전송하며, 이러한 현재 서비스 상태로는 상기 서비스 서버의 컨텐츠 보유 상태, 세션 상태 또는 스토리지 상태에 관한 정보들을 포함할 수 있다.
또한, 상기 부하 분산 서버에 의해 선택된 서비스 서버가, 상기 사용자가 요청한 컨텐츠를 보유하고 있지 아니한 경우, 상기 서비스 서버는 상기 컨텐츠 스토리지 서버로부터 해당 컨텐츠를 다운로드 받아 상기 사용자에게 제공하는 것이 가능하다. 여기서, 컨텐츠의 제공은 해당 컨텐츠의 크기에 따라 상기 다운로드 완료 후 이루어지거나 상기 다운로드 진행과 동시에 이루어지는 것이 가능하며, 상기 컨 텐츠의 크기는 서비스 서버와 컨텐츠 스토리지 서버 사이의 네트워크로 데이터가 이동될 때 사용자에 대한 서비스 지연 정도에 따라 적절하게 결정될 수 있다.
또한, 상기 서비스 서버는 컨텐츠 저장 공간이 부족한 경우 또는 주기적으로 기 저장된 컨텐츠를 삭제하여 여유 공간 확보를 위한 가비지 컬렉션을 수행하는 것이 가능하다.
본 발명의 일 양상에 따른 컨텐츠 분배 방법은, 사용자의 컨텐츠 요청이 있는 경우, 컨텐츠 서비스를 제공하는 다수의 서비스 서버 중에서 최적의 서비스 서버를 선택하는 단계; 사용자가 요청한 컨텐츠를 선택된 서비스 서버가 보유하고 있는지 여부를 판단하는 단계; 사용자가 요청한 컨텐츠를 선택된 서비스 서버가 보유하고 있는 경우, 해당 컨텐츠를 사용자에게 제공하는 단계; 및 사용자가 요청한 컨텐츠를 선택된 서비스 서버가 보유하고 있지 않은 경우, 해당 컨텐츠를 컨텐츠 스토리지 서버로부터 다운로드 받아 사용자에게 제공하는 단계; 를 포함할 수 있다.
본 발명의 다른 양상에 따라 상기 컨텐츠 분배 방법은, 선택된 서비스 서버가 상기 사용자가 요청한 컨텐츠를 보유하고 있지 않은 경우, 해당 컨텐츠의 크기를 파악하는 단계; 및 파악된 컨텐츠의 크기에 따라 해당 컨텐츠의 다운로드 완료 이후에 해당 컨텐츠를 제공하거나 상기 다운로드 진행과 동시에 해당 컨텐츠를 제공하는 단계; 를 더 포함할 수 있으며, 이때 상기 컨텐츠의 크기는 상기 서비스 서버와 상기 컨텐츠 스토리지 서버 사이의 네트워크로 데이터가 이동될 때 상기 사용자에 대한 서비스 지연 정도에 따라 적절하게 결정되는 것이 가능하다.
본 발명의 일 양상에 따른 최적의 서비스 서버를 선택하는 과정은, 다수의 서비스 서버 중 사용자가 요청한 컨텐츠를 보유하고 있는 서비스 서버가 적어도 1 이상 존재하는지 여부를 판단하는 단계; 컨텐츠를 보유하고 있는 서버가 적어도 1 이상 존재하는 경우, 해당 서비스 서버를 적어도 1 이상 선정하는 단계; 및 선정된 서비스 서버 중 세션 여유가 가장 많은 서비스 서버를 선정하는 단계; 를 포함할 수 있다.
또한, 상기 과정에 있어서, 컨텐츠를 보유하고 있는 서버가 존재하지 아니한 경우, 상기 컨텐츠를 보유하고 있지 아니한 서비스 서버 중에서 세션 여유가 있는 서비스 서버를 적어도 1 이상 선정하는 단계; 선정된 서비스 서버의 컨텐츠 저장 공간에 해당 컨텐츠를 저장할 정도의 여유가 있는지 여부를 판단하는 단계; 및 상기 컨텐츠 저장 공간에 여유가 있는 경우, 상기 선정된 서비스 서버 중 세션 여유가 가장 많은 서비스 서버를 선정하는 단계; 를 더 포함할 수 있으며, 상기 서비스 서버의 컨텐츠 저장 공간에 여유가 없는 경우, 기 저장된 컨텐츠를 삭제하여 가비지 컬렉션을 수행하는 단계; 를 더 포함할 수 있다.
전술한 컨텐츠 분배 시스템 및 컨텐츠 분배 방법에 의하면, 사용자의 서비스 요구와 무관하게 일괄적으로 복제 컨텐츠가 미리 저장되지 않고 사용자의 서비스 요구에 적응적으로 서비스 서버가 동작하기 때문에, 스토리지 낭비를 제거하고 네트워크의 활용도를 최대한으로 높일 수 있는 효과가 있다.
또한, 대용량 컨텐츠를 서비스하는 경우, 컨텐츠 스토리지 서버로부터 서비스 서버로 해당 컨텐츠를 다운로드 함과 동시에 이를 제공하기 때문에, 우수한 컨 텐츠 전송 속도를 보장할 수 있다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 적응형 컨텐츠 분배 네트워크 시스템의 개략적인 구성을 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 적응형 컨텐츠 분배 네트워크 시스템은 크게 사용자(104), 컨텐츠 분배 네트워크(108) 및 컨텐츠 제공자(106)로 나눌 수 있다.
컨텐츠 제공자(106)는 UCC, IPTV, 영화, 드라마, 온라인 게임 등의 컨텐츠를 제작하여 이를 배포하는 자 또는 이와 관련된 CP(contents provider) 서버를 포함한다. 여기서 컨텐츠 제공자(106)는 컨텐츠를 직접 제작하는 자와 단순히 사용자와 컨텐츠 소유자 간을 중계하는 웹 서버 등을 포함하는 개념이다.
컨텐츠 제공자(106)가 소정의 컨텐츠를 업로드 서버(107)에 올리면, 업로드 된 컨텐츠는 컨텐츠 스토리지 서버(103)에 저장된다.
사용자(104)는 웹 서버(105)를 통해 컨텐츠 분배 네트워크(108)에 접속하여 컨텐츠 스토리지 서버(103)에 저장된 컨텐츠를 제공받는다.
예컨대, 온라인 게임 업체인 컨텐츠 제공자(106)가 게임과 관련된 응용프로그램을 업로드 서버(107)에 올리면, 업로드 서버(107)는 이것을 컨텐츠 스토리지 서버(103)로 보내고, 컨텐츠 스토리지 서버(103)는 상기 응용프로그램을 저장한다. 이후 상기 온라인 게임을 이용하고자 하는 사용자(104)의 요청이 있는 경우, 저장된 응용프로그램을 복사하여 상기 사용자(104)에게 제공하는 것이 가능하다.
이때, 컨텐츠 분배 네트워크(108)는 사용자(104)의 요구가 빈번하거나 용량이 큰 컨텐츠를 분산적으로 저장하고 사용자(104) 인근에 위치한 최적의 서버를 통해 컨텐츠를 제공함으로써 사용자(104)가 보다 빠르고 효율적으로 컨텐츠 서비스를 제공받도록 하는 것이 가능하다. 예를 들어, 서비스 서버(102)가 여러 개의 서비스 서버 군으로 이루어지고, 이러한 서버 군이 분산적으로 배치되어 최적의 서비스 서버가 사용자(104)에게 컨텐츠 서비스를 제공할 수 있다.
서비스 서버(102)는 컨텐츠 스토리지 서버(103)와 연동하여 사용자(104)에게 컨텐츠 서비스를 제공하게 되는데, 일 예로써, 컨텐츠 스토리지 서버(103)로부터 복제된 컨텐츠를 전송받아 이를 사용자(104)에게 제공하는 것이 가능하다. 또한, 상기 서비스 서버(102)는 사용자(104)의 컨텐츠 요청에 대응하여 해당 컨텐츠를 능동적으로 캐싱하는 것이 가능하다.
여기서 상기 캐싱의 의미는 CPU와 캐시 메모리(cache memory)의 관계에서 상기 캐시 메모리에 데이터가 필요에 따라 임시로 저장되거나 삭제되는 것과 유사한 의미로 사용되었다. 즉, 기존에는 동기화 과정을 통해 원본 서버로부터 다운로드 받은 컨텐츠가 복제 서버에 사용자 요청과 무관하게 일괄적으로 보관 및 유지되었으나, 본 실시예에 따른 서비스 서버(102)는 사용자 요청 또는 필요에 따라 적응적으로 해당 컨텐츠를 다운로드 받는 것이 가능하다. 예컨대, 상기 서비스 서버(102)는 요청받은 컨텐츠가 없는 경우에만 선택적으로 해당 컨텐츠를 다운로드 받거나, 컨텐츠 저장 공간이 부족한 경우 또는 주기적으로, 유용하지 않은 컨텐츠(예컨대, 장기간 사용자 요청이 없거나 히트율이 저조한 컨텐츠 등)를 삭제하는 것이 가능하다.
부하 분산 서버(101)는 상기 서비스 서버(102)를 관리하며, 사용자(104)의 컨텐츠 요청이 있는 경우 최적의 서비스 서버(102)를 선택하여 사용자(104)의 요청을 전달한다. 부하 분산 서버(101)가 최적의 서비스 서버(102)를 선택하기 위해서, 서비스 서버(102)는 자신의 현재 서비스 상태를 주기적으로 부하 분산 서버(101)에 전송한다. 현재 서비스 상태로는 컨텐츠 보유 상태, 세션(session) 상태, 스토리지(storage) 상태에 관한 정보 등이 될 수 있다.
결국, 사용자(104)가 웹 서버(105)를 통해 컨텐츠 분배 네트워크(108)에 접속하여 소정의 컨텐츠를 요청하면, 부하 분산 서버(101)가 다수의 서비스 서버(102) 중에서 최적의 서비스 서버(102)를 선택하여 사용자(104)의 요청을 전달하고, 선택된 서비스 서버(102)는 사용자(104) 요청에 대응하여 적응적으로 컨텐츠 서비스를 제공할 수 있다.
도 2를 참조하여, 본 발명의 일 실시예에 따른 부하 분산 서버 및 서비스 서버를 더욱 상세하게 설명한다.
도 2에서, 서비스 서버(102)는 4개의 서비스 서버(A~D)로 구성되며, 각각의 서비스 서버(102)는 자신의 현재 서비스 상태를 주기적으로 부하 분산 서버(101)로 전송한다. 부하 분산 서버(101)는 전송받은 상기 서비스 상태를 고려하여 서비스 서버(102)를 관리한다.
사용자(104)의 컨텐츠 요청이 있는 경우, 부하 분산 서버(101)는 각 서비스 서버(102)의 서비스 상태를 포괄적으로 분석하여 최적의 서비스 서버(예컨대, A~D 중 적어도 어느 하나)를 선택하고, 선택된 서비스 서버에 상기 사용자(104)의 요청을 전달한다. 사용자(104)의 요청을 전달받은 서비스 서버, 즉 선택된 서비스 서버(예컨대, A라고 가정함)는 상기 요청에 대응하여 컨텐츠 서비스를 제공한다.
서비스 서버(102) 중 특정 서비스 서버(예컨대, A)가 최적 서비스 서버로 선택되는 방식의 일 예를 도 3을 참조하여 설명하면 다음과 같다.
부하 분산 서버(101)는 각 서비스 서버(A~D)로부터 컨텐츠 보유 상태, 세션 상태, 스토리지 상태 등에 관한 정보를 주기적으로 전송받으며, 전송받은 정보를 바탕으로 최적의 서비스 서버를 선택할 수 있다.
예를 들어, 사용자의 컨텐츠 요청이 있는 경우, 부하 분산 서버는 먼저 해당 컨텐츠를 보유하고 있는 서비스 서버들을 선정하는 것이 가능하다. Case 1에서는 A, B, C 세 개의 서비스 서버가 1차 후보군으로 선정되었다. 다음으로 1차 후보군으로 선정된 서비스 서버 중 세션에 여유가 있는 서비스 서버들을 2차 후보군으로 선정한다. Case 1에서는 A, B, C 중 세션 여유가 있는 A와 B가 선정되었다. 마지막으로 2차 후보군으로 선정된 서비스 서버 중에서 가장 세션에 여유가 많은 서비스 서버를 선택한다. 만약, Case 1에서 A가 B보다 세션에 여유가 많은 경우 A 서비스 서버가 최적의 서비스 서버로 선택될 것이다.
또 다른 예로, 서비스 서버들 모두가 사용자의 요청 컨텐츠를 보유하지 아니한 경우도 가정할 수 있다. 전술하였듯이, 본 발명의 일 실시예에 따른 서비스 서버는 종래의 복제 서버처럼 사용자 요청과 무관하게 일괄적으로 동기화가 이루어지는 것이 아니기 때문에, 이러한 경우가 충분히 발생할 수 있다. 예컨대, Case 2와 같이, 서비스 서버들이 모두 해당 컨텐츠를 보유하고 있지 아니한 경우, 부하 분산 서버는 세션 여유를 기준으로 1차 후보군을 선정할 수 있다. 여기서는 A와 B에 세션 여유가 있어서 2개의 서비스 서버가 선정되었다. 선정된 서비스 서버들은 해당 컨텐츠를 보유하고 있지 아니하므로 컨텐츠 스토리지 서버(103)로부터 해당 컨텐츠를 다운로드 받아야 한다. 따라서, 1차 후보군으로 선정된 서비스 서버 중 스토리지 여유, 즉 여유 저장 공간을 기준으로 최적의 서비스 서버를 선택하는 것이 가능하다. Case 2에서는 1차 후보군으로 선정된 A, B 중에서 A의 스토리지 여유가 더 커서 A가 최적의 서비스 서버로 선택되었다. 만약, A, B 모두 스토리지 여유가 없는 경우 부하 분산 서버는 서비스 서버의 여유 공간 확보를 위해 가비지 컬렉션 명령을 하달하여 서비스 서버에서 가비지 컬렉션이 수행되는 것도 가능하다.
전술한 바와 같이 최적의 서비스 서버가 선택되면, 도 2에서, 부하 분산 서버(101)는 선택된 서비스 서버(A)로 사용자(104)의 요청을 전달한다.
최적의 서비스 서버로 선택된 서비스 서버(A)는 사용자(104)의 컨텐츠 요청에 대응하여 컨텐츠 서비스를 제공한다. 예를 들어, 최적의 서비스 서버(A)가 해당 컨텐츠를 가지고 있는 경우, 즉시 해당 컨텐츠를 사용자(104)에게 제공할 수 있다. 만약, 최적의 서비스 서버(A)가 해당 컨텐츠를 가지고 있지 아니한 경우, 컨텐츠 스토리지 서버(103)로부터 해당 컨텐츠를 다운로드 받아서 사용자(104)에게 제공하는 것이 가능하다.
상기 컨텐츠 제공과 관련하여, 해당 컨텐츠의 크기에 따라 상기 다운로드 완료 후 컨텐츠를 제공하거나 상기 다운로드 진행과 동시에 컨텐츠를 제공하는 것이 가능하다. 컨텐츠 다운로드 시 서비스 서버(102)와 컨텐츠 스토리지 서버(103) 사이의 네트워크에서 데이터 이동이 발생하게 되는데, 컨텐츠 스토리지 서버(103)에서 서비스 서버(102)로 데이터가 이동하는데 걸리는 시간으로 인해 사용자 서비스가 지연될 수 있다. 일반적으로 1Gbps 정도의 속도를 갖는 인터넷 회선으로 연결된 서비스 서버(102)와 컨텐츠 스토리지 서버(103)의 경우, 대략 10MB의 데이터가 이동하게 되면 사용자 서비스가 지연되는 것으로 볼 수 있다. 전술한 컨텐츠의 크기가는 이러한 상황을 고려하여 적절하게 파악될 수 있다. 예컨대, 해당 컨텐츠 크기가 설정된 임계값 이상인 경우 다운로드를 진행함과 동시에 컨텐츠 서비스를 제공하고, 해당 컨텐츠 크기가 설정된 임계값 미만인 경우 다운로드를 모두 완료한 이후에 컨텐츠 서비스를 제공하는 것이 가능하다.
또한, 상기 서비스 서버(101)는 저장 용량이 부족한 경우 또는 일정한 시간 간격으로 유용하지 않은 컨텐츠를 삭제하여 여유 공간 확보를 위한 가비지 컬렉션을 수행하는 것이 가능하다. 이때, 유용하지 않은 컨텐츠로는 장기간 사용자 요청이 없는 컨텐츠 또는 히트율이 저조한 컨텐츠 등이 될 수 있다.
도 4는 본 발명의 일 실시예에 따른 적응형 컨텐츠 분배 방법을 도시한다.
도 4를 참조하면, 사용자의 컨텐츠 요청이 있는 경우(S101), 부하 분산 서버는 다수의 서비스 서버 중에서 최적의 서비스 서버를 선택하고 선택된 서비스 서버에 사용자 요청을 전달한다(S102). 최적의 서비스 서버를 선택하는 기준은 전술한 바와 같이 서비스 서버가 주기적으로 보고하는 자신의 현재 서비스 상태(예컨대, 컨텐츠 보유 상태, 세션 상태, 스토리지 상태 등)가 될 수 있다.
컨텐츠 요청을 받은 서비스 서버는 해당 컨텐츠를 보유하고 있는지 여부를 판단한다(S103).
판단 결과, 해당 컨텐츠가 있는 경우 이를 사용자에게 전송하여 컨텐츠 서비스를 제공하고(S104), 해당 컨텐츠가 없는 경우, 원본 컨텐츠가 저장된 컨텐츠 스토리지 서버로부터 해당 컨텐츠를 다운로드 받아서 이를 사용자에게 제공한다(S105).
도 5는 본 발명의 일 실시예에 따른 최적의 서비스 서버를 선택하는 과정을 도시한다.
도 5를 참조하면, 부하 분산 서버는 사용자가 요청한 컨텐츠를 보유한 서비스 서버들이 있는지 여부를 판단한다(S201). 요청받은 컨텐츠를 보유한 서비스 서버들이 있는 경우 해당 서비스 서버를 1차 후보군으로 선정한다(S202). 이때 1차 후보군은 1 이상의 서비스 서버가 선정될 수 있다. 다음으로, 1차 후보군 중에서 세션에 여유가 있는 서비스 서버가 있는지 여부를 판단한다(S203). 1차 후보군 중에서 세션에 여유가 있는 서비스 서버가 있으면, 세션 여유가 가장 많은 서비스 서 버를 최적 서비스 서버로 선택하고(S204), 세션에 여유가 전혀 없으면, 컨텐츠를 보유하고 있지 아니한 서비스 서버들 중에서 선정한다(S205 과정 이하).
상기 S201 단계에서, 서비스 서버들이 사용자가 요청한 컨텐츠를 보유하고 있지 아니한 경우, 해당 컨텐츠를 보유하고 있지 아니한 서비스 서버들 중에서 세션에 여유가 있는 서비스 서버를 1차 후보군으로 선정한다(S205). 이때도 역시 1차 후보군은 1 이상의 서비스 서버가 선정될 수 있음은 물론이다. 다음으로, 1차 후보군들로 선정된 서비스 서버에 스토리지 여유가 있는지 여부를 판단한다(S206). 판단결과, 스토리지 여유가 없는 경우, 가비지 컬렉션을 수행하여 이전 컨텐츠 중 유용하지 않은 컨텐츠(예컨대, 히트율이 낮은 컨텐츠, 장기간 요청이 없는 컨텐츠 등)를 삭제하여 공간을 확보하고(S208), 스토리지 여유가 있는 경우, 상기 S205 단계에서 선정된 1차 후보군 중에서 세션 여유가 가장 많은 서비스 서버를 최적 서비스 서버로 선택한다(S204).
여기서 스토리지(storage) 여유란 서비스 서버의 컨텐츠 저장 공간 중 빈 공간, 즉 다운로드 받은 새로운 컨텐츠를 저장할 수 있는 유효 저장 공간을 의미한다. 예컨대, 상기 스토리지는 서비스 서버의 메모리, 하드디스크와 같은 컨텐츠 저장 공간이 될 수 있다.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 제공 과정의 일 예를 도시한 것으로, 이 과정은 최적의 서비스 서버로 선택된 서비스 서버에 요청받은 컨텐츠가 없는 경우에 수행될 수 있다.
도 6을 참조하면, 먼저 서비스 서버는 요청받은 컨텐츠의 크기를 파악한 다(S401). 이후, 파악된 컨텐츠의 크기와 미리 설정된 임계값을 비교한다(S402). 여기서 임계값은 컨텐츠 다운로드 시 서비스 서버와 컨텐츠 스토리지 서버 사이의 데이터 이동으로 인한 서비스 지연 시간을 고려하여 설정될 수 있다. 예컨대, 서비스 서버와 컨텐츠 스토리지 서버가 1Gbps 회선으로 연결된 경우 상기 임계값은 대략 10MB로 설정 가능하다. 비교 결과, 컨텐츠 크기가 임계값 이상, 즉 대용량인 경우, 해당 컨텐츠를 컨텐츠 스토리지 서버로부터 다운로드 함과 동시에 이를 사용자에게 제공하고(S403), 컨텐츠 크기가 임계값 미만, 즉 소용량인 경우, 다운로드를 모두 완료 받은 후에 해당 컨텐츠를 제공한다(S404).
결국, 전술한 컨텐츠 분배 시스템 및 방법에 의하면, 사용자 요청에 따라 적응적으로 컨텐츠가 서비스 서버로 다운로드 되기 때문에 불필요한 스토리지 낭비를 줄일 수 있고, 컨텐츠 용량에 따라 제공 방식을 조절할 수 있어 우수한 컨텐츠 전송 속도를 보장할 수 있다.
이상에서 본 발명의 실시예에 대하여 설명하였으나 본 발명은 상술한 특정의 실시예에 한정되지 아니한다. 즉, 본 발명이 속하는 기술분야에서 통상의 지식을 가지는 자라면 첨부된 특허청구범위의 사상 및 범주를 일탈함이 없이 본 발명에 대한 다수의 변경 및 수정이 가능하며, 그러한 모든 적절한 변경 및 수정의 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 분배 네트워크 시스템의 대략적인 구성을 나타낸 도면,
도 2는 본 발명의 일 실시예에 따른 컨텐츠 분배 시스템의 구성을 나타낸 도면,
도 3은 최적의 서비스 서버를 선택하는 기준에 관한 일 예를 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 컨텐츠 분배 방법을 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 최적의 서비스 서버를 선택하는 과정을 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 컨텐츠 제공 방법을 나타낸 도면이다.
<도면의 주요부호에 대한 설명>
101 : 부하 분산 서버 102 : 서비스 서버
103 : 컨텐츠 스토리지 서버 104 : 사용자
105 : 웹 서버 106 : 컨텐츠 제공자
107 : 업로드 서버 108 : 컨텐츠 분배 네트워크

Claims (13)

  1. 컨텐츠가 저장되는 컨텐츠 스토리지 서버와 연동하여 사용자에게 컨텐츠 서비스를 제공하되, 상기 사용자의 컨텐츠 요청에 대응하여 상기 컨텐츠를 능동적으로 캐싱하는 다수의 서비스 서버; 및
    상기 사용자의 컨텐츠 요청이 있는 경우, 상기 서비스 서버가 보고하는 현재 서비스 상태를 바탕으로 상기 서비스 서버들 중에서 최적의 서비스 서버를 선택하는 부하 분산 서버; 를 포함하는 적응형 컨텐츠 분배 시스템.
  2. 제 1 항에 있어서,
    상기 서비스 서버는 컨텐츠 보유 상태, 세션 상태 또는 스토리지 상태를 포함하는 현재 서비스 상태를 상기 부하 분산 서버로 주기적으로 전송하는 것을 특징으로 하는 적응형 컨텐츠 분배 시스템.
  3. 제 1 항에 있어서,
    상기 현재 서비스 상태는 상기 서비스 서버의 컨텐츠 보유 상태, 세션 상태 또는 스토리지 상태 중 적어도 하나를 포함하는 것을 특징으로 하는 적응형 컨텐츠 분배 시스템.
  4. 제 1 항에 있어서,
    상기 부하 분산 서버에 의해 선택된 서비스 서버가 상기 사용자가 요청한 컨텐츠를 보유하고 있지 아니한 경우, 상기 서비스 서버는 상기 컨텐츠 스토리지 서버로부터 해당 컨텐츠를 다운로드 받아 상기 사용자에게 제공하는 것을 특징으로 하는 적응형 컨텐츠 분배 시스템.
  5. 제 4 항에 있어서,
    상기 사용자가 요청한 컨텐츠의 제공은 해당 컨텐츠의 크기에 따라 상기 다운로드 완료 후 이루어지거나 상기 다운로드 진행과 동시에 이루어지는 것을 특징으로 하는 적응형 컨텐츠 분배 시스템.
  6. 제 5 항에 있어서,
    상기 컨텐츠의 크기는 상기 서비스 서버와 상기 컨텐츠 스토리지 서버 사이의 네트워크로 데이터가 이동될 때 상기 사용자에 대한 서비스 지연 정도에 따라 결정되는 크기인 것을 특징으로 하는 적응형 컨텐츠 분배 시스템.
  7. 제 1 항에 있어서,
    상기 서비스 서버는 컨텐츠 저장 공간이 부족한 경우 또는 주기적으로 기 저장된 컨텐츠를 삭제하여 여유 공간 확보를 위한 가비지 컬렉션을 수행하는 것을 특징으로 하는 적응형 컨텐츠 분배 시스템.
  8. 사용자의 컨텐츠 요청이 있는 경우, 컨텐츠 서비스를 제공하는 다수의 서비스 서버 중에서 최적의 서비스 서버를 선택하는 단계;
    선택된 서비스 서버가 상기 사용자가 요청한 컨텐츠를 보유하고 있는지 여부를 판단하는 단계;
    상기 선택된 서비스 서버가 상기 사용자가 요청한 컨텐츠를 보유하고 있는 경우, 해당 컨텐츠를 상기 사용자에게 제공하는 단계; 및
    상기 선택된 서비스 서버가 상기 사용자가 요청한 컨텐츠를 보유하고 있지 않은 경우, 해당 컨텐츠를 컨텐츠 스토리지 서버로부터 다운로드 받아 상기 사용자에게 제공하는 단계; 를 포함하는 적응형 컨텐츠 분배 방법.
  9. 제 8 항에 있어서,
    상기 선택된 서비스 서버가 상기 사용자가 요청한 컨텐츠를 보유하고 있지 아니한 경우, 해당 컨텐츠의 크기를 파악하는 단계; 및
    상기 파악된 컨텐츠의 크기에 따라 해당 컨텐츠의 다운로드 완료 이후에 해당 컨텐츠를 제공하거나 상기 다운로드 진행과 동시에 해당 컨텐츠를 제공하는 단계; 를 더 포함하는 적응형 컨텐츠 분배 방법.
  10. 제 9 항에 있어서,
    상기 컨텐츠의 크기는 상기 서비스 서버와 상기 컨텐츠 스토리지 서버 사이의 네트워크로 데이터가 이동될 때 상기 사용자에 대한 서비스 지연 정도에 따라 결정되는 크기인 것을 특징으로 하는 적응형 컨텐츠 분배 방법.
  11. 제 8 항에 있어서,
    상기 최적의 서비스 서버를 선택하는 단계는,
    상기 다수의 서비스 서버 중 상기 사용자가 요청한 컨텐츠를 보유하고 있는 서비스 서버가 적어도 1 이상 존재하는지 여부를 판단하는 단계;
    상기 컨텐츠를 보유하고 있는 서버가 적어도 1 이상 존재하는 경우, 해당 서비스 서버를 적어도 1 이상 선정하는 단계; 및
    선정된 서비스 서버 중 세션 여유가 가장 많은 서비스 서버를 선정하는 단계; 를 포함하는 것을 특징으로 하는 적응형 컨텐츠 분배 방법.
  12. 제 11 항에 있어서,
    상기 컨텐츠를 보유하고 있는 서버가 존재하지 아니한 경우, 상기 컨텐츠를 보유하고 있지 아니한 서비스 서버 중에서 세션 여유가 있는 서비스 서버를 적어도 1 이상 선정하는 단계;
    선정된 서비스 서버의 컨텐츠 저장 공간에 해당 컨텐츠를 저장할 수 있을 정도의 여유가 있는지 여부를 판단하는 단계; 및
    상기 컨텐츠 저장 공간에 여유가 있는 경우, 상기 선정된 서비스 서버 중 가장 세션 여유가 많은 서비스 서버를 선정하는 단계; 를 더 포함하는 적응형 컨텐츠 분배 방법.
  13. 제 12 항에 있어서,
    상기 컨텐츠 저장 공간에 여유가 없는 경우, 기 저장된 컨텐츠를 삭제하여 가비지 컬렉션을 수행하는 단계; 를 더 포함하는 적응형 컨텐츠 분배 방법.
KR1020080040483A 2008-04-30 2008-04-30 적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법 KR20090114705A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080040483A KR20090114705A (ko) 2008-04-30 2008-04-30 적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080040483A KR20090114705A (ko) 2008-04-30 2008-04-30 적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법

Publications (1)

Publication Number Publication Date
KR20090114705A true KR20090114705A (ko) 2009-11-04

Family

ID=41555927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080040483A KR20090114705A (ko) 2008-04-30 2008-04-30 적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법

Country Status (1)

Country Link
KR (1) KR20090114705A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101146938B1 (ko) * 2010-06-03 2012-05-22 한국과학기술정보연구원 클라우드 컴퓨팅 환경을 적용한 디지털 케이블 방송에서의 주문형 비디오 서비스 제공 장치 및 제공 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
US9621620B2 (en) 2012-09-14 2017-04-11 Electronics And Telecommunications Research Institute Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101146938B1 (ko) * 2010-06-03 2012-05-22 한국과학기술정보연구원 클라우드 컴퓨팅 환경을 적용한 디지털 케이블 방송에서의 주문형 비디오 서비스 제공 장치 및 제공 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
US9621620B2 (en) 2012-09-14 2017-04-11 Electronics And Telecommunications Research Institute Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus

Similar Documents

Publication Publication Date Title
US11503112B2 (en) Selective access of multi-rate data from a server and/or peer
US11431791B2 (en) Content delivery method, virtual server management method, cloud platform, and system
EP2288085B1 (en) P2p based method, device and system for playing media
US9330004B2 (en) Data processing method, cache node, collaboration controller, and system
CN107181734B (zh) 一种cdn-p2p网络架构的流媒体缓存替换方法
CN108881944B (zh) 一种流媒体加速发布方法与系统
EP2704402B1 (en) Method and node for distributing electronic content in a content distribution network
JP5143957B2 (ja) トポロジを意識したキャッシュ協働
US9703752B2 (en) Caching in mobile networks
CN102301682B (zh) 网络缓存方法和系统及dns重定向子系统
Nair et al. A rank based replacement policy for multimedia server cache using zipf-like law
CN102137139A (zh) 缓存替换策略的选择方法、装置、代理服务器和系统
CN104967861A (zh) Cdn网络中的视频缓存系统及方法
WO2011140023A1 (en) Dynamic binding for use in content distribution
CN102244644A (zh) 多媒体文件发布方法和装置
WO2003030486A2 (en) Hierarchical caching in telecommunication networks
Petrangeli et al. Towards svc-based adaptive streaming in information centric networks
CN102724314A (zh) 一种基于元数据管理的分布式缓存客户端
KR20100060715A (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
JP5629492B2 (ja) 電子コンテンツを保存し、配信する方法およびシステム
Liu et al. A novel cache replacement scheme against cache pollution attack in content-centric networks
CN101854287B (zh) 一种p2p流量优化方法及装置
CN102710790A (zh) 一种基于元数据管理的分布式缓存实现方法及系统
KR20090114705A (ko) 적응형 컨텐츠 분배 시스템 및 컨텐츠 분배 방법
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application