KR101112572B1 - 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 - Google Patents

캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 Download PDF

Info

Publication number
KR101112572B1
KR101112572B1 KR1020080115945A KR20080115945A KR101112572B1 KR 101112572 B1 KR101112572 B1 KR 101112572B1 KR 1020080115945 A KR1020080115945 A KR 1020080115945A KR 20080115945 A KR20080115945 A KR 20080115945A KR 101112572 B1 KR101112572 B1 KR 101112572B1
Authority
KR
South Korea
Prior art keywords
node
cache
streaming
nodes
server
Prior art date
Application number
KR1020080115945A
Other languages
English (en)
Other versions
KR20100056932A (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 KR1020080115945A priority Critical patent/KR101112572B1/ko
Publication of KR20100056932A publication Critical patent/KR20100056932A/ko
Application granted granted Critical
Publication of KR101112572B1 publication Critical patent/KR101112572B1/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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • 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/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법에 관한 것이다. 본 발명은 분할된 캐시 조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시 조각 저장량을 확인하여 저장량이 가장 큰 노드로 스트리밍 노드를 전환함으로써, 스트리밍을 수행하는 노드가 다른 노드들로부터 캐시 조각을 취합하는데 걸리는 시간을 단축하여 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스를 제공할 수 있다.
스트리밍, CDN, 멀티미디어 컨텐츠, 노드, 캐시 서버, 캐시 조각, 저장량, 노드 전환

Description

캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity}
본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠를 여러 캐시 조각으로 분할하여 여러 노드의 캐시 서버에 분산 저장하고 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시 조각 저장량을 확인하여 저장량이 가장 큰 노드로 스트리밍 노드를 전환하는 스트리밍 시스템과 방법에 관한 것이다.
인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(streaming) 서비스가 활성화되고 있다. 스트리밍이란 멀티미디어 컨텐츠 파일을 모두 전송 받은 후에 재생하는 다운로드 방식과 달리, 전체 파일의 일정량만 전송되면 이를 버퍼링하면서 실시간으로 재생하는 기법을 말한다. 버퍼링된 부분을 재생하는 동안 나머지 부분을 지속적으로 전송 받기 때문에, 전송되는 데이터가 마치 끊임없고 지속적인 물 흐름처럼 처리된다고 하여 '스트리밍' 이라는 명칭이 붙여졌다. 이러한 스트리밍 서비스에는 실시간 방송 서비스나 주문형 비디오 서비스가 있다.
한편, UCC(user created contents)를 비롯한 동영상 컨텐츠의 폭발적인 증가에 따라 최근 인터넷 트래픽이 급속히 늘고 있다. 인터넷 대역폭(공급)의 성장 속도가 인터넷 트래픽(수요)의 성장 속도를 따라가지 못하는 상황에 직면한 것이다. 2007년의 경우만 보더라도 글로벌 인터넷 트래픽은 75% 성장했지만 인터넷 대역폭은 44% 증가하는데 그친 것으로 보고되고 있다.
이러한 인터넷 대역폭 부족 현상을 해결하기 위한 방안으로 CDN(contents delivery network) 기술이 관심을 끌고 있다. CDN 기술은 능동적인 트래픽 분산을 이용하여 네트워크의 평균 가동률을 높이고 피크 트래픽을 낮추어 인터넷 망을 더욱 효율적으로 활용할 수 있는 기술이다. CDN 기술에 따르면, 컨텐츠 제공자(contents provider)는 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 다수의 서버에 복제하고, 클라이언트의 요청이 있을 경우 최적의 서버로부터 컨텐츠를 제공받을 수 있도록 한다.
또한, 스트리밍과 같은 데이터 서비스에서 가입자단의 데이터 전송속도를 높이기 위해 많이 활용하고 있는 기술 중의 하나가 캐시(cache) 기술이다. 일반적인 캐시 구현에서는 캐싱되는 오브젝트가 다양한 크기의 데이터 단위로 이루어지고, 이를 바탕으로 캐시 서버는 데이터를 관리하기 위한 여러 통계들을 만들게 된다.
하지만 이러한 방법은 캐시 서버의 다양한 종류의 자원(RAM 크기, 저장공간, 원래 컨텐츠 제공자 서버에서의 총 컨텐츠 용량 등), 인터넷 전송속도의 불안정성, 사용자의 컨텐츠 사용에 대한 다양한 행동특성(다운로드나 스트리밍 도중의 중단 등), 캐시 대상인 데이터의 다양한 크기 등을 고려할 때, 캐시 서버가 다루는 오브젝트 단위가 컨텐츠 크기에 종속될 경우 다음과 같은 여러 문제가 발생한다.
1. 크기가 큰 파일과 작은 파일을 다룰 때 일정하지 않은 컴퓨팅 자원의 활용으로 인한 비효율
2. 크기가 다른 파일을 요청한 사용자에 대한 일정하지 않은 서비스 품질(QoS)
3. 해당 파일에 대한 사용자 요청이 정상적으로 종료되지 않은 경우 생기는 분할손(즉, 사용자 요청에 의해 전체 파일을 캐시 서버나 메모리에 저장하였으나 중간에 중단되는 경우에는 전체적인 효율을 떨어뜨리게 됨)
이러한 문제를 해결하기 위한 방안으로, 크기가 다양한 대용량 멀티미디어 컨텐츠를 크기가 일정한 여러 개의 캐시 조각(segment)으로 분할하고 이를 여러 노드의 캐시(cache) 서버에 분산 저장하는 기술이 이미 알려져 있다. 이에 따르면, 데이터 분산 저장을 통해 전체 시스템의 부하를 분산할 수 있고, 단일 서버 하드웨어의 물리적 성능(RAM, CPU, 네트워크 대역폭 등)을 하나 이상의 캐시 서버인 것처럼 동작하게 하여 단일 서버의 하드웨어 장벽(예컨대 최대 메모리 크기) 이상의 사양을 활용할 수 있다.
그러나 종래의 컨텐츠 분산 저장형 스트리밍 기술은 데이터의 분산 저장에 초점이 맞추어져 있을 뿐으로, 클라이언트의 스트리밍 요청이 있을 때 어느 노드에서 어떤 방식으로 인접 노드들의 캐시 조각들을 취합하여 스트리밍하는 것이 가장 효율적인지에 대한 연구가 부족한 실정이다.
따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에서 클라이언트의 스트리밍 요청이 있을 때 네트워크의 전체 성능과 서비스 품질 측면에서 최대한 효율적인 방식으로 캐시 조각들을 취합하고 스트리밍을 수행할 수 있는 멀티미디어 스트리밍 시스템과 방법을 제공하기 위한 것이다.
이러한 목적을 달성하기 위하여, 본 발명은 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법을 제공한다.
본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버를 포함하며, 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드들에 각각 구비되고, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버를 포함한다. 특히, 상기 노드들 중 상기 클라이언트로부터 스트리밍 요청을 받은 클라이언트 접속 노드의 상기 캐시 서버는 상기 노드들의 캐시 조각 저장량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 캐시 조각 저장량 확인부를 포함하고, 상기 스트리밍 노드의 상기 캐시 서버는 다른 노드들로부터 상기 캐시 조각들을 획득하는 노드간 통신부와, 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 스트리밍 제어부를 포함한다.
본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 각각의 상기 노드에 구비되어 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버를 더 포함할 수 있으며, 상기 클라이언트 접속 노드는 상기 캐시 서버에 상기 캐시 조각 저장량에 대한 정보를 제공하는 상기 인덱스 서버를 구비할할 수 있다.
또한, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정되면 상기 스트리밍 노드에 노드 전환 메시지를 전송하는 상기 노드간 통신부를 구비할 수 있다.
또한, 상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정할 수 있다.
또한, 각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장될 수 있다.
한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 각각 캐시 서버에 분산 저장하는 다수의 노드들 중 특정 노드에 상기 클라이언트가 접속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계와, 상기 특정 노드의 상기 캐시 서버가 상기 노드들의 캐시 조각 저장 량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 단계와, 상기 스트리밍 노드의 상기 캐시 서버가 다른 노드들로부터 상기 캐시 조각들을 획득하여 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 단계를 포함한다.
본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법에 있어서, 각각의 상기 노드는 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버를 더 구비할 수 있으며, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 인덱스 서버에 상기 캐시 조각 저장량에 대한 정보를 요청하여 제공받을 수 있다.
또한, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정되면 상기 스트리밍 노드에 노드 전환 메시지를 전송할 수 있다.
또한, 상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정할 수 있다.
또한, 각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장될 수 있다.
본 발명은 분할된 캐시 조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시 조각 저장량을 확인하여 저장량이 가장 큰 노드로 스트리밍 노드를 전환함으로써, 스트리밍을 수행하는 노드가 다른 노드들로부터 캐시 조각을 취합하는데 걸리는 시간을 단축하여 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스를 제공할 수 있는 장점이 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일한 참조부호를 부여한다.
도 1은 본 발명에 따른 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타내는 도면이고, 도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 구성 및 컨텐츠 분산 저장 방식을 보여주는 도면이다.
도 1을 참조하면, 본 발명의 멀티미디어 스트리밍 시스템은 컨텐츠 제공 서버(CP)와 다수의 클라이언트(C1, C2, C3, C4, C5, …, Cn) 사이에 지역적으로 분산되어 분포하는 다수의 노드(node; N1, N2, N3, …, Nn)들을 포함한다.
컨텐츠 제공 서버(CP)는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠의 원본을 저장하는 서버로, 근원 서버(origin server), 멀티미디어 서버, 컨텐츠 서버 등으로도 불린다. 컨텐츠 제공 서버(CP)는 멀티미디어 컨텐츠의 복제본을 미리 결정된 컨텐츠 분산 저장 정책에 따라 각각의 노드(N1, N2, N3, …, Nn)에 분산 저장한다. 멀티미디어 컨텐츠는 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠 등을 포함한 다.
도 2에 예시된 바와 같이, 각각의 노드(N1, N2, N3, N4)는 캐시 서버(cache server; CS1, CS2, CS3, CS4)를 구비한다. 캐시 서버는 스트리밍을 수행하기 위해 국제표준규격 IETF RFC2326의 RTSP(real-time streaming protocol)와 IETF RFC3550의 RTP(real-time transport protocol)/RTCP(RTP control protocol)를 지원한다.
멀티미디어 컨텐츠(MC)는 여러 캐시 조각(segment; S1 ~ S10)들로 분할되어 여러 노드의 캐시 서버에 분산 저장된다. 이때, 멀티미디어 컨텐츠의 모든 캐시 조각은 적어도 두 개 이상의 노드에 분산되어 저장되고, 저장을 담당하는 노드의 캐시 서버에는 적어도 하나 이상의 캐시 조각이 저장된다. 도 2의 예에서 멀티미디어 컨텐츠(MC)는 10개의 캐시 조각(S1 ~ S10)으로 분할되어 4개의 노드(N1 ~ N4)에 분산 저장되는데, 이때 각 노드의 캐시 서버(CS1 ~ CS4)는 1개(S1), 2개(S2 ~ S3), 4개(S4 ~ S7), 3개(S8 ~ S10)의 캐시 조각을 저장한다.
멀티미디어 컨텐츠(MC)의 캐시 조각 분할은 미리 결정된 특정 규칙에 따라 이루어지며, 컨텐츠 분할 규칙은 프레임 단위, 시간 단위, 용량 단위 등 다양한 방식으로 결정될 수 있다. 또한, 컨텐츠 분할 규칙은 컨텐츠 유형별로 다르게 결정될 수도 있고 컨텐츠 유형에 상관없이 일괄적으로 결정될 수도 있다. 또한, 컨텐츠 분할 규칙은 각 노드의 저장용량에 비례하여 결정될 수도 있고 노드 저장용량에 무관하게 결정될 수도 있다.
각각의 노드(N1, N2, N3, N4)는 또한 인덱스 서버(index server; IS1, IS2, IS3, IS4)를 더 구비한다. 인덱스 서버는 멀티미디어 컨텐츠(MC)의 캐시 조각(S1 ~ S10)들이 어느 노드에 얼마나 저장되어 있는지에 대한 캐시 조각 저장정보를 저장한다. 이 밖에 인덱스 서버는 후술하는 바와 같이 노드간 전송지연시간 등의 노드 상태정보 등도 더 저장할 수 있다.
한편, 클라이언트(C1)는 스트리밍 데이터를 전송 받아 일시 저장하는 하나 이상의 버퍼(B1)를 구비한다. 클라이언트(C1)는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기기를 망라한다. 예를 들어, 클라이언트(C1)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기, MP3 플레이어 등이 가능하다.
캐시 서버의 세부 구성을 나타낸 도 3을 참조하여 캐시 서버에 대하여 좀더 자세히 설명한다. 각 캐시 서버(CS1)는 스트리밍 제어부(11), 컨텐츠 캐시 조각 저장부(12), 캐시 조각 저장량 확인부(13), 노드간 통신부(14)를 포함하여 구성될 수 있다.
스트리밍 제어부(11)는 클라이언트(C1)의 스트리밍 요청을 수신하고 요청 받은 컨텐츠를 클라이언트에게 스트리밍 방식으로 전송한다. 컨텐츠 캐시 조각 저장부(12)는 컨텐츠가 분할된 캐시 조각들 중 자신의 노드에 할당된 캐시 조각을 저장하고, 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송한다. 캐시 조각 저장량 확인부(13)는 스트리밍 제어부(11)가 클라이언트(C1)의 스트리밍 요청을 수신하면 인덱스 서버(IS1)에 접속하여 각 노드의 캐시 조각 저장량을 확인하고, 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정한다. 노드간 통신부(14)는 자신의 노드가 스트리밍 노드이면 다른 노드들(N2~N4)로부터 캐시 조각들을 획득하여 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송하고, 스트리밍 노드가 아니면 컨텐츠 캐시 조각 저장부(12)에 저장된 캐시 조각을 스트리밍 노드의 캐시 서버로 전송한다.
이어서, 도 4를 참조하여 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템과 방법에 대하여 좀더 구체적으로 설명한다. 도 4는 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.
클라이언트(C1)가 특정 노드에 접속하여 스트리밍 요청을 하면, 그 노드(N1)의 캐시 서버(CS1)는 클라이언트(C1)의 스트리밍 요청을 수신한다(단계 S11). 이하, 클라이언트(C1)의 스트리밍 요청을 수신한 특정 노드(N1)를 '클라이언트 접속 노드'라 지칭하여 다른 노드와 구별하기로 한다. 후술하는 바와 같이, 실제로 스트리밍을 수행하는 노드는 클라이언트 접속 노드가 아닌 다른 노드가 될 수도 있는데, 스트리밍을 실제 수행하는 노드는 '스트리밍 노드'라 지칭하기로 한다.
클라이언트 접속 노드(N1)의 캐시 서버(CS1)는 스트리밍 요청을 받은 컨텐츠의 캐시 조각 저장정보를 인덱스 서버(IS1)에 요청한다(단계 S12). 캐시 조각 저장정보는 각 노드가 저장하고 있는 캐시 조각의 보유 목록과 캐시 조각 저장량에 대한 정보를 포함한다. 캐시 조각 저장량은 예컨대 캐시 조각의 개수이며, 이 밖에 캐시 조각의 전체 용량이나 전체 재생시간 등도 될 수 있다. 아래의 표 1은 캐시 조각 저장정보에 대한 예이다.
노드 캐시 조각 개수 전체 용량 전체 재생시간
N1 S1 1개 150MB 12분
N2 S2, S3 2개 300MB 24분
N3 S4, S5, S6, S7 4개 600MB 48분
N4 S8, S9, S10 3개 450MB 36분
인덱스 서버(I1)는 해당 컨텐츠의 캐시 조각 저장정보를 캐시 서버(CS1)에 제공한다(단계 S13).
인덱스 서버(IS1)로부터 캐시 조각 저장정보를 받은 캐시 서버(CS1)는 각 노드의 캐시 조각 저장량을 확인하고 캐시 조각 저장량이 가장 큰 노드를 결정한다(단계 S14). 위 표 1의 예에서 캐시 조각 저장량이 가장 큰 노드는 세 번째 노드(N3)이다.
캐시 조각 저장량이 가장 큰 노드(N3)가 결정되면, 클라이언트 접속 노드(N1)는 캐시 조각 저장량이 가장 큰 노드(N3)로 스트리밍 노드를 전환한다(단계 S15). 노드 전환은 클라이언트 접속 노드(N1)의 캐시 서버(CS1)가 노드 전환 메시지를 전송하고 상대편 노드(N3)의 캐시 서버(CS3)가 이를 수신함으로써 이루어진다. 노드 전환 메시지를 전송할 때 클라이언트 접속 노드(N1)는 스트리밍을 요청한 클라이언트 정보와 컨텐츠 정보를 함께 제공한다.
스트리밍 노드(N3)의 캐시 서버(CS3)는 캐시 조각들을 저장하고 있는 나머지 노드(N1, N2, N4)들에 각각 캐시 조각들을 요청한다(단계 S16, S17, S18). 이때, 스트리밍 노드(N3)의 캐시 서버(CS3)는 캐시 조각들을 요청하기 위해 캐시 조각 저장정보를 자신의 인덱스 서버(IS3)로부터 얻을 수도 있고 클라이언트 접속 노드(N1)로부터 제공받을 수도 있다.
스트리밍 노드(N3)로부터 캐시 조각 요청을 수신한 노드(N1, N2, N4)들의 캐시 서버(CS1, CS2, CS4)는 각각 자신이 저장하고 있는 캐시 조각들을 스트리밍 노드(N3)에 전송한다(단계 S19, S20, S21).
다른 노드(N1, N2, N4)들로부터 캐시 조각들을 획득한 스트리밍 노드(N3)의 캐시 서버(CS3)는 스트리밍을 요청한 클라이언트(C1)에게 컨텐츠를 스트리밍한다(단계 S22).
스트리밍 노드(N3)로부터 스트리밍 데이터를 수신하기 시작한 클라이언트(C1)는 스트리밍 데이터를 버퍼(B1)에 버퍼링하면서 디코딩하여 컨텐츠를 재생한다.
이상 설명한 바와 같이 클라이언트(C1)로부터 스트리밍 요청을 받은 클라이언트 접속 노드(N1)가 스트리밍을 수행하는 것이 아니라 캐시 조각 저장량이 가장 큰 노드(N3)가 스트리밍을 수행하는 이유는 다음과 같다. 특정 노드가 스트리밍을 수행하려면 다른 노드들에 저장 중인 캐시 조각들을 획득하여야 하는데, 이때 다른 노드들로부터 캐시 조각들을 전송 받는데 시간이 소요된다. 따라서 다른 노드들로부터 전송 받는 캐시 조각들의 양이 적으면 적을수록, 즉 자신이 가지고 있는 캐시 조각이 많으면 많을수록 캐시 조각의 획득시간이 단축되므로, 결국 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스가 이루어질 수 있다.
한편, 클라이언트 접속 노드(N1)가 다른 노드(N2, N3, N4)들의 캐시 조각 저장량을 확인하고 캐시 조각 저장량이 가장 큰 노드를 결정할 때 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우에는 2차 파라미터를 이용하여 스트리밍 노드를 결정할 수 있다. 예를 들어, 전술한 바와 같이 각 노드의 인덱스 서버는 노드간 전송지연시간 등의 노드 상태정보를 저장할 수 있는데, 이러한 노드 상태정보를 이용하면 캐시 조각 저장량이 가장 큰 노드들 중 어느 하나를 스트리밍 노드로 결정할 수 있다.
아래의 표 2는 2차 파라미터를 이용하여 스트리밍 노드를 결정하는 경우의 예로, 이 경우 캐시 조각 저장량이 가장 큰 노드는 N2와 N4이고, 2차 파라미터(노드간 최대 전송지연시간)를 고려하면 스트리밍 노드는 N4로 결정된다.
노드 캐시 조각 개수 노드간 최대 전송지연시간 스트리밍 노드
N1 S1, S2 2개 3.2초 X
N2 S3, S4, S5 3개 4.7초 X
N3 S6, S7 2개 1.9초 X
N4 S8, S9, S10 3개 3.5초 O
또한, 멀티미디어 컨텐츠(MC)의 각 캐시 조각은 적어도 둘 이상의 서로 다른 노드에 중복 저장될 수도 있는데, 이 경우에도 클라이언트 접속 노드는 중복 저장 여부에 상관없이 다른 노드들의 캐시 조각 저장량을 확인하고 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정한다.
아래의 표 3은 그러한 경우의 예로, 멀티미디어 컨텐츠는 10개의 캐시 조각(S1 ~ S10)으로 분할되어 4개의 노드(N1 ~ N4)에 분산 저장되는데, 각각의 캐시 조각은 2개씩 중복하여 서로 다른 노드에 저장된다. 표 3의 예에서 스트리밍 노드는 캐시 조각 저장량이 가장 큰 노드 N2가 된다.
노드 캐시 조각 개수 스트리밍 노드
N1 S1, S2, S9, S5 4개 X
N2 S3, S10, S1, S6, S7, S8 6개 O
N3 S4, S5, S6, S2, S9 5개 X
N4 S7, S8, S3, S4, S10 5개 X
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠, IPTV 등 다양한 형태로 나타나고 있는 각종 멀티미디어 스트리밍 서비스에 유용하게 이용할 수 있다.
도 1은 본 발명에 따른 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 구성 및 컨텐츠 분산 저장 방식을 보여주는 도면이다.
도 3은 도 2의 캐시 서버 세부 구성을 보여주는 도면이다.
도 4는 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.
<도면의 주요부분에 대한 설명>
CP: 컨텐츠 제공 서버
N1, N2, N3, N4, …, Nn: 노드
C1, C2, C3, C4, C5, …, Cn: 클라이언트
MC: 멀티미디어 컨텐츠
S1, S2, S3, S4, S5, S6, S7, S8, S9, S10: 컨텐츠 캐시 조각
CS1, CS2, CS3, CS4: 캐시 서버
IS1, IS2, IS3, IS4: 인덱스 서버
B1: 버퍼
11: 스트리밍 제어부
12: 컨텐츠 캐시 조각 저장부
13: 캐시 조각 저장량 확인부
14: 노드간 통신부

