KR20100058786A - System and method for multimedia streaming of distributed contents - Google Patents

System and method for multimedia streaming of distributed contents Download PDF

Info

Publication number
KR20100058786A
KR20100058786A KR1020080117322A KR20080117322A KR20100058786A KR 20100058786 A KR20100058786 A KR 20100058786A KR 1020080117322 A KR1020080117322 A KR 1020080117322A KR 20080117322 A KR20080117322 A KR 20080117322A KR 20100058786 A KR20100058786 A KR 20100058786A
Authority
KR
South Korea
Prior art keywords
content
node
nodes
segment
segments
Prior art date
Application number
KR1020080117322A
Other languages
Korean (ko)
Other versions
KR101301004B1 (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 KR1020080117322A priority Critical patent/KR101301004B1/en
Publication of KR20100058786A publication Critical patent/KR20100058786A/en
Application granted granted Critical
Publication of KR101301004B1 publication Critical patent/KR101301004B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server

Abstract

PURPOSE: A system and a method for multimedia streaming which is contents distribution type are provided to distribute divided contents segments to cache server of a plurality of nodes and converting a streaming node of most low network load, thereby shortening a contents transmission time about a client terminal. CONSTITUTION: A multimedia server generates a plurality of segments through contents division. The multimedia server stores the contents segments to cache server of a plurality of nodes. If a specific node among a plurality of nodes receives contents transmission request from a client terminal, the contents segments is received from the nodes according to a high reproduction priority of the contents segment(S101,S103). The specific node transmits the contents segment to the client terminal by streaming way(S104).

Description

컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents}System and Method for Multimedia Streaming of Distributed Contents

본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 멀티미디어 컨텐츠를 여러 세그먼트로 분할하여 여러 노드의 캐시 서버에 분산 저장하고 클라이언트 단말의 스트리밍 요청을 받은 노드가 각 노드의 네트워크 부하를 확인하여 부하가 가장 적은 노드로 스트리밍 노드를 전환한 후 스트리밍 서비스를 제공하는 스트리밍 시스템과 방법에 관한 것이다.The present invention relates to a multimedia streaming service. More specifically, the multimedia content is divided into multiple segments, distributed and stored in a cache server of multiple nodes, and a node receiving a streaming request from a client terminal checks the network load of each node and loads the load. The present invention relates to a streaming system and method for providing a streaming service after switching streaming nodes to the fewest 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). In consideration of various sizes of data to be cached, and the like, when the object unit handled by the cache server depends on the content size, various problems occur as follows.

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 segments having a constant size 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 the distributed storage of data, and how and from which node it is most efficient to aggregate and stream segments of adjacent nodes when a client requests a streaming. There is a lack of research.

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

이러한 목적을 달성하기 위하여, 본 발명의 한 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 멀티미디어 서버가 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계; 상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계; 상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계; 상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계를 포함하여 구성될 수 있다.In order to achieve this object, a content distributed storage multimedia streaming system according to an aspect of the present invention, the multimedia server to divide the content to generate a plurality of content segments; The multimedia server storing the content segments in a cache server of a plurality of nodes; If a specific node of the plurality of nodes receives a request for transmission of the content from a client terminal, receiving the content segment from the nodes according to the order in which the reproduction priority of the content segment is high; The specific node may be configured to include transmitting the content segments to the client terminal in a streaming manner.

본 발명의 다른 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 멀티미디어 서버가 컨텐츠를 제1 노드에 전송하는 단계; 상기 제1 노드가 상기 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계; 상기 제1 노드가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계; 상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계; 상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계를 포함하여 구성될 수 있다.According to another aspect of the present invention, there is provided a content distributed storage multimedia streaming system comprising: transmitting, by a multimedia server, content to a first node; Generating a plurality of content segments by dividing the content by the first node; The first node storing the content segments in a cache server of a plurality of nodes; If a specific node of the plurality of nodes receives a request for transmission of the content from a client terminal, receiving the content segment from the nodes according to the order in which the reproduction priority of the content segment is high; The specific node may be configured to include transmitting the content segments to the client terminal in a streaming manner.

이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 상기 멀티미디어 서버 또는 상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장할 상기 노드들을 할당하는 단계; 상기 멀티미디어 서버 또는 상기 제1 노드가 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 단계; 상기 멀티미디어 서버 또는 상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장하는 상기 노드들에게 상기 컨텐츠 분산 테이블을 전송하는 단계를 더 포함할 수 있다.The content distributed storage multimedia streaming method may include: allocating the nodes to store the content segments by the multimedia server or the first node; Generating, by the multimedia server or the first node, a content distribution table including the content segment stored in each node and address information of the node; The multimedia server or the first node may further include transmitting the content distribution table to the nodes storing the content segments.

또한, 상기 컨텐츠 세그먼트를 수신하는 단계는, 상기 특정 노드가 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 단계를 포함할 수 있다.The receiving of the content segment may include: storing the content segment having a next playback priority after receiving the content segment having a specific playback priority from any one of the other nodes. And transmitting the request message of the content segment.

또한, 본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 상기 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하는 단계; 상기 특정 노드가 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말의 주소 정보를 전송 하여 컨텐츠 전송을 위임하는 단계; 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 상기 컨텐츠 전송을 위임 받은 노드가 수집하는 단계; 상기 컨텐츠 전송을 위임 받은 노드가 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 단계를 더 포함할 수 있다.In addition, the content distributed storage multimedia streaming method of the present invention, if the network load of the particular node exceeds a preset threshold, collecting the network load information of the other nodes; Delegating content transmission by transmitting, by the specific node, address information of the client terminal to a node having the least network load among other nodes; Collecting, by the node authorized to transmit the content, a second content segment to be played next to the first content segment being transmitted by the specific node; The node authorized to transmit the content may further include transmitting the second content segment to the client terminal.

한편, 본 발명의 한 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 컨텐츠를 생산 및 저장하고, 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 멀티미디어 서버; 네트워크를 통하여 연결된 다수의 노드들로 이루어지고, 상기 멀티미디어 서버로부터 상기 다수의 컨텐츠 세그먼트들을 수신하여 각각의 상기 노드에 분산 저장하는 노드 네트워크; 상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버를 포함하여 구성될 수 있다.On the other hand, the content distributed storage multimedia streaming system according to an aspect of the present invention, a multimedia server for producing and storing content, and divides the content into a plurality of content segments; A node network comprising a plurality of nodes connected through a network, the node network receiving the plurality of content segments from the multimedia server and distributing the plurality of content segments in each of the nodes; A specific node which is requested to transmit the content from the client terminal among the plurality of nodes, the content segment received from the nodes according to the order of the high priority playback of the content segment, and the content segments It may be configured to include a cache server for transmitting to the client terminal in a streaming manner.

