KR20100059117A - 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법 - Google Patents

컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법 Download PDF

Info

Publication number
KR20100059117A
KR20100059117A KR1020080117774A KR20080117774A KR20100059117A KR 20100059117 A KR20100059117 A KR 20100059117A KR 1020080117774 A KR1020080117774 A KR 1020080117774A KR 20080117774 A KR20080117774 A KR 20080117774A KR 20100059117 A KR20100059117 A KR 20100059117A
Authority
KR
South Korea
Prior art keywords
segment
streaming
server
cache
content
Prior art date
Application number
KR1020080117774A
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 KR1020080117774A priority Critical patent/KR20100059117A/ko
Publication of KR20100059117A publication Critical patent/KR20100059117A/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server

Abstract

본 발명은 컨텐츠 분산형 스트리밍 시스템 및 캐시서버, 컨텐츠 스트리밍 방법에 관한 것이다. 본 발명의 스트리밍 시스템은, 멀티미디어 컨텐츠를 저장한 멀티미디어 서버와 클라이언트 사이에 지역적으로 전개되어 멀티미디어 컨텐츠의 세그먼트를 분산 저장하는 다수의 캐시서버를 포함하여 구성되며, 클라이언트로부터 컨텐츠 요청을 받은 캐시서버는 보유하고 있는 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들에 질의한 후 제공받아 클라이언트로 스트리밍한다. 이때, 컨텐츠 요청을 받은 캐시서버는 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우 전송지연 시간이 낮은 인접한 캐시서버로부터 해당 세그먼트를 제공받는다. 본 발명에 의하면, 스트리밍 시스템의 한정된 저장자원을 효율적으로 이용하고 클라이언트에 대한 서비스 품질을 향상시킬 수 있다.
스트리밍, 멀티미디어 컨텐츠, 캐시서버, 세그먼트

Description

컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법{Streaming System and Cache Server for Distributed Multimedia Contents and Method for Streaming Contents}
본 발명은 스트리밍 서비스에 관한 것으로, 보다 구체적으로는 멀티미디어 컨텐츠의 세그먼트를 지역적으로 전개된 캐시서버에 분산 저장하고, 클라이언트로부터 컨텐츠 요청을 받은 캐시서버가 자신이 보유하고 있는 세그먼트 이외의 나머지 세그먼트들을 인접한 캐시서버들로부터 제공받아 취합하여 클라이언트에게 스트리밍 서비스를 제공하는 컨텐츠 분산형 스트리밍 시스템 및 캐시서버, 그리고 컨텐츠 스트리밍 방법에 관한 것이다.
종래에는 음성, 사진, 동영상, 애니메이션 파일과 같이 대용량의 멀티미디어 컨텐츠를 인터넷을 통해 송수신함에 있어서 해당 컨텐츠를 하드디스크에 다운로드 받은 후 재생하는 방식이 이용되었으나, 멀티미디어 컨텐츠의 크기가 비교적 크기 때문에 다운로드에 장시간이 소요되는 불편함이 있었다.
그러나 인터넷 기술이 발전을 거듭하면서, 클라이언트에게 실시간으로 컨텐츠를 제공하는 스트리밍(streaming) 서비스가 제공되고 있다. '스트리밍'이란 종래 와 같이 컨텐츠를 모두 다운로드한 후 재생하는 것이 아니라 다운로드를 진행하면서 실시간으로 끊김 없이 재생할 수 있는 기술을 의미한다.
도 1은 종래 스트리밍 서비스의 개념을 예시한 도면이다. 도면에 예시된 개념은 이른바 'Buffered Playback' 방식으로서 클라이언트가 멀티미디어 서버로 컨텐츠를 요청(Request)하면, 멀티미디어 서버는 그에 대한 응답(Response)으로서 컨텐츠를 클라이언트에게 전송(스트리밍)하고, 클라이언트는 수신되는 컨텐츠를 버퍼링하면서 재생을 개시한다. 그러나 이와 같은 스트리밍 서비스에서는 멀티미디어 서버와 클라이언트 사이의 네트워크 전송경로가 길어지게 되면 전송지연 시간이 길어진다. 따라서 클라이언트가 멀티미디어 서버로 컨텐츠를 요청하고 최초 응답을 받는 시간, 즉 연결지연 시간이 길어지고 버퍼지연 시간 역시 길어진다.
이러한 문제점을 해소하기 위해 다음과 같이 캐시서버의 도입이 제안된 바 있다. 캐시서버는 멀티미디어 서버의 컨텐츠를 저장한 서버로서 클라이언트와 인접한 위치, 예를 들어 클라이언트가 속하는 상호접속점(PoP, Point of Presence)에 배치되어, 클라이언트의 요청에 응답하여 보유하고 있는 컨텐츠를 클라이언트에게 스트리밍한다. 그러나 상술한 바와 같이 단일의 캐시서버가 컨텐츠 전체를 저장/관리하게 되면 다음과 같은 문제점이 발생한다.
1. 캐시서버의 특성상 다수의 컨텐츠를 보유해야 하므로 저장자원(예: 하드디스크, 메모리)의 한계에 봉착한다.
2. 또한, 컨텐츠들은 크기가 다르기 때문에 컴퓨팅 자원 할당이 일정치 않아 비효율적이다.
3. 이에 따라 클라이언트 대한 서비스 품질(QoS)이 저하된다.
상기한 저장자원의 한계의 경우, 하드디스크 또는 메모리 등을 추가 설치하는 방안이 제시될 수도 있겠으나, 이는 컨텐츠 제공자의 비용부담을 가중시킬 뿐만 아니라 유지비용의 상승을 초래한다.
따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 스트리밍 시스템의 한정된 저장자원을 효율적으로 이용하고 클라이언트에 대한 서비스 품질을 향상시킴에 그 목적이 있다.
이러한 기술적 과제를 달성하기 위하여, 본 발명은 컨텐츠 분산형 스트리밍 시스템 및 캐시서버, 그리고 컨텐츠 스트리밍 방법을 제공한다.
본 발명의 스트리밍 시스템은 멀티미디어 컨텐츠를 저장하는 멀티미디어 서버와, 상기 멀티미디어 서버와 클라이언트 사이에 지역적으로 전개되어 위치하며 상기 멀티미디어 컨텐츠의 세그먼트들을 분산 저장하는 다수의 캐시서버들과, 각각의 상기 캐시서버에 구비되며 상기 세그먼트를 저장하는 세그먼트 저장부와, 상기 다수의 캐시서버들 중 상기 클라이언트로부터 컨텐츠 요청을 받은 캐시서버에 구비되며 보유하고 있는 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들에 질의한 후 제공받아 상기 보유하고 있는 세그먼트와 취합하여 상기 클라이언트로 스트리밍하는 스트리밍 제공부를 포함하여 구성된다.
이러한 본 발명의 스트리밍 시스템에서, 상기 스트리밍 제공부는 상기 질의의 결과 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우, 전송지연 시간이 낮은 인접한 캐시서버로부터 해당 세그먼트를 제공받는다.
또한, 상기 스트리밍 제공부는 상기 질의의 결과 인접한 캐시서버에서 상기 제공받고자 하는 나머지 세그먼트 중 누락된 세그먼트를 상기 멀티미디어 서버로부터 제공받는다.
한편, 본 발명의 캐시서버는 멀티미디어 컨텐츠를 저장한 멀티미디어 서버와 클라이언트 사이에 지역적으로 분산 배치되는 다수의 캐시서버로서, 멀티미디어 컨텐츠의 세그먼트를 저장하는 세그먼트 저장부와, 클라이언트로부터 컨텐츠 요청을 수신하면 상기 세그먼트 저장부에 저장된 해당 컨텐츠의 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들로 질의 후 수신한 세그먼트 보유정보를 기반으로 나머지 세그먼트를 제공받아 클라이언트로 스트리밍하는 스트리밍 제공부를 포함하여 구성된다.
이러한 본 발명의 캐시서버는 인접한 캐시서버로부터 전송되는 세그먼트 보유정보를 기반으로 인접한 캐시서버와의 전송지연 시간을 산출하는 전송지연 시간 산출부를 더 포함하여 구성될 수 있으며, 이때 스트리밍 제공부는 상기 질의의 결과 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우에 상기 전송지연 시간 산출부를 통해 산출된 전송지연 시간이 낮은 캐시서버로부터 해당 세그먼트를 제공받는 것을 특징으로 한다.
한편, 본 발명의 컨텐츠 스트리밍 방법은, 클라이언트로부터 컨텐츠 요청을 수신한 캐시서버가 보유하고 있는 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들로 질의하여 세그먼트 보유정보를 수신하는 단계와, 수신한 세그먼트 보유정보를 기반으로 인접한 캐시서버들로부터 나머지 세그먼트를 제공받는 단계와, 제 공받은 나머지 세그먼트와 상기 보유하고 있는 세그먼트를 취합하여 클라이언트로 스트리밍하는 단계로 이루어진다.
이러한 본 발명의 컨텐츠 스트리밍 방법에 있어서, 세그먼트 보유정보를 분석한 결과, 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우 전송지연 시간이 낮은 캐시서버를 선택하여 해당 세그먼트를 제공받는 단계가 포함된다.
본 발명에 따르면, 멀티미디어 컨텐츠를 다수의 세그먼트로 분할하여 지역적으로 전개된 다수의 캐시서버에 분산 저장하고, 클라이언트로부터 컨텐츠 요청을 받은 캐시서버가 자신이 보유하고 있는 세그먼트 이외의 나머지 세그먼트들을 인접한 캐시서버들로부터 제공받아 취합하여 클라이언트에게 스트리밍 서비스를 제공함으로써, 스트리밍 시스템의 한정된 저장자원을 효율적으로 이용하고 클라이언트에 대한 서비스 품질을 향상시킬 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일하거나 유사한 참조번호를 부여한다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠 분산형 스트리밍 시스템을 나타낸 개략적 구성도이다.
도시된 바와 같이, 컨텐츠 분산형 스트리밍 시스템(이하, '스트리밍 시스템' 이라 한다)은 네트워크(100)를 매개로 연동된 멀티미디어 서버(200)와 클라이언트(300)를 포함하며, 네트워크 내에는 다수의 캐시서버들(C1~Cn)이 지역적으로 분산 전개되어 있다.
본 명세서에서 언급되는 네트워크(100)는 스트리밍 시스템의 구성요소(100, 200, C1~Cn)들을 연결하는 인터넷으로서, 라우터, 게이트웨이, 스위치, DNS 등 각종 네트워크 장비들에 의해 구축된 포괄적인 개념이다.
멀티미디어 서버(200)는 컨텐츠 제공자(CP, contents provider)에 의해 운영되는 서버로서, 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠의 원본을 저장하는 서버이며, 원시 서버(origin server)로도 불린다. 멀티미디어 컨텐츠는 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠 등을 포함한다.
컨텐츠 제공자(CP)는 실제로 컨텐츠에 대한 판권을 가지고 컨텐츠를 업로드하는 자와, 단순히 웹 서버를 구축하여 컨텐츠 제공자와 클라이언트를 중계하는 자로 나누어볼 수 있다. 예컨대 유료 영화 사이트에서 각각의 영화에 대한 판권을 가지고 유료 영화 사이트를 방문하는 클라이언트가 이용할 수 있도록 해당 컨텐츠를 업로드하여 주는 자는 전자에 해당하고, 유료 영화 사이트를 운영하는 자는 후자에 해당한다. 전자의 영역에는 상기한 멀티미디어 서버(200)가 마련되고 후자의 영역 에서는 웹 서버(도시되지 않음)가 구축된다. 이 웹 서버는 클라이언트가 접속하는 웹 사이트를 제공하는 서버이다.
상술한 컨텐츠 제공자(CP)는 멀티미디어 컨텐츠의 복제본을 복수개의 세그먼트로 분할하여 미리 결정된 분산 정책에 따라 다수의 캐시서버(C1~Cn)에 분산 저장시킨다. 멀티미디어 컨텐츠의 분할은 미리 결정된 규칙에 따라 이루어질 수 있다. 예를 들어, 프레임 단위, 시간 단위, 용량 단위 등 다양한 방식으로 결정될 수도 있고, 컨텐츠 유형별로 다르게 결정될 수도 있고, 컨텐츠 유형에 상관없이 일괄적으로 결정될 수도 있다. 또한, 컨텐츠 분할 규칙은 각 캐시서버의 저장용량에 비례하여 결정될 수도 있고 저장용량에 무관하게 결정될 수도 있다.
캐시서버(C1~Cn)는 클라이언트(300)의 컨텐츠 요청에 대해 응답하여 해당 컨텐츠를 클라이언트(300)로 스트리밍하는 서버로, 국제표준규격 IETF RFC2326의 RTSP(real-time streaming protocol)와 IETF RFC3550의 RTP(real-time transport protocol)/RTCP(RTP control protocol)를 지원한다.
캐시서버(C1~Cn)는 앞서 설명한 바와 같이 세그먼트들을 분산 저장하고 있는데, 각 캐시서버는 도 3에 예시된 바와 같이 중복된 세그먼트를 보유할 수 있다. 도 3에서 멀티미디어 컨텐츠(MC)는 8개의 세그먼트(S1~S8)로 분할되고, 캐시서버는 C1~C4로 4개인 것으로 상정한다. 구체적으로 캐시서버 C1에는 세그먼트 S1, S2, S3, S4가 저장되어 있고, 캐시서버 C2에는 S3, S4, S5, S6, 캐시서버 C3에는 S5, S6, S7, S8, 그리고 캐시서버 C4에는 S7, S8, S1, S2가 저장되어 있다.
이와 같이 멀티미디어 컨텐츠(MC)의 세그먼트들이 분산된 상황에서, 캐시서 버 C1이 클라이언트(300)의 컨텐츠 요청(또는 스트리밍 요청)을 받으면, 캐시서버 C1은 자신이 보유하고 있는 세그먼트들(S1~S4)를 제외한 나머지 세그먼트들을 취득해야 한다. 이를 위해 캐시서버 C1은 인접한 캐시서버들(C2, C3, C4)로 세그먼트 질의(S5~S8에 대한 질의)를 하여 세그먼트 보유정보(예: 캐시서버 C2의 경우, S3~S6에 대한 정보)를 수신한다.
이 시점에서 캐시서버 C1은 수신한 세그먼트 보유정보로부터 필요로 하는 세그먼트 S5 및 S6은 캐시서버 C2와 C3에 중복 저장되어 있고, S7 및 S8은 캐시서버 C3와 C4에 중복 저장되어 있음을 알 수 있게 된다. 따라서 캐시서버 C1은 세그먼트 S5~S8을 어느 캐시서버로부터 받아야 할지를 결정해야 한다.
캐시서버 선택을 위한 다양한 방식이 적용될 수 있으나, 본 발명에서는 캐시서버 간의 전송지연 시간을 이용한다. 상기한 바와 같이 캐시서버 C1는 인접한 캐시서버들로부터 세그먼트 보유정보를 수신한 상태이기 때문에 인접한 각 캐시서버와의 전송지연 시간을 용이하게 산출할 수 있다. 예컨대, 캐시서버 C1이 캐시서버 C2로 질의를 한 후 세그먼트 보유정보를 수신하기까지의 시간이 곧 캐시서버 C1과 캐시서버 C2와의 전송지연 시간이며, 캐시서버 C3, C4의 경우에도 마찬가지이다.
상술한 예에서 캐시서버 C1이 필요로 하는 세그먼트 S5~S8은 전송지연 시간을 고려하여 다음과 같이 취득될 수 있다.
취득 대상 세그먼트 보유 인접 캐시서버 전송지연 시간
S5, S6 C2 10
C3 35
S7, S8 C3 35
C4 15
위와 같은 표에서 취득해야 할 세그먼트 S5 및 S6을 보유한 인접 캐시서버는 C2, C3이며, 각각 시간 10, 35의 전송지연을 나타내고 있다. 또한, 세그먼트 S7 및 S8을 보유한 인접 캐시서버는 C3, C4이다. 따라서, 캐시서버 C1은 세그먼트 S5 및 S6를 전송지연 시간이 10인 인접 캐시서버 C2로부터 취득하고, 세그먼트 S7 및 S8은 전송지연 시간이 15인 인접 캐시서버 C4로부터 취득한다.
여기서 더 고려해야 할 점은 멀티미디어 컨텐츠(MC)를 구성하는 일부 세그먼트가 인접한 캐시서버에 없는 경우이다. 도 3의 멀티미디어 컨텐츠의 세그먼트가 9개라고 가정하면, 마지막 세그먼트 S9(도시되지 않음)는 캐시서버 C2, C3, C4 어디에도 저장되어 있지 않다. 따라서 캐시서버 C1은 인접한 캐시서버(C2~C4)로부터 수신한 세그먼트 정보를 토대로 누락된 세그먼트가 있을 경우, 해당 세그먼트를 멀티미디어 서버(200)로 요청하여 전송받는다.
상술한 기능을 구현하기 위한 본 발명의 캐시서버(C1~Cn)는 첨부도면 도 4에 도시된 바와 같이 구성된다. 도 4를 참조하면, 캐시서버(C1~Cn) 각각은 멀티미디어 컨텐츠(MC)의 세그먼트들을 저장하는 세그먼트 저장부(12)와, 세그먼트 저장부(12)에 저장된 세그먼트들의 보유정보를 생성하는 세그먼트 보유정보 생성부(14)와, 인접한 캐시서버로부터 전송되는 세그먼트 보유정보를 기반으로 인접한 캐시서버와의 전송지연 시간을 산출하는 전송지연 시간 산출부(16)와, 이들 구성요소(12, 14, 16)를 제어하여 클라이언트(300)로 스트리밍 서비스를 제공하는 스트리밍 제공부(18)를 포함한다.
한편, 클라이언트(300)는 캐시서버(C1~Cn)로부터 스트리밍 서비스를 제공받기 위해 스트리밍 데이터를 전송 받아 일시 저장하는 하나 이상의 버퍼(buffer)를 구비한다. 클라이언트(300)는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기기를 망라한다. 예를 들어, 클라이언트(300)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기 등을 꼽을 수 있다.
이하, 도 5를 참조하여 본 발명의 컨텐츠 스트리밍 방법에 대해 정리한다. 이를 통해 도 2 및 도 4에서 설명된 시스템 및 캐시서버의 동작 및 작용효과는 보다 명백해질 것이다. 참고로 도 5의 세부 설명은 도 4에서 짧게 언급한 스트리밍 제공부(18)를 주체로 하여 설명한다. 따라서 이하의 설명으로부터 스트리밍 제공부(18)의 세부적인 기능 또한 명백해질 것이다.
먼저, 스트리밍 제공부(18)는 클라이언트(300)로부터 컨텐츠 요청 또는 스트리밍 요청을 수신한다(단계 110). 본 단계에서의 스트리밍 제공부(18)는 다수의 캐시서버(C1~Cn)들 중 클라이언트(300)가 컨텐츠 요청을 위해 접속한 캐시서버의 스트리밍 제공부를 의미한다.
다음으로 단계 120을 참조하면, 스트리밍 제공부(18)는 세그먼트 저장부(12)에 저장된 해당 컨텐츠(단계 110의 요청에 부합하는 컨텐츠)의 세그먼트를 제외한 나머지 세그먼트들에 대해 인접한 캐시서버들로 질의를 한다.
단계 130에서 스트리밍 제공부(18)는 인접한 캐시서버들로부터 각각의 캐시서버들이 보유하고 있는 세그먼트들에 대한 정보, 즉 앞서 언급한 세그먼트 보유정보들을 수신한다.
단계 140에서 스트리밍 제공부(18)는 상기한 단계 130에서 수신한 세그먼트 보유정보들을 기반으로 실제로 나머지 세그먼트를 제공받을 인접한 캐시서버(또는 캐시서버들)을 선택하여 상기 나머지 세그먼트를 제공받는다. 세부적으로 단계 140은 도 6과 같은 세부 단계들로 이루어진다.
먼저, 스트리밍 제공부(18)는 인접한 캐시서버들로부터 수신한 세그먼트 보유정보에 누락된 세그먼트, 다시 말해 단계 120의 나머지 세그먼트를 중 세그먼트 보유정보에 존재하지 않는 세그먼트가 있는지 판단한다(단계 141).
단계 141의 판단결과, 누락된 세그먼트가 있다면 멀티미디어 서버(200)로 누락된 세그먼트를 제공받고 다음 단계로 이행한다(단계 142).
단계 143에서 스트리밍 제공부(18)는 단계 130에서 수신한 세그먼트 보유정보를 토대로 제공받고자 하는 세그먼트들이 인접한 캐시서버들에 중복되어 있는지 판단한다. 본 단계는 도 3에서 살펴본 바와 같이 동일한 세그먼트가 적어도 2개의 인접한 캐시서버에 존재하는 경우를 고려한 단계이다.
단계 143의 판단결과, 인접한 캐시서버에 동일한 세그먼트가 없다면 상기한 나머지 세그먼트를 해당 캐시서버 또는 캐시서버들로부터 제공받고(단계 144), 인접한 캐시서버들에 동일한 세그먼트가 있다면 전송지연 시간이 낮은 캐시서버를 선택하여 해당 세그먼트를 제공받는다(단계 145). 여기서, 각각의 인접한 캐시서버와의 전송지연 시간은, 스트리밍 제공부(180)가 세그먼트 보유정보를 수신하는 시점, 즉 단계 130에서 전송지연 시간 산출부(16)를 이용하여 산출할 수 있다.
상술한 단계 140이 이루어지면 스트리밍 제공부(180)는 인접한 캐시서버들 및/또는 멀티미디어 서버(200)로부터 제공받은 세그먼트들과 보유하고 있는 세그먼트들을 취합하여 상기 클라이언트(300)로 스트리밍한다(단계 150).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 UCC(User Created Contents), VOD(Video On Demand), 온라인 교육, 엔터테인먼트, IPTV, 포털/동영상 뉴스, 기업 동영상 홍보물, 동영상 쇼핑정보 등 대용량 멀티미디어 컨텐츠 스트리밍 서비스에 유용하게 이용할 수 있다.
또한, 크기가 다양한 대용량 멀티미디어 컨텐츠를 크기가 일정한 여러 개의 세그먼트로 분할하고 이를 지역적으로 전개된 캐시서버에 저장함으로써, 스트리밍 시스템의 부하를 분산시키고 스트리밍 서비스 품질 향상에 이바지할 수 있다.
도 1은 종래 스트리밍 서비스의 개념을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠 분산형 스트리밍 시스템을 나타낸 구성도이다.
도 3은 본 발명의 일 실시예에 따른 세그먼트 분산 저장 형태를 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 캐시서버의 세부 구성도이다.
도 5는 본 발명의 일 실시예에 따른 컨텐츠 스트리밍 방법을 보인 흐름도이다.
도 6은 도 5에 도시된 단계 140에 대한 세부 흐름도이다.
<도면의 주요부분에 대한 설명>
100: 네트워크 200: 멀티미디어 서버
300: 클라이언트 C1~Cn: 캐시서버
12: 세그먼트 저장부 14: 세그먼트 보유정보 생성부
16: 전송지연 시간 산출부 18: 스트리밍 제공부