Claims (10)

  1. 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버;
    상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드들에 각각 구비되고, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버;
    를 포함하며,
    상기 노드들 중 상기 클라이언트로부터 스트리밍 요청을 받은 클라이언트 접속 노드의 상기 캐시 서버는 상기 노드들의 캐시 조각 저장량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 캐시 조각 저장량 확인부를 포함하고,
    상기 스트리밍 노드의 상기 캐시 서버는 다른 노드들로부터 상기 캐시 조각들을 획득하는 노드간 통신부와, 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 스트리밍 제어부를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  2. 청구항 1에 있어서,
    각각의 상기 노드에 구비되어 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버;
    를 더 포함하며,
    상기 클라이언트 접속 노드는 상기 캐시 서버에 상기 캐시 조각 저장량에 대한 정보를 제공하는 상기 인덱스 서버를 구비함을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  3. 청구항 1에 있어서,
    상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정되면 상기 스트리밍 노드에 노드 전환 메시지를 전송하는 상기 노드간 통신부를 구비함을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  4. 청구항 1에 있어서,
    상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  5. 청구항 1에 있어서,
    각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장되는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  6. 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이 에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 각각 캐시 서버에 분산 저장하는 다수의 노드들 중 특정 노드에 상기 클라이언트가 접속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계;
    상기 특정 노드의 상기 캐시 서버가 상기 노드들의 캐시 조각 저장량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 단계;
    상기 스트리밍 노드의 상기 캐시 서버가 다른 노드들로부터 상기 캐시 조각들을 획득하여 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 단계;
    를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  7. 청구항 6에 있어서,
    각각의 상기 노드는 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버를 더 구비하며,
    상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 인덱스 서버에 상기 캐시 조각 저장량에 대한 정보를 요청하여 제공받는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  8. 청구항 6에 있어서,
    상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정 되면 상기 스트리밍 노드에 노드 전환 메시지를 전송하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  9. 청구항 6에 있어서,
    상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  10. 청구항 6에 있어서,
    각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장되는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