또한, 본 발명의 다른 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 컨텐츠를 생산 및 저장하는 멀티미디어 서버; 상기 멀티미디어 서버로부터 상기 컨텐츠를 수신하여 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 제1 노드와, 상기 제1 노드로부터 상기 컨텐츠 세그먼트들을 수신하여 저장하는 다수의 제2 노드들을 구비하는 노드 네트워크; 상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그 먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버를 포함하여 구성될 수 있다.In addition, the content distributed storage multimedia streaming system according to another aspect of the present invention, a multimedia server for producing and storing content; A node network including a first node receiving the content from the multimedia server and dividing the content into a plurality of content segments, and a plurality of second nodes receiving and storing the content segments from the first node; It is provided in a specific node that is requested to transmit the content from the client terminal of the plurality of nodes, and receives the content segment from the nodes in the order of the reproduction priority of the content segment, and the content segments It may be configured to include a cache server for transmitting to the client terminal in a streaming manner.

이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템에 있어서, 각각의 상기 노드는, 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 중앙처리장치; 상기 컨텐츠 분산 테이블을 저장하는 저장부; 상기 컨텐츠 세그먼트들을 저장하는 상기 각 노드에게 상기 컨텐츠 분산 테이블을 전송하는 네트워크 어댑터를 포함할 수 있다.In the content distributed storage multimedia streaming system, each node comprises: a central processing unit for generating a content distribution table including the content segment stored in each node and address information of the node; A storage unit for storing the content distribution table; And a network adapter for transmitting the content distribution table to each node storing the content segments.

또한, 상기 특정 노드는 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송할 수 있다.In addition, the specific node may complete the reception of a content segment having a specific playback priority from one of the other nodes, and then transmit a request message of the content segment to a node storing the content segment having a next playback priority. .

또한, 상기 특정 노드는 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하고, 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말 주소 정보를 전송하여 컨텐츠 전송을 위임할 수 있다.When the network load exceeds a predetermined threshold, the specific node collects network load information of the other nodes, and transmits the client terminal address information to a node having the least network load among other nodes to transmit content. You can delegate.

또한, 상기 컨텐츠 전송을 위임 받은 노드는 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 수집하고, 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송할 수 있다.In addition, the node authorized to transmit the content may collect a second content segment to be played next to the first content segment being transmitted by the specific node, and transmit the second content segment to the client terminal.

본 발명은 분할된 컨텐츠 세그먼트들을 여러 노드의 캐시 서버에 분산 저장 하고, 클라이언트 단말의 스트리밍 요청을 받은 노드가 각 노드의 네트워크 부하를 확인하여 네트워크 부하가 가장 작은 노드로 스트리밍 노드를 전환함으로써, 스트리밍을 수행하는 노드가 다른 노드들로부터 세그먼트들을 취합하는데 걸리는 시간 및 클라이언트 단말로 컨텐츠를 전송하는데 걸리는 시간을 단축하여 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스를 제공할 수 있는 장점이 있다.The present invention distributes and stores the divided content segments in a cache server of several nodes, and the node receiving the streaming request from the client terminal checks the network load of each node and switches the streaming node to the node with the smallest network load, thereby enabling streaming. It is advantageous to provide the most efficient streaming service in terms of overall performance and quality of service by shortening the time taken by the performing node to collect segments from other nodes and transmitting content to the client terminal.

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

도 1은 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타낸 도면이다.1 is a view schematically showing the configuration of a content distributed storage multimedia streaming system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 멀티디미어 스트리밍 시스템은 클라이언트 단말(100), 멀티미디어 서버(200), 노드 네트워크(300)를 포함하여 구성된다. 이러한 시스템에서, 멀티미디어 서버(200)와 노드 네트워크(300)는 컨텐츠를 제공하는 제공 시스템이고, 클라이언트 단말(100)은 컨텐츠를 수신하여 이용하는 사용자 시스템이다.Referring to FIG. 1, the multimedia streaming system of the present invention includes a client terminal 100, a multimedia server 200, and a node network 300. In such a system, the multimedia server 200 and the node network 300 are providing systems for providing contents, and the client terminal 100 is a user system for receiving and using contents.

이러한 시스템은 멀티미디어 서버(200)가 네트워크를 통하여 연결된 다수의 노드들로 이루어진 노드 네트워크(300)를 확인하고, 각 노드 네트워크(300)에 컨텐츠를 분산하여 저장할 수 있도록 지원한다. 이를 위하여 노드 네트워크(300)에 포함된 각 노드들은 캐시 서버를 포함하여야 한다. 각 노드들은 멀티미디어 서버(200)로부터 다수의 컨텐츠를 수신하여 캐싱하는 단계에서 미리 계획된 분산 정책에 따라 컨텐츠들을 부분적으로 저장할 수 있다. 이하, 각 구성요소에 대하여 보다 상세히 설명한다.Such a system supports the multimedia server 200 to identify a node network 300 composed of a plurality of nodes connected through a network, and to distribute and store contents in each node network 300. To this end, each node included in the node network 300 should include a cache server. Each node may partially store the contents according to a pre-planned distribution policy in the step of receiving and caching a plurality of contents from the multimedia server 200. Hereinafter, each component is explained in more detail.

멀티미디어 서버(200)는 다양한 컨텐츠를 생산, 저장, 관리한다. 또한, 멀티미디어 서버(200)는 저장된 컨텐츠를 노드 네트워크(300)에 포함된 각 노드의 요청에 따라 분할하여 전송한다. 이를 위하여 멀티미디어 서버(200)는 컨텐츠 분산 정책을 정의한다. 컨텐츠 분산 정책은 컨텐츠를 세그먼트로 분할하고, 분할된 각 세그먼트를 어느 노드에 공급할지를 결정하는 정책이다. 이에 대한 설명은 도 2를 참조하여 후술하기로 한다.The multimedia server 200 produces, stores, and manages various contents. In addition, the multimedia server 200 divides and stores the stored content according to a request of each node included in the node network 300. To this end, the multimedia server 200 defines a content distribution policy. The content distribution policy is a policy for dividing content into segments and determining which node to supply each segment to. The description thereof will be described later with reference to FIG. 2.

노드 네트워크(300)는 멀티미디어 서버(200)와 클라이언트 단말(100) 사이에 배치된다. 노드 네트워크(300)는 다수의 노드들(301, 302, 303)을 이용하여 멀티미디어 서버(200)가 제공하는 컨텐츠 세그먼트들을 각각 저장하고, 이를 기반으로 클라이언트 단말(100)이 요청하는 컨텐츠를 일정한 QoS 기반으로 제공할 수 있다. 이를 위하여 각 노드들(301, 302, 303)은 캐시 서버를 포함한다.The node network 300 is disposed between the multimedia server 200 and the client terminal 100. The node network 300 stores the content segments provided by the multimedia server 200 using the plurality of nodes 301, 302, and 303, respectively, and based on the content, the content requested by the client terminal 100 is provided with a certain QoS. Can be provided as a basis. For this purpose, each node 301, 302, 303 includes a cache server.