Claims (9)

  1. 멀티미디어 컨텐츠를 저장하는 멀티미디어 서버;
    상기 멀티미디어 서버와 클라이언트 사이에 지역적으로 전개되어 위치하며, 상기 멀티미디어 컨텐츠의 세그먼트들을 분산 저장하는 다수의 캐시서버들;
    각각의 상기 캐시서버에 구비되며, 상기 세그먼트를 저장하는 세그먼트 저장부;
    상기 다수의 캐시서버들 중 상기 클라이언트로부터 컨텐츠 요청을 받은 캐시서버에 구비되며, 보유하고 있는 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들에 질의한 후 제공받아 상기 보유하고 있는 세그먼트와 취합하여 상기 클라이언트로 스트리밍하는 스트리밍 제공부;
    를 포함하는 것을 특징으로 하는 컨텐츠 분산형 스트리밍 시스템.
  2. 청구항 1에 있어서,
    상기 스트리밍 제공부는, 상기 질의의 결과 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우, 전송지연 시간이 낮은 인접한 캐시서버로부터 해당 세그먼트를 제공받는 것을 특징으로 하는 컨텐츠 분산형 스트리밍 시스템.
  3. 청구항 1에 있어서,
    상기 스트리밍 제공부는, 상기 질의의 결과 인접한 캐시서버에서 상기 제공받고자 하는 나머지 세그먼트 중 누락된 세그먼트를 상기 멀티미디어 서버로부터 제공받는 것을 특징으로 하는 컨텐츠 분산형 스트리밍 시스템.
  4. 멀티미디어 컨텐츠를 저장한 멀티미디어 서버와 클라이언트 사이에 지역적으로 분산 배치되는 다수의 캐시서버에 있어서,
    상기 멀티미디어 컨텐츠의 세그먼트를 저장하는 세그먼트 저장부; 및
    상기 클라이언트로부터 컨텐츠 요청을 수신하면, 상기 세그먼트 저장부에 저장된 해당 컨텐츠의 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들로 질의 후 수신한 세그먼트 보유정보를 기반으로 상기 나머지 세그먼트를 제공받아 컨텐츠로 취합하여 상기 클라이언트로 스트리밍하는 스트리밍 제공부;
    를 포함하는 것을 특징으로 하는 스트리밍 캐시서버.
  5. 청구항 4에 있어서,
    상기 인접한 캐시서버로부터 전송되는 세그먼트 보유정보를 기반으로 상기 인접한 캐시서버와의 전송지연 시간을 산출하는 전송지연 시간 산출부;
    를 더 포함하며,
    상기 스트리밍 제공부는 상기 질의의 결과 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우, 상기 전송지연 시간 산출부를 통해 산출된 전송지연 시간이 낮은 캐시서버로부터 해당 세그먼트를 제공받는 것을 특징으로 하는 스트리밍 캐시서버.
  6. 청구항 4에 있어서,
    상기 세그먼트 저장부에 저장된 세그먼트에 대한 보유정보를 생성하는 세그먼트 보유정보 생성부;
    를 더 포함하며,
    상기 스트리밍 제공부는 상기 인접한 캐시서버로부터 질의를 받으면 상기 세그먼트 보유정보 생성부를 통해 생성한 세그먼트 보유정보로 응답하는 것을 특징으로 하는 스트리밍 캐시서버.
  7. 청구항 4에 있어서,
    상기 스트리밍 제공부는 상기 인접한 캐시서버들로부터 수신한 세그먼트 보유정보에 제공받고자 하는 상기 나머지 세그먼트 중 누락된 세그먼트가 있을 경우, 상기 멀티미디어 서버로 요청하여 상기 누락된 세그먼트를 수신하는 것을 특징으로 하는 스트리밍 캐시서버.
  8. 멀티미디어 컨텐츠를 저장한 멀티미디어 서버와 클라이언트 사이에 지역적으로 전개되어 상기 멀티미디어 컨텐츠의 세그먼트를 분산 저장하고 있는 다수의 캐시서버에서의 컨텐츠 스트리밍 방법에 있어서,
    (a) 상기 클라이언트로부터 컨텐츠 요청을 수신한 캐시서버가 보유하고 있는 세그먼트를 제외한 나머지 세그먼트를 인접한 캐시서버들로 질의하여 세그먼트 보유정보를 수신하는 단계;
    (b) 상기 세그먼트 보유정보를 기반으로 상기 인접한 캐시서버들로부터 나머지 세그먼트를 제공받는 단계; 및
    (c) 제공받은 나머지 세그먼트와 상기 보유하고 있는 세그먼트를 취합하여 상기 클라이언트로 스트리밍 하는 단계;
    를 포함하는 것을 특징으로 하는 컨텐츠 스트리밍 방법.
  9. 청구항 8에 있어서,
    상기 (b) 단계는,
    상기 세그먼트 보유정보를 분석한 결과, 적어도 2개 이상의 인접한 캐시서버에 제공받고자 하는 동일한 세그먼트가 있을 경우, 전송지연 시간이 낮은 캐시서버를 선택하여 해당 세그먼트를 제공받는 단계를 포함하는 것을 특징으로 하는 컨텐츠 스트리밍 방법.
