KR101104729B1 - System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments - Google Patents

System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments Download PDF

Info

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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end

Abstract

본 발명은 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법에 관한 것이다. 본 발명은 분할된 캐시조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시조각 저장정보와 노드 상태정보를 확인하여 이를 토대로 최적의 캐시조각 획득방식을 결정하고 이에 따라 다른 노드들의 캐시조각들을 획득한다. 즉, 본 발명은 스트리밍 노드가 특정 캐시조각을 전송 받고 있는 동안 다른 노드의 캐시조각을 스트리밍 노드에 가장 가까운 노드를 경유하여 전송함으로써, 스트리밍 노드의 부하를 다른 노드로 분산하여 전체 네트워크의 성능을 최적화하고 서비스 품질을 향상시킬 수 있다.The present invention relates to a content distributed storage multimedia streaming system and method using an optimal cache fragment acquisition method. The present invention distributes and stores the fragmented cache fragments in a cache server of several nodes, and the node receiving the client's streaming request checks the cache fragment storage information and the node state information of each node to determine an optimal cache fragment acquisition method. And obtain cache fragments of other nodes accordingly. That is, the present invention optimizes the performance of the entire network by distributing the load of the streaming node to other nodes by transmitting the cache fragments of other nodes via the node closest to the streaming node while the streaming node is receiving the specific cache fragments. And improve the quality of service.

스트리밍, CDN, 멀티미디어 컨텐츠, 노드, 캐시 서버, 캐시조각 Streaming, CDN, multimedia content, node, cache server, cache fragment

Description

최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments}System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments}

본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠를 여러 캐시조각으로 분할하여 여러 노드의 캐시 서버에 분산 저장하고 클라이언트의 스트리밍 요청을 받은 스트리밍 노드가 다른 노드의 캐시조각 저장정보와 노드 상태정보를 확인하여 최적의 캐시조각 획득방식을 결정하고 그에 따라 캐시조각들을 획득하고 스트리밍을 수행하는 스트리밍 시스템과 방법에 관한 것이다.The present invention relates to a multimedia streaming service. More specifically, the multimedia content to provide a streaming service is divided into multiple cache pieces, distributed and stored in a cache server of multiple nodes, and a streaming node receiving a streaming request from a client is a node of another node. The present invention relates to a streaming system and method for determining an optimal cache fragment acquisition method by checking cache fragment storage information and node state information, acquiring cache fragments, and performing streaming.

인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(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.

또한, 스트리밍과 같은 데이터 서비스에서 가입자단의 데이터 전송속도를 높이기 위해 많이 활용하고 있는 기술 중의 하나가 캐시(cache) 기술이다. 일반적인 캐시 구현에서는 캐싱되는 오브젝트가 다양한 크기의 데이터 단위로 이루어지고, 이를 바탕으로 캐시 서버는 데이터를 관리하기 위한 여러 통계들을 만들게 된다.In addition, one of the technologies widely used to increase the data transmission speed of the subscriber end in a data service such as streaming is a cache technology. In a typical cache implementation, an object to be cached is composed of data units of various sizes, and based on this, the cache server generates various statistics for managing data.

하지만 이러한 방법은 캐시 서버의 다양한 종류의 자원(RAM 크기, 저장공간, 원래 컨텐츠 제공자 서버에서의 총 컨텐츠 용량 등), 인터넷 전송속도의 불안정성, 사용자의 컨텐츠 사용에 대한 다양한 행동특성(다운로드나 스트리밍 도중의 중단 등), 캐시 대상인 데이터의 다양한 크기 등을 고려할 때, 캐시 서버가 다루는 오브젝트 단위가 컨텐츠 크기에 종속될 경우 다음과 같은 여러 문제가 발생한다.However, this method does not cover various types of resources of the cache server (RAM size, storage space, total content capacity of the original content provider server, etc.), instability of the internet transmission speed, and various behavioral characteristics of the user's use of the content (during downloading or streaming). , Etc.), and various sizes of data to be cached, the following problems occur when the object unit handled by the cache server depends on the content size.

1. 크기가 큰 파일과 작은 파일을 다룰 때 일정하지 않은 컴퓨팅 자원의 활용으로 인한 비효율1. Inefficiencies due to inconsistent utilization of computing resources when dealing with large and small files

2. 크기가 다른 파일을 요청한 사용자에 대한 일정하지 않은 서비스 품질(QoS)2. Inconsistent quality of service (QoS) for users who requested files of different sizes

3. 해당 파일에 대한 사용자 요청이 정상적으로 종료되지 않은 경우 생기는 분할손(즉, 사용자 요청에 의해 전체 파일을 캐시 서버나 메모리에 저장하였으나 중간에 중단되는 경우에는 전체적인 효율을 떨어뜨리게 됨)3. Splitting that occurs when a user's request for a file is not terminated normally (that is, if the user's request saves the entire file to a cache server or memory but is interrupted in the middle), the overall efficiency is reduced.

이러한 문제를 해결하기 위한 방안으로, 크기가 다양한 대용량 멀티미디어 컨텐츠를 크기가 일정한 여러 개의 캐시조각(segment)으로 분할하고 이를 여러 노드의 캐시(cache) 서버에 분산 저장하는 기술이 이미 알려져 있다. 이에 따르면, 데이터 분산 저장을 통해 전체 시스템의 부하를 분산할 수 있고, 단일 서버 하드웨어의 물리적 성능(RAM, CPU, 네트워크 대역폭 등)을 하나 이상의 캐시 서버인 것처럼 동작하게 하여 단일 서버의 하드웨어 장벽(예컨대 최대 메모리 크기) 이상의 사양을 활용할 수 있다.As a solution to this problem, a technique for dividing a large amount of multimedia contents of various sizes into a plurality of fixed sized cache segments and distributing them in a cache server of several nodes is already known. This allows you to load balance the entire system through distributed data storage, and to make the physical performance (RAM, CPU, network bandwidth, etc.) of a single server hardware behave as if it is more than one cache server, for example a hardware barrier of a single server (e.g., Maximum memory size).

