KR101125065B1 - System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure - Google Patents

System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure Download PDF

Info

Publication number
KR101125065B1
KR101125065B1 KR1020080107679A KR20080107679A KR101125065B1 KR 101125065 B1 KR101125065 B1 KR 101125065B1 KR 1020080107679 A KR1020080107679 A KR 1020080107679A KR 20080107679 A KR20080107679 A KR 20080107679A KR 101125065 B1 KR101125065 B1 KR 101125065B1
Authority
KR
South Korea
Prior art keywords
streaming
hierarchical
content
streaming content
client
Prior art date
Application number
KR1020080107679A
Other languages
Korean (ko)
Other versions
KR20100053708A (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 KR1020080107679A priority Critical patent/KR101125065B1/en
Publication of KR20100053708A publication Critical patent/KR20100053708A/en
Application granted granted Critical
Publication of KR101125065B1 publication Critical patent/KR101125065B1/en

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, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

본 발명은 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법에 관한 것이다. 본 발명은 캐시 서버들의 계층적 분산 저장 구조를 이용하는 것으로, 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하고, 클라이언트로부터 스트리밍 서비스 요청시, 가까운 거리부터 먼 거리의 캐시 서버가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하며, 클라이언트가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하면서 재생한다. 따라서 본 발명은 초기 버퍼링 시간을 감소시킴으로써 고품질의 스트리밍 서비스를 원활하게 제공할 수 있다.The present invention relates to a streaming service providing system and method using a hierarchical distributed storage structure. The present invention utilizes a hierarchical distributed storage structure of cache servers. The first and last portions of streaming content are distributed and stored in a cache server that is far from a short distance from a client in transmission time, and requests a streaming service from a client. The cache server of the near and far distances sequentially transmits the first part to the last part of the streaming content, and the client sequentially receives the first part and the last part of the streaming content to play while buffering. Therefore, the present invention can smoothly provide a high quality streaming service by reducing the initial buffering time.

스트리밍, 멀티미디어 컨텐츠, 캐시 서버, 초기 버퍼링 지연, 계층적 분산 저장 Streaming, multimedia content, cache server, initial buffering delay, hierarchical distributed storage

Description

계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법{System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure}System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure}

본 발명은 스트리밍 서비스에 관한 것으로, 좀더 구체적으로는 컨텐츠 서버와 클라이언트 사이에 여러 계층의 캐시 서버들이 분포하는 계층적 분산 서버 구조에서 각 컨텐츠가 여러 세그먼트로 분할되어 여러 캐시 서버들에 분산 저장될 때 시간적으로 먼저 재생되는 세그먼트일수록 클라이언트에 가까운 하위 계층에 저장함으로써 초기 버퍼링 지연을 감소시킬 수 있는 스트리밍 서비스 제공 시스템 및 방법에 관한 것이다.The present invention relates to a streaming service, and more particularly, in the hierarchical distributed server structure in which cache servers of multiple layers are distributed between a content server and a client, when each content is divided into multiple segments and distributed and stored in multiple cache servers. The present invention relates to a streaming service providing system and a method capable of reducing an initial buffering delay by storing segments which are played first in time in a lower layer closer to a client.

인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(streaming) 서비스가 활성화되고 있다. 스트리밍이란 멀티미디어 컨텐츠 파일을 모두 전송 받은 후에 재생하는 다운로드 방식과 달리, 전체 파일의 일정량만 전송되면 이를 버퍼링하면서 실시간으로 재생하는 기법을 말한다. 버퍼링된 부분을 재생하는 동안 나머지 부분을 지속적으로 전송 받기 때문에, 전송되는 데이터가 마치 끊임없고 지속적인 물 흐름처럼 처 리된다고 하여 '스트리밍'이라는 명칭이 붙여졌다. 이러한 스트리밍 서비스에는 실시간 방송 서비스나 주문형 비디오 서비스가 있다.With the development of internet technology, a streaming service that receives multimedia content such as video or animation through the internet in real time is being activated. Streaming refers to a technique of playing in real time while buffering a certain amount of the entire file, unlike a download method of playing after receiving all multimedia content files. Since the rest is continuously transmitted while playing back the buffered part, it is called 'streaming' because the transmitted data is treated as if it were a continuous, continuous stream of water. Such streaming services include real time broadcast services or video on demand services.

한편, UCC(user created contents)를 비롯한 동영상 컨텐츠의 폭발적인 증가에 따라 최근 인터넷 트래픽이 급속히 늘고 있다. 인터넷 대역폭(공급)의 성장 속도가 인터넷 트래픽(수요)의 성장 속도를 따라가지 못하는 상황에 직면한 것이다. 2007년의 경우만 보더라도 글로벌 인터넷 트래픽은 75% 성장했지만 인터넷 대역폭은 44% 증가하는데 그친 것으로 보고되고 있다.Meanwhile, with the explosive increase in video content including user created contents (UCC), Internet traffic has been increasing rapidly in recent years. The growth rate of Internet bandwidth (supply) is not able to keep pace with the growth rate of Internet traffic (demand). In 2007 alone, global Internet traffic grew 75 percent, but Internet bandwidth grew only 44 percent.

이러한 인터넷 대역폭 부족 현상을 해결하기 위한 방안으로 CDN(contents delivery network) 기술이 관심을 끌고 있다. CDN 기술은 능동적인 트래픽 분산을 이용하여 네트워크의 평균 가동률을 높이고 피크 트래픽을 낮추어 인터넷 망을 더욱 효율적으로 활용할 수 있는 기술이다. CDN 기술에 따르면, 컨텐츠 제공자(contents provider)는 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 다수의 서버에 복제하고, 클라이언트의 요청이 있을 경우 최적의 서버로부터 컨텐츠를 제공받을 수 있도록 한다.As a way to solve the shortage of Internet bandwidth, CDN (content delivery network) technology is attracting attention. CDN technology is a technology that can utilize the internet network more efficiently by using active traffic distribution to increase average network utilization and lower peak traffic. According to the CDN technology, the content provider replicates the content to be provided to the client to a plurality of locally distributed servers, and when requested by the client, the content provider can receive the content from the optimal server.

그러나 주로 대용량의 멀티미디어 컨텐츠를 대상으로 하는 스트리밍 서비스의 경우에는 스트리밍 컨텐츠를 끊김 없이 서비스하기 위하여 스트리밍 초기에 충분한 양의 데이터를 클라이언트 단말에 저장한 후에서야 비로소 재생을 시작한다. 즉, 초기 버퍼링 과정을 반드시 거치게 된다. 따라서 일반적인 스트리밍 서비스에서는 초기 버퍼링에 의한 지연 현상을 피할 수 없으며, 더욱이 네트워크의 전송환경이 좋지 않거나 최종 사용자단의 수신환경이 열악할 경우 이러한 초기 버퍼링 지 연은 더욱 심각한 문제로 대두되어 서비스 품질(QoS)을 저하시키는 요인으로 작용하고 있다.However, in the case of a streaming service mainly targeting a large amount of multimedia content, playback is started only after storing a sufficient amount of data in a client terminal at the beginning of streaming to seamlessly service the streaming content. In other words, the initial buffering process must be performed. Therefore, in general streaming service, the delay caused by initial buffering cannot be avoided. Moreover, when the network transmission environment is poor or the receiving environment of the end user is poor, this initial buffering delay becomes a more serious problem and the quality of service (QoS) ) Acts as a factor to lower.

