KR101525471B1 - 비디오제공방법 및 비디오제공시스템 - Google Patents

비디오제공방법 및 비디오제공시스템 Download PDF

Info

Publication number
KR101525471B1
KR101525471B1 KR1020130148191A KR20130148191A KR101525471B1 KR 101525471 B1 KR101525471 B1 KR 101525471B1 KR 1020130148191 A KR1020130148191 A KR 1020130148191A KR 20130148191 A KR20130148191 A KR 20130148191A KR 101525471 B1 KR101525471 B1 KR 101525471B1
Authority
KR
South Korea
Prior art keywords
swarm
video
peer node
peer
scene
Prior art date
Application number
KR1020130148191A
Other languages
English (en)
Other versions
KR20150050276A (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 주식회사 마블루스
Publication of KR20150050276A publication Critical patent/KR20150050276A/ko
Application granted granted Critical
Publication of KR101525471B1 publication Critical patent/KR101525471B1/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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 비디오제공방법 및 비디오제공시스템에 관한 것이다. 본 발명의 제 1 측면에 따르면, 비디오제공시스템에서 비디오를 제공하는 방법으로서, 제1피어노드로부터 비디오의 수신을 요청받으면, 제1스웜에 상기 제1피어노드를 추가시키는 단계, 상기 제1피어노드로 상기 제1 스웜에 할당된 비디오씬을 제공하는 단계, 및 상기 제1 스웜에 할당된 비디오씬의 제공이 완료되면 제2스웜에 할당된 비디오씬을 상기 제1피어노드에 할당하는 단계를 포함할 수 있다.

Description

비디오제공방법 및 비디오제공시스템{METHOD AND SYSTEM FOR PROVIDING VIDEO}
본 발명은 비디오제공방법 및 비디오제공시스템에 관한 것으로, 보다 상세하게는, 비디오를 요청하는 피어노드를 하나 이상의 스웜으로 그룹핑하고 각 스웜 별로 상이한 비디오씬을 수신할 수 있도록 함으로써, 비디오를 효과적으로 제공할 수 있는 방법 및 시스템에 관한 것이다.
최근 들어 컨텐츠를 효과적으로 서비스하는 것이 중요해짐에 따라 컨텐츠를 효과적으로 제공할 수 있는 방법에 관한 연구가 활발해지고 있다. 특히, 컨텐츠 중에서 용량이 큰 비디오를, 유저가 원하는 시간에 제공할 수 있는 방법에 관한 연구가 활발해지고 있다.
관련하여 비디오 컨텐츠를 제공하는 방법으로서, P2P(Peer-To-Peer)가 대표적인 솔루션으로 제시되고 있다. P2P는, 비디오를 복수개의 비디오청크(chunk)로 저장하고 있는 비디오서버가, 적어도 하나의 비디오청크를 피어노드로 전송하면, 상기 피어노드가 임시 서버 역할을 수행하면서 다른 피어노드로 비디오청크를 제공하는 방법이다. 이러한 P2P는, 피어노드 각각이 갖고 있는 자원을 다른 피어노드와 공유할 수 있다는 장점을 갖는다.
반면, P2P는, 각 피어노드의 업링크 자원을 효과적으로 활용할 수 없다는 문제점을 갖는다. 즉, 비디오서버로부터, 다른 피어노드로 제공할만한 개수의 비디오청크를 수신하지 못한 피어노드는 다른 피어노드로 비디오를 제공할 수 없기 때문에 업링크의 자원을 활용할 수 없다는 문제점을 갖는다.
관련하여 선행문헌인 특허출원번호 제 2001-0086984 호에서는, 멀티미디어 데이터를 분산 저장하고 있는 다수의 클라이언트와, 클라이언트에 분산 저장된 멀티미디어 데이터의 목록을 관리하는 서버를 포함하는 멀티미디어 스트리밍 장치에 대해 개시한다. 즉, 선행문헌에서는, 클라이언트가 먼저 자신의 로컬 디스크에 저장된 멀티미디어 데이터를 검색하며, 로컬 디스크에 해당 멀티미디어 데이터가 없는 경우에는, 서버에 멀티미디어 데이터의 목록을 요청하고, 클라이언트가 멀티미디어 데이터의 목록에서 해당 멀티미디어 데이터를 검색하여, 해당 멀티미디어 데이터를 저장하고 있는 클라이언트로부터 스트리밍 서비스를 받으며, 다른 클라이언트가 해당 멀티미디어 데이터를 저장하고 있지 않은 경우에는, 서버로부터 스트리밍 서비스를 받게 되는 내용에 대해 개시한다. 즉, 선행문헌에서는 P2P 방식을 사용하여 멀티미디어 스트리밍 서비스를 제공하는 장치 및 방법에 관해 설명하고 있으나, 선행문헌에서도 역시 상술된 문제점을 역시 해결하지 못한다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
다만, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일실시예는 비디오제공방법 및 비디오제공시스템을 제시하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 비디오제공시스템에서 비디오를 제공하는 방법으로서, 제1피어노드로부터 비디오의 수신을 요청받으면, 제1스웜에 상기 제1피어노드를 추가시키는 단계, 상기 제1피어노드로 상기 제1 스웜에 할당된 비디오씬을 제공하는 단계, 및 상기 제1 스웜에 할당된 비디오씬의 제공이 완료되면 제2스웜에 할당된 비디오씬을 상기 제1피어노드에 할당하는 단계를 포함할 수 있다.
본 발명의 제 2 측면에 따르면, 비디오제공시스템으로서, 제1피어노드로부터 비디오의 수신을 요청받으면, 제1스웜에 상기 제1피어노드를 추가시키도록 구성되는 스웜관리부, 및 상기 제1 스웜에 할당된 비디오씬이 상기 제1피어노드로 제공되도록 구성되는 씬제공부를 포함하고, 상기 씬제공부는 추가적으로, 상기 제1 스웜에 할당된 비디오씬의 제공이 완료되면 제2스웜에 할당된 비디오씬을 상기 제1피어노드에 할당하도록 구성될 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일실시예는 비디오제공방법 및 비디오제공시스템을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 피어노드의 비디오 요청을 빠르게 처리할 수 있는 비디오제공방법 및 비디오제공시스템을 제시할 수 있다.
그리고, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 비디오를 제공하기 위한 비디오서버를 늘리지 않아도, 비디오를 효과적으로 제공할 수 있는 비디오제공방법 및 비디오제공시스템을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 제1스웜은, VoD서버로부터 비디오씬을 제공받을 수 있고, 또한, 상기 제1스웜이 생성되기 직전에 생성된 제2스웜으로부터 비디오씬을 제공받을 수 있는 비디오제공방법 및 비디오제공시스템을 제시할 수 있다. 이로 인해 제2스웜에 포함되는 피어노드들은 업링크를 지속적으로 사용할 수 있고, 이는 자원의 낭비를 최소화시킨다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 비디오씬의 ID에 상관없이, 피어노드는 비디오를 구성하는 비디오씬을 랜덤하게 제공받을 수 있는 비디오제공방법 및 비디오제공시스템을 제시할 수 있다. 따라서 예를 들어 피어노드는, 비디오 플레이 시간 중 임의의 시간에서부터 소정의 시간 동안 플레이되는 비디오씬을 먼저 제공받을 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1a 및 도 1b는 본 발명의 일실시예에 따른 비디오제공시스템의 구성도이다.
도 2는 본 발명의 일실시예에 따른 비디오제공시스템을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 비디오제공방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
비디오서버에 저장된 비디오파일을 시간단위로 K(K는 1이상의 정수)개의 균등한 사이즈로 분할할 수 있고, 각 분할된 비디오파일을 ‘비디오씬’으로 지칭하며, 비디오씬은 비디오씬을 구성하는 비디오청크를 포함할 수 있다. 본 명세서에서는 설명의 편의상, 비디오씬 각각을 구분하기 위한 식별정보인 ID를 할당할 수 있으며, 비디오가 플레이될 때 가장 먼저 플레이되기 시작하는 비디오씬의 ID를 1로 설정하고, 후속하여 플레이되는 비디오씬에 순차적으로 증가된 ID를 할당한다. 따라서, 분할된 비디오파일의 첫 시작 비디오파일은 비디오씬1로, 상기 비디오씬1에 후속하는 비디오씬은 비디오씬2로 정의하며, 상기 분할된 비디오파일의 마지막 비디오파일은 비디오씬K로 정의한다.
‘제1피어노드’는, 비디오제공시스템에 액세스하여 비디오의 수신을 요청하는 피어노드를 지칭하며, 비디오제공시스템에 기(旣)액세스하여 비디오를 수신하고 있는 피어노드와 구분될 수 있다.
또한 ‘제1스웜’은, 비디오제공시스템에 의해 생성된 스웜으로서, (스웜의 개수가 총 N(N은 1이상의 정수)개일 때) 가장 최근에 생성된 N번째 스웜을 지칭한다. 또한 ‘제2스웜’은 제1스웜이 생성되기 직전에 생성된 스웜으로서, (제1스웜이 생성되기 직전이어서 스웜의 개수가 N-1일 때) N-1번째 스웜을 지칭하며, 상기 제1스웜에 할당된 비디오씬을 캐싱하고 있다. 이때, 설명의 편의상 ‘N번째 스웜’에서의 N은, 스웜을 식별하기 위한 ID임을 가정한다. 따라서 예를 들어, 2번째 스웜의 ID는 2일 수 있으며, 2번? 스웜의 ID보다 작은 ID를 갖는 스웜은 1번째 스웜이다.
도 1a 및 1b는 본 발명의 일실시예에 따른 비디오제공시스템(100)을 설명하기 위한 구성도이다.
비디오제공시스템(100)은 비디오파일의 VoD(Video on Demand) 서비스를 요청하는 엔드-호스트에게 비디오를 제공하는 시스템으로서, 하나 이상의 피어노드(1)를 포함하는 스웜(10, 11, 12) 및 VoD서버(20)를 포함할 수 있다.
비디오제공시스템(100)에 포함되는 피어노드(1)는 비디오파일의 VoD서비스를 요청하는 엔드-호스트를 지칭하며, 이러한 피어노드(1)은 예를 들어, 컴퓨터나 휴대용 단말기, 텔레비전 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다.
이러한 피어노드(1)는 스웜(swarm; 10, 11, 12)으로 그룹핑될 수 있다.
여기서 ‘스웜(10, 11, 12)’ 각각은 동일한 비디오씬을 수신(비디오씬을 다운로드하거나 실시간으로 스트리밍)하려는 피어노드의 그룹을 지칭한다. 이러한 스웜은 도 1a에 도시된 바와 같이 비디오제공시스템 내에서 1개일 수 있으며, 또는 도 1b에서 도시된 바와 같이 비디오제공시스템 내에서 복수 개일 수 있다.
한편, VoD(20) 서버는, 피어노드가 필요로 하는 영상을 원하는 시간에 제공해주는 맞춤영상정보 서비스를 제공할 수 있는 서버로서, 상기 피어노드로 서비스되는 비디오파일을 저장하고 있다. VoD서버(20)는, 최초로 생성되는 스웜1로 비디오씬을 서비스할 수 있으며, 또한 긴급하게 요청되는 비디오씬을 다른 스웜으로 서비스할 수 있다.
한편, 트랙킹장치(30)는, 스웜(10, 11, 12)에 포함되는 피어노드(1)가 비디오씬을 서비스받기 위해 필요한 각종 정보를 상기 피어노드(1)로 제공할 수 있다.
상술된 각 구성요소들은 네트워크(N)를 통해 통신할 수 있으며, 네트워크(N)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 개인 근거리 무선통신(Personal Area Network; PAN), 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
도 2는 본 발명의 일실시예에 따른 비디오제공시스템(100)을 도시한 블록도이다.
도 2에서 도시된 바와 같이, 비디오제공시스템(100)은, 스웜관리부(210), 트래킹부(220) 및 씬제공부(230)를 포함할 수 있다.
스웜관리부(210)는, 피어노드를 스웜으로 그룹핑하도록 구성될 수 있다.
즉 스웜관리부(210)는 피어노드를 스웜으로 그룹핑할지 여부를 판단할 수 있다. 예를 들어, 비디오의 수신을 요청하는 피어노드가 하나 이상이고, 상기 피어노드의 개수가 임계치를 초과한다면, 피어노드를 복수 개의 스웜으로 그룹핑할 수 있고, 피어노드의 개수가 임계치 이하이면 피어노드를 1개의 스웜으로 그룹핑할 수 있다. 이때 임계치는 비디오제공시스템에서 임의로 설정된 값일 수 있으며, 보다 구체적으로는 트래킹부(220)에 의해 설정될 수 있고, 피어노드 각각에 대한 비디오씬의 제공속도 등을 고려하여 설정될 수 있다.
또한 스웜관리부(210)는 비디오 수신을 요청하는 제1피어노드를 스웜에 추가할 수 있다.
즉, 스웜관리부(210)는 트래킹부(220)로 하여금 제1피어노드로 씨드정보 및 피어정보를 제공하도록 하고, 상기 씨드정보 및 피어정보 중 적어도 하나에 기초하여 제1피어노드를 가장 최근에 생성된 제1스웜에 추가시킬 수 있다.
또한 스웜관리부(210)는 새로운 스웜을 생성할 수 있다. 예를 들어, 제1피어노드의 도착시간이, 가장 최근에 생성된 스웜에 대응되는 도착시간 구간을 벗어나면, 상기 가장 최근에 생성된 스웜을 제2스웜으로 설정하고, 새로운 스웜을 생성하여 생성된 스웜을 제1스웜으로 설정하고 제1스웜에 제1피어노드가 추가되도록 할 수 있다.
여기서 피어노드의 ‘도착시간’은 피어노드가 비디오의 수신을 위해 비디오제공시스템으로 액세스를 요청하는 시간으로서, 비디오를 요청하는 시간과 같을 수 있다. 또한 스웜에 할당된 ‘도착시간 구간’은, 상기 스웜에 포함되거나 포함될 피어노드의 도착시간의 범위를 의미한다.
한편, 트래킹부(220)는, 제1피어노드로부터 비디오의 수신을 요청받으면, 상기 제1피어노드로 씨드정보 및 피어정보를 제공하도록 구성될 수 있다.
여기서 씨드정보는, 비디오씬을 저장(예를 들어, 캐싱)하고 있는 피어노드에 관한 정보로서, 예를 들어, 제1피어노드가 추가될 제1스웜 직전에 생성된 제2스웜의 피어노드리스트 또는 VoD서버정보를 포함할 수 있다. 여기서, 피어노드리스트는, 각 스웜에 포함되는 피어노드들의 목록을 지칭한다.
그리고, 피어정보는, 제1피어노드가 추가될 제1스웜에 포함되는 피어노드리스트를 포함할 수 있다.
트래킹부(220)는, 제1피어노드로 씨드정보 및 피어정보를 제공하기 위해, VoD서버정보 및 스웜 각각에 대응되는 피어노드리스트 및 피어노드의 도착시간 구간에 관한 정보를 저장할 수 있다.
한편 씬제공부(230)는, 피어노드가 비디오씬을 제공받을 수 있도록 구성될 수 있다.
즉, 씬제공부(230)는 스웜에 포함되는 피어노드가, 스웜에 할당된 비디오씬을 수신할 수 있도록 동작할 수 있고, 또한, 상기 비디오씬의 수신을 완료하면, 다른 비디오씬을 스웜에 할당하여, 비디오씬을 계속적으로 수신할 수 있도록 처리할 수 있다.
예를 들어, 씬제공부(230)는 제1스웜에 할당된 비디오씬을 제1스웜에 할당된 피어노드가 수신하는 것을 완료하면, 제1스웜 직전에 형성되었던 제2스웜에 할당된 비디오씬을 할당하여 수신할 수 있도록 처리할 수 있다.
또한 씬제공부(230)는 제1피어노드가 이웃 피어노드와 청크정보(비디오청크에 관한 정보)를 교환하도록 하며, 제1피어노드가 갖고자 하는 비디오청크를 갖고 있는 피어노드로, 상기 비디오청크를 요청하는 메시지를 전달하도록 할 수 있다.
이때, 씬제공부(230)는 이웃 피어노드로 제1피어노드가 비디오청크를 요청하도록 할 수 있다.
이때 이웃 피어노드는 제1피어노드가 다음의 조건을 만족할 때, 상기 요청된 비디오청크를 제1피어노드로 제공할 수 있다.
관련하여 이웃 피어노드는, 비디오청크를 요청받았을 때 다음과 같은 우선순위로 비디오청크를 제공할 피어노드를 선택할 수 있다.
첫 번째로, 이웃 피어노드가 포함된 스웜보다 작은 ID를 갖는 스웜에 포함된 피어노드로 비디오청크를 제공할 수 있다. 두 번째로, 이웃 피어노드가 포함된 스웜에 포함되되 작은 ID를 갖는 비디오씬을 요청하는 피어노드로 비디오청크를 제공할 수 있다. 마지막으로, 이웃 피어노드가 포함된 스웜에 포함되되 상기 이웃 피어노드로 가장 많은 개수의 비디오청크를 제공한 이력을 갖는 피어노드로 비디오청크를 제공할 수 있다.
따라서 예를 들어, 제1피어노드가 이웃 피어노드가 포함된 스웜보다 작은 ID를 갖는 스웜에 포함된 피어노드라면, 이웃 피어노드는 제1피어노드로 비디오청크를 제공할 수 있다. 또한, 제1피어노드가, 이웃 피어노드가 포함된 스웜에 포함되되 작은 ID를 갖는 비디오씬을 요청하는 피어노드라면, 이웃 피어노드는 상기 제1피어노드로 비디오청크를 제공할 수 있다. 그리고, 제1피어노드가, 이웃 피어노드가 포함된 스웜에 포함되되 상기 이웃 피어노드로 가장 많은 개수의 비디오청크를 제공한 이력을 갖는 피어노드라면, 이웃 피어노드는 상기 제1피어노드로 비디오청크를 제공할 수 있다.
한편 상술된 각 구성요소들은 도 1a 및 도1b에서 도시된 비디오제공시스템(100)의 구성요소에 의해 구현될 수 있다.
예를 들어 트래킹부(220)는 트래킹장치(30)로 구현되어 동작할 수 있으며, 스웜관리부(210) 및 씬제공부(230) 각각의 기능은 스웜(10, 11, 12), VoD서버(20) 및 트래킹장치(30)로 분산되어 구현될 수 있다.
도 3에 도시된 실시예에 따른 비디오제공방법은 도 1a, 도 1b 및 도 2에 도시된 비디오제공시스템(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1a, 도 1b 및 도 2에 도시된 비디오제공시스템(100)에 관하여 이상에서 기술한 내용은 도 3에 도시된 실시예에 따른 비디오제공방법에도 적용될 수 있다.
먼저 비디오제공시스템은, 비디오의 수신을 요청하는 피어노드가 복수 개이면, 피어노드의 개수가 임계치를 초과하는지 여부를 판단할 수 있다. 그리고 피어노드의 개수가 임계치를 초과한다면 피어노드를 복수 개의 스웜으로 그룹핑할 수 있고, 피어노드의 개수가 임계치를 초과하지 않는다면(즉, 피어노드의 개수가 임계치 이하이면), 피어노드를 1개의 스웜으로 그룹핑할 수 있다. 비디오제공시스템은, 스웜이 1개인 경우에는 가장 널리 알려진(well-known) p2p방식에 따라 피어노드가 비디오를 수신하도록 처리할 수 있다.
한편 비디오제공시스템은, 제1피어노드로부터 비디오의 요청을 위한 액세스를 감지하면(S310), 제1피어노드로 씨드정보 및 피어정보를 제공할 수 있다 (S320).
이때, 비디오제공시스템은, 가장 최근에 생성된 스웜을, 제1피어노드가 추가될 제1스웜으로 설정할 수 있으나, 제1피어노드의 도착시간이 가장 최근에 생성된 스웜에 대응되는 도착시간 구간을 벗어나면, 새로운 스웜을 생성하고, 생성된 스웜을 제1피어노드가 추가될 제1스웜으로 설정할 수 있다.
상술된 바와 같이 씨드정보 및 피어정보를 수신한 제1피어노드는, 씨드정보 및 피어노드 중 적어도 하나에 기초하여 제1스웜에 추가될 수 있다 (S330). 예를 들어, 피어정보를 참조하여, 제1노드는 제1스웜에 추가될 수 있다.
그리고, 제1스웜에 할당된 비디오씬을 제1피어노드로 제공할 수 있다 (S340). 예를 들어, 씨드정보를 참조하여 제1스웜에 포함된 피어노드로부터 비디오씬을 수신하거나, 제2스웜에 포함된 피어노드로부터 비디오씬을 수신하거나, VoD서버로부터 비디오씬을 수신할 수 있다.
상술된 바와 같이 제1스웜에 할당된 비디오씬의 제공을 완료하면, 제1피어노드가 전체 비디오씬을 수신할 때까지 새로운 비디오씬을 제1스웜에 할당하고 수신하도록 할 수 있다 (S360). 이때 새로운 비디오씬은 제1피어노드가 가장 최근에 수신을 완료한 비디오씬에 후속하는 비디오씬일 수 있으며, 제2스웜에 캐싱될 수 있다.
도 3를 통해 설명된 실시예에 따른 비디오제공방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10, 11, 12: 피어노드
20: VoD서버
30: 트랙킹장치

Claims (15)

  1. 비디오제공시스템에서 비디오를 제공하는 방법으로서,
    제1피어노드로부터 비디오의 수신을 요청받으면, 제1스웜에 상기 제1피어노드를 추가시키는 단계;
    상기 제1피어노드로 상기 제1 스웜에 할당된 비디오씬을 제공하는 단계; 및
    상기 제1 스웜에 할당된 비디오씬의 제공이 완료되면 제2스웜에 할당된 비디오씬을 상기 제1피어노드에 할당하는 단계를 포함하고,
    상기 제1스웜에 상기 제1피어노드를 추가시키는 단계는,
    상기 제1피어노드의 도착시간이 가장 최근에 생성된 스웜에 대응되는 도착시간 구간 내이면 상기 가장 최근에 생성된 스웜을 제1스웜으로 설정하고, 상기 제1피어노드의 도착시간이 상기 도착시간 구간을 벗어나면 새로운 스웜을 생성하며 상기 생성된 스웜을 제1스웜으로 설정하는 단계를 더 포함하는, 비디오제공방법.
  2. 제 1 항에 있어서,
    상기 제1피어노드를 추가시키는 단계는,
    상기 제1피어노드로 씨드정보 및 피어정보를 제공하는 단계; 및
    상기 씨드정보 및 피어정보 중 적어도 하나에 기초하여 상기 제1스웜에 상기 제1피어노드를 추가시키는 단계를 포함하는, 비디오제공방법.
  3. 제2항에 있어서,
    상기 피어정보는, 상기 제1스웜에 포함되는 피어노드리스트를 포함하고,
    상기 씨드정보는, 상기 제2스웜에 포함되는 피어노드리스트 및 상기 비디오를 저장하는 VoD서버정보 중 적어도 하나를 포함하는, 비디오제공방법.
  4. 제 1 항에 있어서,
    상기 제2스웜에 할당된 비디오씬은 상기 제1 스웜에 할당된 비디오씬에 후속되는 비디오씬인, 비디오제공방법.
  5. 제 1 항에 있어서,
    상기 제2스웜은 상기 제1스웜에 할당된 비디오씬을 캐싱하는, 비디오제공방법.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 제1 스웜에 할당된 비디오씬을 제공하는 단계는,
    상기 제1피어노드가 수신하려는 비디오씬의 청크 중 적어도 일부를 갖는 제2피어노드로, 상기 비디오씬을 구성하는 비디오청크를 요청하는 메시지를 전달하는 단계; 및
    상기 제2피어노드로부터 상기 제1피어노드로 상기 요청된 비디오청크를 전달하는 단계를 포함하는, 비디오제공방법.
  8. 제 7 항에 있어서,
    상기 제2피어노드로부터 상기 제1피어노드로 상기 요청된 비디오청크를 전달하는 단계는,
    상기 제2피어노드가 포함된 스웜보다 작은 ID를 갖는 스웜에 포함된 피어노드, 상기 제2피어노드가 포함된 스웜에 포함되되 작은 ID를 갖는 비디오씬을 요청하는 피어노드, 및 상기 제2피어노드가 포함된 스웜에 포함되되 상기 제2피어노드로 가장 많은 개수의 비디오청크를 제공한 이력을 갖는 피어노드 중 적어도 하나인 제1피어노드로, 상기 요청된 비디오청크를 전달하는 단계를 포함하는, 비디오제공방법.
  9. 제 1 항에 있어서,
    하나 이상의 피어노드로부터 비디오의 수신을 요청받으면, 상기 하나 이상의 피어노드의 개수가 임계치를 초과하는지를 판단하는 단계; 및
    상기 하나 이상의 피어노드의 개수가 임계치를 초과한다면, 상기 하나 이상의 피어노드를 복수 개의 스웜으로 그룹핑하는 단계를 더 포함하는, 비디오제공방법.
  10. 제 9 항에 있어서,
    상기 복수 개의 스웜으로 그룹핑하는 단계는,
    상기 하나 이상의 피어노드 중에서 동일한 비디오씬을 수신하려는 피어노드를 하나의 스웜으로 그룹핑함으로써, 상기 하나 이상의 피어노드를 복수 개의 스웜으로 그룹핑하는 단계를 포함하는, 비디오제공방법.
  11. 비디오제공시스템으로서,
    제1피어노드로부터 비디오의 수신을 요청받으면, 제1스웜에 상기 제1피어노드를 추가시키도록 구성되는 스웜관리부; 및
    상기 제1 스웜에 할당된 비디오씬이 상기 제1피어노드로 제공되도록 구성되는 씬제공부를 포함하고,
    상기 씬제공부는 추가적으로, 상기 제1 스웜에 할당된 비디오씬의 제공이 완료되면 제2스웜에 할당된 비디오씬을 상기 제1피어노드에 할당하도록 구성되고,
    상기 스웜관리부는 추가적으로, 상기 제1피어노드의 도착시간이 가장 최근에 생성된 스웜에 대응되는 도착시간 구간 내이면 상기 가장 최근에 생성된 스웜을 제1스웜으로 설정하고, 상기 제1피어노드의 도착시간이 상기 도착시간 구간을 벗어나면 새로운 스웜을 생성하며 상기 생성된 스웜을 제1스웜으로 설정하도록 구성되는, 비디오제공시스템.
  12. 제 11 항에 있어서,
    상기 제1피어노드로 씨드정보 및 피어정보를 제공하도록 구성되는 트랙킹부를 더 포함하고,
    상기 스웜관리부는 추가적으로, 상기 씨드정보 및 피어정보 중 적어도 하나에 기초하여 제1스웜에 상기 제1피어노드를 추가시키도록 구성되는, 비디오제공시스템.
  13. 삭제
  14. 제 11 항에 있어서,
    상기 씬제공부는 추가적으로, 상기 제1피어노드가 수신하려는 비디오씬의 청크 중 적어도 일부를 갖는 제2피어노드로, 상기 비디오씬을 구성하는 비디오청크를 요청하는 메시지를 전달하고, 상기 제2피어노드로부터 상기 제1피어노드로 상기 요청된 비디오청크를 전달하도록 구성되는, 비디오제공시스템.
  15. 제 11 항에 있어서,
    상기 스웜관리부는 추가적으로, 하나 이상의 피어노드로부터 비디오의 수신을 요청받으면, 상기 하나 이상의 피어노드의 개수가 임계치를 초과하는지를 판단하고, 상기 하나 이상의 피어노드의 개수가 임계치를 초과한다면, 상기 하나 이상의 피어노드를 복수 개의 스웜으로 그룹핑하도록 구성되는, 비디오제공시스템.
KR1020130148191A 2013-10-30 2013-12-02 비디오제공방법 및 비디오제공시스템 KR101525471B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130130130 2013-10-30
KR20130130130 2013-10-30

Publications (2)

Publication Number Publication Date
KR20150050276A KR20150050276A (ko) 2015-05-08
KR101525471B1 true KR101525471B1 (ko) 2015-06-03

Family

ID=53388190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130148191A KR101525471B1 (ko) 2013-10-30 2013-12-02 비디오제공방법 및 비디오제공시스템

Country Status (1)

Country Link
KR (1) KR101525471B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780981B1 (ko) * 2015-09-23 2017-09-26 주식회사 마블루스 P2p 비디오 스트리밍을 지원하기 위한 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676739B (zh) * 2020-05-15 2023-11-14 深圳市雅阅科技有限公司 一种视频播放方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062082A (ko) * 2008-12-01 2010-06-10 고려대학교 산학협력단 P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체
KR101223207B1 (ko) * 2010-10-28 2013-01-17 광주과학기술원 비트토렌트 환경에서 스웜 간 협력을 수행하는 트랙커 노드, 피어 노드 및 스웜간 협력 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062082A (ko) * 2008-12-01 2010-06-10 고려대학교 산학협력단 P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체
KR101223207B1 (ko) * 2010-10-28 2013-01-17 광주과학기술원 비트토렌트 환경에서 스웜 간 협력을 수행하는 트랙커 노드, 피어 노드 및 스웜간 협력 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780981B1 (ko) * 2015-09-23 2017-09-26 주식회사 마블루스 P2p 비디오 스트리밍을 지원하기 위한 장치 및 방법

Also Published As

Publication number Publication date
KR20150050276A (ko) 2015-05-08

Similar Documents

Publication Publication Date Title
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
US9912421B2 (en) Broadcast seeding for peer-to-peer networks
US9749293B2 (en) Systems for improved mobile internet performance and security
JP5902820B2 (ja) ピアツーピアコンテンツ配信システムにおけるピアによって受信されたコンテンツの完全性の確認
US20140082135A1 (en) Apparatus and method for providing content, and system for providing content with the said apparatus
US9727579B2 (en) Systems and methods for storing digital content
WO2017071228A1 (zh) 基于hls协议的直播方法、系统及客户端
US10033824B2 (en) Cache manifest for efficient peer assisted streaming
US20130198341A1 (en) System and method for delivering segmented content
US20140074961A1 (en) Efficiently Delivering Time-Shifted Media Content via Content Delivery Networks (CDNs)
CN111869191B (zh) 组增强的内容传递
US20110082943A1 (en) P2p network system and data transmitting and receiving method thereof
KR20170103255A (ko) D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체
CN110392020B (zh) 一种流媒体资源的传输方法及系统
KR101525471B1 (ko) 비디오제공방법 및 비디오제공시스템
US10306272B2 (en) Content supply device, content supply method, program, terminal device, and content supply system
US10063614B2 (en) Method for obtaining a storage identifier in a hierarchical level of storage in a network for storing data
CN109347904B (zh) 通信链路的建立方法及系统
CN114615333A (zh) 一种资源访问请求处理方法、装置、设备及介质
US11671515B2 (en) Methods, network node and client device for acquisition and delivery of resources in a communications network
US7974634B2 (en) Content forwarding for bandwidth conservation
CN113934916A (zh) Cdn业务的实现方法、终端设备、节点服务器及存储介质
CN110597464A (zh) 一种流媒体分级管理的方法及装置
EP2575323B1 (en) Delivering content from a server to a client
WO2017071524A1 (zh) 多媒体资源的发布方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180515

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 5