KR20100060715A - 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 - Google Patents

최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 Download PDF

Info

Publication number
KR20100060715A
KR20100060715A KR1020080119432A KR20080119432A KR20100060715A KR 20100060715 A KR20100060715 A KR 20100060715A KR 1020080119432 A KR1020080119432 A KR 1020080119432A KR 20080119432 A KR20080119432 A KR 20080119432A KR 20100060715 A KR20100060715 A KR 20100060715A
Authority
KR
South Korea
Prior art keywords
node
cache
streaming
fragment
server
Prior art date
Application number
KR1020080119432A
Other languages
English (en)
Other versions
KR101104729B1 (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 KR1020080119432A priority Critical patent/KR101104729B1/ko
Publication of KR20100060715A publication Critical patent/KR20100060715A/ko
Application granted granted Critical
Publication of KR101104729B1 publication Critical patent/KR101104729B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end

Abstract

본 발명은 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법에 관한 것이다. 본 발명은 분할된 캐시조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시조각 저장정보와 노드 상태정보를 확인하여 이를 토대로 최적의 캐시조각 획득방식을 결정하고 이에 따라 다른 노드들의 캐시조각들을 획득한다. 즉, 본 발명은 스트리밍 노드가 특정 캐시조각을 전송 받고 있는 동안 다른 노드의 캐시조각을 스트리밍 노드에 가장 가까운 노드를 경유하여 전송함으로써, 스트리밍 노드의 부하를 다른 노드로 분산하여 전체 네트워크의 성능을 최적화하고 서비스 품질을 향상시킬 수 있다.
스트리밍, CDN, 멀티미디어 컨텐츠, 노드, 캐시 서버, 캐시조각

Description

최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments}
본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠를 여러 캐시조각으로 분할하여 여러 노드의 캐시 서버에 분산 저장하고 클라이언트의 스트리밍 요청을 받은 스트리밍 노드가 다른 노드의 캐시조각 저장정보와 노드 상태정보를 확인하여 최적의 캐시조각 획득방식을 결정하고 그에 따라 캐시조각들을 획득하고 스트리밍을 수행하는 스트리밍 시스템과 방법에 관한 것이다.
인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(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, 네트워크 대역폭 등)을 하나 이상의 캐시 서버인 것처럼 동작하게 하여 단일 서버의 하드웨어 장벽(예컨대 최대 메모리 크기) 이상의 사양을 활용할 수 있다.
그러나 종래의 컨텐츠 분산 저장형 스트리밍 기술은 데이터의 분산 저장에 초점이 맞추어져 있을 뿐으로, 클라이언트의 스트리밍 요청이 있을 때 어떤 방식으로 인접 노드들의 캐시조각들을 취합하여 스트리밍하는 것이 가장 효율적인지에 대 한 연구가 부족한 실정이다.
따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에서 클라이언트의 스트리밍 요청이 있을 때 네트워크의 전체 성능과 서비스 품질 측면에서 최대한 효율적인 방식으로 캐시조각들을 취합하고 스트리밍을 수행할 수 있는 멀티미디어 스트리밍 시스템과 방법을 제공하기 위한 것이다.
이러한 목적을 달성하기 위하여, 본 발명은 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법을 제공한다.
본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버; 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드; 각각의 상기 노드에 구비되며, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버를 포함하여 구성되며, 상기 노드 중 상기 클라이언트로부터 스트리밍 요청을 받은 스트리밍 노드의 상기 캐시 서버는, 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 캐시조각 획득방식 결정부와, 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하는 노드간 통신부와, 상기 노드간 통신부를 통해 획득한 상기 캐시조각들을 상기 클라이언트에게 스트리밍 방식으로 전송하는 스트리밍 제어부를 구비한다.
이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 각각의 상기 노드에 구비되고, 상기 캐시조각 저장정보와 상기 노드 상태정보를 저장하며, 상기 캐시조각 저장정보와 상기 노드 상태정보를 상기 캐시 서버에 제공하는 인덱스 서버를 더 포함할 수 있다.
또한, 상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함할 수 있고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함할 수 있다.
또한, 상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식일 수 있다.
한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시조각을 각각 캐시 서버에 분산 저장하는 다수의 노드 중 특정 노드에 상기 클라이언트가 접속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계; 상기 특정 노드의 상기 캐시 서버가 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 단계; 상기 특정 노드의 상기 캐시 서버가 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하여 상기 클라이언트에 스트리밍하는 단계를 포함하여 구성된다.
이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 상기 특정 노드의 상기 캐시 서버가 인덱스 서버에 상기 캐시조각 저장정보와 상기 노드 상태정보를 질의하고 응답 받는 단계를 더 포함할 수 있다.
또한, 상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함할 수 있고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함할 수 있다.
또한, 상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식일 수 있다.
이와 같이, 본 발명은 분할된 캐시조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시조각 저장정보와 노드 상태정보를 확인하여 이를 토대로 최적의 캐시조각 획득방식을 결정하고 이에 따라 다른 노드의 캐시조각들을 획득한다. 즉, 본 발명은 스트리밍 노드가 특정 캐시조각을 전송 받고 있는 동안 다른 노드의 캐시조각을 스트리밍 노드에 가장 가까운 노드를 경유하여 전송함으로써, 스트리밍 노드의 부하를 다른 노드로 분산하여 전체 네트워크의 성능을 최적화하고 서비스 품질을 향상시킬 수 있는 장점이 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일한 참조부호를 부여한다.
도 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, N5)는 캐시 서버(cache server; CS)를 구비한다. 캐시 서버(CS)는 스트리밍을 수행하기 위해 국제표준규격 IETF RFC2326의 RTSP(real-time streaming protocol)와 IETF RFC3550의 RTP(real-time transport protocol)/RTCP(RTP control protocol)를 지원한다.
멀티미디어 컨텐츠(MC)는 여러 캐시조각(segment; S1 ~ S5)들로 분할되어 여러 노드(N1 ~ N5)의 캐시 서버(CS)에 분산 저장된다. 이때, 멀티미디어 컨텐츠의 모든 캐시조각은 적어도 두 개 이상의 노드에 분산되어 저장되고, 저장을 담당하는 노드의 캐시 서버에는 적어도 하나 이상의 캐시조각이 저장된다. 도 2의 예에서 멀티미디어 컨텐츠(MC)는 5개의 캐시조각(S1 ~ S5)으로 분할되어 5개의 노드(N1 ~ N5)에 분산 저장된다.
멀티미디어 컨텐츠(MC)의 캐시조각 분할은 미리 결정된 특정 규칙에 따라 이루어지며, 컨텐츠 분할 규칙은 프레임 단위, 시간 단위, 용량 단위 등 다양한 방식으로 결정될 수 있다. 또한, 컨텐츠 분할 규칙은 컨텐츠 유형별로 다르게 결정될 수도 있고 컨텐츠 유형에 상관없이 일괄적으로 결정될 수도 있다. 또한, 컨텐츠 분할 규칙은 각 노드의 저장용량에 비례하여 결정될 수도 있고 노드 저장용량에 무관하게 결정될 수도 있다.
각각의 노드(N1 ~ N5)는 또한 인덱스 서버(index server; IS)를 더 구비한다. 인덱스 서버(IS)는 멀티미디어 컨텐츠(MC)의 캐시조각(S1 ~ S5)들이 어느 노드(N1 ~ N5)에 얼마나 저장되어 있는지에 대한 캐시조각 저장정보를 저장한다. 즉, 인덱스 서버(IS)가 가지는 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간 등을 포함한다. 또한, 인덱스 서버(IS)는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간 등의 노드 상태정보 등도 저장한다.
한편, 클라이언트(C1)는 스트리밍 데이터를 전송 받아 일시 저장하는 하나 이상의 버퍼(buffer; B)를 구비한다. 클라이언트(C1)는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기기를 망라한다. 예를 들어, 클라이언트(C1)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기, MP3 플레이어 등이 가능하다.
캐시 서버(CS)의 세부 구성을 나타낸 도 3을 참조하여 캐시 서버에 대하여 좀더 자세히 설명한다.
각 캐시 서버(CS)는 스트리밍 제어부(11), 컨텐츠 캐시조각 저장부(12), 캐시조각 획득방식 결정부(13), 노드간 통신부(14)를 포함하여 구성될 수 있다.
스트리밍 제어부(11)는 클라이언트(C1)의 스트리밍 요청을 수신하고 요청 받은 컨텐츠를 클라이언트(C1)에게 스트리밍 방식으로 전송한다.
컨텐츠 캐시조각 저장부(12)는 컨텐츠가 분할된 캐시조각들 중 자신의 노드에 할당된 캐시조각을 저장하고, 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송한다.
캐시조각 획득방식 결정부(13)는 스트리밍 제어부(11)가 클라이언트(C1)의 스트리밍 요청을 수신하면 인덱스 서버(IS)에 접속하여 각 노드의 캐시조각 저장정보 및 노드 상태정보를 조회, 확인하고, 이러한 정보를 토대로 최적의 캐시조각 획득방식을 결정한다.
노드간 통신부(14)는 자신의 노드가 스트리밍 노드이면 다른 노드로부터 캐시조각들을 획득하여 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송하고, 스트리밍 노드가 아니면 컨텐츠 캐시조각 저장부(12)에 저장된 캐시조각을 스트리밍 노드의 캐시 서버로 전송한다.
이어서, 도 2 내지 도 4를 참조하여 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템과 방법에 대하여 좀더 구체적으로 설명한다. 도 4는 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.
도 2 내지 도 4의 예시에서 5개로 분할된 캐시조각(S1 ~ S5)은 각각 5개의 노드(N1 ~ N5)에 분산 저장되고, 번호 순서대로 재생 우선순위를 갖는다고 가정한다. 즉, 노드 N1의 캐시 서버에 저장된 캐시조각(S1)이 가장 빠른 재생 우선순위를 갖고, 노드 N5의 캐시 서버에 저장된 캐시조각(S5)이 가장 늦은 재생 우선순위를 갖는다. 아울러, 도 4에서 인접한 각 노드는 서로 동일한 노드간 거리를 갖는다고 가정한다. 즉, 노드 N1과 노드 N2 사이의 거리와 노드 N2와 노드 N3 사이의 거리는 동일하고, 노드 N2과 노드 N4 사이의 거리는 노드 N1과 노드 N2 사이의 거리의 2배, 노드 N2과 노드 N3 사이의 거리는 노드 N1과 노드 N2 사이의 거리의 3배이다. 그러나 이러한 가정은 단지 설명을 위한 것일 뿐, 본 발명의 범위를 한정하고자 하는 것은 아니다. 각 노드간 거리는 동일하지 않을 수 있으며, 이 경우에도 본 발명은 동일하게 적용될 수 있다.
클라이언트(C1)가 특정 노드(N2)에 접속하여 스트리밍 요청을 하면, 그 노드(N2)의 캐시 서버(CS)는 클라이언트(C1)의 스트리밍 요청을 수신한다(단계 S11). 이하, 클라이언트(C1)의 스트리밍 요청을 수신한 특정 노드(N2)를 '스트리밍 노드'라 지칭하여 다른 노드와 구별하기로 한다.
스트리밍 노드(N2)의 캐시 서버(CS)는 스트리밍 요청을 받은 컨텐츠의 캐시조각 저장정보 및 각 노드의 상태정보를 조회한다(단계 S12). 즉, 캐시 서버(CS)는 인덱스 서버(IS)에 캐시조각 저장정보와 노드 상태정보를 질의하고 응답을 받는다. 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간 등을 포함한다. 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간 등을 포함한다.
인덱스 서버(IS)로부터 캐시조각 저장정보와 노드 상태정보를 받은 스트리밍 노드(N2)의 캐시 서버(CS)는 각 캐시조각의 저장 위치, 재생 우선순위, 크기, 각 노드간 거리, 각 노드의 잔여 메모리 용량 등을 종합적으로 고려하여 최적의 캐시조각 획득방식을 결정한다(단계 S13).
최적의 캐시조각 획득방식에 대하여 구체적으로 설명하면, 먼저 제1 재생순위를 갖는 캐시조각(이하, '제1 캐시조각'이라 함)이 저장된 노드(이하, '제1 노드'라 함)를 확인한다.
이어서, 제2 재생순위를 갖는 캐시조각(이하, '제2 캐시조각' 이라 함)이 저장된 노드(이하, '제2 노드'라 함)를 확인하고, 제2 캐시조각을 어떤 방식으로 획득하는 것이 가장 효율적인지 판단한다. 즉, 제2 노드에서 스트리밍 노드로 직접 제2 캐시조각을 전송 받는 것이 나은지, 다른 노드를 경유하여 제2 캐시조각을 전송 받는 것이 나은지를 판단한다. 만약 제1 노드가 제2 노드보다 더 스트리밍 노드에 인접해 있고 제1 노드의 메모리 용량에 여유가 있다면, 제1 노드가 스트리밍 노드로 제1 캐시조각을 전송하는 동안에 제2 노드가 제1 노드로 제2 캐시조각을 전송 하는 편이 제2 노드가 직접 스트리밍 노드로 제2 캐시조각을 전송하는 것보다 더 효율적일 수 있다. 이 경우, 제1 노드는 스트리밍 노드로 제1 캐시조각의 전송을 완료한 후, 제2 노드로부터 수신한 제2 캐시조각을 스트리밍 노드에 전송한다.
이러한 방식으로 각각의 캐시조각을 저장하고 있는 노드가 직접 스트리밍 노드로 캐시조각을 전송하는 것과 다른 노드를 경유하여 캐시조각을 전송하는 것 중에서 어떤 전송방식이 더 효율적인지를 판단한다. 이 방식의 기본 개념은 스트리밍 노드가 특정 캐시조각을 전송 받고 있을 때 다른 노드의 캐시조각을 스트리밍 노드에 가장 가까운 노드로 전송한 후 스트리밍 노드로 전송하는 것이다. 이렇게 함으로써 스트리밍 노드의 부하를 다른 노드로 분산하여 전체 네트워크의 성능을 최적화할 수 있다. 한편, 스트리밍 노드로 캐시조각을 전송하기 전에 경유지로 선택되는 노드는 스트리밍 노드에 물리적으로 가장 가까운 노드가 될 수도 있고, 전송지연시간과 메모리 잔여용량 등을 종합적으로 고려하여 결정할 수도 있다.
도 4의 예는 제1 노드(N2)가 스트리밍 노드인 경우이다. 스트리밍 노드(N2)는 최적의 캐시조각 획득방식을 결정한 후, 각각의 노드(N1, N3~N5)에 캐시조각 전송을 요청한다(단계 S14, S15, S16, S17). 이러한 캐시조각 전송요청은 동시에 수행하거나, 연속적으로 수행하거나, 시간 간격을 두고 순차적으로 수행할 수 있다.
캐시조각 전송요청을 수신한 제1 노드(N1)는 제1 캐시조각을 스트리밍 노드(N2)에 전송하고(단계 S18), 제1 캐시조각을 수신한 스트리밍 노드(N2)는 스트리밍을 요청한 클라이언트(C1)에게 제1 캐시조각을 스트리밍한다(단계 S19).
또한, 캐시조각 전송요청을 수신한 제3 노드(N3)는 제3 캐시조각을 스트리밍 노드(N2)에 전송하며(단계 S20), 제3 캐시조각을 수신한 스트리밍 노드(N2)는 자신이 저장 중인 제2 캐시조각을 클라이언트(C1)에게 스트리밍한 후 제3 캐시조각을 스트리밍한다.
한편, 캐시조각 전송요청을 수신한 제4 노드(N4)와 제5 노드(N5)는 스트리밍 노드(N2)에 인접한 제3 노드(N3)에 각각 제4 캐시조각과 제5 캐시조각을 전송한다(단계 S21, S23). 제4 캐시조각과 제5 캐시조각을 수신한 제3 노드(N3)는 자신이 저장 중인 제3 캐시조각의 전송이 완료되면 차례로 제4 캐시조각과 제5 캐시조각을 스트리밍 노드(N2)에 전송한다(단계 S22, S24).
스트리밍 노드(N2)는 제3 노드(N3)로부터 제4 캐시조각을 수신하여 클라이언트(C1)에게 전송하고 제5 캐시조각을 수신하여 클라이언트(C1)에게 전송한다(단계 S25).
스트리밍 노드(N2)로부터 스트리밍 데이터를 수신하기 시작한 클라이언트(C1)는 스트리밍 데이터를 버퍼(B)에 버퍼링하면서 디코딩하여 컨텐츠를 재생한다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 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: 컨텐츠 캐시조각
CS: 캐시 서버
IS: 인덱스 서버
B: 버퍼
11: 스트리밍 제어부
12: 컨텐츠 캐시조각 저장부
13: 캐시조각 획득방식 결정부
14: 노드간 통신부