캐시 서버는 멀티미디어 서버(200) 및 클라이언트 단말(100)에 접속하기 위한 네트워크 어댑터와, 컨텐츠 세그먼트를 저장하기 위한 저장부, 다른 컨텐츠 세 그먼트를 다른 노드로부터 수신하고 이를 기반으로 전체 컨텐츠를 제공하도록 제어하는 중앙처리장치를 포함할 수 있다. 캐시 서버는 컨텐츠 제공시 자신의 네트워크 부하량을 모니터링하고, 네트워크 부하량이 미리 설정된 임계치 이상인 경우, 컨텐츠 전송을 타 노드에 위임할 수 있다. 이에 대한 설명은 도 3을 참조하여 후술하기로 한다.The cache server is configured to receive a network adapter for accessing the multimedia server 200 and the client terminal 100, a storage unit for storing content segments, and other content segments from other nodes and provide the entire content based thereon. It may include a central processing unit for controlling. The cache server may monitor its network load at the time of providing the content, and may delegate content transmission to another node when the network load is greater than or equal to a preset threshold. The description thereof will be described later with reference to FIG. 3.

클라이언트 단말(100)은 사용자 단말기로서, 노드 네트워크(300)에 접속할 수 있는 통신모듈을 포함하는 다양한 전자장치가 될 수 있다. 예를 들어 클라이언트 단말은 모뎀을 구비한 PC, 무선 인터넷에 접속 가능한 노트북 또는 휴대 단말기, 인터넷 서비스가 가능한 이동통신 단말기 등이 될 수 있다. 클라이언트 단말(100)은 멀티미디어 서버(200)에 접속하기 위한 통신 모듈과, 멀티미디어 서버(200)가 제공하는 웹 페이지를 수신할 수 있는 웹 브라우저를 저장하는 저장부, 웹 브라우저가 수신한 웹 페이지를 출력하기 위한 표시부, 웹 페이지에 출력된 다양한 정보 및 컨텐츠를 검색하고 지정할 수 있는 입력 신호를 생성하는 입력부, 수신된 컨텐츠 재생에 따른 오디오 신호를 출력하기 위한 오디오 처리부, 이러한 구성들을 제어하기 위한 제어부를 포함할 수 있다. 제어부는 사용자 요청에 따라 노드 네트워크(300)로부터 컨텐츠를 수신하는 중에 수신 취소를 할 수 있다. 또한, 제어부는 노드 네트워크(300)의 특정 노드로부터 컨텐츠를 수신하는 중에 특정 노드 요청에 따라 다른 노드로부터 해당 컨텐츠를 이어서 수신하도록 제어할 수 있다. 이에 대한 설명은 노드 네트워크(300)의 설명과 함께 후술한다.The client terminal 100 may be a user terminal and may be various electronic devices including a communication module that can access the node network 300. For example, the client terminal may be a PC equipped with a modem, a laptop or portable terminal capable of accessing the wireless Internet, a mobile communication terminal capable of Internet service, and the like. The client terminal 100 may include a communication module for accessing the multimedia server 200, a storage unit storing a web browser capable of receiving a web page provided by the multimedia server 200, and a web page received by the web browser. A display unit for outputting, an input unit for generating an input signal for searching and specifying various information and content output on a web page, an audio processing unit for outputting an audio signal according to reproduction of received content, and a control unit for controlling such components It may include. The controller may cancel reception while receiving content from the node network 300 according to a user request. In addition, the controller may control to receive the corresponding content from another node according to the specific node request while receiving the content from the specific node of the node network 300. The description thereof will be described later along with the description of the node network 300.

이상 설명한 바와 같이, 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티 미디어 스트리밍 시스템은 다수의 노드에 마련된 캐시 서버가 하나의 컨텐츠를 이루는 컨텐츠 세그먼트들을 각각 저장하고 있다가, 클라이언트 단말 요청에 따라 해당 컨텐츠 세그먼트들을 클라이언트 단말에 제공하도록 함으로써, 데이터 전송 효율을 높이고 멀티미디어 서버의 저장부 공간을 늘릴 수 있다.As described above, the content distributed storage multimedia streaming system according to an embodiment of the present invention stores the content segments constituting a single content by a cache server provided in a plurality of nodes, and then stores the corresponding content according to a client terminal request. By providing the segments to the client terminal, it is possible to increase data transmission efficiency and increase storage space of the multimedia server.

이하, 컨텐츠 분산 정책 및 컨텐츠 세그먼트 전송에 대하여 도 2 및 도 3을 참조하여 보다 상세히 설명하기로 한다.Hereinafter, the content distribution policy and the content segment transmission will be described in more detail with reference to FIGS. 2 and 3.

도 2는 본 발명의 컨텐츠 분산 정책을 설명하기 위한 도면이며, 도 3은 네트워크 부하량에 따른 노드 운용을 설명하기 위한 네트워크 부하량 테이블을 나타낸 도면이다. 이하의 설명에서 노드 네트워크(300)는 노드 A(301), 노드 B(302), 노드 C(303)를 포함하고, 멀티미디어 서버(200)는 컨텐츠 A와 컨텐츠 B를 저장하는 것으로 가정한다. 그러나 이는 단지 설명을 위한 예일 뿐, 본 발명이 이에 한정되거나 이러한 예가 바람직함을 의미하는 것은 아니다.FIG. 2 is a diagram illustrating a content distribution policy of the present invention, and FIG. 3 is a diagram illustrating a network load table for explaining node operation according to network load. In the following description, it is assumed that the node network 300 includes a node A 301, a node B 302, and a node C 303, and the multimedia server 200 stores content A and content B. However, this is merely an example for explanation, and does not mean that the present invention is limited thereto or such an example is preferable.

도 1 내지 도 3을 참조하면, 멀티미디어 서버(200)는 자신과 연결된 노드 네트워크(300) 내에 포함된 각 노드(301, 302, 303)의 정보를 수집한다. 예를 들어, 멀티미디어 서버(200)는 각 노드(301, 302, 303)가 가지는 IP 주소를 이용하여 현재 자신과 연결된 전체 노드들의 정보를 확인할 수 있다. 즉, 멀티미디어 서버(200)는 노드 A(301), 노드 B(302), 노드 C(303)가 자신과 연결되어 있는 것을 확인할 수 있다. 이후, 멀티미디어 서버(200)는 예를 들어 컨텐츠 A를 3개의 세그먼트(A1, A2, A3)로 나누고, 컨텐츠 B를 2개의 세그먼트(B1, B2)로 나눈다. 그리고 멀티미디어 서버(200)는 도 2에 도시된 바와 같이 컨텐츠 A의 각 세그먼트(A1, A2, A3)를 노드 A 내지 노드 C(301, 302, 303)에 할당한다. 또한, 컨텐츠 B의 각 세그먼트(B1, B2)를 노드 A 및 노드 B(302)에 할당한다.1 to 3, the multimedia server 200 collects information of each node 301, 302, and 303 included in the node network 300 connected to the multimedia server 200. For example, the multimedia server 200 may check the information of all nodes currently connected to itself by using IP addresses of the nodes 301, 302, and 303. That is, the multimedia server 200 may confirm that the node A 301, the node B 302, and the node C 303 are connected to the multimedia server 200. The multimedia server 200 then divides the content A into three segments A1, A2 and A3, for example, and divides the content B into two segments B1 and B2. As illustrated in FIG. 2, the multimedia server 200 allocates each segment A1, A2, A3 of the content A to the nodes A to C 301, 302, and 303. In addition, each segment B1, B2 of the content B is allocated to the node A and the node B 302.