따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 멀티미디어 컨텐츠의 스트리밍 서비스에 있어서 초기 버퍼링 시간을 감소시킴으로써 고품질의 스트리밍 서비스를 원활하게 제공하기 위한 것이다.Accordingly, the present invention is to solve the conventional problems, to smoothly provide a high-quality streaming service by reducing the initial buffering time in the streaming service of multimedia content.

또한, 본 발명은 멀티미디어 컨텐츠의 스트리밍 서비스에 있어서 한정된 네트워크 자원을 효율적으로 활용할 수 있는 방안을 제공하기 위한 것이다.In addition, the present invention is to provide a method that can efficiently utilize the limited network resources in the streaming service of multimedia content.

이러한 목적을 달성하기 위하여, 본 발명은 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법을 제공한다.In order to achieve this object, the present invention provides a streaming service providing system and method using a hierarchical distributed storage structure.

본 발명에 따른 스트리밍 서비스 제공 시스템은, 스트리밍 컨텐츠를 저장하고 저장된 상기 스트리밍 컨텐츠를 서비스하는 컨텐츠 서버; 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 계층으로 구분되는 계층을 이루며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 가까운 거리부터 먼 거리의 계층에 대응시켜 분산 저장하고, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 복수의 캐시 서버; 및 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하고 버퍼링된 상기 스트리밍 컨텐츠를 재생하는 클라이언트를 포함하여 구성된다.The streaming service providing system according to the present invention includes a content server for storing streaming content and serving the stored streaming content; The first and last parts of the streaming content are distributed and stored in correspondence with the shortest distance from the closest distance from the first part of the streaming content. A plurality of cache servers sequentially transmitting the last portion; And a client that sequentially receives and buffers the first to last portions of the streaming content, and plays the buffered streaming content.

본 발명의 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템에 있어서, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠 를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가질 수 있다.In the streaming service providing system using the hierarchical distributed storage structure of the present invention, the first part to the last part of the streaming content is composed of a plurality of hierarchical files for dividing the streaming content in a playback order, and the plurality of hierarchical files These include a layer header and layer data, and the layer header may have link information of another layer file according to a playback order.

또한, 상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로, 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장될 수 있다.Also, when n is a natural number, the plurality of cache servers are configured as cache servers of the first to nth layers from a close distance in time with the client, and the first to last parts of the streaming content are n, and the first part. From the first to the n-th layer cache server may be distributed and stored sequentially.

또한, 상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 상기 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가질 수 있다.In addition, streaming content distributed and stored in the first layer cache server may have a file larger than or equal to the size required for the initial buffering of the client.

한편, 본 발명에 따른 스트리밍 서비스 제공 방법은 캐시 서버들의 계층적 분산 저장 구조를 이용하는 것으로서, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하는 단계; 클라이언트로부터 스트리밍 서비스 요청시, 상기 가까운 거리부터 먼 거리의 캐시 서버가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 단계; 상기 클라이언트가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하고 버퍼링된 스트리밍 컨텐츠를 재생하는 단계를 포함하여 구성된다.On the other hand, the streaming service providing method according to the present invention uses a hierarchical distributed storage structure of the cache servers, the first to the last portion of the streaming content is a cache server far from a close distance in the transmission time with the client of the cache servers Storing in a distributed manner; When a streaming service request is made from a client, sequentially transmitting a first part to a last part of the streaming content by a cache server far from the short distance; And receiving, buffering, and playing the buffered streaming content by the client sequentially receiving the first to the last part of the streaming content.

본 발명의 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법에 있어서, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일 들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가질 수 있다.In the streaming service providing method using the hierarchical distributed storage structure of the present invention, the first part to the last part of the streaming content is composed of a plurality of hierarchical files for dividing the streaming content in a playback order, and the plurality of hierarchical files These include a layer header and layer data, and the layer header may have link information of another layer file according to a playback order.

또한, 상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장될 수 있다.Also, when n is a natural number, the plurality of cache servers are configured as cache servers of the first to nth layers from a close distance in time to the client, and the first to last parts of the streaming content are n to the first part. Sequentially distributed to the first to n-th layer cache server.

또한, 상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 상기 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가질 수 있다.In addition, streaming content distributed and stored in the first layer cache server may have a file larger than or equal to the size required for the initial buffering of the client.

본 발명은 계층적 분산 서버 구조에서 스트리밍 컨텐츠를 분산 저장할 때 시간적으로 먼저 재생되는 컨텐츠 세그먼트일수록 클라이언트에 가까운 하위 계층에 저장함으로써 초기 버퍼링 지연을 효과적으로 감소시킬 수 있는 장점이 있다.According to the present invention, when distributed content is stored in a hierarchical distributed server structure, the content segment played first in time is stored in a lower layer closer to the client, thereby effectively reducing the initial buffering delay.

또한, 본 발명은 스트리밍 서비스에 있어서 한정된 네트워크 자원을 효율적으로 활용할 수 있고 서비스 품질(QoS)을 향상시킬 수 있는 장점이 있다.In addition, the present invention has the advantage that can efficiently utilize limited network resources in the streaming service and improve the quality of service (QoS).

이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일 한 참조부호를 부여한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention. In describing the embodiments, descriptions of technical contents that are well known in the art to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly communicate without obscure the core of the present invention by omitting unnecessary description. On the other hand, the same reference numerals are assigned to the same or corresponding components throughout the accompanying drawings.

도 1은 본 발명의 실시예에 따른 스트리밍 서비스 제공 시스템의 계층적 분산 저장 구조를 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating a hierarchical distributed storage structure of a streaming service providing system according to an exemplary embodiment of the present invention.

도 1을 참조하면, 스트리밍 서비스 제공 시스템은 컨텐츠의 원본을 저장하는 컨텐츠 서버(100), 컨텐츠의 사본을 저장하는 다수의 캐시 서버(200), 컨텐츠 서버(100)와 캐시 서버(200)들로부터 스트리밍 서비스를 제공받는 클라이언트(300)를 포함하여 구성된다.Referring to FIG. 1, a streaming service providing system includes a content server 100 storing an original content, a plurality of cache servers 200 storing a copy of content, a content server 100, and cache servers 200. It is configured to include a client 300 receiving a streaming service.