Claims (8)

  1. 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버;
    상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드;
    각각의 상기 노드에 구비되며, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버;
    를 포함하며,
    상기 노드 중 상기 클라이언트로부터 스트리밍 요청을 받은 스트리밍 노드의 상기 캐시 서버는,
    상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 캐시조각 획득방식 결정부와,
    상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하는 노드간 통신부와,
    상기 노드간 통신부를 통해 획득한 상기 캐시조각들을 상기 클라이언트에게 스트리밍 방식으로 전송하는 스트리밍 제어부를 구비하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  2. 청구항 1에 있어서,
    각각의 상기 노드에 구비되고, 상기 캐시조각 저장정보와 상기 노드 상태정 보를 저장하며, 상기 캐시조각 저장정보와 상기 노드 상태정보를 상기 캐시 서버에 제공하는 인덱스 서버;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  3. 청구항 1에 있어서,
    상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함하고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  4. 청구항 1에 있어서,
    상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식인 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  5. 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시조각을 각각 캐시 서버에 분산 저장하는 다수의 노드 중 특정 노드에 상기 클라이언트가 접 속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계;
    상기 특정 노드의 상기 캐시 서버가 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 단계;
    상기 특정 노드의 상기 캐시 서버가 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하여 상기 클라이언트에 스트리밍하는 단계;
    를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  6. 청구항 5에 있어서,
    상기 특정 노드의 상기 캐시 서버가 인덱스 서버에 상기 캐시조각 저장정보와 상기 노드 상태정보를 질의하고 응답 받는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  7. 청구항 5에 있어서,
    상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함하고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  8. 청구항 5에 있어서,
    상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식인 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