이때, 각각의 세그먼트(A1, A2, A3, B1, B2)는 그 데이터 크기가 일정하거나 유사한 크기로 분할되는 것이 바람직하다. 즉, 멀티미디어 서버(200)는 컨텐츠들을 분할하는 기준을 정하고, 그 기준에 맞추어 각 컨텐츠를 다수의 세그먼트들로 분할한다. 일정 크기로 분할된 다수의 컨텐츠 세그먼트들은 재생 순서에 대한 정보를 가지고 있다. 그러나 각 노드(301, 302, 303)는 컨텐츠 전송 과정에서 다른 노드의 세그먼트들을 취합하여 전송하기 때문에, 멀티미디어 서버(200)가 세그먼트들을 각 노드(301, 302, 303)에 분산하는 과정에서는 재생 순서와 관계없이 랜덤하게 할당할 수 있다.At this time, it is preferable that each segment A1, A2, A3, B1, B2 is divided into constant or similar sizes. That is, the multimedia server 200 determines a criterion for dividing the contents, and divides each content into a plurality of segments according to the criteria. The plurality of content segments divided into a predetermined size have information on the playback order. However, since the nodes 301, 302, and 303 collect and transmit segments of other nodes in the content transmission process, the multimedia server 200 distributes the segments to the nodes 301, 302, and 303. Can be randomly assigned.

한편, 본 실시예에서는 멀티미디어 서버(200)가 컨텐츠를 세그먼트들로 분할하고, 이에 대한 컨텐츠 분산 테이블을 생성하며, 컨텐츠 세그먼트와 함께 해당 컨텐츠 분산 테이블을 노드에 전송하지만, 특정 노드가 이러한 기능을 대신 수행할 수도 있다. 즉, 멀티미디어 서버(200)가 특정 노드에 컨텐츠 A를 전송하면, 컨텐츠 A를 수신한 노드 A(301)가 컨텐츠 A를 다수의 세그먼트들(A1, A2, A3)로 분할하고 그에 따른 컨텐츠 A의 분산 테이블을 생성한다. 이후, 노드 A(301)는 컨텐츠 분산 테이블과 세그먼트 A1 만을 저장하고, 컨텐츠 분산 테이블과 세그먼트 A2는 노드 B(302)에, 컨텐츠 분산 테이블과 세그먼트 A3은 노드 C(303)에 전송한다. 이에 따라, 노드 B(302)와 노드 C(303)는 각각 자신에게 할당된 세그먼트를 저장함과 아울러, 컨텐츠 A의 다른 세그먼트들을 어느 노드가 저장하고 있는지에 대한 정보를 알 수 있다. 마찬가지 방법으로, 컨텐츠 B는 멀티미디어 서버(200)가 노드 B(302)에 제공할 수 있으며, 노드 B(302)는 컨텐츠 B를 세그먼트 B1과 B로 분할한 후 컨텐츠 B의 분산 테이블을 생성하고 노드 A(301)에 컨텐츠 분산 테이블과 세그먼트 B1을 전송할 수 있다.Meanwhile, in the present embodiment, the multimedia server 200 divides the content into segments, generates a content distribution table for it, and transmits the corresponding content distribution table to the node along with the content segment, but a specific node replaces this function. It can also be done. That is, when the multimedia server 200 transmits the content A to a specific node, the node A 301 receiving the content A divides the content A into a plurality of segments A1, A2, and A3 and accordingly Create a distribution table. Thereafter, the node A 301 stores only the content distribution table and the segment A1, and transmits the content distribution table and the segment A2 to the node B 302 and the content distribution table and the segment A3 to the node C 303. Accordingly, the node B 302 and the node C 303 each store a segment assigned to the node B, and can know information about which node stores the other segments of the content A. FIG. In the same way, content B can be provided to node B 302 by multimedia server 200, and node B 302 divides content B into segments B1 and B and then generates a distribution table of content B and node. The content distribution table and the segment B1 may be transmitted to the A 301.

한편, 각 노드(301, 302, 303)는 다른 노드로부터 세그먼트를 취합하여 컨텐츠를 전송할 수 있다. 예를 들어, 클라이언트 단말(100)이 노드 B(302)에 컨텐츠 A의 스트리밍을 요청하면, 노드 B(302)는 캐시 서버의 저장부에 저장된 컨텐츠 분산 테이블을 검색하여 노드 A(301)와 노드 C(303)가 각각 컨텐츠 A에 대한 나머지 세그먼트들을 저장하고 있음을 확인한다. 이어서, 노드 B(302)는 컨텐츠 A에 대한 컨텐츠 세그먼트 요청 메시지를 생성하고, 이 메시지를 노드 A(301)와 노드 C(303)에 각각 동시에 전송한다. 컨텐츠 세그먼트 요청 메시지를 수신한 노드 A(301)와 노드 C(303)는 자신의 캐시 서버에 저장된 컨텐츠 A의 세그먼트를 검출하고 이를 노드 B(302)에 전송한다.On the other hand, each node 301, 302, 303 may aggregate the segment from the other node and transmit the content. For example, when the client terminal 100 requests the streaming of content A to the node B 302, the node B 302 retrieves the content distribution table stored in the storage of the cache server to node A 301 and the node. Confirm that C 303 stores the remaining segments for content A, respectively. Node B 302 then generates a Content Segment Request message for Content A and sends this message to Node A 301 and Node C 303 simultaneously. Receiving the content segment request message, node A 301 and node C 303 detect the segment of content A stored in its cache server and transmit it to node B 302.

이때, 노드 B(302)는 컨텐츠 A의 세그먼트들의 순서를 고려하여 컨텐츠 세그먼트 요청 메시지 전송의 순서와 시간을 설정할 수 있다. 예를 들어, 노드 B(302)가 컨텐츠 A를 취합할 때 가장 우선순위가 높은 세그먼트가 노드 A(301)에 저장된 세그먼트 A1인 경우, 노드 B(302)는 컨텐츠 세그먼트 요청 메시지를 생성하여 이 메시지를 노드 A(301)에 우선적으로 전송한다. 그런 후, 노드 A(301)로부터 세그먼트 A1을 수신 완료하면, 노드 B(302)는 컨텐츠 세그먼트 요청 메시지를 노드 C(303)에 전송한다. 이러한 방식으로 노드 B(302)는 컨텐츠 A의 세그먼트들을 순차 적으로 수신하여 취합할 수 있다. 또한, 컨텐츠 분산 테이블은 각 노드의 정보를 저장할 수 있다. 즉, 컨텐츠 분산 테이블은 특정 노드가 다른 노드를 빠르게 검색하고 컨텐츠 세그먼트를 요청할 수 있도록 다른 노드의 IP 주소 정보를 함께 저장할 수 있다.In this case, the node B 302 may set the order and time of the content segment request message transmission in consideration of the order of the segments of the content A. FIG. For example, if node B 302 collects content A and the highest priority segment is segment A1 stored in node A 301, node B 302 generates a content segment request message to generate this message. Is transmitted to the node A 301 first. Then, upon receiving the segment A1 from node A 301, node B 302 sends a content segment request message to node C 303. In this way, Node B 302 can receive and aggregate segments of Content A sequentially. In addition, the content distribution table may store information of each node. That is, the content distribution table may store IP address information of other nodes together so that a specific node can quickly search for other nodes and request content segments.