그러나 종래의 컨텐츠 분산 저장형 스트리밍 기술은 데이터의 분산 저장에 초점이 맞추어져 있을 뿐으로, 클라이언트의 스트리밍 요청이 있을 때 어떤 방식으로 인접 노드들의 캐시조각들을 취합하여 스트리밍하는 것이 가장 효율적인지에 대 한 연구가 부족한 실정이다.However, the conventional content distributed streaming technology focuses on distributed storage of data, and researches how it is most efficient to collect and stream cache fragments of adjacent nodes when a client requests streaming. There is not enough.

따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에서 클라이언트의 스트리밍 요청이 있을 때 네트워크의 전체 성능과 서비스 품질 측면에서 최대한 효율적인 방식으로 캐시조각들을 취합하고 스트리밍을 수행할 수 있는 멀티미디어 스트리밍 시스템과 방법을 제공하기 위한 것이다.Accordingly, the present invention is to solve the conventional problem, and when the streaming request from the client in the content distributed storage multimedia streaming service to collect the cache fragments and perform streaming in the most efficient manner in terms of overall performance and service quality of the network. It is to provide a multimedia streaming system and method.

이러한 목적을 달성하기 위하여, 본 발명은 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법을 제공한다.In order to achieve the above object, the present invention provides a content distributed storage multimedia streaming system and method using an optimal cache fragment acquisition method.

본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버; 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드; 각각의 상기 노드에 구비되며, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버를 포함하여 구성되며, 상기 노드 중 상기 클라이언트로부터 스트리밍 요청을 받은 스트리밍 노드의 상기 캐시 서버는, 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 캐시조각 획득방식 결정부와, 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하는 노드간 통신부와, 상기 노드간 통신부를 통해 획득한 상기 캐시조각들을 상기 클라이언트에게 스트리밍 방식으로 전송하는 스트리밍 제어부를 구비한다.Contents distributed storage multimedia streaming system according to the present invention, a content providing server for providing multimedia content; A plurality of nodes distributed geographically between the content providing server and a plurality of clients; And a cache server provided in each of the nodes, the cache server storing cache fragments in which the multimedia contents are divided, and the cache server of the streaming node that has received a streaming request from the client among the nodes, the cache fragment of the node. A cache fragment obtaining method determining unit configured to determine an optimal cache fragment obtaining method based on stored information and node state information, an inter-node communication unit obtaining the cache fragments from another node according to the cache fragment obtaining method, and the inter-node communication unit The streaming control unit for transmitting the cache pieces obtained through the streaming method to the client.

이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 각각의 상기 노드에 구비되고, 상기 캐시조각 저장정보와 상기 노드 상태정보를 저장하며, 상기 캐시조각 저장정보와 상기 노드 상태정보를 상기 캐시 서버에 제공하는 인덱스 서버를 더 포함할 수 있다.The content distributed storage multimedia streaming system is provided in each node, and stores the cache piece storage information and the node state information, and an index for providing the cache piece storage information and the node state information to the cache server. The server may further include.

또한, 상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함할 수 있고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함할 수 있다.The cache fragment storage information may include a file name, a reproduction priority, a size, and a storage time of the cache fragment stored in each node. The node state information may include a distance between nodes, a remaining memory capacity of each node, and a node between nodes. It may include a transmission delay time.

또한, 상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식일 수 있다.In addition, the cache fragment obtaining method may be a method in which the cache fragment transmission is performed to the streaming node via the node closest to the streaming node when the reproduction priority is not the fastest cache fragment.

한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시조각을 각각 캐시 서버에 분산 저장하는 다수의 노드 중 특정 노드에 상기 클라이언트가 접속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계; 상기 특정 노드의 상기 캐시 서버가 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 단계; 상기 특정 노드의 상기 캐시 서버가 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하여 상기 클라이언트에 스트리밍하는 단계를 포함하여 구성된다.On the other hand, according to the present invention, the content distributed storage multimedia streaming method is distributed locally and distributed between a content providing server providing a multimedia content and a plurality of clients, and each cache fragment in which the multimedia content is divided is stored in a cache server. Receiving a streaming request of the client from the specific node when the client accesses a specific node of the plurality of nodes to request streaming; Determining, by the cache server of the specific node, an optimal cache fragment acquisition method based on cache fragment storage information and node state information of the node; And obtaining, by the cache server of the specific node, the cache fragments from another node according to the cache fragment acquisition method, and streaming the cache fragments to the client.

이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 상기 특정 노드의 상기 캐시 서버가 인덱스 서버에 상기 캐시조각 저장정보와 상기 노드 상태정보를 질의하고 응답 받는 단계를 더 포함할 수 있다.The content distributed storage multimedia streaming method may further include, by the cache server of the specific node, querying the index server for the cache fragment storage information and the node state information and receiving a response.

또한, 상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함할 수 있고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함할 수 있다.The cache fragment storage information may include a file name, a reproduction priority, a size, and a storage time of the cache fragment stored in each node. The node state information may include a distance between nodes, a remaining memory capacity of each node, and a node between nodes. It may include a transmission delay time.

또한, 상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식일 수 있다.In addition, the cache fragment obtaining method may be a method in which the cache fragment transmission is performed to the streaming node via the node closest to the streaming node when the reproduction priority is not the fastest cache fragment.