컨텐츠 서버(100)는 스트리밍 컨텐츠의 원본을 저장하는 서버로, 가입자 클라이언트(300)들에 스트리밍 컨텐츠를 제공한다. 이때, 컨텐츠 서버(100)는 다수의 캐시 서버(200)들을 통해 클라이언트(300)에 스트리밍 서비스를 제공할 수 있다. 이를 위하여, 컨텐츠 서버(100)는 다수의 캐시 서버(200)들에 자신의 컨텐츠 사본을 제공한다.The content server 100 is a server that stores the original of the streaming content, and provides the streaming content to the subscriber client (300). In this case, the content server 100 may provide a streaming service to the client 300 through the plurality of cache servers 200. To this end, the content server 100 provides copies of its content to the plurality of cache servers 200.

클라이언트(300)는 컨텐츠 서버가 제공하는 스트리밍 서비스에 가입한 가입자 클라이언트이다. 이러한 클라이언트(300)는 유선 또는 무선을 통해 컨텐츠 서버(100) 및 캐시 서버(200)들로부터 스트리밍 서비스를 제공받는다.The client 300 is a subscriber client that subscribes to a streaming service provided by a content server. The client 300 is provided with a streaming service from the content server 100 and the cache server 200 through a wired or wireless.

본 발명의 실시예에 따른 캐시 서버(200)들은 계층 구조(hierarchical structure)를 이루며, 이러한 계층은 제1 내지 제n 계층으로 구성 될 수 있다. 여기서, n은 2 이상의 자연수이다.The cache servers 200 according to the embodiment of the present invention form a hierarchical structure, and this layer may be composed of first to nth layers. N is a natural number of 2 or more.

또한, 제1 계층은 최하위 계층이며, 제1 계층에 가까울수록 하위 계층이라고 칭한다. 또한, 제n 계층은 최상위 계층이며, 제n 계층과 가까울수록 상위 계층이라 고 칭한다.The first layer is the lowest layer, and the closer to the first layer, the lower layer. Also, the n-th layer is a top layer, and the closer to the n-th layer, the higher layer is called.

최하위 계층의 캐시 서버(200)는 클라이언트(300)와 전송시간상 가장 가까운 거리에 있는 서버이며, 최상위 계층의 캐시 서버(200)는 클라이언트(300)와 전송시간상 가장 먼 거리에 있는 서버이다. 이러한 캐시 서버(200)들은 각각 스트리밍 서비스를 제공하기 위한 컨텐츠의 사본을 분산 저장한다. 특히, 최하위부터 최상위까지의 캐시 서버(200)들은 클라이언트(300)가 요청하는 스트리밍 컨텐츠를 앞부분부터 뒷부분까지 순차적으로 나누어 저장한다.The lowest level cache server 200 is a server that is closest in transmission time to the client 300, and the highest level cache server 200 is a server that is farthest in transmission time from the client 300. These cache servers 200 each store a copy of the content for providing a streaming service. In particular, the cache server 200 from the lowest to the highest stores the streaming content requested by the client 300 sequentially from the front to the rear.

캐시 서버(200)들은 클라이언트(300)로 스트리밍 컨텐츠를 전송할 때, 최하위 계층부터 전송을 시작하고, 최하위 계층의 상위에 있는 서버들이 순차적으로 전송한다. 이에 따라, 클라이언트(300)는 가장 가까운 캐시 서버(200)로부터 빠른 시간에 초기 재생할 컨텐츠를 수신함으로써, 초기 버퍼링 시간이 감소된다.When the cache servers 200 transmit the streaming content to the client 300, the cache servers 200 start the transmission from the lowest layer, and the servers above the lowest layer transmit sequentially. Accordingly, the client 300 receives the initial content to be quickly reproduced from the nearest cache server 200, thereby reducing the initial buffering time.

이와 같이, 캐시 서버들은 스트리밍 컨텐츠를 계층적으로 분산 저장함으로써 효율적인 스트리밍 서비스를 제공할 수 있다. 이하, 이러한 분산 저장 구조에 대하여 좀더 구체적으로 설명한다.As such, cache servers may provide efficient streaming services by hierarchically distributing and storing streaming content. Hereinafter, this distributed storage structure will be described in more detail.

도 2는 본 발명의 실시예에 따른 스트리밍 컨텐츠의 분산 저장 개념을 설명하기 위한 도면이다. 도 2에는 컨텐츠 서버(도 1의 100)에 저장된 스트리밍 컨텐츠(10)와, 캐시 서버(도 1의 200)들에 분산 저장된 스트리밍 컨텐츠(20)의 파일 구조를 도시하였다.2 is a view for explaining a concept of distributed storage of streaming content according to an embodiment of the present invention. FIG. 2 illustrates a file structure of streaming content 10 stored in a content server (100 of FIG. 1) and streaming content 20 distributed and stored in cache servers (200 of FIG. 1).

컨텐츠 서버(100)에 저장된 스트리밍 컨텐츠(10)는 헤더(11, H)와 다수의 세그먼트(a 내지 z)로 구분된 컨텐츠 데이터(12)로 이루어진 파일 형식을 가진다.The streaming content 10 stored in the content server 100 has a file format consisting of headers 11 and H and content data 12 divided into a plurality of segments a to z.

한편, 캐시 서버(200)들에 분산 저장된 스트리밍 컨텐츠(20)는 계층 헤더(21) 및 계층 데이터(22)로 이루어진 계층 파일들로 구성된 파일 형식을 가진다. 계층 파일들은 앞서 설명한 캐시 서버(200)들의 계층에 대응하여 생성되고, 대응하는 각 캐시 서버(200)들에 저장된다.Meanwhile, the streaming content 20 distributed and stored in the cache servers 200 has a file format composed of hierarchical files consisting of a hierarchical header 21 and hierarchical data 22. The layer files are generated corresponding to the layers of the cache servers 200 described above and are stored in the corresponding cache servers 200.

계층 헤더(21)는 각 캐시 서버(200)에 따른 계층을 구분하고, 자신과 같은 스트리밍 컨텐츠의 계층 파일들 간의 링크 정보를 가진다. 계층 데이터(22)는 다수의 세그먼트로 구분된 컨텐츠 데이터(12) 중 적어도 하나 이상의 세그먼트를 포함한다.The layer header 21 classifies the layer according to each cache server 200 and has link information between layer files of streaming content such as itself. The hierarchical data 22 includes at least one segment of the content data 12 divided into a plurality of segments.

도 2에서 H1, H2, Hn-1, Hn은 제1 내지 제n 계층의 캐시 서버의 계층 헤더(21)를 나타내며, a, b, c, d, w, x, y, z는 스트리밍 데이터의 분할된 각 세그먼트를 나타낸다.In FIG. 2, H1, H2, Hn-1, and Hn represent layer headers 21 of cache servers of the first to nth layers, and a, b, c, d, w, x, y, and z represent streaming data. Represents each segment divided.