한편, 컨텐츠를 클라이언트 단말(100)에 전송하는 특정 노드는 다른 노드에게 컨텐츠 전송을 위임할 수 있다. 예를 들어 노드 A(301)가 특정 클라이언트 단말(100)로부터 컨텐츠 A에 대한 전송 요청을 수신하였다고 가정할 때, 노드 A(301)는 캐시 서버의 저장부에 저장된 컨텐츠 분산 테이블을 확인하여 노드 B(302) 및 노드 C(303)에 각각 필요한 세그먼트가 저장되어 있음을 확인한다. 그런 후, 노드 A(301)는 컨텐츠 세그먼트 요청 메시지를 생성하여 노드 B(302)와 노드 C(303)에 각각 동시에 전송하거나 순차적으로 전송하는 한편, 클라이언트 단말(100)에 자신이 저장 중인 세그먼트 A1을 스트리밍 방식에 따라 전송하기 시작한다. 아울러, 노드 A(301)는 다른 노드들로부터 세그먼트들를 수신하기 시작하므로, 노드 A(301)의 네트워크 부하량은 증가하게 된다.Meanwhile, a specific node transmitting content to the client terminal 100 may delegate content transmission to another node. For example, assuming that node A 301 has received a request for transmission of content A from a specific client terminal 100, node A 301 checks the content distribution table stored in the storage of the cache server and then node B. It is confirmed that necessary segments are stored at 302 and at node C 303, respectively. Thereafter, the node A 301 generates a content segment request message and simultaneously transmits or sequentially transmits the content segment request message to the node B 302 and the node C 303, while the segment A1 is stored in the client terminal 100. Start to transmit according to the streaming method. In addition, since node A 301 starts receiving segments from other nodes, the network load of node A 301 increases.

이때, 다른 클라이언트 단말(100)이 노드 A(301)에게 컨텐츠 B의 전송 요청을 해올 수 있다. 그러면 노드 A(301)는 자신의 네트워크 부하량을 검사하여 미리 설정된 임계치를 초과하는지 확인한다. 자신의 네트워크 부하량이 임계치를 초과하는 경우, 노드 A(301)는 다른 노드들에게 현재 네트워크 부하량에 대한 정보를 요청하여 도 3에 도시된 바와 같은 네트워크 부하량 테이블을 생성할 수 있다. 이를 통해 노드 A(301)는 노드 B(302)의 네트워크 부하량이 가장 작은 것을 알 수 있으 며, 다른 클라이언트 단말의 컨텐츠 B에 대한 요청 메시지를 노드 B(302)에게 전달한다. 노드 B(302)는 노드 A(301)로부터 컨텐츠 B에 대한 클라이언트 요청 메시지를 수신하면, 해당 클라이언트 단말의 IP 주소를 확인하여 통신 경로를 형성하는 한편, 세그먼트 B1에 대한 요청 메시지를 생성하여 노드 A(301)에 전송한다. 이어서, 노드 B(302)는 노드 A(301)로부터 세그먼트 B1을 수신하면서 세그먼트 B1을 스트리밍 형태로 다른 클라이언트 단말에 전송하도록 제어한다.At this time, the other client terminal 100 may make a request for transmission of the content B to the node A (301). Node A 301 then checks its network load to see if it exceeds a preset threshold. If its network load exceeds the threshold, node A 301 may request information about the current network load from other nodes to generate a network load table as shown in FIG. 3. Through this, the node A 301 may know that the network load of the node B 302 is the smallest, and transmits a request message for the content B of another client terminal to the node B 302. When the node B 302 receives the client request message for the content B from the node A 301, the node B 302 checks the IP address of the corresponding client terminal to form a communication path, and generates a request message for the segment B1 to the node A. To 301. Subsequently, the Node B 302 receives the segment B1 from the Node A 301 and controls the segment B1 to be transmitted to another client terminal in a streaming form.

다른 예로, 컨텐츠 B의 세그먼트 B1과 B2를 저장하고 있는 노드 A(301)와 노드 B(302)의 네트워크 부하량이 모두 임계치를 초과하는 경우, 컨텐츠 B의 세그먼트를 가지고 있지 않은 노드 C(303)의 네트워크 부하량이 적다면 노드 C(303)에게 컨텐츠 전송을 위임할 수도 있다. 이때, 노드 A(301)는 컨텐츠 분산 테이블과 클라이언트 단말의 주소 값을 노드 C(303)에 전송해야 한다. 그러면, 노드 C(303)는 수신된 컨텐츠 분산 테이블을 확인하여 컨텐츠 B의 세그먼트들을 저장하고 있는 노드를 확인하고, 컨텐츠 세그먼트 요청 메시지를 생성하여 전송한 다음, 컨텐츠 B의 세그먼트들을 수신하여 클라이언트 단말로 전송한다.As another example, if the network loads of the node A 301 and the node B 302 storing the segments B1 and B2 of the content B exceed the threshold, the node C 303 of the node B having no segment of the content B is exceeded. If the network load is light, the node C 303 may be delegated content delivery. In this case, the node A 301 should transmit the content distribution table and the address value of the client terminal to the node C 303. Then, the node C 303 checks the received content distribution table to identify the node storing the segments of the content B, generates and sends a content segment request message, and then receives the segments of the content B to the client terminal. send.

이상에서 설명한 바와 같이, 본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은 각 노드에 마련된 캐시 서버를 이용하여 멀티미디어 서버의 컨텐츠 저장 공간을 확충하고, 컨텐츠 전송에서 발생할 수 있는 부하량을 분산하여 최적의 서비스 품질(QoS)을 유지할 수 있도록 지원한다.As described above, the content distributed storage multimedia streaming system of the present invention expands the content storage space of the multimedia server by using a cache server provided in each node, and distributes the load that may occur in content transmission to provide an optimal quality of service. (QoS) to help maintain.

도 4는 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법에서 특정 노드의 기능을 설명하기 위한 흐름도이다. 이하의 설명에서, 각 노 드는 멀티미디어 서버 또는 다른 노드로부터 컨텐츠 세그먼트와 컨텐츠 분산 테이블을 수신하였다고 가정한다.4 is a flowchart illustrating a function of a specific node in a content distributed storage multimedia streaming method according to an embodiment of the present invention. In the following description, it is assumed that each node has received a content segment and a content distribution table from a multimedia server or another node.

도 4를 참조하면, 먼저 특정 노드는 클라이언트 단말로부터 컨텐츠 전송 요청을 수신한다(단계 S101).Referring to FIG. 4, first, a specific node receives a content transmission request from a client terminal (step S101).