이와 같이, 본 발명은 분할된 캐시조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시조각 저장정보와 노드 상태정보를 확인하여 이를 토대로 최적의 캐시조각 획득방식을 결정하고 이에 따라 다른 노드의 캐시조각들을 획득한다. 즉, 본 발명은 스트리밍 노드가 특정 캐시조각을 전송 받고 있는 동안 다른 노드의 캐시조각을 스트리밍 노드에 가장 가까운 노드를 경유하여 전송함으로써, 스트리밍 노드의 부하를 다른 노드로 분산하여 전체 네트워크의 성능을 최적화하고 서비스 품질을 향상시킬 수 있는 장점이 있다.As described above, the present invention distributes and stores the divided pieces of cache in a cache server of several nodes, and the node receiving the streaming request of the client checks the cache pieces storing information and the node state information of each node to obtain an optimal cache piece based on this. Determine the scheme and obtain cache fragments of other nodes accordingly. That is, the present invention optimizes the performance of the entire network by distributing the load of the streaming node to other nodes by transmitting the cache fragments of other nodes via the node closest to the streaming node while the streaming node is receiving the specific cache fragments. And the quality of service can be improved.

이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일한 참조부호를 부여한다.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. In addition, like reference numerals designate like or corresponding elements throughout the accompanying drawings.

도 1은 본 발명에 따른 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타내는 도면이고, 도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 구성 및 컨텐츠 분산 저장 방식을 보여주는 도면이다.1 is a view schematically showing the configuration of a multimedia streaming system according to the present invention, Figure 2 is a view showing the configuration of the multimedia streaming system and the content distribution storage method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 멀티미디어 스트리밍 시스템은 컨텐츠 제공 서버(CP)와 다수의 클라이언트(C1, C2, C3, C4, C5, …, Cn) 사이에 지역적으로 분산되어 분포하는 다수의 노드(node; N1, N2, N3, …, Nn)들을 포함한다.Referring to FIG. 1, the multimedia streaming system of the present invention includes a plurality of nodes distributed locally distributed between a content providing server CP and a plurality of clients C1, C2, C3, C4, C5,. node; N1, N2, N3, ..., Nn).

컨텐츠 제공 서버(CP)는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠의 원본을 저장하는 서버로, 근원 서버(origin server), 멀티미디어 서버, 컨텐츠 서버 등으로도 불린다. 컨텐츠 제공 서버(CP)는 멀티미디어 컨텐츠의 복제본을 미리 결정된 컨텐츠 분산 저장 정책에 따라 각각의 노드(N1, N2, N3, …, Nn)에 분산 저장한다. 멀티미디어 컨텐츠는 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠 등을 포함한다.Content providing server (CP) is a server that stores the original of the multimedia content to provide a streaming service, also called an origin server (origin server), multimedia server, content server. The content providing server CP distributes and stores a copy of the multimedia content in each node N1, N2, N3, ..., Nn according to a predetermined content distribution storage policy. Multimedia content includes UCC and other video content, online education, mass media content such as movies, broadcasts, music, recording and live broadcast content.

도 2에 예시된 바와 같이, 각각의 노드(N1, N2, N3, N4, N5)는 캐시 서버(cache server; CS)를 구비한다. 캐시 서버(CS)는 스트리밍을 수행하기 위해 국제표준규격 IETF RFC2326의 RTSP(real-time streaming protocol)와 IETF RFC3550의 RTP(real-time transport protocol)/RTCP(RTP control protocol)를 지원한다.As illustrated in FIG. 2, each node N1, N2, N3, N4, N5 has a cache server CS. The cache server (CS) supports the real-time streaming protocol (RTSP) of the international standard IETF RFC2326 and the real-time transport protocol (RTP) / RTP control protocol (RTCP) of the IETF RFC3550 to perform streaming.

멀티미디어 컨텐츠(MC)는 여러 캐시조각(segment; S1 ~ S5)들로 분할되어 여러 노드(N1 ~ N5)의 캐시 서버(CS)에 분산 저장된다. 이때, 멀티미디어 컨텐츠의 모든 캐시조각은 적어도 두 개 이상의 노드에 분산되어 저장되고, 저장을 담당하는 노드의 캐시 서버에는 적어도 하나 이상의 캐시조각이 저장된다. 도 2의 예에서 멀티미디어 컨텐츠(MC)는 5개의 캐시조각(S1 ~ S5)으로 분할되어 5개의 노드(N1 ~ N5)에 분산 저장된다.The multimedia content MC is divided into several cache segments S1 to S5 and distributed and stored in the cache servers CS of the nodes N1 to N5. At this time, all cache fragments of the multimedia content are distributed and stored in at least two nodes, and at least one cache fragment is stored in the cache server of the node in charge of storage. In the example of FIG. 2, the multimedia content MC is divided into five cache pieces S1 to S5 and distributed and stored in five nodes N1 to N5.

멀티미디어 컨텐츠(MC)의 캐시조각 분할은 미리 결정된 특정 규칙에 따라 이루어지며, 컨텐츠 분할 규칙은 프레임 단위, 시간 단위, 용량 단위 등 다양한 방식으로 결정될 수 있다. 또한, 컨텐츠 분할 규칙은 컨텐츠 유형별로 다르게 결정될 수도 있고 컨텐츠 유형에 상관없이 일괄적으로 결정될 수도 있다. 또한, 컨텐츠 분할 규칙은 각 노드의 저장용량에 비례하여 결정될 수도 있고 노드 저장용량에 무관하게 결정될 수도 있다.The cache fragmentation of the multimedia content MC is performed according to a predetermined predetermined rule, and the content fragmentation rule may be determined in various ways such as a frame unit, a time unit, and a capacity unit. In addition, the content division rule may be determined differently for each content type or may be determined collectively regardless of the content type. In addition, the content partitioning rule may be determined in proportion to the storage capacity of each node or may be determined regardless of the node storage capacity.