KR1020080117774A 2008-11-26 2008-11-26 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법 KR20100059117A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080117774A KR20100059117A (ko) 2008-11-26 2008-11-26 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080117774A KR20100059117A (ko) 2008-11-26 2008-11-26 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법

Publications (1)

Publication Number Publication Date
KR20100059117A true KR20100059117A (ko) 2010-06-04

Family

ID=42360463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080117774A KR20100059117A (ko) 2008-11-26 2008-11-26 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법

Country Status (1)

Country Link
KR (1) KR20100059117A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015178669A1 (ko) * 2014-05-20 2015-11-26 삼성전자 주식회사 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
WO2016021795A1 (ko) * 2014-08-05 2016-02-11 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
US9936038B2 (en) 2012-12-07 2018-04-03 Samsung Electronics Co., Ltd. Method of caching contents by node and method of transmitting contents by contents provider in a content centric network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9936038B2 (en) 2012-12-07 2018-04-03 Samsung Electronics Co., Ltd. Method of caching contents by node and method of transmitting contents by contents provider in a content centric network
WO2015178669A1 (ko) * 2014-05-20 2015-11-26 삼성전자 주식회사 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
US10630744B2 (en) 2014-05-20 2020-04-21 Samsung Electronics Co., Ltd. Method, device, and system for scheduling transmission and reception of media contents
WO2016021795A1 (ko) * 2014-08-05 2016-02-11 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버