KR1020080119432A 2008-11-28 2008-11-28 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 KR101104729B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080119432A KR101104729B1 (ko) 2008-11-28 2008-11-28 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080119432A KR101104729B1 (ko) 2008-11-28 2008-11-28 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100060715A true KR20100060715A (ko) 2010-06-07
KR101104729B1 KR101104729B1 (ko) 2012-01-11

Family

ID=42361598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080119432A KR101104729B1 (ko) 2008-11-28 2008-11-28 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101104729B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012091274A2 (ko) * 2010-12-31 2012-07-05 (주)케이티 클라우드스토리지 시스템에서 복제본 저장장소를 동적으로 선정하는 방법 및 시스템
US8495013B2 (en) 2010-12-24 2013-07-23 Kt Corporation Distributed storage system and method for storing objects based on locations
US8775870B2 (en) 2010-12-22 2014-07-08 Kt Corporation Method and apparatus for recovering errors in a storage system
US8849756B2 (en) 2011-04-13 2014-09-30 Kt Corporation Selecting data nodes in distributed storage system
KR101481122B1 (ko) * 2012-11-30 2015-01-14 성균관대학교산학협력단 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템
US9052962B2 (en) 2011-03-31 2015-06-09 Kt Corporation Distributed storage of data in a cloud storage system
US9158460B2 (en) 2011-04-25 2015-10-13 Kt Corporation Selecting data nodes using multiple storage policies in cloud storage system
US9888062B2 (en) 2010-12-24 2018-02-06 Kt Corporation Distributed storage system including a plurality of proxy servers and method for managing objects
KR101850696B1 (ko) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 멀티미디어 콘텐츠의 다중분할 전송 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210065604A (ko) 2019-11-27 2021-06-04 한국전자통신연구원 분산 네트워크 기반 멀티미디어 스트리밍 서비스에서 스트림을 선택하여 수신하는 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228534A (ja) * 2001-11-30 2003-08-15 Ntt Docomo Inc 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
KR100427143B1 (ko) * 2003-01-17 2004-04-14 엔에이치엔(주) 스트리밍 데이터 전송 및 다운로드 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775870B2 (en) 2010-12-22 2014-07-08 Kt Corporation Method and apparatus for recovering errors in a storage system
US8495013B2 (en) 2010-12-24 2013-07-23 Kt Corporation Distributed storage system and method for storing objects based on locations
US9888062B2 (en) 2010-12-24 2018-02-06 Kt Corporation Distributed storage system including a plurality of proxy servers and method for managing objects
WO2012091274A2 (ko) * 2010-12-31 2012-07-05 (주)케이티 클라우드스토리지 시스템에서 복제본 저장장소를 동적으로 선정하는 방법 및 시스템
WO2012091274A3 (ko) * 2010-12-31 2012-08-23 (주)케이티 클라우드스토리지 시스템에서 복제본 저장장소를 동적으로 선정하는 방법 및 시스템
US9052962B2 (en) 2011-03-31 2015-06-09 Kt Corporation Distributed storage of data in a cloud storage system
US8849756B2 (en) 2011-04-13 2014-09-30 Kt Corporation Selecting data nodes in distributed storage system
US9158460B2 (en) 2011-04-25 2015-10-13 Kt Corporation Selecting data nodes using multiple storage policies in cloud storage system
KR101481122B1 (ko) * 2012-11-30 2015-01-14 성균관대학교산학협력단 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템
KR101850696B1 (ko) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 멀티미디어 콘텐츠의 다중분할 전송 방법 및 장치