각각의 노드(N1 ~ N5)는 또한 인덱스 서버(index server; IS)를 더 구비한다. 인덱스 서버(IS)는 멀티미디어 컨텐츠(MC)의 캐시조각(S1 ~ S5)들이 어느 노드(N1 ~ N5)에 얼마나 저장되어 있는지에 대한 캐시조각 저장정보를 저장한다. 즉, 인덱스 서버(IS)가 가지는 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간 등을 포함한다. 또한, 인덱스 서버(IS)는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간 등의 노드 상태정보 등도 저장한다.Each node N1-N5 also has an index server IS. The index server IS stores cache fragment storage information on how many cache fragments S1 to S5 of the multimedia content MC are stored in which nodes N1 to N5. That is, the cache fragment storage information of the index server IS includes a file name, reproduction priority, size, storage time, etc. of the cache fragments stored in each node. The index server IS also stores node state information such as distance between nodes, remaining memory capacity of each node, and transmission delay time between nodes.

한편, 클라이언트(C1)는 스트리밍 데이터를 전송 받아 일시 저장하는 하나 이상의 버퍼(buffer; B)를 구비한다. 클라이언트(C1)는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기기를 망라한다. 예를 들어, 클라이언트(C1)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기, MP3 플레이어 등이 가능하다.Meanwhile, the client C1 includes one or more buffers B for receiving and temporarily storing streaming data. The client C1 encompasses various electronic devices capable of receiving, decoding and playing streaming data. For example, the client C1 may be a computer, a set top box, a personal digital assistant (PDA), a mobile phone, a game machine, an MP3 player, or the like.

캐시 서버(CS)의 세부 구성을 나타낸 도 3을 참조하여 캐시 서버에 대하여 좀더 자세히 설명한다.The cache server will be described in more detail with reference to FIG. 3 showing a detailed configuration of the cache server CS.

각 캐시 서버(CS)는 스트리밍 제어부(11), 컨텐츠 캐시조각 저장부(12), 캐시조각 획득방식 결정부(13), 노드간 통신부(14)를 포함하여 구성될 수 있다.Each cache server CS may include a streaming controller 11, a content cache fragment storage unit 12, a cache fragment acquisition method determiner 13, and an inter-node communication unit 14.

스트리밍 제어부(11)는 클라이언트(C1)의 스트리밍 요청을 수신하고 요청 받은 컨텐츠를 클라이언트(C1)에게 스트리밍 방식으로 전송한다.The streaming control unit 11 receives the streaming request from the client C1 and transmits the requested content to the client C1 in a streaming manner.

컨텐츠 캐시조각 저장부(12)는 컨텐츠가 분할된 캐시조각들 중 자신의 노드에 할당된 캐시조각을 저장하고, 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송한다.The content cache fragment storage unit 12 stores the cache fragments allocated to its own node among the cache fragments in which the content is divided, and transmits the cache fragments to the client C1 through the streaming control unit 11.

캐시조각 획득방식 결정부(13)는 스트리밍 제어부(11)가 클라이언트(C1)의 스트리밍 요청을 수신하면 인덱스 서버(IS)에 접속하여 각 노드의 캐시조각 저장정보 및 노드 상태정보를 조회, 확인하고, 이러한 정보를 토대로 최적의 캐시조각 획득방식을 결정한다.When the streaming control unit 11 receives the streaming request from the client C1, the cache fragment obtaining method determination unit 13 accesses the index server IS and inquires and confirms the cache fragment storage information and the node state information of each node. Based on this information, the optimal cache fragment acquisition method is determined.

노드간 통신부(14)는 자신의 노드가 스트리밍 노드이면 다른 노드로부터 캐시조각들을 획득하여 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송하고, 스트리밍 노드가 아니면 컨텐츠 캐시조각 저장부(12)에 저장된 캐시조각을 스트리밍 노드의 캐시 서버로 전송한다.The inter-node communication unit 14 obtains cache fragments from other nodes if its node is a streaming node, and transmits the cache fragments to the client C1 through the streaming control unit 11, and if not, the node 14 transmits the cache fragments to the content cache fragment storage unit 12. The stored cache fragment is transmitted to the cache server of the streaming node.

이어서, 도 2 내지 도 4를 참조하여 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템과 방법에 대하여 좀더 구체적으로 설명한다. 도 4는 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.Next, a multimedia streaming system and method according to an embodiment of the present invention will be described in more detail with reference to FIGS. 2 to 4. 4 is a flowchart illustrating a multimedia streaming method according to an embodiment of the present invention.