Similar Documents

Publication Publication Date Title
US11582279B2 (en) Apparatus and methods for packetized content routing and delivery
KR101484900B1 (ko) 코덱이 적용된 프레임 크기로의 오디오 분할
TWI580237B (zh) 單一播放適應性位元率串流
US8850054B2 (en) Hypertext transfer protocol live streaming
US20180027035A1 (en) Redirection apparatus and method
US10368118B2 (en) System and apparatus for managing video content recordings
US20090025048A1 (en) Method and apparatus for sharing media files among network nodes
KR101104729B1 (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR20100058786A (ko) 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR20100055297A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 동시 멀티미디어 스트리밍 시스템 및 방법
JP2013516854A (ja) Iptvシステムのためのエッジコンテンツ配信デバイスおよびコンテンツ配信ネットワーク
JPWO2018043134A1 (ja) 配信装置、配信方法、受信装置、受信方法、プログラム、およびコンテンツ配信システム
KR20100059117A (ko) 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
JP5856795B2 (ja) コンテンツ配信システム
US8181213B2 (en) IP-based hometown TV program delivery system
KR101128293B1 (ko) 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
TW571594B (en) Methods for providing video-on-demand services for broadcasting systems
Czyrnek et al. Large-scale multimedia content delivery over optical networks for interactive TV services
WO2015041071A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
US11496803B2 (en) Video stream switching service
US20240121284A1 (en) Generation of unique presentation of media content
KR101112572B1 (ko) 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
Satsiou et al. Efficient caching of video content to an architecture of proxies according to a frequency-based cache management policy
JP2009177811A (ja) 分割後のp2pモードでの繰延回復を目的としたコンテンツのライブ送信のための方法、並びに制御装置及び関連する設備
JP2015156657A (ja) Iptvシステムのためのエッジコンテンツ配信デバイスおよびコンテンツ配信ネットワーク

Legal Events

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