KR101112572B1 - System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity - Google Patents

System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity Download PDF

Info

Publication number
KR101112572B1
KR101112572B1 KR1020080115945A KR20080115945A KR101112572B1 KR 101112572 B1 KR101112572 B1 KR 101112572B1 KR 1020080115945 A KR1020080115945 A KR 1020080115945A KR 20080115945 A KR20080115945 A KR 20080115945A KR 101112572 B1 KR101112572 B1 KR 101112572B1
Authority
KR
South Korea
Prior art keywords
node
cache
streaming
nodes
server
Prior art date
Application number
KR1020080115945A
Other languages
Korean (ko)
Other versions
KR20100056932A (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 KR1020080115945A priority Critical patent/KR101112572B1/en
Publication of KR20100056932A publication Critical patent/KR20100056932A/en
Application granted granted Critical
Publication of KR101112572B1 publication Critical patent/KR101112572B1/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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions

Abstract

본 발명은 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법에 관한 것이다. 본 발명은 분할된 캐시 조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시 조각 저장량을 확인하여 저장량이 가장 큰 노드로 스트리밍 노드를 전환함으로써, 스트리밍을 수행하는 노드가 다른 노드들로부터 캐시 조각을 취합하는데 걸리는 시간을 단축하여 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스를 제공할 수 있다.The present invention relates to a content distributed storage multimedia streaming system and method using node fragments based on cache fragment storage. 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 amount of each node and switches the streaming node to the node having the largest storage capacity, thereby performing streaming. By reducing the time it takes a node to collect cache fragments from other nodes, it can provide the most efficient streaming service in terms of overall performance and quality of service of the network.

스트리밍, CDN, 멀티미디어 컨텐츠, 노드, 캐시 서버, 캐시 조각, 저장량, 노드 전환 Streaming, CDN, Multimedia Content, Nodes, Cache Servers, Cache Fragments, Storage, Node Switching

Description

캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity}System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity}

본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠를 여러 캐시 조각으로 분할하여 여러 노드의 캐시 서버에 분산 저장하고 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시 조각 저장량을 확인하여 저장량이 가장 큰 노드로 스트리밍 노드를 전환하는 스트리밍 시스템과 방법에 관한 것이다.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 node receiving a client's streaming request is cached by each node. The present invention relates to a streaming system and method for checking fragment storage and switching streaming nodes to the largest storage nodes.