도 2 내지 도 4의 예시에서 5개로 분할된 캐시조각(S1 ~ S5)은 각각 5개의 노드(N1 ~ N5)에 분산 저장되고, 번호 순서대로 재생 우선순위를 갖는다고 가정한다. 즉, 노드 N1의 캐시 서버에 저장된 캐시조각(S1)이 가장 빠른 재생 우선순위를 갖고, 노드 N5의 캐시 서버에 저장된 캐시조각(S5)이 가장 늦은 재생 우선순위를 갖는다. 아울러, 도 4에서 인접한 각 노드는 서로 동일한 노드간 거리를 갖는다고 가정한다. 즉, 노드 N1과 노드 N2 사이의 거리와 노드 N2와 노드 N3 사이의 거리는 동일하고, 노드 N2과 노드 N4 사이의 거리는 노드 N1과 노드 N2 사이의 거리의 2배, 노드 N2과 노드 N3 사이의 거리는 노드 N1과 노드 N2 사이의 거리의 3배이다. 그러나 이러한 가정은 단지 설명을 위한 것일 뿐, 본 발명의 범위를 한정하고자 하는 것은 아니다. 각 노드간 거리는 동일하지 않을 수 있으며, 이 경우에도 본 발명은 동일하게 적용될 수 있다.In the example of FIGS. 2 to 4, it is assumed that the cache fragments S1 to S5 divided into five are distributed and stored in five nodes N1 to N5, respectively, and have a reproduction priority in numerical order. That is, the cache fragment S1 stored in the cache server of node N1 has the fastest reproduction priority, and the cache fragment S5 stored in the cache server of node N5 has the lowest reproduction priority. In addition, in FIG. 4, it is assumed that adjacent nodes have the same distance between nodes. That is, the distance between node N1 and node N2 and the distance between node N2 and node N3 are equal, the distance between node N2 and node N4 is twice the distance between node N1 and node N2, and the distance between node N2 and node N3 is 3 times the distance between node N1 and node N2. However, these assumptions are merely illustrative and are not intended to limit the scope of the present invention. The distance between each node may not be the same, and in this case, the present invention may be equally applied.

클라이언트(C1)가 특정 노드(N2)에 접속하여 스트리밍 요청을 하면, 그 노드(N2)의 캐시 서버(CS)는 클라이언트(C1)의 스트리밍 요청을 수신한다(단계 S11). 이하, 클라이언트(C1)의 스트리밍 요청을 수신한 특정 노드(N2)를 '스트리밍 노드'라 지칭하여 다른 노드와 구별하기로 한다.When the client C1 connects to the specific node N2 and makes a streaming request, the cache server CS of the node N2 receives the streaming request of the client C1 (step S11). Hereinafter, the specific node N2 receiving the streaming request of the client C1 will be referred to as a 'streaming node' to distinguish it from other nodes.

스트리밍 노드(N2)의 캐시 서버(CS)는 스트리밍 요청을 받은 컨텐츠의 캐시조각 저장정보 및 각 노드의 상태정보를 조회한다(단계 S12). 즉, 캐시 서버(CS)는 인덱스 서버(IS)에 캐시조각 저장정보와 노드 상태정보를 질의하고 응답을 받는다. 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간 등을 포함한다. 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간 등을 포함한다.The cache server CS of the streaming node N2 inquires the cache fragment storage information and the state information of each node that has received the streaming request (step S12). That is, the cache server CS queries the index server IS for cache fragment storage information and node state information and receives a response. The cache piece storage information includes the file name, reproduction priority, size, storage time, etc. of the cache pieces stored in each node. The node state information includes distances between nodes, remaining memory capacity of each node, transmission delay time between nodes, and the like.

인덱스 서버(IS)로부터 캐시조각 저장정보와 노드 상태정보를 받은 스트리밍 노드(N2)의 캐시 서버(CS)는 각 캐시조각의 저장 위치, 재생 우선순위, 크기, 각 노드간 거리, 각 노드의 잔여 메모리 용량 등을 종합적으로 고려하여 최적의 캐시조각 획득방식을 결정한다(단계 S13).The cache server CS of the streaming node N2 having received the cache fragment storage information and the node state information from the index server IS stores the location, reproduction priority, size, distance between each node, and remaining of each node. The optimal cache fragment acquisition method is determined in consideration of the memory capacity and the like comprehensively (step S13).

최적의 캐시조각 획득방식에 대하여 구체적으로 설명하면, 먼저 제1 재생순위를 갖는 캐시조각(이하, '제1 캐시조각'이라 함)이 저장된 노드(이하, '제1 노드'라 함)를 확인한다.In detail, an optimal cache fragment acquisition method is described first. First, a node (hereinafter, referred to as a 'first node') in which a cache fragment having a first play rank (hereinafter referred to as 'first cache fragment') is stored is identified. do.

이어서, 제2 재생순위를 갖는 캐시조각(이하, '제2 캐시조각' 이라 함)이 저장된 노드(이하, '제2 노드'라 함)를 확인하고, 제2 캐시조각을 어떤 방식으로 획득하는 것이 가장 효율적인지 판단한다. 즉, 제2 노드에서 스트리밍 노드로 직접 제2 캐시조각을 전송 받는 것이 나은지, 다른 노드를 경유하여 제2 캐시조각을 전송 받는 것이 나은지를 판단한다. 만약 제1 노드가 제2 노드보다 더 스트리밍 노드에 인접해 있고 제1 노드의 메모리 용량에 여유가 있다면, 제1 노드가 스트리밍 노드로 제1 캐시조각을 전송하는 동안에 제2 노드가 제1 노드로 제2 캐시조각을 전송 하는 편이 제2 노드가 직접 스트리밍 노드로 제2 캐시조각을 전송하는 것보다 더 효율적일 수 있다. 이 경우, 제1 노드는 스트리밍 노드로 제1 캐시조각의 전송을 완료한 후, 제2 노드로부터 수신한 제2 캐시조각을 스트리밍 노드에 전송한다.Subsequently, a node (hereinafter referred to as a 'second cache fragment') in which the cache fragment having a second play rank is referred to (hereinafter referred to as a 'second node') is identified, and the second cache fragment is obtained in some way. Determine if this is the most efficient. That is, it is determined whether it is better to receive the second cache fragment directly from the second node to the streaming node or to receive the second cache fragment via another node. If the first node is closer to the streaming node than the second node and there is room in the memory capacity of the first node, the second node goes to the first node while the first node is sending the first cache fragment to the streaming node. Sending the second cache fragment may be more efficient than sending the second cache fragment directly to the streaming node. In this case, after completing the transmission of the first cache fragment to the streaming node, the first node transmits the second cache fragment received from the second node to the streaming node.