각 계층 헤더들(H1, H2, Hn-1, Hn)(21)은 자신의 상위 및 하위 계층 파일의 위치에 대한 링크 정보를 가진다. 예컨대, 제1 계층 파일의 계층 헤더(H1)는 제2 계층 파일의 위치에 대한 링크 정보를 가지며, 제2 계층 파일의 혜더(H2)는 제1 및 제3 계층 파일의 링크 정보를 가진다. 또한, 제n-1 계층 파일의 계층 헤더는 제n-2 계층 및 제n 계층 파일의 링크 정보를 가지며, 제n 계층 파일의 계층 헤더는 제n-1 계층 파일의 링크 정보를 가진다.Each layer header (H1, H2, Hn-1, Hn) 21 has link information on the location of its upper and lower layer files. For example, the layer header H1 of the first layer file has link information on the location of the second layer file, and the header H2 of the second layer file has link information of the first and third layer files. Further, the layer header of the n-th layer file has link information of the n-th layer and the n-th layer file, and the layer header of the n-th layer file has link information of the n-th layer file.

캐시 서버(200)는 스트리밍 컨텐츠의 전송이 시작되면 이러한 링크 정보를 통해 동일 스트리밍 컨텐츠를 가지는 계층 파일 간에 링크를 형성하고, 이러한 링크를 통해 다수 계층의 캐시 서버들이 순차적으로 다음 계층 파일을 전송하도록 한 다.When the transmission of the streaming content starts, the cache server 200 forms a link between the layer files having the same streaming content through the link information, and allows the cache servers of the plurality of layers to sequentially transmit the next layer file through the link. All.

따라서 제1 계층 캐시 서버가 클라이언트(300)로 전송을 시작하면, 상위 계층의 캐시 서버들은 하위 계층으로 전송하거나, 제1 계층 캐시 서버의 전송이 끝나기 전, 클라이언트(300)로 전송을 시작한다.Therefore, when the first layer cache server starts transmitting to the client 300, the cache servers of the upper layer transmit to the lower layer or start transmitting to the client 300 before the transmission of the first layer cache server is finished.

계층 데이터(22)는 적어도 하나의 세그먼트를 포함한다. 이때, 각 계층 데이터(22)에 포함되는 세그먼트의 수는 캐시 서버(200)의 계층의 수에 따라 분배된다.Hierarchical data 22 includes at least one segment. At this time, the number of segments included in each layer data 22 is distributed according to the number of layers of the cache server 200.

먼저, 특정 스트리밍 컨텐츠는 m개의 세그먼트로 분할된 데이터를 가진다고 가정한다.First, it is assumed that specific streaming content has data divided into m segments.

본 발명의 실시예에 따르면, 재생 순서가 빠른 세그먼트부터 P(m/n)개씩 제1 계층부터 제n 계층까지 동일하게 세그먼트를 분배하여 저장할 수 있다. 이때, p는 m보다 작은 수이다(p<m).According to an embodiment of the present invention, the segments may be distributed and stored in the same order from the first layer to the nth layer by P (m / n) pieces starting from the segment having the fastest reproduction order. In this case, p is a number smaller than m (p <m).

또한, 본 발명의 다른 실시예에 따르면, 재생 순서가 빠른 세그먼트부터 동일하지 않은 수의 q1 내지 qn개를 제1 계층부터 제n 계층까지 세그먼트를 분배하여 저장할 수 있다. 이때, q1 내지 qn은 m 보다 작고, q1 내지 qn 순으로 큰 수임(m>q1>q2>...>qn)을 만족해야 한다.In addition, according to another embodiment of the present invention, q1 to qn of the same number from the segment having the faster reproduction order may be divided and stored from the first layer to the nth layer. At this time, q1 to qn is smaller than m and must satisfy a large number (m> q1> q2> ...> qn) in the order of q1 to qn.

한편, 제1 계층 파일은 클라이언트 초기 버퍼링에 필요한 크기 이상임이 바람직하다. 클라이언트(300)는 스트리밍 컨텐츠를 끊김 없이 서비스(재생)하기 위하여 재생 초기에 충분한 양의 스트리밍 신호를 저장한다. 즉, 스트리밍 서비스를 사용자의 입장에서 끊김 없이 제공하기 위해서는 일정 용량 이상의 스트리밍 신호를 저장해야 한다. 따라서 일정 용량 이상의 스트리밍 신호를 저장하기 전에는 재생을 시작하지 않는다. 이러한 이유로 클라이언트와 시간상 가장 가까운 쪽의 제1 계층 캐시 서버에 저장하는 제1 계층 파일의 계층 데이터의 크기는 초기 버퍼링을 위한 데이터 크기 이상임이 바람직하다.On the other hand, the first layer file is preferably larger than the size required for the client initial buffering. The client 300 stores a sufficient amount of streaming signals at the beginning of playback to seamlessly service (play) streaming content. That is, in order to provide a streaming service seamlessly from the user's point of view, a streaming signal of a predetermined capacity or more must be stored. Therefore, playback is not started until the streaming signal of a certain capacity or more is stored. For this reason, the size of the layer data of the first layer file stored in the first layer cache server closest to the client in time is more than the data size for initial buffering.

전술한 바와 같이, 스트리밍 서비스가 이루어지는 각 컨텐츠는 각 세그먼트를 기본 단위로 하는 계층 데이터로 분할되어 여러 캐시 서버에 분산 저장된다. 이때, 시간적으로 먼저 재생되는 세그먼트일수록 클라이언트에 가장 가까운 최하위 계층에 저장함으로써, 초기 버퍼링 지연을 감소시킨다.As described above, each content for which a streaming service is provided is divided into hierarchical data having each segment as a basic unit and distributed and stored in various cache servers. At this time, the segment that is played first in time is stored in the lowest layer closest to the client, thereby reducing the initial buffering delay.

한편, 본 발명의 실시예에 따른 컨텐츠 서버(100) 또는 캐시 서버(200)들은 전술한 스트리밍 컨텐츠를 스트리밍을 서비스하기 위한 프로토콜에 따른 스트리밍 신호를 통해 전송한다. 그러면, 클라이언트는 분산 저장된 스트리밍 컨텐츠를 수신하여 실시간으로 재생할 수 있는 스트리밍 컨텐츠 재생기의 역할을 수행한다.On the other hand, the content server 100 or the cache server 200 according to an embodiment of the present invention transmits the above-described streaming content through a streaming signal according to a protocol for streaming service. Then, the client serves as a streaming content player capable of receiving distributed stored streaming content and playing it in real time.

도 3은 본 발명의 실시예에 따른 클라이언트의 개략적인 구성을 나타내는 블록도이다.3 is a block diagram showing a schematic configuration of a client according to an embodiment of the present invention.

도 3을 참조하면, 클라이언트(300)는 통신부(310), 모뎀부(320), 버퍼부(330), 코덱부(340), 재생부(350), 제어부(360)를 포함하여 구성된다.Referring to FIG. 3, the client 300 includes a communication unit 310, a modem unit 320, a buffer unit 330, a codec unit 340, a playback unit 350, and a control unit 360.