인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(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 like 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 large-capacity multimedia contents of various sizes into a plurality of fixed size cache segments and distributing them in a cache server of several nodes is 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 only on distributed storage of data, and how and from which node it is most efficient to collect and stream cache fragments of adjacent nodes when a client requests streaming. There is a lack of research.

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

이러한 목적을 달성하기 위하여, 본 발명은 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법을 제공한다.In order to achieve this object, the present invention provides a content distributed storage multimedia streaming system and method using node fragments based on cache fragment storage.

본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버를 포함하며, 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드들에 각각 구비되고, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버를 포함한다. 특히, 상기 노드들 중 상기 클라이언트로부터 스트리밍 요청을 받은 클라이언트 접속 노드의 상기 캐시 서버는 상기 노드들의 캐시 조각 저장량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 캐시 조각 저장량 확인부를 포함하고, 상기 스트리밍 노드의 상기 캐시 서버는 다른 노드들로부터 상기 캐시 조각들을 획득하는 노드간 통신부와, 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 스트리밍 제어부를 포함한다.Contents distributed storage multimedia streaming system according to the present invention includes a content providing server for providing multimedia content, each provided in a plurality of nodes distributed locally distributed between the content providing server and a plurality of clients, And a cache server for storing the cache fragment into which the multimedia content is divided. In particular, the cache server of the client access node that receives the streaming request from the client of the nodes includes a cache fragment storage confirmation unit for determining the cache fragment storage of the nodes to determine the node with the largest cache fragment storage as the streaming node The cache server of the streaming node includes an inter-node communication unit for obtaining the cache fragments from other nodes, and a streaming control unit for streaming the content to the client.

본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 각각의 상기 노드에 구비되어 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버를 더 포함할 수 있으며, 상기 클라이언트 접속 노드는 상기 캐시 서버에 상기 캐시 조각 저장량에 대한 정보를 제공하는 상기 인덱스 서버를 구비할할 수 있다.The distributed content streaming multimedia streaming system of the present invention may further include an index server provided in each of the nodes to store information on the cache fragment storage amount of the nodes, wherein the client access node is connected to the cache server. It may be provided with the index server for providing information on the cache fragment storage amount.

또한, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정되면 상기 스트리밍 노드에 노드 전환 메시지를 전송하는 상기 노드간 통신부를 구비할 수 있다.The cache server of the client access node may include the inter-node communication unit that transmits a node switch message to the streaming node when the streaming node is determined.

또한, 상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정할 수 있다.In addition, when there are two or more nodes having the largest cache fragment storage amount, the cache server of the client access node may determine the streaming node among the nodes having the largest cache fragment storage amount by using a secondary parameter.

또한, 각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장될 수 있다.In addition, each of the cache fragments may be redundantly stored in at least two or more of the nodes.

한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 각각 캐시 서버에 분산 저장하는 다수의 노드들 중 특정 노드에 상기 클라이언트가 접속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계와, 상기 특정 노드의 상기 캐시 서버가 상기 노드들의 캐시 조각 저장 량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 단계와, 상기 스트리밍 노드의 상기 캐시 서버가 다른 노드들로부터 상기 캐시 조각들을 획득하여 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 단계를 포함한다.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 distributed and stored in a cache server. When the client accesses a specific node among a plurality of nodes to request streaming, receiving the streaming request of the client at the specific node, and the cache server of the specific node stores the cache fragment storage amount of the nodes. Checking and determining a node having the largest cache fragment storage amount as a streaming node, and the cache server of the streaming node obtaining the cache fragments from other nodes and streaming the content to the client.

본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법에 있어서, 각각의 상기 노드는 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버를 더 구비할 수 있으며, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 인덱스 서버에 상기 캐시 조각 저장량에 대한 정보를 요청하여 제공받을 수 있다.In the content distributed storage multimedia streaming method of the present invention, each of the nodes may further include an index server for storing information on the cache fragment storage amount of the nodes, wherein the cache server of the client access node is Information about the cache fragment storage amount may be requested from an index server and provided.

또한, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정되면 상기 스트리밍 노드에 노드 전환 메시지를 전송할 수 있다.The cache server of the client access node may transmit a node switch message to the streaming node when the streaming node is determined.

또한, 상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정할 수 있다.In addition, when there are two or more nodes having the largest cache fragment storage amount, the cache server of the client access node may determine the streaming node among the nodes having the largest cache fragment storage amount by using a secondary parameter.

또한, 각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장될 수 있다.In addition, each of the cache fragments may be redundantly stored in at least two or more of the nodes.

본 발명은 분할된 캐시 조각들을 여러 노드의 캐시 서버에 분산 저장하고, 클라이언트의 스트리밍 요청을 받은 노드가 각 노드의 캐시 조각 저장량을 확인하여 저장량이 가장 큰 노드로 스트리밍 노드를 전환함으로써, 스트리밍을 수행하는 노드가 다른 노드들로부터 캐시 조각을 취합하는데 걸리는 시간을 단축하여 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스를 제공할 수 있는 장점이 있다.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 amount of each node and switches the streaming node to the node having the largest storage capacity, thereby performing streaming. By reducing the time taken for a node to collect cache fragments from other nodes, it is possible to provide the most efficient streaming service in terms of overall performance and quality of service of the network.

이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일한 참조부호를 부여한다.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. The multimedia contents include UCC and other video contents, online education, mass media contents such as movies, broadcasting, and music, and recording and live broadcasting contents.

도 2에 예시된 바와 같이, 각각의 노드(N1, N2, N3, N4)는 캐시 서버(cache server; CS1, CS2, CS3, CS4)를 구비한다. 캐시 서버는 스트리밍을 수행하기 위해 국제표준규격 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 has a cache server CS1, CS2, CS3, CS4. The cache server 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 ~ S10)들로 분할되어 여러 노드의 캐시 서버에 분산 저장된다. 이때, 멀티미디어 컨텐츠의 모든 캐시 조각은 적어도 두 개 이상의 노드에 분산되어 저장되고, 저장을 담당하는 노드의 캐시 서버에는 적어도 하나 이상의 캐시 조각이 저장된다. 도 2의 예에서 멀티미디어 컨텐츠(MC)는 10개의 캐시 조각(S1 ~ S10)으로 분할되어 4개의 노드(N1 ~ N4)에 분산 저장되는데, 이때 각 노드의 캐시 서버(CS1 ~ CS4)는 1개(S1), 2개(S2 ~ S3), 4개(S4 ~ S7), 3개(S8 ~ S10)의 캐시 조각을 저장한다.The multimedia content MC is divided into several cache segments S1 to S10 and distributed in cache servers of various nodes. In this case, 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 ten cache fragments S1 to S10 and distributed to four nodes N1 to N4, where each cache server CS1 to CS4 is one. (S1), two (S2 to S3), four (S4 to S7), and three (S8 to S10) cache fragments.