KR1020080115945A 2008-11-20 2008-11-20 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 KR101112572B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080115945A KR101112572B1 (ko) 2008-11-20 2008-11-20 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080115945A KR101112572B1 (ko) 2008-11-20 2008-11-20 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100056932A KR20100056932A (ko) 2010-05-28
KR101112572B1 true KR101112572B1 (ko) 2012-02-15

Family

ID=42280865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115945A KR101112572B1 (ko) 2008-11-20 2008-11-20 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101112572B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101510231B1 (ko) * 2013-01-07 2015-04-14 한국과학기술원 콘텐츠 제공 시스템 및 캐시 서버 배치 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020029441A (ko) * 2000-08-21 2002-04-19 김영민 분산 서버 시스템 및 이를 이용한 데이터 제공 방법
KR20030044866A (ko) * 2001-11-30 2003-06-09 가부시키가이샤 엔.티.티.도코모 컨텐츠 배급 시스템, 기술 데이터 배급 장치, 컨텐츠 위치관리 장치, 데이터 변환 장치, 수신 단말 장치, 및 컨텐츠배급 방법
KR20080026730A (ko) * 2006-09-21 2008-03-26 파이로웍스(주) 지연시간을 최소화한 스트리밍 서비스 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020029441A (ko) * 2000-08-21 2002-04-19 김영민 분산 서버 시스템 및 이를 이용한 데이터 제공 방법
KR20030044866A (ko) * 2001-11-30 2003-06-09 가부시키가이샤 엔.티.티.도코모 컨텐츠 배급 시스템, 기술 데이터 배급 장치, 컨텐츠 위치관리 장치, 데이터 변환 장치, 수신 단말 장치, 및 컨텐츠배급 방법
JP2003228534A (ja) 2001-11-30 2003-08-15 Ntt Docomo Inc 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
KR20080026730A (ko) * 2006-09-21 2008-03-26 파이로웍스(주) 지연시간을 최소화한 스트리밍 서비스 방법 및 시스템