통신부(310)는 제어부(360)의 제어에 따라 스트리밍 컨텐츠를 요청하는 메시지를 컨텐츠 서버(100)로 전송한다.The communication unit 310 transmits a message requesting streaming content to the content server 100 under the control of the control unit 360.

또한, 컨텐츠 서버(100) 및 캐시 서버(200)들로부터 스트리밍 신호를 수신한다. 수신하는 스트리밍 신호는 스트리밍 컨텐츠를 포함하며, 이러한 스트리밍 컨텐츠는 제1 계층 파일부터 제n 계층 파일까지 순차적으로 수신된다. 또한, 스트리밍 신호는 비디오 데이터, 오디오 데이터 및 부가 데이터를 포함한다. 이러한 스트리밍 신호는 시간 영역(time domain)에서 연속되며, 통신부(310)는 스트리밍 컨텐츠가 종료될 때까지 연속하여 스트리밍 신호를 수신한다.In addition, a streaming signal is received from the content server 100 and the cache server 200. The received streaming signal includes streaming content, which is sequentially received from the first layer file to the nth layer file. The streaming signal also includes video data, audio data and additional data. The streaming signal is continuous in the time domain, and the communication unit 310 continuously receives the streaming signal until the streaming content is finished.

이러한 통신부(310)는 유선 또는 무선의 프로토콜에 따라 스트리밍 신호를 수신할 수 있다.The communication unit 310 may receive a streaming signal according to a wired or wireless protocol.

무선의 경우, 통신부(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) 등을 구비할 수 있다.In the wireless case, the communication unit 310 receives a streaming signal, which is a high frequency (RF) signal, and sequentially converts the received high frequency signal into an intermediate frequency (IF) signal and a base band (BB) signal. In addition, the communication unit 310 converts an analog signal into a digital signal. In the case of transmission, this process is reversed. To this end, the communication unit 310 may include a power amplifier (PA), a low noise amplifier (LNA), a channel filter, a converter (A / D converter, D / A converter), and the like. have.

유선의 경우, 통신부(310)는 유선 인터페이스에 따라 수신되는 유선의 아날로그 신호인 스트리밍 신호를 디지털 신호로 변환하여 수신한다. 또한, 송신시에는 유선의 디지털 신호를 무선의 아날로그 신호로 변환하여 전송한다. 이를 위하여 통신부(310)는 컨버터를 구비할 수 있다.In the case of a wired line, the communication unit 310 converts and receives a streaming signal, which is a wired analog signal received according to a wired interface, into a digital signal. In addition, at the time of transmission, a wired digital signal is converted into a wireless analog signal and transmitted. To this end, the communication unit 310 may include a converter.

디지털 신호로 변환된 스트리밍 신호는 통신부(310)로부터 출력되어 모뎀부(320)로 입력된다.The streaming signal converted into a digital signal is output from the communication unit 310 and input to the modem unit 320.

모뎀부(320)는 입력되는 디지털 신호인 스트리밍 신호를 복조(demodulation)하여 출력한다. 모뎀부(320)는 캐시 서버(200) 또는 컨텐츠 서버(100)가 스트리밍 신호를 변조한 방식에 대응하는 방식으로 스트리밍 신호를 변조하여 버퍼부(330)로 출력한다.The modem unit 320 demodulates and outputs a streaming signal, which is an input digital signal. The modem unit 320 modulates the streaming signal in a manner corresponding to a method in which the cache server 200 or the content server 100 modulates the streaming signal, and outputs it to the buffer unit 330.

버퍼부(330)는 입력되는 스트리밍 신호를 일시 저장하는 역할을 수행한다. 버퍼부(330)는 그 입출력 방식으로서, 시간상 먼저 입력되는 데이터가 먼저 출력되는 선입 선출(FIFO) 방식을 채용하는 것이 바람직하다. 또한, 버퍼부(330)는 입력되는 스트리밍 신호의 저장 방식으로 스택(stack) 또는 큐(queue) 방식으로 구성될 수 있다.The buffer unit 330 temporarily stores the input streaming signal. The buffer unit 330 preferably adopts a first-in first-out (FIFO) method in which data first input in time is output first. In addition, the buffer unit 330 may be configured in a stack or queue manner as a storage method of an input streaming signal.

스트리밍 신호는 오디오 데이터로만 이루어진 음악 파일이거나, 오디오 및 비디오 데이터로 이루어진 동영상 파일 등이 될 수 있다. 또한, 오디오 및 비디오 데이터는 한 세그먼트를 저장하는데 사용되는 파일 크기가 다르다. 즉, 한 세그먼트를 저장하는 비디오 데이터의 파일 크기가 오디오 데이터보다 크다. 이에 따라, 버퍼부(330)의 저장 용량은 비디오 데이터 및 오디오 데이터 각각의 한 세그먼트 저장 용량의 배수인 것이 바람직하다.The streaming signal may be a music file composed only of audio data, or a video file composed of audio and video data. Audio and video data also differ in file size used to store one segment. That is, the file size of the video data storing one segment is larger than the audio data. Accordingly, the storage capacity of the buffer unit 330 is preferably a multiple of one segment storage capacity of each of the video data and the audio data.

버퍼부(330)는 스트리밍 컨텐츠를 끊김 없이 서비스하기 위하여 재생 초기에 충분한 양의 스트리밍 신호를 저장한다. 즉, 스트리밍 서비스를 사용자의 입장에서 끊김 없이 제공하기 위해서는 버퍼부(330)는 일정 용량 이상의 스트리밍 신호를 저장해야 한다. 따라서 일정 용량 이상의 스트리밍 신호를 저장하기 전에는 재생을 시작할 수 없다. 본 발명의 실시예에 따르면, 제1 계층 파일을 클라이언트와 시간상 가장 가까운 쪽의 제1 계층 캐시 서버에 저장하여 초기 버퍼링 시간을 감소시킨다.The buffer unit 330 stores a sufficient amount of streaming signals at the beginning of playback to seamlessly service streaming content. That is, in order to provide a streaming service without interruption from the user's point of view, the buffer unit 330 must store a streaming signal of a predetermined capacity or more. Therefore, playback cannot start until the streaming signal is stored above a certain capacity. According to an embodiment of the present invention, the first layer file is stored in the first layer cache server closest in time to the client to reduce the initial buffering time.

이러한 이유로 스트리밍 신호 수신 초기에 버퍼부(330)는 제어부(360)의 제어에 따라 일정 용량 이상의 데이터가 저장된 후, 일시 저장된 스트리밍 신호를 코덱부(340)로 출력한다. 이때, 일정 용량 이상의 데이터는 제1 계층 캐시 서버가 저장한 크기의 계층 파일의 용량보다 작은 용량임이 바람직하다.For this reason, at the initial reception of the streaming signal, the buffer unit 330 stores data of a predetermined capacity or more under the control of the controller 360 and then outputs the temporarily stored streaming signal to the codec unit 340. In this case, the data having a predetermined capacity or more is preferably smaller than the capacity of the hierarchical file of the size stored by the first hierarchical cache server.