멀티미디어 컨텐츠(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, a capacity unit, and the like. 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, N2, N3, N4)는 또한 인덱스 서버(index server; IS1, IS2, IS3, IS4)를 더 구비한다. 인덱스 서버는 멀티미디어 컨텐츠(MC)의 캐시 조각(S1 ~ S10)들이 어느 노드에 얼마나 저장되어 있는지에 대한 캐시 조각 저장정보를 저장한다. 이 밖에 인덱스 서버는 후술하는 바와 같이 노드간 전송지연시간 등의 노드 상태정보 등도 더 저장할 수 있다.Each node N1, N2, N3, N4 further has an index server IS1, IS2, IS3, IS4. The index server stores cache fragment storage information of how much cache fragments S1 to S10 of the multimedia content MC are stored in which node. In addition, the index server may further store node state information such as transmission delay time between nodes as described below.

한편, 클라이언트(C1)는 스트리밍 데이터를 전송 받아 일시 저장하는 하나 이상의 버퍼(B1)를 구비한다. 클라이언트(C1)는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기기를 망라한다. 예를 들어, 클라이언트(C1)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기, MP3 플레이어 등이 가능하다.Meanwhile, the client C1 includes one or more buffers B1 that receive streaming data and temporarily store the 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.

캐시 서버의 세부 구성을 나타낸 도 3을 참조하여 캐시 서버에 대하여 좀더 자세히 설명한다. 각 캐시 서버(CS1)는 스트리밍 제어부(11), 컨텐츠 캐시 조각 저장부(12), 캐시 조각 저장량 확인부(13), 노드간 통신부(14)를 포함하여 구성될 수 있다.The cache server will be described in more detail with reference to FIG. 3 showing the detailed configuration of the cache server. Each cache server CS1 may include a streaming controller 11, a content cache fragment storage unit 12, a cache fragment storage amount confirming unit 13, and an inter-node communication unit 14.

스트리밍 제어부(11)는 클라이언트(C1)의 스트리밍 요청을 수신하고 요청 받은 컨텐츠를 클라이언트에게 스트리밍 방식으로 전송한다. 컨텐츠 캐시 조각 저장부(12)는 컨텐츠가 분할된 캐시 조각들 중 자신의 노드에 할당된 캐시 조각을 저장하고, 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송한다. 캐시 조각 저장량 확인부(13)는 스트리밍 제어부(11)가 클라이언트(C1)의 스트리밍 요청을 수신하면 인덱스 서버(IS1)에 접속하여 각 노드의 캐시 조각 저장량을 확인하고, 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정한다. 노드간 통신부(14)는 자신의 노드가 스트리밍 노드이면 다른 노드들(N2~N4)로부터 캐시 조각들을 획득하여 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 전송하고, 스트리밍 노드가 아니면 컨텐츠 캐시 조각 저장부(12)에 저장된 캐시 조각을 스트리밍 노드의 캐시 서버로 전송한다.The streaming control unit 11 receives a streaming request from the client C1 and transmits the requested content to the client in a streaming manner. The content cache fragment storage unit 12 stores a cache fragment allocated to its own node among the cache fragments in which the content is divided, and transmits the cache fragment to the client C1 through the streaming control unit 11. When the streaming control unit 11 receives the streaming request from the client C1, the cache fragment storage checking unit 13 accesses the index server IS1 to check the cache fragment storage amount of each node, and the node with the largest cache fragment storage amount. Is determined as the streaming node. The inter-node communication unit 14 obtains cache fragments from other nodes N2 to N4 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 content cache fragment. The cache fragment stored in the storage unit 12 is transmitted to the cache server of the streaming node.