이러한 방식으로 각각의 캐시조각을 저장하고 있는 노드가 직접 스트리밍 노드로 캐시조각을 전송하는 것과 다른 노드를 경유하여 캐시조각을 전송하는 것 중에서 어떤 전송방식이 더 효율적인지를 판단한다. 이 방식의 기본 개념은 스트리밍 노드가 특정 캐시조각을 전송 받고 있을 때 다른 노드의 캐시조각을 스트리밍 노드에 가장 가까운 노드로 전송한 후 스트리밍 노드로 전송하는 것이다. 이렇게 함으로써 스트리밍 노드의 부하를 다른 노드로 분산하여 전체 네트워크의 성능을 최적화할 수 있다. 한편, 스트리밍 노드로 캐시조각을 전송하기 전에 경유지로 선택되는 노드는 스트리밍 노드에 물리적으로 가장 가까운 노드가 될 수도 있고, 전송지연시간과 메모리 잔여용량 등을 종합적으로 고려하여 결정할 수도 있다.In this way, the node storing each cache fragment determines whether the transmission scheme is more efficient between transmitting the cache fragment directly to the streaming node and transmitting the cache fragment via another node. The basic concept of this method is that when a streaming node is receiving a specific cache fragment, the other node's cache fragment is transmitted to the node closest to the streaming node and then transmitted to the streaming node. This allows you to distribute the load of streaming nodes to other nodes to optimize the performance of the entire network. On the other hand, the node selected as a waypoint before transmitting the cache fragment to the streaming node may be the node that is physically closest to the streaming node, or may be determined by comprehensively considering the transmission delay time and the remaining memory capacity.

도 4의 예는 제1 노드(N2)가 스트리밍 노드인 경우이다. 스트리밍 노드(N2)는 최적의 캐시조각 획득방식을 결정한 후, 각각의 노드(N1, N3~N5)에 캐시조각 전송을 요청한다(단계 S14, S15, S16, S17). 이러한 캐시조각 전송요청은 동시에 수행하거나, 연속적으로 수행하거나, 시간 간격을 두고 순차적으로 수행할 수 있다.The example of FIG. 4 is a case where the first node N2 is a streaming node. After the streaming node N2 determines the optimal cache piece acquisition method, the streaming node N2 requests a cache piece transmission to each of the nodes N1, N3 to N5 (steps S14, S15, S16, and S17). These cache fragment transfer requests may be performed simultaneously, sequentially, or sequentially at intervals of time.

캐시조각 전송요청을 수신한 제1 노드(N1)는 제1 캐시조각을 스트리밍 노드(N2)에 전송하고(단계 S18), 제1 캐시조각을 수신한 스트리밍 노드(N2)는 스트리밍을 요청한 클라이언트(C1)에게 제1 캐시조각을 스트리밍한다(단계 S19).The first node N1 receiving the cache fragment transmission request transmits the first cache fragment to the streaming node N2 (step S18), and the streaming node N2 receiving the first cache fragment receives the client requesting the streaming ( The first cache piece is streamed to C1) (step S19).

또한, 캐시조각 전송요청을 수신한 제3 노드(N3)는 제3 캐시조각을 스트리밍 노드(N2)에 전송하며(단계 S20), 제3 캐시조각을 수신한 스트리밍 노드(N2)는 자신이 저장 중인 제2 캐시조각을 클라이언트(C1)에게 스트리밍한 후 제3 캐시조각을 스트리밍한다.In addition, the third node N3 receiving the cache fragment transmission request transmits the third cache fragment to the streaming node N2 (step S20), and the streaming node N2 receiving the third cache fragment stores itself. The second cache fragment being streamed is streamed to the client C1 and then the third cache fragment is streamed.

한편, 캐시조각 전송요청을 수신한 제4 노드(N4)와 제5 노드(N5)는 스트리밍 노드(N2)에 인접한 제3 노드(N3)에 각각 제4 캐시조각과 제5 캐시조각을 전송한다(단계 S21, S23). 제4 캐시조각과 제5 캐시조각을 수신한 제3 노드(N3)는 자신이 저장 중인 제3 캐시조각의 전송이 완료되면 차례로 제4 캐시조각과 제5 캐시조각을 스트리밍 노드(N2)에 전송한다(단계 S22, S24).Meanwhile, the fourth node N4 and the fifth node N5 that receive the cache fragment transmission request transmit the fourth cache fragment and the fifth cache fragment to the third node N3 adjacent to the streaming node N2, respectively. (Steps S21, S23). Upon receiving the fourth cache fragment and the fifth cache fragment, the third node N3 sequentially transmits the fourth cache fragment and the fifth cache fragment to the streaming node N2 when the transmission of the third cache fragment stored in the third node N3 is completed. (Step S22, S24).

스트리밍 노드(N2)는 제3 노드(N3)로부터 제4 캐시조각을 수신하여 클라이언트(C1)에게 전송하고 제5 캐시조각을 수신하여 클라이언트(C1)에게 전송한다(단계 S25).The streaming node N2 receives the fourth cache fragment from the third node N3 and transmits it to the client C1, and receives the fifth cache fragment and transmits the fifth cache fragment to the client C1 (step S25).

스트리밍 노드(N2)로부터 스트리밍 데이터를 수신하기 시작한 클라이언트(C1)는 스트리밍 데이터를 버퍼(B)에 버퍼링하면서 디코딩하여 컨텐츠를 재생한다.The client C1, which has started to receive the streaming data from the streaming node N2, decodes the streaming data in the buffer B and plays the content by decoding it.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.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 view schematically showing the configuration of a multimedia streaming system according to the present invention.