이때, 버퍼부(330)의 스트리밍 신호의 출력은 스트리밍 신호의 데이터 형식에 따라 출력한다. 즉, 스트리밍 신호 중 오디오 데이터는 오디오 코덱으로 출력하며, 스트리밍 신호 중 비디오 데이터는 비디오 코덱으로 출력한다. 또한, 스트리밍 신호가 부가 데이터를 포함하는 경우, 해당 데이터 코덱으로 출력할 수 있다.At this time, the output of the streaming signal of the buffer unit 330 is output according to the data format of the streaming signal. That is, audio data of the streaming signal is output to the audio codec, and video data of the streaming signal is output to the video codec. In addition, when the streaming signal includes additional data, the streaming signal may be output to the corresponding data codec.

코덱부(340)는 입력된 스트리밍 신호를 복호(decoding)하여 재생부(350)로 출력한다. 이때, 코덱부(340)는 스트리밍 신호의 데이터 형식(format)에 따라 스트리밍 신호를 복호하여 재생부(350)로 출력한다. 이를 위하여, 코덱부(340)는 오디오 코덱, 비디오 코덱, 데이터 코덱 등을 구비할 수 있다. 즉, 코덱부(340)는 스트리밍 신호의 오디오 데이터는 오디오 코덱을 통해 복호하며, 스트리밍 신호의 비디오 데이터는 비디오 코덱을 통해 복호한다.The codec unit 340 decodes the input streaming signal and outputs the decoded streaming signal to the reproduction unit 350. At this time, the codec unit 340 decodes the streaming signal according to the data format (stream) of the streaming signal and outputs it to the playback unit 350. To this end, the codec unit 340 may include an audio codec, a video codec, a data codec, and the like. That is, the codec unit 340 decodes the audio data of the streaming signal through the audio codec, and decodes the video data of the streaming signal through the video codec.

재생부(350)는 입력된 스트리밍 신호들을 재생한다. 이를 위한 재생부(350)는 디스플레이 장치 및 오디오 장치를 구비한다. 디스플레이 장치는 코덱부(340)에서 출력된 스트리밍 신호 중 비디오 데이터를 화면으로 표시한다. 디스플레이 장치는 액정표시장치(LCD)로 형성될 수 있다. 오디오 장치는 코덱부(340)에서 출력된 스트리밍 신호 중 오디오 데이터를 재생하는 역할을 수행한다. 이를 위한 오디오 장치는 디지털 신호인 오디오 데이터를 아날로그 신호로 변환하고, 이를 증폭하여 스피커를 통해 재생하는 구성을 가질 수 있다.The playback unit 350 reproduces the input streaming signals. The playback unit 350 for this includes a display device and an audio device. The display apparatus displays video data among the streaming signals output from the codec unit 340 on the screen. The display device may be formed of a liquid crystal display (LCD). The audio device plays a role of reproducing audio data among the streaming signals output from the codec unit 340. An audio device for this purpose may have a configuration in which audio data, which is a digital signal, is converted into an analog signal, amplified, and reproduced through a speaker.

제어부(360)는 전술한 통신부(310), 모뎀부(320), 버퍼부(330), 코덱부(340), 재생부(250)의 입출력을 제어하는 역할을 수행한다. 특히, 제어부(360)는 스트리밍 컨텐츠를 끊김 없이 서비스하기 위하여 스트리밍 신호 수신 초기에 충분한 양의 스트리밍 신호를 버퍼부(330)에 저장하도록 제어한다.The controller 360 controls the input / output of the communication unit 310, the modem unit 320, the buffer unit 330, the codec unit 340, and the reproduction unit 250. In particular, the controller 360 controls to store a sufficient amount of the streaming signal in the buffer unit 330 at the initial reception of the streaming signal in order to seamlessly service the streaming content.

이하, 캐시 서버(200)들의 계층적 분산 저장 구조에서 이루어지는 스트리밍 서비스 제공 방법에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법을 나타내는 흐름도이다.Hereinafter, a streaming service providing method performed in a hierarchical distributed storage structure of the cache servers 200 will be described. 4 is a flowchart illustrating a streaming service providing method using a hierarchical distributed storage structure according to an embodiment of the present invention.

도 4에서 캐시 서버(200)들은 3개의 계층 구조를 이룬다고 가정한다. 이에 따라, 캐시 서버(200)들은 제1 내지 제3 계층에 각각 제1 내지 제3 캐시 서버(201, 202, 203)가 존재하며, 제1 캐시 서버(201)는 최하위 캐시 서버이며, 제3 캐시 서버(203)는 최상위 캐시 서버라고 가정한다.In FIG. 4, it is assumed that the cache servers 200 form three hierarchical structures. Accordingly, the cache servers 200 have first to third cache servers 201, 202, and 203 in the first to third layers, respectively, and the first cache server 201 is the lowest cache server. Assume that cache server 203 is a top-level cache server.

또한, 컨텐츠 서버(100)은 자신의 스트리밍 컨텐츠 사본을 제1 내지 제3 캐시 서버(201, 202, 203)에 순차적으로 제1 계층 파일 내지 제3 계층 파일로 분산 저장하였다고 가정한다.In addition, it is assumed that the content server 100 stores copies of its streaming content in the first to third cache servers 201, 202, and 203 as first to third layer files sequentially.

도 4를 참조하면, 클라이언트(300)는 S401 단계에서 컨텐츠 서버(100)로 스트리밍 서비스를 요청한다. 이러한 요청은 유선 또는 무선을 통해 수행할 수 있다.Referring to FIG. 4, the client 300 requests a streaming service to the content server 100 in step S401. This request can be made via wired or wireless.

스트리밍 서비스 요청을 수신한 컨텐츠 서버(100)는 S403 단계에서 제1 내지 제3 캐시 서버(201, 202, 203)에 스트리밍 컨텐츠를 클라이언트로 전송하도록 지시한다. 이러한 전송 지시는 제3, 제2, 제1 캐시 서버 순으로 이루어짐이 바람직하 며, 이러한 지시에 따라, S405 단계에서 제1 내지 제3 캐시 서버(201, 202, 203)간에 제1 계층 파일 내지 제3 계층 파일을 연결하는 링크가 형성된다.The content server 100 receiving the streaming service request instructs the first to third cache servers 201, 202, and 203 to transmit streaming content to the client in step S403. Preferably, the transmission instruction is made in the order of the third, second, and first cache servers, and according to the instruction, the first hierarchical file between the first to third cache servers 201, 202, and 203 is performed in step S405. Links connecting the third layer files are formed.