이어서, 도 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 FIG. 4. 4 is a flowchart illustrating a multimedia streaming method according to an embodiment of the present invention.

클라이언트(C1)가 특정 노드에 접속하여 스트리밍 요청을 하면, 그 노드(N1)의 캐시 서버(CS1)는 클라이언트(C1)의 스트리밍 요청을 수신한다(단계 S11). 이하, 클라이언트(C1)의 스트리밍 요청을 수신한 특정 노드(N1)를 '클라이언트 접속 노드'라 지칭하여 다른 노드와 구별하기로 한다. 후술하는 바와 같이, 실제로 스트리밍을 수행하는 노드는 클라이언트 접속 노드가 아닌 다른 노드가 될 수도 있는데, 스트리밍을 실제 수행하는 노드는 '스트리밍 노드'라 지칭하기로 한다.When the client C1 connects to a specific node and makes a streaming request, the cache server CS1 of the node N1 receives the streaming request of the client C1 (step S11). Hereinafter, the specific node N1 receiving the streaming request of the client C1 will be referred to as a 'client access node' to distinguish it from other nodes. As will be described later, a node that actually performs streaming may be a node other than a client access node, and a node that actually performs streaming will be referred to as a 'streaming node'.

클라이언트 접속 노드(N1)의 캐시 서버(CS1)는 스트리밍 요청을 받은 컨텐츠의 캐시 조각 저장정보를 인덱스 서버(IS1)에 요청한다(단계 S12). 캐시 조각 저장정보는 각 노드가 저장하고 있는 캐시 조각의 보유 목록과 캐시 조각 저장량에 대한 정보를 포함한다. 캐시 조각 저장량은 예컨대 캐시 조각의 개수이며, 이 밖에 캐시 조각의 전체 용량이나 전체 재생시간 등도 될 수 있다. 아래의 표 1은 캐시 조각 저장정보에 대한 예이다.The cache server CS1 of the client access node N1 requests the index server IS1 for cache fragment storage information of the content that has received the streaming request (step S12). Cache fragment storage information includes a list of cache fragments stored by each node and information on cache fragment storage. The cache fragment storage amount is, for example, the number of cache fragments, and may also be the total capacity of the cache fragments or the total reproduction time. Table 1 below is an example of cache fragment storage information.

노드Node 캐시 조각Cache fragment 개수Count 전체 용량Full capacity 전체 재생시간Total duration N1N1 S1S1 1개One 150MB150 MB 12분12 minutes N2N2 S2, S3S2, S3 2개2 300MB300 MB 24분24 minutes N3N3 S4, S5, S6, S7S4, S5, S6, S7 4개Four 600MB600 MB 48분48 minutes N4N4 S8, S9, S10S8, S9, S10 3개Three 450MB450 MB 36분36 minutes

인덱스 서버(I1)는 해당 컨텐츠의 캐시 조각 저장정보를 캐시 서버(CS1)에 제공한다(단계 S13).The index server I1 provides the cache fragment storage information of the corresponding content to the cache server CS1 (step S13).

인덱스 서버(IS1)로부터 캐시 조각 저장정보를 받은 캐시 서버(CS1)는 각 노드의 캐시 조각 저장량을 확인하고 캐시 조각 저장량이 가장 큰 노드를 결정한다(단계 S14). 위 표 1의 예에서 캐시 조각 저장량이 가장 큰 노드는 세 번째 노드(N3)이다.The cache server CS1 which has received the cache fragment storage information from the index server IS1 checks the cache fragment storage amount of each node and determines the node having the largest cache fragment storage amount (step S14). In the example of Table 1 above, the node with the largest cache fragment storage is the third node (N3).