Also Published As

Publication number Publication date
KR101104729B1 (ko) 2012-01-11

Similar Documents

Publication Publication Date Title
KR101104729B1 (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US11233839B2 (en) System and method of minimizing network bandwidth retrieved from an external network
US8880650B2 (en) System and method for storing streaming media file
TWI580237B (zh) 單一播放適應性位元率串流
US9521180B2 (en) Adaptive variable fidelity media distribution system and method
US8756296B2 (en) Method, device and system for distributing file data
KR101301004B1 (ko) 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US6708213B1 (en) Method for streaming multimedia information over public networks
US9497035B2 (en) Method, device, and system for playing media based on P2P
TW201603540A (zh) 於相同視訊傳送管線內之客戶前提元件中將多重播放適應性位元率及單一播放適應性位元率與累進下載適應性位元率合併之技術
US9736236B2 (en) System and method for managing buffering in peer-to-peer (P2P) based streaming service and system for distributing application for processing buffering in client
KR20100055297A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 동시 멀티미디어 스트리밍 시스템 및 방법
KR101128293B1 (ko) 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
Gaber et al. Predictive and content-aware load balancing algorithm for peer-service area based IPTV networks
US8583819B2 (en) System and method for controlling server usage in peer-to-peer (P2P) based streaming service
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
US11843649B2 (en) System and method of minimizing network bandwidth retrieved from an external network
KR101088022B1 (ko) Vcr기능조작을 사용자 선호도로 반영하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101112572B1 (ko) 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
Guo et al. Optimized streaming media proxy and its applications
KR20100059117A (ko) 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
KR100797389B1 (ko) 다중 디스크립션 코딩을 이용한 클러스터 기반의 스트리밍시스템 및 그 방법
KR101137248B1 (ko) 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR20130134911A (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR20100055296A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 순차적 멀티미디어 스트리밍 시스템 및 방법

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