KR20100058786A - 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 - Google Patents

컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 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
English (en)
Other versions
KR101301004B1 (ko
Inventor
장현민
김경환
전재식
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020080117322A priority Critical patent/KR101301004B1/ko
Publication of KR20100058786A publication Critical patent/KR20100058786A/ko
Application granted granted Critical
Publication of KR101301004B1 publication Critical patent/KR101301004B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법에 관한 것으로, 멀티미디어 서버가 컨텐츠를 다수의 세그먼트들로 분할하여 다수의 노드들의 캐시 서버에 저장하고, 특정 노드가 클라이언트 단말로부터 컨텐츠의 전송 요청을 받으면, 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 다른 노드들로부터 컨텐츠 세그먼트를 수신하여 클라이언트 단말에 스트리밍 방식으로 전송한다. 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 클라이언트 단말의 주소 정보를 전송하여 컨텐츠 전송을 위임하고, 컨텐츠 전송을 위임 받은 노드는 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 수집하여 클라이언트 단말에게 전송한다.
스트리밍, CDN, 멀티미디어 컨텐츠, 노드, 캐시 서버, 세그먼트, 재생 우선순위, 네트워크 부하, 노드 전환

Description

컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents}
본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 멀티미디어 컨텐츠를 여러 세그먼트로 분할하여 여러 노드의 캐시 서버에 분산 저장하고 클라이언트 단말의 스트리밍 요청을 받은 노드가 각 노드의 네트워크 부하를 확인하여 부하가 가장 적은 노드로 스트리밍 노드를 전환한 후 스트리밍 서비스를 제공하는 스트리밍 시스템과 방법에 관한 것이다.
인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(streaming) 서비스가 활성화되고 있다. 스트리밍이란 멀티미디어 컨텐츠 파일을 모두 전송 받은 후에 재생하는 다운로드 방식과 달리, 전체 파일의 일정량만 전송되면 이를 버퍼링하면서 실시간으로 재생하는 기법을 말한다. 버퍼링된 부분을 재생하는 동안 나머지 부분을 지속적으로 전송 받기 때문에, 전송되는 데이터가 마치 끊임없고 지속적인 물 흐름처럼 처리된다고 하여 '스트리밍'이라는 명칭이 붙여졌다. 이러한 스트리밍 서비스에는 실시간 방송 서비스나 주문형 비디오 서비스가 있다.
한편, UCC(user created contents)를 비롯한 동영상 컨텐츠의 폭발적인 증가에 따라 최근 인터넷 트래픽이 급속히 늘고 있다. 인터넷 대역폭(공급)의 성장 속도가 인터넷 트래픽(수요)의 성장 속도를 따라가지 못하는 상황에 직면한 것이다. 2007년의 경우만 보더라도 글로벌 인터넷 트래픽은 75% 성장했지만 인터넷 대역폭은 44% 증가하는데 그친 것으로 보고되고 있다.
이러한 인터넷 대역폭 부족 현상을 해결하기 위한 방안으로 CDN(contents delivery network) 기술이 관심을 끌고 있다. CDN 기술은 능동적인 트래픽 분산을 이용하여 네트워크의 평균 가동률을 높이고 피크 트래픽을 낮추어 인터넷 망을 더욱 효율적으로 활용할 수 있는 기술이다. CDN 기술에 따르면, 컨텐츠 제공자(contents provider)는 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 다수의 서버에 복제하고, 클라이언트의 요청이 있을 경우 최적의 서버로부터 컨텐츠를 제공받을 수 있도록 한다.
또한, 스트리밍과 같은 데이터 서비스에서 가입자단의 데이터 전송속도를 높이기 위해 많이 활용하고 있는 기술 중의 하나가 캐시(cache) 기술이다. 일반적인 캐시 구현에서는 캐싱되는 오브젝트가 다양한 크기의 데이터 단위로 이루어지고, 이를 바탕으로 캐시 서버는 데이터를 관리하기 위한 여러 통계들을 만들게 된다.
하지만 이러한 방법은 캐시 서버의 다양한 종류의 자원(RAM 크기, 저장공간, 원래 컨텐츠 제공자 서버에서의 총 컨텐츠 용량 등), 인터넷 전송속도의 불안정성, 사용자의 컨텐츠 사용에 대한 다양한 행동특성(다운로드나 스트리밍 도중의 중단 등), 캐시 대상인 데이터의 다양한 크기 등을 고려할 때, 캐시 서버가 다루는 오브 젝트 단위가 컨텐츠 크기에 종속될 경우 다음과 같은 여러 문제가 발생한다.
1. 크기가 큰 파일과 작은 파일을 다룰 때 일정하지 않은 컴퓨팅 자원의 활용으로 인한 비효율
2. 크기가 다른 파일을 요청한 사용자에 대한 일정하지 않은 서비스 품질(QoS)
3. 해당 파일에 대한 사용자 요청이 정상적으로 종료되지 않은 경우 생기는 분할손(즉, 사용자 요청에 의해 전체 파일을 캐시 서버나 메모리에 저장하였으나 중간에 중단되는 경우에는 전체적인 효율을 떨어뜨리게 됨)
이러한 문제를 해결하기 위한 방안으로, 크기가 다양한 대용량 멀티미디어 컨텐츠를 크기가 일정한 여러 개의 세그먼트(segment)로 분할하고 이를 여러 노드의 캐시(cache) 서버에 분산 저장하는 기술이 이미 알려져 있다. 이에 따르면, 데이터 분산 저장을 통해 전체 시스템의 부하를 분산할 수 있고, 단일 서버 하드웨어의 물리적 성능(RAM, CPU, 네트워크 대역폭 등)을 하나 이상의 캐시 서버인 것처럼 동작하게 하여 단일 서버의 하드웨어 장벽(예컨대 최대 메모리 크기) 이상의 사양을 활용할 수 있다.
그러나 종래의 컨텐츠 분산 저장형 스트리밍 기술은 데이터의 분산 저장에 초점이 맞추어져 있을 뿐으로, 클라이언트의 스트리밍 요청이 있을 때 어느 노드에서 어떤 방식으로 인접 노드들의 세그먼트들을 취합하여 스트리밍하는 것이 가장 효율적인지에 대한 연구가 부족한 실정이다.
따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에서 클라이언트의 스트리밍 요청이 있을 때 네트워크의 전체 성능과 서비스 품질 측면에서 최대한 효율적인 방식으로 컨텐츠 세그먼트들을 취합하고 스트리밍을 수행할 수 있는 멀티미디어 스트리밍 시스템과 방법을 제공하기 위한 것이다.
이러한 목적을 달성하기 위하여, 본 발명의 한 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 멀티미디어 서버가 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계; 상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계; 상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계; 상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계를 포함하여 구성될 수 있다.
본 발명의 다른 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 멀티미디어 서버가 컨텐츠를 제1 노드에 전송하는 단계; 상기 제1 노드가 상기 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계; 상기 제1 노드가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계; 상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계; 상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계를 포함하여 구성될 수 있다.
이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 상기 멀티미디어 서버 또는 상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장할 상기 노드들을 할당하는 단계; 상기 멀티미디어 서버 또는 상기 제1 노드가 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 단계; 상기 멀티미디어 서버 또는 상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장하는 상기 노드들에게 상기 컨텐츠 분산 테이블을 전송하는 단계를 더 포함할 수 있다.
또한, 상기 컨텐츠 세그먼트를 수신하는 단계는, 상기 특정 노드가 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 단계를 포함할 수 있다.
또한, 본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 상기 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하는 단계; 상기 특정 노드가 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말의 주소 정보를 전송 하여 컨텐츠 전송을 위임하는 단계; 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 상기 컨텐츠 전송을 위임 받은 노드가 수집하는 단계; 상기 컨텐츠 전송을 위임 받은 노드가 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 단계를 더 포함할 수 있다.
한편, 본 발명의 한 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 컨텐츠를 생산 및 저장하고, 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 멀티미디어 서버; 네트워크를 통하여 연결된 다수의 노드들로 이루어지고, 상기 멀티미디어 서버로부터 상기 다수의 컨텐츠 세그먼트들을 수신하여 각각의 상기 노드에 분산 저장하는 노드 네트워크; 상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버를 포함하여 구성될 수 있다.
또한, 본 발명의 다른 측면에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은, 컨텐츠를 생산 및 저장하는 멀티미디어 서버; 상기 멀티미디어 서버로부터 상기 컨텐츠를 수신하여 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 제1 노드와, 상기 제1 노드로부터 상기 컨텐츠 세그먼트들을 수신하여 저장하는 다수의 제2 노드들을 구비하는 노드 네트워크; 상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그 먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버를 포함하여 구성될 수 있다.
이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템에 있어서, 각각의 상기 노드는, 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 중앙처리장치; 상기 컨텐츠 분산 테이블을 저장하는 저장부; 상기 컨텐츠 세그먼트들을 저장하는 상기 각 노드에게 상기 컨텐츠 분산 테이블을 전송하는 네트워크 어댑터를 포함할 수 있다.
또한, 상기 특정 노드는 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송할 수 있다.
또한, 상기 특정 노드는 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하고, 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말 주소 정보를 전송하여 컨텐츠 전송을 위임할 수 있다.
또한, 상기 컨텐츠 전송을 위임 받은 노드는 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 수집하고, 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송할 수 있다.
본 발명은 분할된 컨텐츠 세그먼트들을 여러 노드의 캐시 서버에 분산 저장 하고, 클라이언트 단말의 스트리밍 요청을 받은 노드가 각 노드의 네트워크 부하를 확인하여 네트워크 부하가 가장 작은 노드로 스트리밍 노드를 전환함으로써, 스트리밍을 수행하는 노드가 다른 노드들로부터 세그먼트들을 취합하는데 걸리는 시간 및 클라이언트 단말로 컨텐츠를 전송하는데 걸리는 시간을 단축하여 네트워크의 전체 성능과 서비스 품질 측면에서 가장 효율적인 스트리밍 서비스를 제공할 수 있는 장점이 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일한 참조번호를 부여한다.
도 1은 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명의 멀티디미어 스트리밍 시스템은 클라이언트 단말(100), 멀티미디어 서버(200), 노드 네트워크(300)를 포함하여 구성된다. 이러한 시스템에서, 멀티미디어 서버(200)와 노드 네트워크(300)는 컨텐츠를 제공하는 제공 시스템이고, 클라이언트 단말(100)은 컨텐츠를 수신하여 이용하는 사용자 시스템이다.
이러한 시스템은 멀티미디어 서버(200)가 네트워크를 통하여 연결된 다수의 노드들로 이루어진 노드 네트워크(300)를 확인하고, 각 노드 네트워크(300)에 컨텐츠를 분산하여 저장할 수 있도록 지원한다. 이를 위하여 노드 네트워크(300)에 포함된 각 노드들은 캐시 서버를 포함하여야 한다. 각 노드들은 멀티미디어 서버(200)로부터 다수의 컨텐츠를 수신하여 캐싱하는 단계에서 미리 계획된 분산 정책에 따라 컨텐츠들을 부분적으로 저장할 수 있다. 이하, 각 구성요소에 대하여 보다 상세히 설명한다.
멀티미디어 서버(200)는 다양한 컨텐츠를 생산, 저장, 관리한다. 또한, 멀티미디어 서버(200)는 저장된 컨텐츠를 노드 네트워크(300)에 포함된 각 노드의 요청에 따라 분할하여 전송한다. 이를 위하여 멀티미디어 서버(200)는 컨텐츠 분산 정책을 정의한다. 컨텐츠 분산 정책은 컨텐츠를 세그먼트로 분할하고, 분할된 각 세그먼트를 어느 노드에 공급할지를 결정하는 정책이다. 이에 대한 설명은 도 2를 참조하여 후술하기로 한다.
노드 네트워크(300)는 멀티미디어 서버(200)와 클라이언트 단말(100) 사이에 배치된다. 노드 네트워크(300)는 다수의 노드들(301, 302, 303)을 이용하여 멀티미디어 서버(200)가 제공하는 컨텐츠 세그먼트들을 각각 저장하고, 이를 기반으로 클라이언트 단말(100)이 요청하는 컨텐츠를 일정한 QoS 기반으로 제공할 수 있다. 이를 위하여 각 노드들(301, 302, 303)은 캐시 서버를 포함한다.
캐시 서버는 멀티미디어 서버(200) 및 클라이언트 단말(100)에 접속하기 위한 네트워크 어댑터와, 컨텐츠 세그먼트를 저장하기 위한 저장부, 다른 컨텐츠 세 그먼트를 다른 노드로부터 수신하고 이를 기반으로 전체 컨텐츠를 제공하도록 제어하는 중앙처리장치를 포함할 수 있다. 캐시 서버는 컨텐츠 제공시 자신의 네트워크 부하량을 모니터링하고, 네트워크 부하량이 미리 설정된 임계치 이상인 경우, 컨텐츠 전송을 타 노드에 위임할 수 있다. 이에 대한 설명은 도 3을 참조하여 후술하기로 한다.
클라이언트 단말(100)은 사용자 단말기로서, 노드 네트워크(300)에 접속할 수 있는 통신모듈을 포함하는 다양한 전자장치가 될 수 있다. 예를 들어 클라이언트 단말은 모뎀을 구비한 PC, 무선 인터넷에 접속 가능한 노트북 또는 휴대 단말기, 인터넷 서비스가 가능한 이동통신 단말기 등이 될 수 있다. 클라이언트 단말(100)은 멀티미디어 서버(200)에 접속하기 위한 통신 모듈과, 멀티미디어 서버(200)가 제공하는 웹 페이지를 수신할 수 있는 웹 브라우저를 저장하는 저장부, 웹 브라우저가 수신한 웹 페이지를 출력하기 위한 표시부, 웹 페이지에 출력된 다양한 정보 및 컨텐츠를 검색하고 지정할 수 있는 입력 신호를 생성하는 입력부, 수신된 컨텐츠 재생에 따른 오디오 신호를 출력하기 위한 오디오 처리부, 이러한 구성들을 제어하기 위한 제어부를 포함할 수 있다. 제어부는 사용자 요청에 따라 노드 네트워크(300)로부터 컨텐츠를 수신하는 중에 수신 취소를 할 수 있다. 또한, 제어부는 노드 네트워크(300)의 특정 노드로부터 컨텐츠를 수신하는 중에 특정 노드 요청에 따라 다른 노드로부터 해당 컨텐츠를 이어서 수신하도록 제어할 수 있다. 이에 대한 설명은 노드 네트워크(300)의 설명과 함께 후술한다.
이상 설명한 바와 같이, 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티 미디어 스트리밍 시스템은 다수의 노드에 마련된 캐시 서버가 하나의 컨텐츠를 이루는 컨텐츠 세그먼트들을 각각 저장하고 있다가, 클라이언트 단말 요청에 따라 해당 컨텐츠 세그먼트들을 클라이언트 단말에 제공하도록 함으로써, 데이터 전송 효율을 높이고 멀티미디어 서버의 저장부 공간을 늘릴 수 있다.
이하, 컨텐츠 분산 정책 및 컨텐츠 세그먼트 전송에 대하여 도 2 및 도 3을 참조하여 보다 상세히 설명하기로 한다.
도 2는 본 발명의 컨텐츠 분산 정책을 설명하기 위한 도면이며, 도 3은 네트워크 부하량에 따른 노드 운용을 설명하기 위한 네트워크 부하량 테이블을 나타낸 도면이다. 이하의 설명에서 노드 네트워크(300)는 노드 A(301), 노드 B(302), 노드 C(303)를 포함하고, 멀티미디어 서버(200)는 컨텐츠 A와 컨텐츠 B를 저장하는 것으로 가정한다. 그러나 이는 단지 설명을 위한 예일 뿐, 본 발명이 이에 한정되거나 이러한 예가 바람직함을 의미하는 것은 아니다.
도 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)에 할당한다.
이때, 각각의 세그먼트(A1, A2, A3, B1, B2)는 그 데이터 크기가 일정하거나 유사한 크기로 분할되는 것이 바람직하다. 즉, 멀티미디어 서버(200)는 컨텐츠들을 분할하는 기준을 정하고, 그 기준에 맞추어 각 컨텐츠를 다수의 세그먼트들로 분할한다. 일정 크기로 분할된 다수의 컨텐츠 세그먼트들은 재생 순서에 대한 정보를 가지고 있다. 그러나 각 노드(301, 302, 303)는 컨텐츠 전송 과정에서 다른 노드의 세그먼트들을 취합하여 전송하기 때문에, 멀티미디어 서버(200)가 세그먼트들을 각 노드(301, 302, 303)에 분산하는 과정에서는 재생 순서와 관계없이 랜덤하게 할당할 수 있다.
한편, 본 실시예에서는 멀티미디어 서버(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을 전송할 수 있다.
한편, 각 노드(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)에 전송한다.
이때, 노드 B(302)는 컨텐츠 A의 세그먼트들의 순서를 고려하여 컨텐츠 세그먼트 요청 메시지 전송의 순서와 시간을 설정할 수 있다. 예를 들어, 노드 B(302)가 컨텐츠 A를 취합할 때 가장 우선순위가 높은 세그먼트가 노드 A(301)에 저장된 세그먼트 A1인 경우, 노드 B(302)는 컨텐츠 세그먼트 요청 메시지를 생성하여 이 메시지를 노드 A(301)에 우선적으로 전송한다. 그런 후, 노드 A(301)로부터 세그먼트 A1을 수신 완료하면, 노드 B(302)는 컨텐츠 세그먼트 요청 메시지를 노드 C(303)에 전송한다. 이러한 방식으로 노드 B(302)는 컨텐츠 A의 세그먼트들을 순차 적으로 수신하여 취합할 수 있다. 또한, 컨텐츠 분산 테이블은 각 노드의 정보를 저장할 수 있다. 즉, 컨텐츠 분산 테이블은 특정 노드가 다른 노드를 빠르게 검색하고 컨텐츠 세그먼트를 요청할 수 있도록 다른 노드의 IP 주소 정보를 함께 저장할 수 있다.
한편, 컨텐츠를 클라이언트 단말(100)에 전송하는 특정 노드는 다른 노드에게 컨텐츠 전송을 위임할 수 있다. 예를 들어 노드 A(301)가 특정 클라이언트 단말(100)로부터 컨텐츠 A에 대한 전송 요청을 수신하였다고 가정할 때, 노드 A(301)는 캐시 서버의 저장부에 저장된 컨텐츠 분산 테이블을 확인하여 노드 B(302) 및 노드 C(303)에 각각 필요한 세그먼트가 저장되어 있음을 확인한다. 그런 후, 노드 A(301)는 컨텐츠 세그먼트 요청 메시지를 생성하여 노드 B(302)와 노드 C(303)에 각각 동시에 전송하거나 순차적으로 전송하는 한편, 클라이언트 단말(100)에 자신이 저장 중인 세그먼트 A1을 스트리밍 방식에 따라 전송하기 시작한다. 아울러, 노드 A(301)는 다른 노드들로부터 세그먼트들를 수신하기 시작하므로, 노드 A(301)의 네트워크 부하량은 증가하게 된다.
이때, 다른 클라이언트 단말(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을 스트리밍 형태로 다른 클라이언트 단말에 전송하도록 제어한다.
다른 예로, 컨텐츠 B의 세그먼트 B1과 B2를 저장하고 있는 노드 A(301)와 노드 B(302)의 네트워크 부하량이 모두 임계치를 초과하는 경우, 컨텐츠 B의 세그먼트를 가지고 있지 않은 노드 C(303)의 네트워크 부하량이 적다면 노드 C(303)에게 컨텐츠 전송을 위임할 수도 있다. 이때, 노드 A(301)는 컨텐츠 분산 테이블과 클라이언트 단말의 주소 값을 노드 C(303)에 전송해야 한다. 그러면, 노드 C(303)는 수신된 컨텐츠 분산 테이블을 확인하여 컨텐츠 B의 세그먼트들을 저장하고 있는 노드를 확인하고, 컨텐츠 세그먼트 요청 메시지를 생성하여 전송한 다음, 컨텐츠 B의 세그먼트들을 수신하여 클라이언트 단말로 전송한다.
이상에서 설명한 바와 같이, 본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은 각 노드에 마련된 캐시 서버를 이용하여 멀티미디어 서버의 컨텐츠 저장 공간을 확충하고, 컨텐츠 전송에서 발생할 수 있는 부하량을 분산하여 최적의 서비스 품질(QoS)을 유지할 수 있도록 지원한다.
도 4는 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법에서 특정 노드의 기능을 설명하기 위한 흐름도이다. 이하의 설명에서, 각 노 드는 멀티미디어 서버 또는 다른 노드로부터 컨텐츠 세그먼트와 컨텐츠 분산 테이블을 수신하였다고 가정한다.
도 4를 참조하면, 먼저 특정 노드는 클라이언트 단말로부터 컨텐츠 전송 요청을 수신한다(단계 S101).
컨텐츠 전송 요청을 수신한 특정 노드는 캐시 서버의 저장부에 저장된 컨텐츠 분산 테이블을 확인한다(단계 S102). 앞서 설명했듯이, 컨텐츠 분산 테이블은 특정 컨텐츠의 세그먼트 분할 정보, 각 세그먼트의 노드 분산 저장 정보, 각 노드의 주소 정보를 포함할 수 있다. 컨텐츠 분산 테이블을 확인한 특정 노드는 컨텐츠 세그먼트 요청 메시지를 생성하여 컨텐츠 분산 테이블에 등록된 다른 노드들에게 전송한다. 이때, 특정 노드는 컨텐츠 세그먼트 요청 메시지를 동시에 또는 순차적으로 각 노드에 전송할 수 있다.
다른 노드들이 자신이 저장 중인 세그먼트를 전송하면, 특정 노드는 각 노드로부터 세그먼트를 수신한다(단계 S103). 각 노드에 저장 중인 세그먼트들은 재생 우선순위에 대한 정보를 가지고 있으므로, 특정 노드는 재생 우선순위가 높은 세그먼트를 저장하고 있는 노드에 우선적으로 컨텐츠 세그먼트 요청 메시지를 전송하여 수신하는 것이 바람직할 수 있다.
다음으로, 특정 노드는 취합한 컨텐츠 세그먼트들 중 우선 재생되어야 할 세그먼트를 클라이언트 단말에 스트리밍 방식으로 전송한다(단계 S104). 동시에 특정 노드는 나머지 세그먼트들을 해당 노드들로부터 수신하도록 제어한다. 즉, 특정 노드는 다른 노드들로부터 세그먼트를 수신하면서 이를 재생 우선순위에 따라 클라이 언트 단말에게 스트리밍 방식으로 바로 전송할 수 있다.
한편, 특정 노드는 컨텐츠 전송 중에 자신의 네트워크 부하량을 검사하여 네트워크 부하량이 미리 설정된 임계치를 초과하는지 확인한다(단계 S105). 만일 네트워크 부하량이 임계치를 초과하지 않는 경우, 특정 노드는 S104 단계의 컨텐츠 전송 과정을 계속 수행하도록 제어한다.
한편, 네트워크 부하량이 임계치를 초과하는 경우, 특정 노드는 다른 노드의 네트워크 부하량을 검사한다(단계 S106). 즉, 특정 노드는 다른 노드들에게 부하량 정보를 요청하는 메시지를 전송하여 해당 노드들의 부하량 정보를 수신한다. 이때, 부하량 정보의 요청 대상이 되는 노드들은 특정 노드와의 물리적 거리가 임계치 이하인 노드, 특정 노드와 통신하는데 소요되는 경로비용이 임계치 이하인 노드, 홉(hop) 수가 임계치 이하인 노드 등이 될 수 있다.
특정 노드는 다른 노드들로부터 수신한 네트워크 부하량을 기반으로 네트워크 부하량 테이블을 생성하고, 이를 기반으로 부하량이 적은 노드에 컨텐츠 전송을 위임할 수 있다(단계 S107). 예를 들어, 컨텐츠 Ark 세그먼트 A1, A2, A3로 분할되어 있고, 노드 A가 저장하고 있는 세그먼트 A1을 클라이언트 단말에 전송하고 있는 도중에 노드 A의 네트워크 부하량이 다양한 이유로 인하여 임계치를 초과하여 증가하는 경우, 노드 A는 세그먼트 A1 다음으로 재생되어야 할 세그먼트 A2의 전송을 다른 노드에 위임할 수 있다.
이상 설명한 바와 같이, 본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은 컨텐츠의 저장영역을 특정 노드에 집중시키지 않고 다양한 노드로 분산하여 저장공간을 효율적으로 확장 운영할 뿐만 아니라, 컨텐츠 전송 과정에서 네트워크 부하량을 고려하여 컨텐츠 전송 노드를 동적으로 운영함으로써, 항상 최적의 서비스 품질을 유지할 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠, IPTV 등 다양한 형태로 나타나고 있는 각종 멀티미디어 스트리밍 서비스에 유용하게 이용할 수 있다.
도 1은 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 컨텐츠 분산 테이블을 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 네트워크 부하량 테이블을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법 중 노드 운용 방법을 설명하기 위한 흐름도이다.
<도면의 주요부분에 대한 설명>
100: 클라이언트 단말 200: 멀티미디어 서버
300: 노드 네트워크

Claims (14)

  1. 멀티미디어 서버가 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계;
    상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계;
    상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계;
    상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계;
    를 포함하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  2. 청구항 1에 있어서,
    상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 저장할 상기 노드들을 할당하는 단계;
    상기 멀티미디어 서버가 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 단계;
    상기 멀티미디어 서버가 상기 컨텐츠 세그먼트들을 저장하는 상기 노드들에게 상기 컨텐츠 분산 테이블을 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  3. 청구항 1에 있어서,
    상기 컨텐츠 세그먼트를 수신하는 단계는, 상기 특정 노드가 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  4. 청구항 1에 있어서,
    상기 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하는 단계;
    상기 특정 노드가 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말의 주소 정보를 전송하여 컨텐츠 전송을 위임하는 단계;
    상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 상기 컨텐츠 전송을 위임 받은 노드가 수집하는 단계;
    상기 컨텐츠 전송을 위임 받은 노드가 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리 밍 방법.
  5. 멀티미디어 서버가 컨텐츠를 제1 노드에 전송하는 단계;
    상기 제1 노드가 상기 컨텐츠를 분할하여 다수의 컨텐츠 세그먼트들을 생성하는 단계;
    상기 제1 노드가 상기 컨텐츠 세그먼트들을 다수의 노드들의 캐시 서버에 저장하는 단계;
    상기 다수의 노드들 중 특정 노드가 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받으면, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하는 단계;
    상기 특정 노드가 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 단계;
    를 포함하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  6. 청구항 5에 있어서,
    상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장할 상기 노드들을 할당하는 단계;
    상기 제1 노드가 상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 단계;
    상기 제1 노드가 상기 컨텐츠 세그먼트들을 저장하는 상기 노드들에게 상기 컨텐츠 분산 테이블을 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  7. 청구항 5에 있어서,
    상기 컨텐츠 세그먼트를 수신하는 단계는, 상기 특정 노드가 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  8. 청구항 5에 있어서,
    상기 특정 노드의 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하는 단계;
    상기 특정 노드가 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말의 주소 정보를 전송하여 컨텐츠 전송을 위임하는 단계;
    상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 상기 컨텐츠 전송을 위임 받은 노드가 수집하는 단계;
    상기 컨텐츠 전송을 위임 받은 노드가 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  9. 컨텐츠를 생산 및 저장하고, 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 멀티미디어 서버;
    네트워크를 통하여 연결된 다수의 노드들로 이루어지고, 상기 멀티미디어 서버로부터 상기 다수의 컨텐츠 세그먼트들을 수신하여 각각의 상기 노드에 분산 저장하는 노드 네트워크;
    상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버;
    를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  10. 컨텐츠를 생산 및 저장하는 멀티미디어 서버;
    상기 멀티미디어 서버로부터 상기 컨텐츠를 수신하여 상기 컨텐츠를 다수의 컨텐츠 세그먼트들로 분할하는 제1 노드와, 상기 제1 노드로부터 상기 컨텐츠 세그먼트들을 수신하여 저장하는 다수의 제2 노드들을 구비하는 노드 네트워크;
    상기 다수의 노드들 중 클라이언트 단말로부터 상기 컨텐츠의 전송을 요청 받은 특정 노드에 구비되며, 상기 컨텐츠 세그먼트의 재생 우선순위가 높은 순서에 따라 상기 노드들로부터 상기 컨텐츠 세그먼트를 수신하고, 상기 컨텐츠 세그먼트들을 상기 클라이언트 단말에 스트리밍 방식으로 전송하는 캐시 서버;
    를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  11. 청구항 9 또는 청구항 10에 있어서,
    각각의 상기 노드는,
    상기 각 노드에 저장된 상기 컨텐츠 세그먼트 및 상기 노드의 주소 정보를 포함하는 컨텐츠 분산 테이블을 생성하는 중앙처리장치;
    상기 컨텐츠 분산 테이블을 저장하는 저장부;
    상기 컨텐츠 세그먼트들을 저장하는 상기 각 노드에게 상기 컨텐츠 분산 테이블을 전송하는 네트워크 어댑터;
    를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  12. 청구항 9 또는 청구항 10에 있어서,
    상기 특정 노드는 다른 노드들 중 어느 하나로부터 특정 재생 우선순위를 갖는 컨텐츠 세그먼트를 수신 완료한 후, 다음 재생 우선순위를 갖는 컨텐츠 세그먼트를 저장하는 노드로 상기 컨텐츠 세그먼트의 요청 메시지를 전송하는 상기 캐시 서버를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  13. 청구항 9 또는 청구항 10에 있어서,
    상기 특정 노드는 네트워크 부하량이 미리 설정된 임계치를 초과하는 경우, 상기 다른 노드들의 네트워크 부하량 정보를 수집하고, 다른 노드들 중 네트워크 부하량이 가장 작은 노드에게 상기 클라이언트 단말 주소 정보를 전송하여 컨텐츠 전송을 위임하는 상기 캐시 서버를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  14. 청구항 13에 있어서,
    상기 컨텐츠 전송을 위임 받은 노드는 상기 특정 노드가 전송 중인 제1 컨텐츠 세그먼트 다음으로 재생될 제2 컨텐츠 세그먼트를 수집하고, 상기 제2 컨텐츠 세그먼트를 상기 클라이언트 단말에게 전송하는 캐시 서버를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
KR1020080117322A 2008-11-25 2008-11-25 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 KR101301004B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080117322A KR101301004B1 (ko) 2008-11-25 2008-11-25 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080117322A KR101301004B1 (ko) 2008-11-25 2008-11-25 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Publications (2)

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

Family

ID=42360188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080117322A KR101301004B1 (ko) 2008-11-25 2008-11-25 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101301004B1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101337078B1 (ko) * 2011-12-14 2013-12-06 충북대학교 산학협력단 무선 센서 네트워크를 위한 상황 인지 데이터 중심 저장 방법
KR101436049B1 (ko) * 2012-06-01 2014-09-01 에스케이텔레콤 주식회사 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR20150042067A (ko) * 2013-10-10 2015-04-20 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 기반의 api 제공 방법 및 이를 위한 캐시 장치
WO2015178669A1 (ko) * 2014-05-20 2015-11-26 삼성전자 주식회사 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
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 (ko) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 멀티미디어 콘텐츠의 다중분할 전송 방법 및 장치
WO2018097852A1 (en) * 2016-11-23 2018-05-31 Facebook, Inc. Tiered infrastructure for handling data
KR102019654B1 (ko) * 2018-10-02 2019-09-09 전남대학교산학협력단 적응형 스트리밍 서버를 전환하기 위한 방법
KR20200062891A (ko) * 2018-11-27 2020-06-04 서울과학기술대학교 산학협력단 360도 vr 콘텐츠 내의 음원 위치 정보를 이용한 사용자의 시점 예측 시스템 및 방법
KR102539691B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 수술 단계 영상 전송 방법 및 이를 이용한 시스템
KR102539674B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 캐시 서버를 이용한 수술 영상 전송 방법 및 이를 이용한 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595948B1 (ko) * 2014-12-11 2016-02-29 충북대학교 산학협력단 부하 임계치 조정을 통한 p2p 네트워크의 부하 분산 처리 방법 및 이를 구현하는 디바이스

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171607A (ja) * 1996-12-09 1998-06-26 Matsushita Electric Ind Co Ltd データ転送システム
KR100332320B1 (ko) * 2000-04-28 2002-04-12 이재황 병렬형 제어구조의 웹-캐스팅 시스템
KR20010088742A (ko) * 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
KR100427143B1 (ko) * 2003-01-17 2004-04-14 엔에이치엔(주) 스트리밍 데이터 전송 및 다운로드 방법

Cited By (16)

* 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 (ko) * 2011-12-14 2013-12-06 충북대학교 산학협력단 무선 센서 네트워크를 위한 상황 인지 데이터 중심 저장 방법
KR101436049B1 (ko) * 2012-06-01 2014-09-01 에스케이텔레콤 주식회사 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US9386099B2 (en) 2012-06-01 2016-07-05 Sk Telecom Co., Ltd. Local caching device, system and method for providing content caching service
KR20150042067A (ko) * 2013-10-10 2015-04-20 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 기반의 api 제공 방법 및 이를 위한 캐시 장치
WO2015178669A1 (ko) * 2014-05-20 2015-11-26 삼성전자 주식회사 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
US10630744B2 (en) 2014-05-20 2020-04-21 Samsung Electronics Co., Ltd. Method, device, and system for scheduling transmission and reception of media contents
US10244052B2 (en) 2016-11-23 2019-03-26 Facebook, Inc. Tiered infrastructure for handling data
WO2018097852A1 (en) * 2016-11-23 2018-05-31 Facebook, Inc. Tiered infrastructure for handling data
KR101850696B1 (ko) * 2017-04-10 2018-04-23 주식회사 넥서스커뮤니티 멀티미디어 콘텐츠의 다중분할 전송 방법 및 장치
KR102019654B1 (ko) * 2018-10-02 2019-09-09 전남대학교산학협력단 적응형 스트리밍 서버를 전환하기 위한 방법
KR20200062891A (ko) * 2018-11-27 2020-06-04 서울과학기술대학교 산학협력단 360도 vr 콘텐츠 내의 음원 위치 정보를 이용한 사용자의 시점 예측 시스템 및 방법
KR102539691B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 수술 단계 영상 전송 방법 및 이를 이용한 시스템
KR102539674B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 캐시 서버를 이용한 수술 영상 전송 방법 및 이를 이용한 시스템
WO2024085466A1 (ko) * 2022-10-20 2024-04-25 주식회사 메디씽큐 캐시 서버를 이용한 수술 영상 전송 방법 및 이를 이용한 시스템
WO2024085467A1 (ko) * 2022-10-20 2024-04-25 주식회사 메디씽큐 수술 단계 영상 전송 방법 및 이를 이용한 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101301004B1 (ko) 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
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 (ko) 파일 데이터 분배 방법, 디바이스, 및 시스템
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 (zh) 内容分发方法、装置与内容分发网络***
KR101104729B1 (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US9497035B2 (en) Method, device, and system for playing media based on P2P
CN101729273A (zh) 一种流媒体分发***、方法及装置
KR20130040236A (ko) 오디오 및 비디오 온 디맨드를 위한 방법, 서버 및 단말기
US20240179200A1 (en) System and method of minimizing network bandwidth retrieved from an external network
US10924573B2 (en) Handling long-tail content in a content delivery network (CDN)
WO2010058215A1 (en) Method and system for content handling
JP2005018293A (ja) コンテンツ配信制御装置、コンテンツ配信制御方法およびコンテンツ配信制御プログラム
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
KR101128293B1 (ko) 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR20100059117A (ko) 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
JP5525617B2 (ja) 輻輳制御方法
KR101112572B1 (ko) 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
JP2005085146A (ja) コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生プログラム、コンテンツ再生方法
CN115499681A (zh) 基于mec的cdn直播方法、mec服务器及upf网元
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