KR20100053708A - 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법 - Google Patents

계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법 Download PDF

Info

Publication number
KR20100053708A
KR20100053708A KR1020080107679A KR20080107679A KR20100053708A KR 20100053708 A KR20100053708 A KR 20100053708A KR 1020080107679 A KR1020080107679 A KR 1020080107679A KR 20080107679 A KR20080107679 A KR 20080107679A KR 20100053708 A KR20100053708 A KR 20100053708A
Authority
KR
South Korea
Prior art keywords
streaming
hierarchical
content
client
streaming content
Prior art date
Application number
KR1020080107679A
Other languages
English (en)
Other versions
KR101125065B1 (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 KR1020080107679A priority Critical patent/KR101125065B1/ko
Publication of KR20100053708A publication Critical patent/KR20100053708A/ko
Application granted granted Critical
Publication of KR101125065B1 publication Critical patent/KR101125065B1/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법에 관한 것이다. 본 발명은 캐시 서버들의 계층적 분산 저장 구조를 이용하는 것으로, 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하고, 클라이언트로부터 스트리밍 서비스 요청시, 가까운 거리부터 먼 거리의 캐시 서버가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하며, 클라이언트가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하면서 재생한다. 따라서 본 발명은 초기 버퍼링 시간을 감소시킴으로써 고품질의 스트리밍 서비스를 원활하게 제공할 수 있다.
스트리밍, 멀티미디어 컨텐츠, 캐시 서버, 초기 버퍼링 지연, 계층적 분산 저장

Description

계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법{System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure}
본 발명은 스트리밍 서비스에 관한 것으로, 좀더 구체적으로는 컨텐츠 서버와 클라이언트 사이에 여러 계층의 캐시 서버들이 분포하는 계층적 분산 서버 구조에서 각 컨텐츠가 여러 세그먼트로 분할되어 여러 캐시 서버들에 분산 저장될 때 시간적으로 먼저 재생되는 세그먼트일수록 클라이언트에 가까운 하위 계층에 저장함으로써 초기 버퍼링 지연을 감소시킬 수 있는 스트리밍 서비스 제공 시스템 및 방법에 관한 것이다.
인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(streaming) 서비스가 활성화되고 있다. 스트리밍이란 멀티미디어 컨텐츠 파일을 모두 전송 받은 후에 재생하는 다운로드 방식과 달리, 전체 파일의 일정량만 전송되면 이를 버퍼링하면서 실시간으로 재생하는 기법을 말한다. 버퍼링된 부분을 재생하는 동안 나머지 부분을 지속적으로 전송 받기 때문에, 전송되는 데이터가 마치 끊임없고 지속적인 물 흐름처럼 처 리된다고 하여 '스트리밍'이라는 명칭이 붙여졌다. 이러한 스트리밍 서비스에는 실시간 방송 서비스나 주문형 비디오 서비스가 있다.
한편, UCC(user created contents)를 비롯한 동영상 컨텐츠의 폭발적인 증가에 따라 최근 인터넷 트래픽이 급속히 늘고 있다. 인터넷 대역폭(공급)의 성장 속도가 인터넷 트래픽(수요)의 성장 속도를 따라가지 못하는 상황에 직면한 것이다. 2007년의 경우만 보더라도 글로벌 인터넷 트래픽은 75% 성장했지만 인터넷 대역폭은 44% 증가하는데 그친 것으로 보고되고 있다.
이러한 인터넷 대역폭 부족 현상을 해결하기 위한 방안으로 CDN(contents delivery network) 기술이 관심을 끌고 있다. CDN 기술은 능동적인 트래픽 분산을 이용하여 네트워크의 평균 가동률을 높이고 피크 트래픽을 낮추어 인터넷 망을 더욱 효율적으로 활용할 수 있는 기술이다. CDN 기술에 따르면, 컨텐츠 제공자(contents provider)는 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 다수의 서버에 복제하고, 클라이언트의 요청이 있을 경우 최적의 서버로부터 컨텐츠를 제공받을 수 있도록 한다.
그러나 주로 대용량의 멀티미디어 컨텐츠를 대상으로 하는 스트리밍 서비스의 경우에는 스트리밍 컨텐츠를 끊김 없이 서비스하기 위하여 스트리밍 초기에 충분한 양의 데이터를 클라이언트 단말에 저장한 후에서야 비로소 재생을 시작한다. 즉, 초기 버퍼링 과정을 반드시 거치게 된다. 따라서 일반적인 스트리밍 서비스에서는 초기 버퍼링에 의한 지연 현상을 피할 수 없으며, 더욱이 네트워크의 전송환경이 좋지 않거나 최종 사용자단의 수신환경이 열악할 경우 이러한 초기 버퍼링 지 연은 더욱 심각한 문제로 대두되어 서비스 품질(QoS)을 저하시키는 요인으로 작용하고 있다.
따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 멀티미디어 컨텐츠의 스트리밍 서비스에 있어서 초기 버퍼링 시간을 감소시킴으로써 고품질의 스트리밍 서비스를 원활하게 제공하기 위한 것이다.
또한, 본 발명은 멀티미디어 컨텐츠의 스트리밍 서비스에 있어서 한정된 네트워크 자원을 효율적으로 활용할 수 있는 방안을 제공하기 위한 것이다.
이러한 목적을 달성하기 위하여, 본 발명은 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법을 제공한다.
본 발명에 따른 스트리밍 서비스 제공 시스템은, 스트리밍 컨텐츠를 저장하고 저장된 상기 스트리밍 컨텐츠를 서비스하는 컨텐츠 서버; 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 계층으로 구분되는 계층을 이루며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 가까운 거리부터 먼 거리의 계층에 대응시켜 분산 저장하고, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 복수의 캐시 서버; 및 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하고 버퍼링된 상기 스트리밍 컨텐츠를 재생하는 클라이언트를 포함하여 구성된다.
본 발명의 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템에 있어서, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠 를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가질 수 있다.
또한, 상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로, 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장될 수 있다.
또한, 상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 상기 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가질 수 있다.
한편, 본 발명에 따른 스트리밍 서비스 제공 방법은 캐시 서버들의 계층적 분산 저장 구조를 이용하는 것으로서, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하는 단계; 클라이언트로부터 스트리밍 서비스 요청시, 상기 가까운 거리부터 먼 거리의 캐시 서버가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 단계; 상기 클라이언트가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하고 버퍼링된 스트리밍 컨텐츠를 재생하는 단계를 포함하여 구성된다.
본 발명의 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법에 있어서, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일 들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가질 수 있다.
또한, 상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장될 수 있다.
또한, 상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 상기 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가질 수 있다.
본 발명은 계층적 분산 서버 구조에서 스트리밍 컨텐츠를 분산 저장할 때 시간적으로 먼저 재생되는 컨텐츠 세그먼트일수록 클라이언트에 가까운 하위 계층에 저장함으로써 초기 버퍼링 지연을 효과적으로 감소시킬 수 있는 장점이 있다.
또한, 본 발명은 스트리밍 서비스에 있어서 한정된 네트워크 자원을 효율적으로 활용할 수 있고 서비스 품질(QoS)을 향상시킬 수 있는 장점이 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일 한 참조부호를 부여한다.
도 1은 본 발명의 실시예에 따른 스트리밍 서비스 제공 시스템의 계층적 분산 저장 구조를 개략적으로 나타내는 도면이다.
도 1을 참조하면, 스트리밍 서비스 제공 시스템은 컨텐츠의 원본을 저장하는 컨텐츠 서버(100), 컨텐츠의 사본을 저장하는 다수의 캐시 서버(200), 컨텐츠 서버(100)와 캐시 서버(200)들로부터 스트리밍 서비스를 제공받는 클라이언트(300)를 포함하여 구성된다.
컨텐츠 서버(100)는 스트리밍 컨텐츠의 원본을 저장하는 서버로, 가입자 클라이언트(300)들에 스트리밍 컨텐츠를 제공한다. 이때, 컨텐츠 서버(100)는 다수의 캐시 서버(200)들을 통해 클라이언트(300)에 스트리밍 서비스를 제공할 수 있다. 이를 위하여, 컨텐츠 서버(100)는 다수의 캐시 서버(200)들에 자신의 컨텐츠 사본을 제공한다.
클라이언트(300)는 컨텐츠 서버가 제공하는 스트리밍 서비스에 가입한 가입자 클라이언트이다. 이러한 클라이언트(300)는 유선 또는 무선을 통해 컨텐츠 서버(100) 및 캐시 서버(200)들로부터 스트리밍 서비스를 제공받는다.
본 발명의 실시예에 따른 캐시 서버(200)들은 계층 구조(hierarchical structure)를 이루며, 이러한 계층은 제1 내지 제n 계층으로 구성 될 수 있다. 여기서, n은 2 이상의 자연수이다.
또한, 제1 계층은 최하위 계층이며, 제1 계층에 가까울수록 하위 계층이라고 칭한다. 또한, 제n 계층은 최상위 계층이며, 제n 계층과 가까울수록 상위 계층이라 고 칭한다.
최하위 계층의 캐시 서버(200)는 클라이언트(300)와 전송시간상 가장 가까운 거리에 있는 서버이며, 최상위 계층의 캐시 서버(200)는 클라이언트(300)와 전송시간상 가장 먼 거리에 있는 서버이다. 이러한 캐시 서버(200)들은 각각 스트리밍 서비스를 제공하기 위한 컨텐츠의 사본을 분산 저장한다. 특히, 최하위부터 최상위까지의 캐시 서버(200)들은 클라이언트(300)가 요청하는 스트리밍 컨텐츠를 앞부분부터 뒷부분까지 순차적으로 나누어 저장한다.
캐시 서버(200)들은 클라이언트(300)로 스트리밍 컨텐츠를 전송할 때, 최하위 계층부터 전송을 시작하고, 최하위 계층의 상위에 있는 서버들이 순차적으로 전송한다. 이에 따라, 클라이언트(300)는 가장 가까운 캐시 서버(200)로부터 빠른 시간에 초기 재생할 컨텐츠를 수신함으로써, 초기 버퍼링 시간이 감소된다.
이와 같이, 캐시 서버들은 스트리밍 컨텐츠를 계층적으로 분산 저장함으로써 효율적인 스트리밍 서비스를 제공할 수 있다. 이하, 이러한 분산 저장 구조에 대하여 좀더 구체적으로 설명한다.
도 2는 본 발명의 실시예에 따른 스트리밍 컨텐츠의 분산 저장 개념을 설명하기 위한 도면이다. 도 2에는 컨텐츠 서버(도 1의 100)에 저장된 스트리밍 컨텐츠(10)와, 캐시 서버(도 1의 200)들에 분산 저장된 스트리밍 컨텐츠(20)의 파일 구조를 도시하였다.
컨텐츠 서버(100)에 저장된 스트리밍 컨텐츠(10)는 헤더(11, H)와 다수의 세그먼트(a 내지 z)로 구분된 컨텐츠 데이터(12)로 이루어진 파일 형식을 가진다.
한편, 캐시 서버(200)들에 분산 저장된 스트리밍 컨텐츠(20)는 계층 헤더(21) 및 계층 데이터(22)로 이루어진 계층 파일들로 구성된 파일 형식을 가진다. 계층 파일들은 앞서 설명한 캐시 서버(200)들의 계층에 대응하여 생성되고, 대응하는 각 캐시 서버(200)들에 저장된다.
계층 헤더(21)는 각 캐시 서버(200)에 따른 계층을 구분하고, 자신과 같은 스트리밍 컨텐츠의 계층 파일들 간의 링크 정보를 가진다. 계층 데이터(22)는 다수의 세그먼트로 구분된 컨텐츠 데이터(12) 중 적어도 하나 이상의 세그먼트를 포함한다.
도 2에서 H1, H2, Hn-1, Hn은 제1 내지 제n 계층의 캐시 서버의 계층 헤더(21)를 나타내며, a, b, c, d, w, x, y, z는 스트리밍 데이터의 분할된 각 세그먼트를 나타낸다.
각 계층 헤더들(H1, H2, Hn-1, Hn)(21)은 자신의 상위 및 하위 계층 파일의 위치에 대한 링크 정보를 가진다. 예컨대, 제1 계층 파일의 계층 헤더(H1)는 제2 계층 파일의 위치에 대한 링크 정보를 가지며, 제2 계층 파일의 혜더(H2)는 제1 및 제3 계층 파일의 링크 정보를 가진다. 또한, 제n-1 계층 파일의 계층 헤더는 제n-2 계층 및 제n 계층 파일의 링크 정보를 가지며, 제n 계층 파일의 계층 헤더는 제n-1 계층 파일의 링크 정보를 가진다.
캐시 서버(200)는 스트리밍 컨텐츠의 전송이 시작되면 이러한 링크 정보를 통해 동일 스트리밍 컨텐츠를 가지는 계층 파일 간에 링크를 형성하고, 이러한 링크를 통해 다수 계층의 캐시 서버들이 순차적으로 다음 계층 파일을 전송하도록 한 다.
따라서 제1 계층 캐시 서버가 클라이언트(300)로 전송을 시작하면, 상위 계층의 캐시 서버들은 하위 계층으로 전송하거나, 제1 계층 캐시 서버의 전송이 끝나기 전, 클라이언트(300)로 전송을 시작한다.
계층 데이터(22)는 적어도 하나의 세그먼트를 포함한다. 이때, 각 계층 데이터(22)에 포함되는 세그먼트의 수는 캐시 서버(200)의 계층의 수에 따라 분배된다.
먼저, 특정 스트리밍 컨텐츠는 m개의 세그먼트로 분할된 데이터를 가진다고 가정한다.
본 발명의 실시예에 따르면, 재생 순서가 빠른 세그먼트부터 P(m/n)개씩 제1 계층부터 제n 계층까지 동일하게 세그먼트를 분배하여 저장할 수 있다. 이때, p는 m보다 작은 수이다(p<m).
또한, 본 발명의 다른 실시예에 따르면, 재생 순서가 빠른 세그먼트부터 동일하지 않은 수의 q1 내지 qn개를 제1 계층부터 제n 계층까지 세그먼트를 분배하여 저장할 수 있다. 이때, q1 내지 qn은 m 보다 작고, q1 내지 qn 순으로 큰 수임(m>q1>q2>...>qn)을 만족해야 한다.
한편, 제1 계층 파일은 클라이언트 초기 버퍼링에 필요한 크기 이상임이 바람직하다. 클라이언트(300)는 스트리밍 컨텐츠를 끊김 없이 서비스(재생)하기 위하여 재생 초기에 충분한 양의 스트리밍 신호를 저장한다. 즉, 스트리밍 서비스를 사용자의 입장에서 끊김 없이 제공하기 위해서는 일정 용량 이상의 스트리밍 신호를 저장해야 한다. 따라서 일정 용량 이상의 스트리밍 신호를 저장하기 전에는 재생을 시작하지 않는다. 이러한 이유로 클라이언트와 시간상 가장 가까운 쪽의 제1 계층 캐시 서버에 저장하는 제1 계층 파일의 계층 데이터의 크기는 초기 버퍼링을 위한 데이터 크기 이상임이 바람직하다.
전술한 바와 같이, 스트리밍 서비스가 이루어지는 각 컨텐츠는 각 세그먼트를 기본 단위로 하는 계층 데이터로 분할되어 여러 캐시 서버에 분산 저장된다. 이때, 시간적으로 먼저 재생되는 세그먼트일수록 클라이언트에 가장 가까운 최하위 계층에 저장함으로써, 초기 버퍼링 지연을 감소시킨다.
한편, 본 발명의 실시예에 따른 컨텐츠 서버(100) 또는 캐시 서버(200)들은 전술한 스트리밍 컨텐츠를 스트리밍을 서비스하기 위한 프로토콜에 따른 스트리밍 신호를 통해 전송한다. 그러면, 클라이언트는 분산 저장된 스트리밍 컨텐츠를 수신하여 실시간으로 재생할 수 있는 스트리밍 컨텐츠 재생기의 역할을 수행한다.
도 3은 본 발명의 실시예에 따른 클라이언트의 개략적인 구성을 나타내는 블록도이다.
도 3을 참조하면, 클라이언트(300)는 통신부(310), 모뎀부(320), 버퍼부(330), 코덱부(340), 재생부(350), 제어부(360)를 포함하여 구성된다.
통신부(310)는 제어부(360)의 제어에 따라 스트리밍 컨텐츠를 요청하는 메시지를 컨텐츠 서버(100)로 전송한다.
또한, 컨텐츠 서버(100) 및 캐시 서버(200)들로부터 스트리밍 신호를 수신한다. 수신하는 스트리밍 신호는 스트리밍 컨텐츠를 포함하며, 이러한 스트리밍 컨텐츠는 제1 계층 파일부터 제n 계층 파일까지 순차적으로 수신된다. 또한, 스트리밍 신호는 비디오 데이터, 오디오 데이터 및 부가 데이터를 포함한다. 이러한 스트리밍 신호는 시간 영역(time domain)에서 연속되며, 통신부(310)는 스트리밍 컨텐츠가 종료될 때까지 연속하여 스트리밍 신호를 수신한다.
이러한 통신부(310)는 유선 또는 무선의 프로토콜에 따라 스트리밍 신호를 수신할 수 있다.
무선의 경우, 통신부(310)는 고주파(RF) 신호인 스트리밍 신호를 수신하여 수신된 고주파 신호를 중간 주파수(IF; Intermediate Frequency) 신호 및 베이스 밴드(BB; Base Band) 신호로 순차적으로 변환시킨다. 또한, 통신부(310)는 아날로그 신호를 디지털 신호로 변환한다. 송신시에는 이러한 과정을 역으로 수행한다. 이를 위하여, 통신부(310)는 증폭기(PA; Power Amplifier), 저잡음 증폭기(LNA; Low Noise Amplifier), 채널 필터(channel filter), 컨버터(A/D converter, D/A converter) 등을 구비할 수 있다.
유선의 경우, 통신부(310)는 유선 인터페이스에 따라 수신되는 유선의 아날로그 신호인 스트리밍 신호를 디지털 신호로 변환하여 수신한다. 또한, 송신시에는 유선의 디지털 신호를 무선의 아날로그 신호로 변환하여 전송한다. 이를 위하여 통신부(310)는 컨버터를 구비할 수 있다.
디지털 신호로 변환된 스트리밍 신호는 통신부(310)로부터 출력되어 모뎀부(320)로 입력된다.
모뎀부(320)는 입력되는 디지털 신호인 스트리밍 신호를 복조(demodulation)하여 출력한다. 모뎀부(320)는 캐시 서버(200) 또는 컨텐츠 서버(100)가 스트리밍 신호를 변조한 방식에 대응하는 방식으로 스트리밍 신호를 변조하여 버퍼부(330)로 출력한다.
버퍼부(330)는 입력되는 스트리밍 신호를 일시 저장하는 역할을 수행한다. 버퍼부(330)는 그 입출력 방식으로서, 시간상 먼저 입력되는 데이터가 먼저 출력되는 선입 선출(FIFO) 방식을 채용하는 것이 바람직하다. 또한, 버퍼부(330)는 입력되는 스트리밍 신호의 저장 방식으로 스택(stack) 또는 큐(queue) 방식으로 구성될 수 있다.
스트리밍 신호는 오디오 데이터로만 이루어진 음악 파일이거나, 오디오 및 비디오 데이터로 이루어진 동영상 파일 등이 될 수 있다. 또한, 오디오 및 비디오 데이터는 한 세그먼트를 저장하는데 사용되는 파일 크기가 다르다. 즉, 한 세그먼트를 저장하는 비디오 데이터의 파일 크기가 오디오 데이터보다 크다. 이에 따라, 버퍼부(330)의 저장 용량은 비디오 데이터 및 오디오 데이터 각각의 한 세그먼트 저장 용량의 배수인 것이 바람직하다.
버퍼부(330)는 스트리밍 컨텐츠를 끊김 없이 서비스하기 위하여 재생 초기에 충분한 양의 스트리밍 신호를 저장한다. 즉, 스트리밍 서비스를 사용자의 입장에서 끊김 없이 제공하기 위해서는 버퍼부(330)는 일정 용량 이상의 스트리밍 신호를 저장해야 한다. 따라서 일정 용량 이상의 스트리밍 신호를 저장하기 전에는 재생을 시작할 수 없다. 본 발명의 실시예에 따르면, 제1 계층 파일을 클라이언트와 시간상 가장 가까운 쪽의 제1 계층 캐시 서버에 저장하여 초기 버퍼링 시간을 감소시킨다.
이러한 이유로 스트리밍 신호 수신 초기에 버퍼부(330)는 제어부(360)의 제어에 따라 일정 용량 이상의 데이터가 저장된 후, 일시 저장된 스트리밍 신호를 코덱부(340)로 출력한다. 이때, 일정 용량 이상의 데이터는 제1 계층 캐시 서버가 저장한 크기의 계층 파일의 용량보다 작은 용량임이 바람직하다.
이때, 버퍼부(330)의 스트리밍 신호의 출력은 스트리밍 신호의 데이터 형식에 따라 출력한다. 즉, 스트리밍 신호 중 오디오 데이터는 오디오 코덱으로 출력하며, 스트리밍 신호 중 비디오 데이터는 비디오 코덱으로 출력한다. 또한, 스트리밍 신호가 부가 데이터를 포함하는 경우, 해당 데이터 코덱으로 출력할 수 있다.
코덱부(340)는 입력된 스트리밍 신호를 복호(decoding)하여 재생부(350)로 출력한다. 이때, 코덱부(340)는 스트리밍 신호의 데이터 형식(format)에 따라 스트리밍 신호를 복호하여 재생부(350)로 출력한다. 이를 위하여, 코덱부(340)는 오디오 코덱, 비디오 코덱, 데이터 코덱 등을 구비할 수 있다. 즉, 코덱부(340)는 스트리밍 신호의 오디오 데이터는 오디오 코덱을 통해 복호하며, 스트리밍 신호의 비디오 데이터는 비디오 코덱을 통해 복호한다.
재생부(350)는 입력된 스트리밍 신호들을 재생한다. 이를 위한 재생부(350)는 디스플레이 장치 및 오디오 장치를 구비한다. 디스플레이 장치는 코덱부(340)에서 출력된 스트리밍 신호 중 비디오 데이터를 화면으로 표시한다. 디스플레이 장치는 액정표시장치(LCD)로 형성될 수 있다. 오디오 장치는 코덱부(340)에서 출력된 스트리밍 신호 중 오디오 데이터를 재생하는 역할을 수행한다. 이를 위한 오디오 장치는 디지털 신호인 오디오 데이터를 아날로그 신호로 변환하고, 이를 증폭하여 스피커를 통해 재생하는 구성을 가질 수 있다.
제어부(360)는 전술한 통신부(310), 모뎀부(320), 버퍼부(330), 코덱부(340), 재생부(250)의 입출력을 제어하는 역할을 수행한다. 특히, 제어부(360)는 스트리밍 컨텐츠를 끊김 없이 서비스하기 위하여 스트리밍 신호 수신 초기에 충분한 양의 스트리밍 신호를 버퍼부(330)에 저장하도록 제어한다.
이하, 캐시 서버(200)들의 계층적 분산 저장 구조에서 이루어지는 스트리밍 서비스 제공 방법에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법을 나타내는 흐름도이다.
도 4에서 캐시 서버(200)들은 3개의 계층 구조를 이룬다고 가정한다. 이에 따라, 캐시 서버(200)들은 제1 내지 제3 계층에 각각 제1 내지 제3 캐시 서버(201, 202, 203)가 존재하며, 제1 캐시 서버(201)는 최하위 캐시 서버이며, 제3 캐시 서버(203)는 최상위 캐시 서버라고 가정한다.
또한, 컨텐츠 서버(100)은 자신의 스트리밍 컨텐츠 사본을 제1 내지 제3 캐시 서버(201, 202, 203)에 순차적으로 제1 계층 파일 내지 제3 계층 파일로 분산 저장하였다고 가정한다.
도 4를 참조하면, 클라이언트(300)는 S401 단계에서 컨텐츠 서버(100)로 스트리밍 서비스를 요청한다. 이러한 요청은 유선 또는 무선을 통해 수행할 수 있다.
스트리밍 서비스 요청을 수신한 컨텐츠 서버(100)는 S403 단계에서 제1 내지 제3 캐시 서버(201, 202, 203)에 스트리밍 컨텐츠를 클라이언트로 전송하도록 지시한다. 이러한 전송 지시는 제3, 제2, 제1 캐시 서버 순으로 이루어짐이 바람직하 며, 이러한 지시에 따라, S405 단계에서 제1 내지 제3 캐시 서버(201, 202, 203)간에 제1 계층 파일 내지 제3 계층 파일을 연결하는 링크가 형성된다.
또한, 링크가 형성된 후, 제1 캐시 서버(201)는 S407 단계에서 클라이언트(300)로 제1 계층 파일을 전송한다. 이러한 제1 계층 파일의 전송이 시작되어 전송이 완료되기 전, 제2 캐시 서버(202)는 S409 단계에서 제1 캐시 서버(201)로 제2 계층 파일을 전송한다. 또한, 제2 계층 파일의 전송이 시작되고 전송이 완료되기 전, 제3 캐시 서버(203)는 S411 단계에서 제2 캐시 서버(202)로 제3 계층 파일을 전송한다.
한편, 제2 계층 파일의 수신을 시작한 제1 캐시 서버(201)는 S413 단계에서 제1 계층 파일이 전송이 완료되면, 연이어서 제2 계층 파일을 클라이언트(300)로 전송한다. 이러한 전송은 스트리밍 서비스가 끊김 없이 전송될 수 있도록 제1 캐시 서버(201)는 제2 계층 파일의 수신이 완료되기 전이라도 제2 계층 파일 중 수신된 부분부터 전송할 수 있다.
또한, 제3 계층 파일의 수신을 시작한 제2 캐시 서버(202)는 S415 단계에서 제2 계층 파일의 전송에 연이어 제3 계층 파일을 제1 캐시 서버(201)로 전송한다. 이러한 전송은 스트리밍 서비스가 끊김 없이 전송될 수 있도록 제2 캐시 서버(202)는 제3 계층 파일의 수신이 완료되기 전이라도 제3 계층 파일 중 수신된 부분부터 전송할 수 있다.
한편, 제3 계층 파일의 수신을 시작한 제1 캐시 서버(201)는 S417 단계에서 제2 계층 파일이 전송이 완료되면, 연이어서 제3 계층 파일을 클라이언트(300)로 전송한다. 이러한 전송은 스트리밍 서비스가 끊김 없이 전송될 수 있도록 제1 캐시 서버(202)는 제3 계층 파일의 수신이 완료되기 전이라도 제3 계층 파일 중 수신된 부분부터 전송할 수 있다.
이때, 클라이언트(300)는 S407, S413, S417 단계에서 순차적으로 제1 내지 제3 계층 파일을 끊김 없이 수신하고, 이에 따라 S419 단계에서 버퍼링을 거쳐 재생한다.
이상 설명한 바와 같이 본 발명의 실시예에 따르면, 사용자와의 전송시간상의 거리가 가장 가까운 제1 계층(최하위 계층) 캐시 서버에 제1 계층 파일을 저장하고 이를 전송함으로써, 클라이언트의 초기 버퍼링 지연을 감소시킬 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠, IPTV 등 다양한 형태로 나타나고 있는 각종 멀티미디어 스트리밍 서비스에 유용하게 이용할 수 있다.
도 1은 본 발명의 실시예에 따른 스트리밍 서비스 제공 시스템의 계층적 분산 저장 구조를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 스트리밍 컨텐츠의 분산 저장 개념을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 클라이언트의 개략적인 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시예에 따른 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법을 나타내는 흐름도이다.
<도면의 주요부분에 대한 설명>
100: 컨텐츠 서버 200: 캐시 서버
300: 클라이언트 310: 통신부
320: 모뎀부 330: 버퍼부
340: 코덱부 350: 재생부
360: 제어부

Claims (8)

  1. 스트리밍 컨텐츠를 저장하고 저장된 상기 스트리밍 컨텐츠를 서비스하는 컨텐츠 서버;
    클라이언트와 전송시간상 가까운 거리부터 먼 거리의 계층으로 구분되는 계층을 이루며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 가까운 거리부터 먼 거리의 계층에 대응시켜 분산 저장하고, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 복수의 캐시 서버; 및
    상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하고 버퍼링된 상기 스트리밍 컨텐츠를 재생하는 클라이언트;
    를 포함하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.
  2. 청구항 1에 있어서,
    상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.
  3. 청구항 1에 있어서,
    상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로, 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장되는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.
  4. 청구항 3에 있어서,
    상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 상기 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.
  5. 캐시 서버들의 계층적 분산 저장 구조를 이용하는 스트리밍 서비스 제공 방법에 있어서,
    상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하는 단계;
    클라이언트로부터 스트리밍 서비스 요청시, 상기 가까운 거리부터 먼 거리의 캐시 서버가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 단계;
    상기 클라이언트가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차 적으로 수신하여 버퍼링하고 버퍼링된 스트리밍 컨텐츠를 재생하는 단계;
    를 포함하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.
  6. 청구항 5에 있어서,
    상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.
  7. 청구항 5에 있어서,
    상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장되는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.
  8. 청구항 7에 있어서,
    상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 상기 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.
KR1020080107679A 2008-10-31 2008-10-31 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법 KR101125065B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080107679A KR101125065B1 (ko) 2008-10-31 2008-10-31 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080107679A KR101125065B1 (ko) 2008-10-31 2008-10-31 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100053708A true KR20100053708A (ko) 2010-05-24
KR101125065B1 KR101125065B1 (ko) 2012-03-21

Family

ID=42278600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107679A KR101125065B1 (ko) 2008-10-31 2008-10-31 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101125065B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
KR20140032064A (ko) * 2012-09-05 2014-03-14 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치
WO2014030945A3 (en) * 2012-08-22 2014-05-08 Samsung Electronics Co., Ltd. User terminal device and contents streaming method using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100427143B1 (ko) 2003-01-17 2004-04-14 엔에이치엔(주) 스트리밍 데이터 전송 및 다운로드 방법
KR101123750B1 (ko) * 2003-09-30 2012-03-16 소니 주식회사 콘텐츠 취득 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
WO2014030945A3 (en) * 2012-08-22 2014-05-08 Samsung Electronics Co., Ltd. User terminal device and contents streaming method using the same
US10075325B2 (en) 2012-08-22 2018-09-11 Samsung Electronics Co., Ltd. User terminal device and contents streaming method using the same
KR20140032064A (ko) * 2012-09-05 2014-03-14 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치

Also Published As

Publication number Publication date
KR101125065B1 (ko) 2012-03-21

Similar Documents

Publication Publication Date Title
US10681097B2 (en) Methods and systems for data transmission
JP2006287926A (ja) 迅速なメディアチャネル切り替え機構、および該機構を含むアクセスネットワークノード
JP2010093576A (ja) 受信装置、受信方法およびコンピュータプログラム
JP2001054095A (ja) 情報配信/再生制御装置、情報配信/再生制御方法および情報配信/再生制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003150485A (ja) データ通信装置及びデータ通信方法
KR102274466B1 (ko) 실시간 캐싱 기법을 이용한 동영상 스트리밍 방법 및 그 시스템
US20050240548A1 (en) Contents distribution system with integrated recording rights control
JP4998775B2 (ja) 情報配信システム及び方法とその情報配信装置、受信端末、情報中継装置
JP2007274318A (ja) 放送コンテンツ再生システム及び放送コンテンツ再生方法
KR101125065B1 (ko) 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법
US6871234B1 (en) Information distribution control system, and information distribution control method
WO2013185547A1 (zh) 一种缓存服务器的服务方法、缓存服务器及系统
JP5428734B2 (ja) ネットワーク機器、情報処理装置、ストリーム切替方法、情報処理方法、プログラムおよびコンテンツ配信システム
WO2018173874A1 (ja) コンテンツ提供システムおよびコンテンツ提供方法、並びにプログラム
US20010021999A1 (en) Method and device for transmitting data units of a data stream
KR101104728B1 (ko) 가변 버퍼링을 이용한 스트리밍 서비스 제공 방법 및 장치
KR20110139525A (ko) 무선 통신 시스템에서 멀티미디어 컨텐츠의 랜덤 액세스 방법 및 장치
JP2004104704A (ja) 映像再生装置、映像再生方法、プログラム
KR101303549B1 (ko) 사전 전송 방식을 이용한 주문형 비디오 서비스 시스템 및 그 방법
JP2012222530A (ja) 受信装置及び方法、並びにプログラム
JP2004159057A (ja) 再生情報配信システム及び再生情報配信方法
JP6653575B2 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、端末装置の動作方法、およびコンテンツ供給システム
JP2009130732A (ja) 情報配信システムにおける端末装置、その情報処理プログラム及び情報処理方法
JP2004023664A (ja) ストリーミングデータ配信方法、データ配信サーバ及びデータ受信装置
JP2008141483A (ja) ツリー型配信システム、ノード装置、情報処理プログラム及び情報配信方法

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: 20150224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180302

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200303

Year of fee payment: 9