컨텐츠 전송 요청을 수신한 특정 노드는 캐시 서버의 저장부에 저장된 컨텐츠 분산 테이블을 확인한다(단계 S102). 앞서 설명했듯이, 컨텐츠 분산 테이블은 특정 컨텐츠의 세그먼트 분할 정보, 각 세그먼트의 노드 분산 저장 정보, 각 노드의 주소 정보를 포함할 수 있다. 컨텐츠 분산 테이블을 확인한 특정 노드는 컨텐츠 세그먼트 요청 메시지를 생성하여 컨텐츠 분산 테이블에 등록된 다른 노드들에게 전송한다. 이때, 특정 노드는 컨텐츠 세그먼트 요청 메시지를 동시에 또는 순차적으로 각 노드에 전송할 수 있다.The specific node receiving the content transfer request checks the content distribution table stored in the storage of the cache server (step S102). As described above, the content distribution table may include segment split information of specific content, node distributed storage information of each segment, and address information of each node. The specific node that checks the content distribution table generates a content segment request message and transmits it to other nodes registered in the content distribution table. In this case, the specific node may transmit the content segment request message to each node simultaneously or sequentially.

다른 노드들이 자신이 저장 중인 세그먼트를 전송하면, 특정 노드는 각 노드로부터 세그먼트를 수신한다(단계 S103). 각 노드에 저장 중인 세그먼트들은 재생 우선순위에 대한 정보를 가지고 있으므로, 특정 노드는 재생 우선순위가 높은 세그먼트를 저장하고 있는 노드에 우선적으로 컨텐츠 세그먼트 요청 메시지를 전송하여 수신하는 것이 바람직할 수 있다.If other nodes transmit the segment they are storing, the specific node receives the segment from each node (step S103). Since segments stored in each node have information on a reproduction priority, it may be desirable for a specific node to transmit and receive a content segment request message to a node storing a segment having a high reproduction priority.

다음으로, 특정 노드는 취합한 컨텐츠 세그먼트들 중 우선 재생되어야 할 세그먼트를 클라이언트 단말에 스트리밍 방식으로 전송한다(단계 S104). 동시에 특정 노드는 나머지 세그먼트들을 해당 노드들로부터 수신하도록 제어한다. 즉, 특정 노드는 다른 노드들로부터 세그먼트를 수신하면서 이를 재생 우선순위에 따라 클라이 언트 단말에게 스트리밍 방식으로 바로 전송할 수 있다.Next, the specific node transmits the segment to be reproduced first among the collected content segments to the client terminal in a streaming manner (step S104). At the same time, a particular node controls to receive the remaining segments from the nodes. That is, a specific node may directly transmit the segment to other client nodes in a streaming manner according to a reproduction priority while receiving a segment from other nodes.

한편, 특정 노드는 컨텐츠 전송 중에 자신의 네트워크 부하량을 검사하여 네트워크 부하량이 미리 설정된 임계치를 초과하는지 확인한다(단계 S105). 만일 네트워크 부하량이 임계치를 초과하지 않는 경우, 특정 노드는 S104 단계의 컨텐츠 전송 과정을 계속 수행하도록 제어한다.On the other hand, the specific node checks its network load during content transmission to check whether the network load exceeds a preset threshold (step S105). If the network load does not exceed the threshold, the specific node controls to continue the content transmission process of step S104.

한편, 네트워크 부하량이 임계치를 초과하는 경우, 특정 노드는 다른 노드의 네트워크 부하량을 검사한다(단계 S106). 즉, 특정 노드는 다른 노드들에게 부하량 정보를 요청하는 메시지를 전송하여 해당 노드들의 부하량 정보를 수신한다. 이때, 부하량 정보의 요청 대상이 되는 노드들은 특정 노드와의 물리적 거리가 임계치 이하인 노드, 특정 노드와 통신하는데 소요되는 경로비용이 임계치 이하인 노드, 홉(hop) 수가 임계치 이하인 노드 등이 될 수 있다.On the other hand, when the network load exceeds the threshold, the specific node checks the network load of the other node (step S106). That is, a specific node receives load information of the corresponding nodes by transmitting a message requesting load information to other nodes. At this time, the nodes that are the request target of the load information may be a node whose physical distance from the specific node is less than or equal to the threshold, a node whose path cost required to communicate with the particular node is less than or equal to the threshold, and a node whose hop count is less than or equal to the threshold.

특정 노드는 다른 노드들로부터 수신한 네트워크 부하량을 기반으로 네트워크 부하량 테이블을 생성하고, 이를 기반으로 부하량이 적은 노드에 컨텐츠 전송을 위임할 수 있다(단계 S107). 예를 들어, 컨텐츠 Ark 세그먼트 A1, A2, A3로 분할되어 있고, 노드 A가 저장하고 있는 세그먼트 A1을 클라이언트 단말에 전송하고 있는 도중에 노드 A의 네트워크 부하량이 다양한 이유로 인하여 임계치를 초과하여 증가하는 경우, 노드 A는 세그먼트 A1 다음으로 재생되어야 할 세그먼트 A2의 전송을 다른 노드에 위임할 수 있다.The specific node may generate a network load table based on the network load received from other nodes, and delegate the content transmission to the node having a low load based on the load (step S107). For example, when the content Ark segments A1, A2, A3 are divided, and the node A stores the segment A1 stored in the node A to the client terminal, the network load of the node A increases beyond the threshold for various reasons. Node A may delegate the transmission of segment A2 to be played after segment A1 to another node.

이상 설명한 바와 같이, 본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은 컨텐츠의 저장영역을 특정 노드에 집중시키지 않고 다양한 노드로 분산하여 저장공간을 효율적으로 확장 운영할 뿐만 아니라, 컨텐츠 전송 과정에서 네트워크 부하량을 고려하여 컨텐츠 전송 노드를 동적으로 운영함으로써, 항상 최적의 서비스 품질을 유지할 수 있다.As described above, the content distributed storage multimedia streaming method of the present invention not only concentrates the storage area of the content to a specific node, but also efficiently expands and operates the storage space and reduces the network load in the content transmission process. In consideration of the dynamic operation of the content delivery node, it is possible to always maintain an optimal quality of service.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.As described above, the specification and the drawings have been described with respect to the preferred embodiments of the present invention, although specific terms are used, it is only used in a general sense to easily explain the technical details of the present invention and to help the understanding of the 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 various multimedia streaming services that appear in various forms such as video contents, online education, mass media such as movies, broadcasts, music, recording and live broadcast contents, and IPTV, including UCC.

도 1은 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타낸 도면이다.1 is a view schematically showing the configuration of a content distributed storage multimedia streaming system according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 컨텐츠 분산 테이블을 나타낸 도면이다.2 is a diagram illustrating a content distribution table according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 네트워크 부하량 테이블을 나타낸 도면이다.3 is a diagram illustrating a network load table according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법 중 노드 운용 방법을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a node operating method of a content distributed storage multimedia streaming method according to an exemplary embodiment of the present invention.

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

100: 클라이언트 단말 200: 멀티미디어 서버100: client terminal 200: multimedia server

300: 노드 네트워크300: node network

Claims (14)