도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 구성 및 컨텐츠 분산 저장 방식을 보여주는 도면이다.2 is a diagram illustrating a configuration of a multimedia streaming system and a distributed content storage method according to an embodiment of the present invention.

도 3은 도 2의 캐시 서버 세부 구성을 보여주는 도면이다.3 is a diagram illustrating a detailed configuration of the cache server of FIG. 2.

도 4는 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a multimedia streaming method according to an embodiment of the present invention.

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

CP: 컨텐츠 제공 서버CP: Content Delivery Server

N1, N2, N3, N4, …, Nn: 노드N1, N2, N3, N4,... , Nn: node

C1, C2, C3, C4, C5, …, Cn: 클라이언트C1, C2, C3, C4, C5,... , Cn: Client

MC: 멀티미디어 컨텐츠MC: Multimedia Content

S1, S2, S3, S4, S5: 컨텐츠 캐시조각S1, S2, S3, S4, S5: Content Cache Piece

CS: 캐시 서버CS: Cache Server

IS: 인덱스 서버IS: Index Server

B: 버퍼B: buffer

11: 스트리밍 제어부11: streaming control

12: 컨텐츠 캐시조각 저장부12: content cache fragment storage unit

13: 캐시조각 획득방식 결정부13: cache fragment acquisition method determination unit

14: 노드간 통신부14: inter-node communication unit

Claims (8)

멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버;A content providing server providing multimedia content; 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드;A plurality of nodes distributed geographically between the content providing server and a plurality of clients; 각각의 상기 노드에 구비되며, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버;A cache server provided in each of the nodes, the cache server configured to store a cache fragment into which the multimedia content is divided; 를 포함하며,Including; 상기 노드 중 상기 클라이언트로부터 스트리밍 요청을 받은 스트리밍 노드의 상기 캐시 서버는,The cache server of the streaming node that has received a streaming request from the client of the node, 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 캐시조각 획득방식 결정부와,A cache fragment acquisition method determining unit configured to determine an optimal cache fragment acquisition method based on cache fragment storage information and node state information of the node; 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하는 노드간 통신부와,An inter-node communication unit for obtaining the cache pieces from another node according to the cache piece obtaining method; 상기 노드간 통신부를 통해 획득한 상기 캐시조각들을 상기 클라이언트에게 스트리밍 방식으로 전송하는 스트리밍 제어부를 구비하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.And a streaming control unit for transmitting the cache fragments obtained through the inter-node communication unit to the client in a streaming manner. 청구항 1에 있어서,The method according to claim 1, 각각의 상기 노드에 구비되고, 상기 캐시조각 저장정보와 상기 노드 상태정 보를 저장하며, 상기 캐시조각 저장정보와 상기 노드 상태정보를 상기 캐시 서버에 제공하는 인덱스 서버;An index server provided in each of the nodes, storing the cache piece storage information and the node state information, and providing the cache piece storage information and the node state information to the cache server; 를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.Contents distributed storage multimedia streaming system further comprises. 청구항 1에 있어서,The method according to claim 1, 상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함하고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.The cache fragment storage information includes a file name, a reproduction priority, a size, and a storage time of the cache fragment stored in each node. The node state information includes a distance between nodes, a remaining memory capacity of each node, and a transmission delay time between nodes. Content distributed storage multimedia streaming system comprising a. 청구항 1에 있어서,The method according to claim 1, 상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식인 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.The cache fragment acquisition method is a content distribution storage multimedia streaming system characterized in that the cache fragment transmission to the streaming node via the node closest to the streaming node when the reproduction priority is not the fastest cache fragment. 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시조각을 각각 캐시 서버에 분산 저장하는 다수의 노드 중 특정 노드에 상기 클라이언트가 접 속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계;The client is connected to a specific node among a plurality of nodes which are distributed and distributed locally among a plurality of clients and a content providing server that provides multimedia contents, and each cache fragment in which the multimedia contents are divided is stored in a cache server. Receiving a streaming request from the client at the specific node, if requested; 상기 특정 노드의 상기 캐시 서버가 상기 노드의 캐시조각 저장정보와 노드 상태정보를 토대로 최적의 캐시조각 획득방식을 결정하는 단계;Determining, by the cache server of the specific node, an optimal cache fragment acquisition method based on cache fragment storage information and node state information of the node; 상기 특정 노드의 상기 캐시 서버가 상기 캐시조각 획득방식에 따라 다른 노드로부터 상기 캐시조각들을 획득하여 상기 클라이언트에 스트리밍하는 단계;Obtaining, by the cache server of the specific node, the cache fragments from another node according to the cache fragment obtaining scheme, and streaming the cache fragments to the client; 를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Content distributed storage multimedia streaming method comprising a. 청구항 5에 있어서,The method according to claim 5, 상기 특정 노드의 상기 캐시 서버가 인덱스 서버에 상기 캐시조각 저장정보와 상기 노드 상태정보를 질의하고 응답 받는 단계;Querying, by the cache server of the particular node, an index server with the cache fragment storage information and the node state information; 를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Contents distributed storage multimedia streaming method further comprising. 청구항 5에 있어서,The method according to claim 5, 상기 캐시조각 저장정보는 각 노드에 저장된 캐시조각의 파일명, 재생 우선순위, 크기, 저장시간을 포함하고, 상기 노드 상태정보는 각 노드간 거리, 각 노드의 잔여 메모리 용량, 노드간 전송지연시간을 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.The cache fragment storage information includes a file name, a reproduction priority, a size, and a storage time of the cache fragment stored in each node. The node state information includes a distance between nodes, a remaining memory capacity of each node, and a transmission delay time between nodes. Content distributed storage multimedia streaming method comprising the. 청구항 5에 있어서,The method according to claim 5, 상기 캐시조각 획득방식은 재생 우선순위가 가장 빠른 캐시조각이 아닐 경우 상기 스트리밍 노드에 가장 인접한 노드를 경유하여 상기 스트리밍 노드로 캐시조각 전송이 이루어지는 방식인 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.The cache fragment acquisition method is a content distribution storage multimedia streaming method characterized in that the cache fragment transmission to the streaming node via the node closest to the streaming node when the reproduction priority is not the fastest cache fragment.
KR1020080119432A 2008-11-28 2008-11-28 System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments KR101104729B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080119432A KR101104729B1 (en) 2008-11-28 2008-11-28 System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080119432A KR101104729B1 (en) 2008-11-28 2008-11-28 System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments

Publications (2)

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

Family

ID=42361598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080119432A KR101104729B1 (en) 2008-11-28 2008-11-28 System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments

Country Status (1)

Country Link
KR (1) KR101104729B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509702B2 (en) 2019-11-27 2022-11-22 Electronics And Telecommunications Research Institute Method and apparatus for selecting and receiving stream in distribution network-based multimedia streaming service

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502895B1 (en) 2010-12-22 2015-03-17 주식회사 케이티 Method for recovering errors from all erroneous replicas and the storage system using the method
KR101544480B1 (en) 2010-12-24 2015-08-13 주식회사 케이티 Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium
KR101585146B1 (en) 2010-12-24 2016-01-14 주식회사 케이티 Distribution storage system of distributively storing objects based on position of plural data nodes, position-based object distributive storing method thereof, and computer-readable recording medium
KR101544481B1 (en) * 2010-12-31 2015-08-24 주식회사 케이티 Method and System for dynamic placement of replicas in cloud storage system
KR101483127B1 (en) 2011-03-31 2015-01-22 주식회사 케이티 Method and apparatus for data distribution reflecting the resources of cloud storage system
KR101544483B1 (en) 2011-04-13 2015-08-17 주식회사 케이티 Replication server apparatus and method for creating replica in distribution storage system
KR101544485B1 (en) 2011-04-25 2015-08-17 주식회사 케이티 Method and apparatus for selecting a node to place a replica in cloud storage system
KR101481122B1 (en) * 2012-11-30 2015-01-14 성균관대학교산학협력단 Method and system for managing dynamic cache for transcoding based on cloud computing
KR101850696B1 (en) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 Multimedia- contents division multiplexing transmission method and device of thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030044866A (en) * 2001-11-30 2003-06-09 가부시키가이샤 엔.티.티.도코모 Content distribution system, description data distribution apparatus, content location management apparatus, data conversion apparatus, reception terminal apparatus, and content distribution method
KR100427143B1 (en) * 2003-01-17 2004-04-14 엔에이치엔(주) Method for Transmitting and Dowloading Streaming Data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030044866A (en) * 2001-11-30 2003-06-09 가부시키가이샤 엔.티.티.도코모 Content distribution system, description data distribution apparatus, content location management apparatus, data conversion apparatus, reception terminal apparatus, and content distribution method
KR100427143B1 (en) * 2003-01-17 2004-04-14 엔에이치엔(주) Method for Transmitting and Dowloading Streaming Data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509702B2 (en) 2019-11-27 2022-11-22 Electronics And Telecommunications Research Institute Method and apparatus for selecting and receiving stream in distribution network-based multimedia streaming service

Also Published As

Publication number Publication date
KR20100060715A (en) 2010-06-07

Similar Documents

Publication Publication Date Title
KR101104729B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments
US11539768B2 (en) System and method of minimizing network bandwidth retrieved from an external network
US8880650B2 (en) System and method for storing streaming media file
US9521180B2 (en) Adaptive variable fidelity media distribution system and method
TWI580237B (en) Unicast abr streaming
US6708213B1 (en) Method for streaming multimedia information over public networks
US8756296B2 (en) Method, device and system for distributing file data
KR101301004B1 (en) System and Method for Multimedia Streaming of Distributed Contents
US9497035B2 (en) Method, device, and system for playing media based on P2P
TW201603540A (en) Merging multicast ABR and unicast ABR with progressive download ABR in a customer premises device within the same video delivery pipe
JP5529177B2 (en) System and method for buffering with P2P-based streaming service, and system for distributing an application that processes buffering on a client
CN102055718B (en) Method, device and system for layering request content in http streaming system
KR20100055297A (en) System and method for simultaneous multimedia streaming using redirected url of distributed contents
KR101128293B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Acquisition Time
US8583819B2 (en) System and method for controlling server usage in peer-to-peer (P2P) based streaming service
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
US11843649B2 (en) System and method of minimizing network bandwidth retrieved from an external network
KR101088022B1 (en) Multimedia Streaming System and Method of Distributed Contents Based on User&#39;s Preference by VCR Function Control
KR101112572B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity
Guo et al. Optimized streaming media proxy and its applications
KR20100059117A (en) Streaming system and cache server for distributed multimedia contents and method for streaming contents
KR100797389B1 (en) The cluster based streaming system and method using multiple description coding
KR101137248B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Mobile Agent
KR20100055296A (en) System and method for sequential multimedia streaming using redirected url of distributed contents
KR101525390B1 (en) Apparatus and Control Method for Session and Transmission Distribution on the File Seek Request

Legal Events

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

Payment date: 20141222

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191220

Year of fee payment: 9