캐시 조각 저장량이 가장 큰 노드(N3)가 결정되면, 클라이언트 접속 노드(N1)는 캐시 조각 저장량이 가장 큰 노드(N3)로 스트리밍 노드를 전환한다(단계 S15). 노드 전환은 클라이언트 접속 노드(N1)의 캐시 서버(CS1)가 노드 전환 메시지를 전송하고 상대편 노드(N3)의 캐시 서버(CS3)가 이를 수신함으로써 이루어진다. 노드 전환 메시지를 전송할 때 클라이언트 접속 노드(N1)는 스트리밍을 요청한 클라이언트 정보와 컨텐츠 정보를 함께 제공한다.When the node N3 having the largest cache fragment storage amount is determined, the client connection node N1 switches the streaming node to the node N3 having the largest cache fragment storage amount (step S15). Node switching is performed by the cache server CS1 of the client connection node N1 sending a node switching message and the cache server CS3 of the opposite node N3 receiving it. When transmitting the node switch message, the client access node N1 provides the client information and the content information requested for streaming together.

스트리밍 노드(N3)의 캐시 서버(CS3)는 캐시 조각들을 저장하고 있는 나머지 노드(N1, N2, N4)들에 각각 캐시 조각들을 요청한다(단계 S16, S17, S18). 이때, 스트리밍 노드(N3)의 캐시 서버(CS3)는 캐시 조각들을 요청하기 위해 캐시 조각 저장정보를 자신의 인덱스 서버(IS3)로부터 얻을 수도 있고 클라이언트 접속 노드(N1)로부터 제공받을 수도 있다.The cache server CS3 of the streaming node N3 requests cache fragments from the remaining nodes N1, N2, and N4, respectively, which store the cache fragments (steps S16, S17, and S18). At this time, the cache server CS3 of the streaming node N3 may obtain cache fragment storage information from its index server IS3 or may be provided from the client access node N1 to request cache fragments.

스트리밍 노드(N3)로부터 캐시 조각 요청을 수신한 노드(N1, N2, N4)들의 캐시 서버(CS1, CS2, CS4)는 각각 자신이 저장하고 있는 캐시 조각들을 스트리밍 노드(N3)에 전송한다(단계 S19, S20, S21).Receiving a cache fragment request from the streaming node N3, the cache servers CS1, CS2, and CS4 of the nodes N1, N2, and N4 respectively transmit the cache fragments they store to the streaming node N3 (step). S19, S20, S21).

다른 노드(N1, N2, N4)들로부터 캐시 조각들을 획득한 스트리밍 노드(N3)의 캐시 서버(CS3)는 스트리밍을 요청한 클라이언트(C1)에게 컨텐츠를 스트리밍한다(단계 S22).The cache server CS3 of the streaming node N3, which has obtained cache fragments from the other nodes N1, N2, and N4, streams the content to the client C1 who has requested the streaming (step S22).

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

이상 설명한 바와 같이 클라이언트(C1)로부터 스트리밍 요청을 받은 클라이언트 접속 노드(N1)가 스트리밍을 수행하는 것이 아니라 캐시 조각 저장량이 가장 큰 노드(N3)가 스트리밍을 수행하는 이유는 다음과 같다. 특정 노드가 스트리밍을 수행하려면 다른 노드들에 저장 중인 캐시 조각들을 획득하여야 하는데, 이때 다른 노드들로부터 캐시 조각들을 전송 받는데 시간이 소요된다. 따라서 다른 노드들로부터 전송 받는 캐시 조각들의 양이 적으면 적을수록, 즉 자신이 가지고 있는 캐시 조각이 많으면 많을수록 캐시 조각의 획득시간이 단축되므로, 결국 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스가 이루어질 수 있다.As described above, the client access node N1 receiving the streaming request from the client C1 does not perform the streaming but the node N3 having the largest cache fragment storage performs the streaming as follows. In order for a particular node to perform streaming, it needs to acquire cache fragments stored in other nodes, which takes time to receive cache fragments from other nodes. Therefore, the smaller the amount of cache fragments received from other nodes, that is, the more cache fragments they have, the shorter the acquisition time of the cache fragments. Thus, the most efficient streaming service in terms of overall network performance and quality of service. Can be made.