멀티미디어 서버가 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계;Generating a plurality of content segments by dividing the content by the multimedia server; 상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계;The multimedia server storing the content segments in a cache server of a plurality of nodes; 상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계;If a specific node of the plurality of nodes receives a request for transmission of the content from a client terminal, receiving the content segment from the nodes according to the order in which the reproduction priority of the content segment is high; 상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계;The specific node transmitting the content segments to the client terminal in a streaming manner; 를 포함하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Content distribution storage multimedia streaming method comprising a. 청구항 1에 있어서,The method according to claim 1, 상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 저장할 상기 노드들을 할당하는 단계;The multimedia server assigning the nodes to store the content segments; 상기 멀티미디어 서버가 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 단계;Generating, by the multimedia server, a content distribution table including the content segment stored in each node and address information of the node; 상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 저장하는 상기 노드들에게 상기 컨텐츠 분산 테이블을 전송하는 단계;Sending, by the multimedia server, the content distribution table to the nodes storing the content segments; 를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Contents distributed storage multimedia streaming method further comprising. 청구항 1에 있어서,The method according to claim 1, 상기 컨텐츠 세그먼트를 수신하는 단계는, 상기 특정 노드가 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Receiving the content segment, after the specific node completes receiving a content segment having a specific playback priority from any one of the other nodes, the content segment as a node for storing the content segment having the next playback priority And transmitting a request message for the distributed content storage multimedia. 청구항 1에 있어서,The method according to claim 1, 상기 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하는 단계;Collecting network load information of the other nodes when the network load of the specific node exceeds a preset threshold; 상기 특정 노드가 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말의 주소 정보를 전송하여 컨텐츠 전송을 위임하는 단계;Delegating content transmission by transmitting the address information of the client terminal to a node having the least network load among other nodes; 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 상기 컨텐츠 전송을 위임 받은 노드가 수집하는 단계;Collecting, by the node authorized to transmit the content, a second content segment to be played next to the first content segment being transmitted by the specific node; 상기 컨텐츠 전송을 위임 받은 노드가 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 단계;Transmitting, by the node delegated to the content transmission, the second content segment to the client terminal; 를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리 밍 방법.Contents distributed storage multimedia streaming method further comprises. 멀티미디어 서버가 컨텐츠를 제1 노드에 전송하는 단계;Transmitting, by the multimedia server, the content to the first node; 상기 제1 노드가 상기 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계;Generating a plurality of content segments by dividing the content by the first node; 상기 제1 노드가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계;The first node storing the content segments in a cache server of a plurality of nodes; 상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계;If a specific node of the plurality of nodes receives a request for transmission of the content from a client terminal, receiving the content segment from the nodes according to the order in which the reproduction priority of the content segment is high; 상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계;The specific node transmitting the content segments to the client terminal in a streaming manner; 를 포함하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Content distribution storage multimedia streaming method comprising a. 청구항 5에 있어서,The method according to claim 5, 상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장할 상기 노드들을 할당하는 단계;The first node allocating the nodes to store the content segments; 상기 제1 노드가 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 단계;Generating, by the first node, a content distribution table including the content segment stored in each node and address information of the node; 상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장하는 상기 노드들에게 상기 컨텐츠 분산 테이블을 전송하는 단계;Sending, by the first node, the content distribution table to the nodes storing the content segments; 를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Contents distributed storage multimedia streaming method further comprising. 청구항 5에 있어서,The method according to claim 5, 상기 컨텐츠 세그먼트를 수신하는 단계는, 상기 특정 노드가 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Receiving the content segment, after the specific node completes receiving a content segment having a specific playback priority from any one of the other nodes, the content segment as a node for storing the content segment having the next playback priority And transmitting a request message for the distributed content storage multimedia. 청구항 5에 있어서,The method according to claim 5, 상기 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하는 단계;Collecting network load information of the other nodes when the network load of the specific node exceeds a preset threshold; 상기 특정 노드가 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말의 주소 정보를 전송하여 컨텐츠 전송을 위임하는 단계;Delegating content transmission by transmitting the address information of the client terminal to a node having the least network load among other nodes; 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 상기 컨텐츠 전송을 위임 받은 노드가 수집하는 단계;Collecting, by the node authorized to transmit the content, a second content segment to be played next to the first content segment being transmitted by the specific node; 상기 컨텐츠 전송을 위임 받은 노드가 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 단계;Transmitting, by the node delegated to the content transmission, the second content segment to the client terminal; 를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.Contents distributed storage multimedia streaming method further comprising. 컨텐츠를 생산 및 저장하고, 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 멀티미디어 서버;A multimedia server for producing and storing content and dividing the content into a plurality of content segments; 네트워크를 통하여 연결된 다수의 노드들로 이루어지고, 상기 멀티미디어 서버로부터 상기 다수의 컨텐츠 세그먼트들을 수신하여 각각의 상기 노드에 분산 저장하는 노드 네트워크;A node network comprising a plurality of nodes connected through a network, the node network receiving the plurality of content segments from the multimedia server and distributing the plurality of content segments in each of the nodes; 상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버;A specific node which is requested to transmit the content from the client terminal among the plurality of nodes, the content segment received from the nodes according to the order of the high priority playback of the content segment, and the content segments A cache server transmitting the streaming method to the client terminal; 를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.Contents distributed storage multimedia streaming system comprising a. 컨텐츠를 생산 및 저장하는 멀티미디어 서버;A multimedia server for producing and storing contents; 상기 멀티미디어 서버로부터 상기 컨텐츠를 수신하여 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 제1 노드와, 상기 제1 노드로부터 상기 컨텐츠 세그먼트들을 수신하여 저장하는 다수의 제2 노드들을 구비하는 노드 네트워크;A node network including a first node receiving the content from the multimedia server and dividing the content into a plurality of content segments, and a plurality of second nodes receiving and storing the content segments from the first node; 상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버;A specific node which is requested to transmit the content from the client terminal among the plurality of nodes, the content segment received from the nodes according to the order of the high priority playback of the content segment, and the content segments A cache server transmitting the streaming method to the client terminal; 를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.Contents distributed storage multimedia streaming system comprising a. 청구항 9 또는 청구항 10에 있어서,The method according to claim 9 or 10, 각각의 상기 노드는,Each of these nodes, 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 중앙처리장치;A central processing unit for generating a content distribution table including the content segment stored in each node and address information of the node; 상기 컨텐츠 분산 테이블을 저장하는 저장부;A storage unit for storing the content distribution table; 상기 컨텐츠 세그먼트들을 저장하는 상기 각 노드에게 상기 컨텐츠 분산 테이블을 전송하는 네트워크 어댑터;A network adapter for transmitting the content distribution table to each node storing the content segments; 를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.Contents distributed storage multimedia streaming system comprising a. 청구항 9 또는 청구항 10에 있어서,The method according to claim 9 or 10, 상기 특정 노드는 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 상기 캐시 서버를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.The specific node completes receiving a content segment having a specific playback priority from one of the other nodes, and then transmits a request message of the content segment to a node storing a content segment having a next playback priority. Contents distributed storage multimedia streaming system comprising a. 청구항 9 또는 청구항 10에 있어서,The method according to claim 9 or 10, 상기 특정 노드는 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하고, 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말 주소 정보를 전송하여 컨텐츠 전송을 위임하는 상기 캐시 서버를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.The specific node collects network load information of the other nodes when the network load exceeds a preset threshold, and transmits the client terminal address information to a node having the least network load among other nodes to delegate content transmission. Contents distributed storage multimedia streaming system comprising the cache server. 청구항 13에 있어서,14. The method of claim 13, 상기 컨텐츠 전송을 위임 받은 노드는 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 수집하고, 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 캐시 서버를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.The node authorized to transmit the content may include a cache server configured to collect a second content segment to be played next to the first content segment being transmitted by the specific node and to transmit the second content segment to the client terminal. Content distributed storage multimedia streaming system.
KR1020080117322A 2008-11-25 2008-11-25 System and Method for Multimedia Streaming of Distributed Contents KR101301004B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080117322A KR101301004B1 (en) 2008-11-25 2008-11-25 System and Method for Multimedia Streaming of Distributed Contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080117322A KR101301004B1 (en) 2008-11-25 2008-11-25 System and Method for Multimedia Streaming of Distributed Contents