또한, 링크가 형성된 후, 제1 캐시 서버(201)는 S407 단계에서 클라이언트(300)로 제1 계층 파일을 전송한다. 이러한 제1 계층 파일의 전송이 시작되어 전송이 완료되기 전, 제2 캐시 서버(202)는 S409 단계에서 제1 캐시 서버(201)로 제2 계층 파일을 전송한다. 또한, 제2 계층 파일의 전송이 시작되고 전송이 완료되기 전, 제3 캐시 서버(203)는 S411 단계에서 제2 캐시 서버(202)로 제3 계층 파일을 전송한다.In addition, after the link is formed, the first cache server 201 transmits the first layer file to the client 300 in step S407. Before the transmission of the first layer file is started and the transmission is completed, the second cache server 202 transmits the second layer file to the first cache server 201 in step S409. In addition, before the transmission of the second layer file is started and the transmission is completed, the third cache server 203 transmits the third layer file to the second cache server 202 in step S411.

한편, 제2 계층 파일의 수신을 시작한 제1 캐시 서버(201)는 S413 단계에서 제1 계층 파일이 전송이 완료되면, 연이어서 제2 계층 파일을 클라이언트(300)로 전송한다. 이러한 전송은 스트리밍 서비스가 끊김 없이 전송될 수 있도록 제1 캐시 서버(201)는 제2 계층 파일의 수신이 완료되기 전이라도 제2 계층 파일 중 수신된 부분부터 전송할 수 있다.On the other hand, the first cache server 201, which has started receiving the second layer file, transmits the second layer file to the client 300 successively when the first layer file is completed in step S413. The transmission may be transmitted from the received portion of the second layer file even before the reception of the second layer file is completed so that the streaming service can be transmitted without interruption.

또한, 제3 계층 파일의 수신을 시작한 제2 캐시 서버(202)는 S415 단계에서 제2 계층 파일의 전송에 연이어 제3 계층 파일을 제1 캐시 서버(201)로 전송한다. 이러한 전송은 스트리밍 서비스가 끊김 없이 전송될 수 있도록 제2 캐시 서버(202)는 제3 계층 파일의 수신이 완료되기 전이라도 제3 계층 파일 중 수신된 부분부터 전송할 수 있다.In addition, the second cache server 202 which has started receiving the third layer file transmits the third layer file to the first cache server 201 following the transmission of the second layer file in step S415. The transmission may be transmitted from the received portion of the third layer file even before the reception of the third layer file is completed, so that the streaming service may be transmitted without interruption.

한편, 제3 계층 파일의 수신을 시작한 제1 캐시 서버(201)는 S417 단계에서 제2 계층 파일이 전송이 완료되면, 연이어서 제3 계층 파일을 클라이언트(300)로 전송한다. 이러한 전송은 스트리밍 서비스가 끊김 없이 전송될 수 있도록 제1 캐시 서버(202)는 제3 계층 파일의 수신이 완료되기 전이라도 제3 계층 파일 중 수신된 부분부터 전송할 수 있다.On the other hand, when the transmission of the second layer file is completed in step S417, the first cache server 201 that has started receiving the third layer file transmits the third layer file to the client 300 successively. The transmission may be transmitted from the received portion of the third layer file even before the reception of the third layer file is completed, so that the streaming service may be transmitted without interruption.

이때, 클라이언트(300)는 S407, S413, S417 단계에서 순차적으로 제1 내지 제3 계층 파일을 끊김 없이 수신하고, 이에 따라 S419 단계에서 버퍼링을 거쳐 재생한다.At this time, the client 300 sequentially receives the first through the third layer files in step S407, S413, and S417 without interruption, and accordingly plays back the buffering in step S419.

이상 설명한 바와 같이 본 발명의 실시예에 따르면, 사용자와의 전송시간상의 거리가 가장 가까운 제1 계층(최하위 계층) 캐시 서버에 제1 계층 파일을 저장하고 이를 전송함으로써, 클라이언트의 초기 버퍼링 지연을 감소시킬 수 있다.As described above, according to the exemplary embodiment of the present invention, the first layer file is stored in the first layer (lowest layer) cache server having the closest transmission distance to the user and transmitted, thereby reducing the initial buffering delay of the client. You can.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.As described above, the present specification and drawings have been described with respect to preferred embodiments of the present invention, although specific terms are used, it is only used in a general sense to easily explain the technical contents of the present invention and to help the understanding of the present invention. It is not intended to limit the scope of the present invention. It is to be understood by those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

본 발명은 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠, IPTV 등 다양한 형태로 나타나고 있는 각종 멀티미디어 스트리밍 서비스에 유용하게 이용할 수 있다.The present invention can be usefully used for a variety of multimedia streaming services that appear in a variety of forms, such as video content, online education, mass media content such as movies, broadcasts, music, recording and live broadcast, IPTV, including UCC.

도 1은 본 발명의 실시예에 따른 스트리밍 서비스 제공 시스템의 계층적 분산 저장 구조를 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating a hierarchical distributed storage structure of a streaming service providing system according to an exemplary embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 스트리밍 컨텐츠의 분산 저장 개념을 설명하기 위한 도면이다.2 is a view for explaining a concept of distributed storage of streaming content according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 클라이언트의 개략적인 구성을 나타내는 블록도이다.3 is a block diagram showing a schematic configuration of a client according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a streaming service providing method using a hierarchical distributed storage structure according to an embodiment of the present invention.

<도면의 주요부분에 대한 설명><Description of main parts of drawing>

100: 컨텐츠 서버 200: 캐시 서버100: content server 200: cache server

300: 클라이언트 310: 통신부300: client 310: communication unit

320: 모뎀부 330: 버퍼부320: modem unit 330: buffer unit

340: 코덱부 350: 재생부340: codec unit 350: playback unit

360: 제어부360: control unit

Claims (8)