한편, 클라이언트 접속 노드(N1)가 다른 노드(N2, N3, N4)들의 캐시 조각 저장량을 확인하고 캐시 조각 저장량이 가장 큰 노드를 결정할 때 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우에는 2차 파라미터를 이용하여 스트리밍 노드를 결정할 수 있다. 예를 들어, 전술한 바와 같이 각 노드의 인덱스 서버는 노드간 전송지연시간 등의 노드 상태정보를 저장할 수 있는데, 이러한 노드 상태정보를 이용하면 캐시 조각 저장량이 가장 큰 노드들 중 어느 하나를 스트리밍 노드로 결정할 수 있다.On the other hand, when the client access node (N1) checks the cache fragment storage amount of the other nodes (N2, N3, N4) and determines the node with the largest cache fragment storage amount, if there is more than one node with the largest cache fragment storage amount, the secondary The streaming node may be determined using the parameter. For example, as described above, the index server of each node may store node state information such as transmission delay time between nodes, and when such node state information is used, one of the nodes having the largest cache fragment storage capacity may be used. Can be determined.

아래의 표 2는 2차 파라미터를 이용하여 스트리밍 노드를 결정하는 경우의 예로, 이 경우 캐시 조각 저장량이 가장 큰 노드는 N2와 N4이고, 2차 파라미터(노드간 최대 전송지연시간)를 고려하면 스트리밍 노드는 N4로 결정된다.Table 2 below is an example of determining a streaming node by using a secondary parameter. In this case, the nodes with the largest cache fragment storage are N2 and N4, and considering the secondary parameter (maximum transmission delay time between nodes), the streaming is performed. The node is determined to be N4.

노드Node 캐시 조각Cache fragment 개수Count 노드간 최대 전송지연시간Maximum transmission delay time between nodes 스트리밍 노드Streaming node N1N1 S1, S2S1, S2 2개2 3.2초3.2 seconds XX N2N2 S3, S4, S5S3, S4, S5 3개Three 4.7초4.7 seconds XX N3N3 S6, S7S6, S7 2개2 1.9초1.9 seconds XX N4N4 S8, S9, S10S8, S9, S10 3개Three 3.5초3.5 seconds OO

또한, 멀티미디어 컨텐츠(MC)의 각 캐시 조각은 적어도 둘 이상의 서로 다른 노드에 중복 저장될 수도 있는데, 이 경우에도 클라이언트 접속 노드는 중복 저장 여부에 상관없이 다른 노드들의 캐시 조각 저장량을 확인하고 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정한다.In addition, each cache fragment of the multimedia content MC may be duplicated and stored in at least two different nodes. In this case, the client connection node may check the cache fragment storage of the other nodes regardless of whether it is redundantly stored or not. This largest node is determined as the streaming node.

아래의 표 3은 그러한 경우의 예로, 멀티미디어 컨텐츠는 10개의 캐시 조각(S1 ~ S10)으로 분할되어 4개의 노드(N1 ~ N4)에 분산 저장되는데, 각각의 캐시 조각은 2개씩 중복하여 서로 다른 노드에 저장된다. 표 3의 예에서 스트리밍 노드는 캐시 조각 저장량이 가장 큰 노드 N2가 된다.Table 3 below is an example of such a case, and the multimedia content is divided into 10 cache fragments S1 to S10 and distributed to four nodes N1 to N4, and each cache fragment is duplicated by two different nodes. Are stored in. In the example of Table 3, the streaming node becomes node N2 with the largest cache fragment storage.

노드Node 캐시 조각Cache fragment 개수Count 스트리밍 노드Streaming node N1N1 S1, S2, S9, S5S1, S2, S9, S5 4개Four XX N2N2 S3, S10, S1, S6, S7, S8S3, S10, S1, S6, S7, S8 6개6 OO N3N3 S4, S5, S6, S2, S9S4, S5, S6, S2, S9 5개5 XX N4N4 S7, S8, S3, S4, S10S7, S8, S3, S4, S10 5개5 XX

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.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, S6, S7, S8, S9, S10: 컨텐츠 캐시 조각S1, S2, S3, S4, S5, S6, S7, S8, S9, S10: Content Cache Fragment

CS1, CS2, CS3, CS4: 캐시 서버CS1, CS2, CS3, CS4: Cache Server

IS1, IS2, IS3, IS4: 인덱스 서버IS1, IS2, IS3, IS4: Index Server

B1: 버퍼B1: buffer

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

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

13: 캐시 조각 저장량 확인부13: Cache fragment storage confirmation unit

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

Claims (10)

멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버;A content providing server providing multimedia content; 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드들에 각각 구비되고, 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 저장하는 캐시 서버;A cache server, each of which is provided in a plurality of nodes that are distributed and distributed locally between the content providing server and a plurality of clients, and stores a cache fragment in which the multimedia content is divided; 를 포함하며,Including; 상기 노드들 중 상기 클라이언트로부터 스트리밍 요청을 받은 클라이언트 접속 노드의 상기 캐시 서버는 상기 노드들의 캐시 조각 저장량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 캐시 조각 저장량 확인부를 포함하고,The cache server of the client access node receiving the streaming request from the client of the nodes includes a cache fragment storage amount confirming unit for determining the cache fragment storage of the nodes to determine the node having the largest cache fragment storage as the streaming node, 상기 스트리밍 노드의 상기 캐시 서버는 다른 노드들로부터 상기 캐시 조각들을 획득하는 노드간 통신부와, 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 스트리밍 제어부를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.The cache server of the streaming node includes an inter-node communication unit for obtaining the cache pieces from other nodes, and a streaming control unit for streaming the content to the client. 청구항 1에 있어서,The method according to claim 1, 각각의 상기 노드에 구비되어 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버;An index server provided at each node to store information on the cache fragment storage amount of the nodes; 를 더 포함하며,More, 상기 클라이언트 접속 노드는 상기 캐시 서버에 상기 캐시 조각 저장량에 대한 정보를 제공하는 상기 인덱스 서버를 구비함을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.And said client access node comprises said index server for providing said cache server with information about said cache fragment storage amount. 청구항 1에 있어서,The method according to claim 1, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정되면 상기 스트리밍 노드에 노드 전환 메시지를 전송하는 상기 노드간 통신부를 구비함을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.And the cache server of the client access node includes the inter-node communication unit which transmits a node switching message to the streaming node when the streaming node is determined. 청구항 1에 있어서,The method according to claim 1, 상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.If there is more than one node having the largest amount of cache fragment storage, the cache server of the client access node determines the streaming node among the nodes having the largest amount of cache fragment storage by using a secondary parameter. Distributed storage multimedia streaming system. 청구항 1에 있어서,The method according to claim 1, 각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장되는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.Wherein each said cache fragment is redundantly stored in at least two of said nodes. 멀티미디어 컨텐츠를 제공하는 컨텐츠 제공 서버와 다수의 클라이언트 사이 에 지역적으로 분산되어 분포하며 상기 멀티미디어 컨텐츠가 분할된 캐시 조각을 각각 캐시 서버에 분산 저장하는 다수의 노드들 중 특정 노드에 상기 클라이언트가 접속하여 스트리밍을 요청하면, 상기 특정 노드에서 상기 클라이언트의 스트리밍 요청을 수신하는 단계;The client accesses and streams a specific node among a plurality of nodes 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. Receiving a streaming request from the client at the specific node; 상기 특정 노드의 상기 캐시 서버가 상기 노드들의 캐시 조각 저장량을 확인하여 상기 캐시 조각 저장량이 가장 큰 노드를 스트리밍 노드로 결정하는 단계;Determining, by the cache server of the specific node, a cache node storage amount of the nodes to determine a node having the largest cache fragment storage amount as a streaming node; 상기 스트리밍 노드의 상기 캐시 서버가 다른 노드들로부터 상기 캐시 조각들을 획득하여 상기 클라이언트에 상기 컨텐츠를 스트리밍하는 단계;The cache server of the streaming node obtaining the cache fragments from other nodes and streaming the content to the client; 를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Content distributed storage multimedia streaming method comprising a. 청구항 6에 있어서,The method according to claim 6, 각각의 상기 노드는 상기 노드들의 상기 캐시 조각 저장량에 대한 정보를 저장하는 인덱스 서버를 더 구비하며,Each said node further comprises an index server for storing information about said cache fragment storage of said nodes, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 인덱스 서버에 상기 캐시 조각 저장량에 대한 정보를 요청하여 제공받는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.And the cache server of the client access node requests and receives information on the cache fragment storage amount from the index server. 청구항 6에 있어서,The method according to claim 6, 상기 클라이언트 접속 노드의 상기 캐시 서버는 상기 스트리밍 노드가 결정 되면 상기 스트리밍 노드에 노드 전환 메시지를 전송하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.And the cache server of the client access node transmits a node switch message to the streaming node when the streaming node is determined. 청구항 6에 있어서,The method according to claim 6, 상기 캐시 조각 저장량이 가장 큰 노드가 둘 이상 있는 경우, 상기 클라이언트 접속 노드의 상기 캐시 서버는 2차 파라미터를 이용하여 상기 캐시 조각 저장량이 가장 큰 노드들 중에서 상기 스트리밍 노드를 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.If there is more than one node having the largest amount of cache fragment storage, the cache server of the client access node determines the streaming node among the nodes having the largest amount of cache fragment storage by using a secondary parameter. Distributed storage multimedia streaming method. 청구항 6에 있어서,The method according to claim 6, 각각의 상기 캐시 조각은 상기 노드들 중 적어도 둘 이상에 중복 저장되는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Wherein each cache fragment is redundantly stored in at least two of said nodes.
KR1020080115945A 2008-11-20 2008-11-20 System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity KR101112572B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080115945A KR101112572B1 (en) 2008-11-20 2008-11-20 System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080115945A KR101112572B1 (en) 2008-11-20 2008-11-20 System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity

Publications (2)

Publication Number Publication Date
KR20100056932A KR20100056932A (en) 2010-05-28
KR101112572B1 true KR101112572B1 (en) 2012-02-15

Family

ID=42280865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115945A KR101112572B1 (en) 2008-11-20 2008-11-20 System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity

Country Status (1)

Country Link
KR (1) KR101112572B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101510231B1 (en) * 2013-01-07 2015-04-14 한국과학기술원 System for providing the content using the cache server, and method for placing the cache server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020029441A (en) * 2000-08-21 2002-04-19 김영민 Distributed Server System and Method for Providing Data Using the Same
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
KR20080026730A (en) * 2006-09-21 2008-03-26 파이로웍스(주) Streaming service and method minimizing delay time

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020029441A (en) * 2000-08-21 2002-04-19 김영민 Distributed Server System and Method for Providing Data Using the Same
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
JP2003228534A (en) 2001-11-30 2003-08-15 Ntt Docomo Inc Information delivery system, descriptive data delivery device, content location management device, data conversion device, receiving terminal device and information delivery method
KR20080026730A (en) * 2006-09-21 2008-03-26 파이로웍스(주) Streaming service and method minimizing delay time

Also Published As

Publication number Publication date
KR20100056932A (en) 2010-05-28

Similar Documents

Publication Publication Date Title
US11539768B2 (en) System and method of minimizing network bandwidth retrieved from an external network
KR101104729B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments
US8880650B2 (en) System and method for storing streaming media file
KR101301004B1 (en) System and Method for Multimedia Streaming of Distributed Contents
US8522290B2 (en) Video on demand system and methods thereof
EP2288085B1 (en) P2p based method, device and system for playing media
CN101729273A (en) Streaming media distribution system, method and device
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
Lin Enhancing P2P live streaming performance by balancing description distribution and available forwarding bandwidth in P2P streaming network
US11843649B2 (en) System and method of minimizing network bandwidth retrieved from an external network
KR101112572B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity
KR101088022B1 (en) Multimedia Streaming System and Method of Distributed Contents Based on User&#39;s Preference by VCR Function Control
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
KR20100059117A (en) Streaming system and cache server for distributed multimedia contents and method for streaming contents
KR101137248B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Mobile Agent
Satsiou et al. Efficient caching of video content to an architecture of proxies according to a frequency-based cache management policy
KR20100055298A (en) Distributed storing method, management server, and multimedia streaming system based on regional preference for contents
KR20100055296A (en) System and method for sequential multimedia streaming using redirected url of distributed contents
KR101242830B1 (en) System and method for executing buffering in streaming service based on peer to peer and system for distributing applicaiotn processing buffering
Zhu et al. A portion-based content distribution strategy in streaming media content distribution networks
Naor et al. Content Placement for Video-on-Demand Services Over Cellular Networks
Liu et al. Dynamic bi-overlay rotation for streaming with heterogeneous devices
Zink et al. Caching and distribution issues for streaming content distribution networks

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