Publications (2)

Publication Number Publication Date
KR20100058786A true KR20100058786A (en) 2010-06-04
KR101301004B1 KR101301004B1 (en) 2013-08-29

Family

ID=42360188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080117322A KR101301004B1 (en) 2008-11-25 2008-11-25 System and Method for Multimedia Streaming of Distributed Contents

Country Status (1)

Country Link
KR (1) KR101301004B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101337078B1 (en) * 2011-12-14 2013-12-06 충북대학교 산학협력단 A context cognition data centric storage scheme in wireless sensor networks
KR101436049B1 (en) * 2012-06-01 2014-09-01 에스케이텔레콤 주식회사 Method for providing content caching service and local caching device thereof
KR20150042067A (en) * 2013-10-10 2015-04-20 에스케이텔레콤 주식회사 Method for API of CDN service and apparatus therefor
WO2015178669A1 (en) * 2014-05-20 2015-11-26 삼성전자 주식회사 Method, device, and system for scheduling transmission and reception of media contents
US9888062B2 (en) 2010-12-24 2018-02-06 Kt Corporation Distributed storage system including a plurality of proxy servers and method for managing objects
KR101850696B1 (en) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 Multimedia- contents division multiplexing transmission method and device of thereof
WO2018097852A1 (en) * 2016-11-23 2018-05-31 Facebook, Inc. Tiered infrastructure for handling data
KR102019654B1 (en) * 2018-10-02 2019-09-09 전남대학교산학협력단 Method for switching adaptive streaming server
KR20200062891A (en) * 2018-11-27 2020-06-04 서울과학기술대학교 산학협력단 System and method for predicting user viewpoint using lication information of sound source in 360 vr contents
KR102539691B1 (en) * 2022-10-20 2023-06-02 주식회사 메디씽큐 Method for transmitting image of surgical step and system using the same
KR102539674B1 (en) * 2022-10-20 2023-06-02 주식회사 메디씽큐 Method for transmitting surgical image using cache server and system using the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595948B1 (en) * 2014-12-11 2016-02-29 충북대학교 산학협력단 Load Balancing Method of P2P Networks by Load Threshold Adjustment and Device Implementing the Same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171607A (en) * 1996-12-09 1998-06-26 Matsushita Electric Ind Co Ltd Data transfer system
KR100332320B1 (en) * 2000-04-28 2002-04-12 이재황 Web Casting System
KR20010088742A (en) * 2001-08-28 2001-09-28 문의선 Parallel Information Delievery Method Based on Peer-to-Peer Enabled Distributed Computing Technology
KR100427143B1 (en) * 2003-01-17 2004-04-14 엔에이치엔(주) Method for Transmitting and Dowloading Streaming Data

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9888062B2 (en) 2010-12-24 2018-02-06 Kt Corporation Distributed storage system including a plurality of proxy servers and method for managing objects
KR101337078B1 (en) * 2011-12-14 2013-12-06 충북대학교 산학협력단 A context cognition data centric storage scheme in wireless sensor networks
KR101436049B1 (en) * 2012-06-01 2014-09-01 에스케이텔레콤 주식회사 Method for providing content caching service and local caching device thereof
US9386099B2 (en) 2012-06-01 2016-07-05 Sk Telecom Co., Ltd. Local caching device, system and method for providing content caching service
KR20150042067A (en) * 2013-10-10 2015-04-20 에스케이텔레콤 주식회사 Method for API of CDN service and apparatus therefor
US10630744B2 (en) 2014-05-20 2020-04-21 Samsung Electronics Co., Ltd. Method, device, and system for scheduling transmission and reception of media contents
WO2015178669A1 (en) * 2014-05-20 2015-11-26 삼성전자 주식회사 Method, device, and system for scheduling transmission and reception of media contents
WO2018097852A1 (en) * 2016-11-23 2018-05-31 Facebook, Inc. Tiered infrastructure for handling data
US10244052B2 (en) 2016-11-23 2019-03-26 Facebook, Inc. Tiered infrastructure for handling data
KR101850696B1 (en) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 Multimedia- contents division multiplexing transmission method and device of thereof
KR102019654B1 (en) * 2018-10-02 2019-09-09 전남대학교산학협력단 Method for switching adaptive streaming server
KR20200062891A (en) * 2018-11-27 2020-06-04 서울과학기술대학교 산학협력단 System and method for predicting user viewpoint using lication information of sound source in 360 vr contents
KR102539691B1 (en) * 2022-10-20 2023-06-02 주식회사 메디씽큐 Method for transmitting image of surgical step and system using the same
KR102539674B1 (en) * 2022-10-20 2023-06-02 주식회사 메디씽큐 Method for transmitting surgical image using cache server and system using the same

Also Published As

Publication number Publication date
KR101301004B1 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
KR101301004B1 (en) System and Method for Multimedia Streaming of Distributed Contents
US11539768B2 (en) System and method of minimizing network bandwidth retrieved from an external network
US10218806B2 (en) Handling long-tail content in a content delivery network (CDN)
KR101072966B1 (en) Method, device and system for distributing file data
EP1911210B1 (en) Heavy load packet-switched routing
US8447862B2 (en) Global load balancing on a content delivery network
US8930538B2 (en) Handling long-tail content in a content delivery network (CDN)
CN101540775B (en) Method and device for distributing contents and network system for distributing contents
KR101104729B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Optimal Way of Acquiring Segments
CN101729273A (en) Streaming media distribution system, method and device
US10924573B2 (en) Handling long-tail content in a content delivery network (CDN)
US11843649B2 (en) System and method of minimizing network bandwidth retrieved from an external network
WO2010058215A1 (en) Method and system for content handling
JP2005018293A (en) Content delivery control device, content delivery control method and content delivery control program
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
KR101128293B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Acquisition Time
KR20100059117A (en) Streaming system and cache server for distributed multimedia contents and method for streaming contents
JP5525617B2 (en) Congestion control method
KR101112572B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Node Switching Based on Cache Segment Quantity
JP2005085146A (en) Content reproducing device, content distribution system, content reproducing program and content reproducing method
CN115499681A (en) CDN live broadcast method based on MEC, MEC server and UPF network element
Zink et al. Caching and distribution issues for streaming content distribution networks
Howe Dynamic load balancing and node migration in a continuous media network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2012101004545; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120511

Effective date: 20130723

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120511

Effective date: 20130723

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160810

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180711

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 7