스트리밍 컨텐츠를 저장하고 저장된 상기 스트리밍 컨텐츠를 서비스하는 컨텐츠 서버;A content server storing streaming content and serving the stored streaming content; 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 계층으로 구분되는 계층을 이루며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 가까운 거리부터 먼 거리의 계층에 대응시켜 분산 저장하고, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 복수의 캐시 서버; 및The first and last parts of the streaming content are distributed and stored in correspondence with the shortest distance from the closest distance from the first part of the streaming content. A plurality of cache servers sequentially transmitting the last portion; And 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하고 버퍼링된 상기 스트리밍 컨텐츠를 재생하는 클라이언트;A client that sequentially receives and buffers the first to last portions of the streaming content and plays the buffered streaming content; 를 포함하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.Streaming service providing system using a hierarchical distributed storage structure including a. 청구항 1에 있어서,The method according to claim 1, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.The first part to the last part of the streaming content is composed of a plurality of hierarchical files that divide the streaming content in a playback order, wherein the plurality of hierarchical files include a hierarchical header and hierarchical data, and the hierarchical header corresponds to a replay order. Streaming service providing system using a hierarchical distributed storage structure, characterized in that it has link information of another hierarchical file. 청구항 1에 있어서,The method according to claim 1, 상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로, 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장되는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.When n is a natural number, the plurality of cache servers are configured as cache servers of first to nth layers from a close distance in time to the client, and the first to last parts of the streaming content are n, and the first parts are sequentially. Streaming service providing system using a hierarchical distributed storage structure, characterized in that distributed to the first to n-th layer cache server. 청구항 3에 있어서,The method of claim 3, 상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템.Streaming content distributed and stored in the first layer cache server streaming service providing system using a hierarchical distributed storage structure, characterized in that the file having a size larger than the initial buffering. 캐시 서버들의 계층적 분산 저장 구조를 이용하는 스트리밍 서비스 제공 방법에 있어서,A streaming service providing method using a hierarchical distributed storage structure of cache servers, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 상기 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하는 단계;Distributing and storing the first part to the last part of the streaming content in a cache server far from a short distance in time with a client of the cache servers; 클라이언트로부터 스트리밍 서비스 요청시, 상기 가까운 거리부터 먼 거리의 캐시 서버가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하는 단계;When a streaming service request is made from a client, sequentially transmitting a first part to a last part of the streaming content by a cache server far from the short distance; 상기 클라이언트가 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차 적으로 수신하여 버퍼링하고 버퍼링된 스트리밍 컨텐츠를 재생하는 단계;The client sequentially receiving and buffering the first to last portions of the streaming content and playing the buffered streaming content; 를 포함하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.Streaming service providing method using a hierarchical distributed storage structure comprising a. 청구항 5에 있어서,The method according to claim 5, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 상기 스트리밍 컨텐츠를 재생 순서대로 분할하는 복수의 계층 파일들로 이루어지고, 상기 복수의 계층 파일들은 계층 헤더 및 계층 데이터를 포함하며, 상기 계층 헤더는 재생 순서에 따른 타 계층 파일의 링크 정보를 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.The first part to the last part of the streaming content is composed of a plurality of hierarchical files that divide the streaming content in a playback order, wherein the plurality of hierarchical files include a hierarchical header and hierarchical data, and the hierarchical header corresponds to a replay order. Streaming service providing method using a hierarchical distributed storage structure characterized in that it has link information of another hierarchical file. 청구항 5에 있어서,The method according to claim 5, 상기 복수의 캐시 서버는, n이 자연수일 때, 클라이언트와 전송시간상 가까운 거리부터 제1 내지 제n 계층의 캐시 서버로 구성되며, 상기 스트리밍 컨텐츠의 첫 부분부터 마지막 부분은 n개로 첫 부분부터 순차적으로 제1 내지 제n 계층 캐시 서버에 분산 저장되는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.When n is a natural number, the plurality of cache servers are configured as cache servers of first to nth layers from a close distance with a client in transmission time, and the first to last parts of the streaming content are n and sequentially from the first part. Streaming service providing method using a hierarchical distributed storage structure, characterized in that distributed to the first to n-th layer cache server. 청구항 7에 있어서,The method of claim 7, 상기 제1 계층 캐시 서버에 분산 저장되는 스트리밍 컨텐츠는 클라이언트 초기 버퍼링에 필요한 크기 이상의 파일을 가지는 것을 특징으로 하는 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 방법.Streaming content distributed and stored in the first layer cache server has a file size larger than the size required for the initial buffering of the client, the streaming service providing method using a hierarchical distributed storage structure.
KR1020080107679A 2008-10-31 2008-10-31 System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure KR101125065B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080107679A KR101125065B1 (en) 2008-10-31 2008-10-31 System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080107679A KR101125065B1 (en) 2008-10-31 2008-10-31 System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure

Publications (2)

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

Family

ID=42278600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107679A KR101125065B1 (en) 2008-10-31 2008-10-31 System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure

Country Status (1)

Country Link
KR (1) KR101125065B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (en) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 Contents delivery service method for live streaming contents, and apparatus therefor
KR101952632B1 (en) * 2012-08-22 2019-02-27 삼성전자주식회사 User terminal device and contents streaming method using the same
KR101959970B1 (en) * 2012-09-05 2019-07-04 에스케이텔레콤 주식회사 Contents delivery service method using contents sharing, and cache apparatus therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100427143B1 (en) 2003-01-17 2004-04-14 엔에이치엔(주) Method for Transmitting and Dowloading Streaming Data
KR20060086944A (en) * 2003-09-30 2006-08-01 소니 가부시끼 가이샤 Content acquisition method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100427143B1 (en) 2003-01-17 2004-04-14 엔에이치엔(주) Method for Transmitting and Dowloading Streaming Data
KR20060086944A (en) * 2003-09-30 2006-08-01 소니 가부시끼 가이샤 Content acquisition method

Also Published As

Publication number Publication date
KR20100053708A (en) 2010-05-24

Similar Documents

Publication Publication Date Title
JP5894220B2 (en) Video distribution system including progressive playback
CN101697549B (en) Method and system for displaying stream media and stream media management server
KR101737325B1 (en) Method and apparatus for reducing decreasing of qualitly of experience in a multimedia system
JP2011139150A (en) Stream delivery system, call control server, and stream delivery control method
JP2003006085A (en) Contents distribution system, its method and contents distribution program
JP2006287926A (en) Rapid media channel changing mechanism and access network node comprising the same
KR102274466B1 (en) Video streaming method using real time caching technique and system thereof
JP2001054095A (en) Information distribution and reproduction control device and method and computer readable recording medium recording information distribution and reproduction control program
JP2003150485A (en) Data communication device and data communication method
US20050240548A1 (en) Contents distribution system with integrated recording rights control
JP4998775B2 (en) Information distribution system and method, information distribution apparatus, receiving terminal, and information relay apparatus
KR101125065B1 (en) System and Method for Providing Streaming Service Using Hierarchical Distributed Storing Structure
JP2007274318A (en) Broadcasting content reproduction system, and broadcasting content reproduction method
JP5428734B2 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
WO2013185547A1 (en) Caching server service method, caching server and system thereof
US6871234B1 (en) Information distribution control system, and information distribution control method
WO2018173874A1 (en) Content providing system, content providing method, and program
US20010021999A1 (en) Method and device for transmitting data units of a data stream
KR101104728B1 (en) Method and Apparatus for Providing Streaming Service Using Variable Buffering
KR20110139525A (en) Method and apparatus for random access of multimedia contents in wireless communication system
JP2004104704A (en) Video reproducing apparatus, video reproducing method, and program
JP2012222530A (en) Receiving device and method, and program
JP2004159057A (en) System and method for distributing play-back information
JP2009130732A (en) Terminal device in information distribution system, information processing program therefor and information processing method
JP6653575B2 (en) Content supply device, content supply method, program, terminal device, operation method of terminal device, and content supply system

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