Also Published As

Publication number Publication date
KR20100056932A (ko) 2010-05-28

Similar Documents

Publication Publication Date Title
US11539768B2 (en) System and method of minimizing network bandwidth retrieved from an external network
KR101104729B1 (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US8880650B2 (en) System and method for storing streaming media file
KR101301004B1 (ko) 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US8966097B1 (en) Fractional redundant distribution of media content
US9497035B2 (en) Method, device, and system for playing media based on P2P
CN101729273A (zh) 一种流媒体分发***、方法及装置
CN102055718B (zh) 一种在http streaming***中实现分层请求内容的方法,装置和***
WO2010060106A1 (en) Adaptive network content delivery system
KR20100055297A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 동시 멀티미디어 스트리밍 시스템 및 방법
KR101128293B1 (ko) 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US20240179200A1 (en) System and method of minimizing network bandwidth retrieved from an external network
Lin Enhancing P2P live streaming performance by balancing description distribution and available forwarding bandwidth in P2P streaming network
CN107645475B (zh) 异质网络中的文件资源分发***与方法
KR101112572B1 (ko) 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101088022B1 (ko) Vcr기능조작을 사용자 선호도로 반영하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
KR20100059117A (ko) 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
KR101137248B1 (ko) 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR20100055298A (ko) 컨텐츠의 지역별 선호도 기반의 분산 저장 방법, 관리 서버, 및 멀티미디어 스트리밍 시스템
KR20100055296A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 순차적 멀티미디어 스트리밍 시스템 및 방법
KR101242830B1 (ko) P2p 기반의 스트리밍 서비스에서 버퍼링을 수행하는 시스템 및 방법 그리고 클라이언트에서 버퍼링을 처리하는 어플리케이션을 배포하는 시스템
Zhu et al. A portion-based content distribution strategy in streaming media content distribution networks
Naor et al. Content Placement for Video-on-Demand Services Over Cellular Networks
Liu et al. Dynamic bi-overlay rotation for streaming with heterogeneous devices

Legal Events

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

Payment date: 20141222

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191220

Year of fee payment: 9