KR20130045670A - P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법 - Google Patents

P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20130045670A
KR20130045670A KR1020110110034A KR20110110034A KR20130045670A KR 20130045670 A KR20130045670 A KR 20130045670A KR 1020110110034 A KR1020110110034 A KR 1020110110034A KR 20110110034 A KR20110110034 A KR 20110110034A KR 20130045670 A KR20130045670 A KR 20130045670A
Authority
KR
South Korea
Prior art keywords
offset
registered
point
registration target
offsets
Prior art date
Application number
KR1020110110034A
Other languages
English (en)
Other versions
KR101369105B1 (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 KR1020110110034A priority Critical patent/KR101369105B1/ko
Publication of KR20130045670A publication Critical patent/KR20130045670A/ko
Application granted granted Critical
Publication of KR101369105B1 publication Critical patent/KR101369105B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets

Abstract

P2P 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법이 개시된다. 개시된 단말 장치는 P2P 네트워크를 구성하는 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치로서, 상기 P2P 네트워크를 구성하는 다수의 피어들 중 적어도 일부의 피어로 구성되며, 컨텐츠 스트리밍 서비스를 위한 데이터의 선반입(prefetching)에 이용되는 인기도 기반 오버레이 네트워크에 하나 이상의 데이터 청크로 구성되는 오프셋을 등록하기 위한 등록부를 포함하되, 상기 컨텐츠 스트리밍 서비스의 대상인 컨텐츠의 전체 데이터 구간은 다수의 오프셋 지점을 포함하고, 상기 등록부는 상기 인기도 기반 오버레이 네트워크에 등록하고자 하는 오프셋(등록 대상 오프셋)을 상기 다수의 오프셋 지점 중 상기 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점(등록 대상 오프셋 지점)에 소정의 계층 값을 가지도록 등록한 후, 상기 등록 대상 오프셋의 계층 값을 확률적으로 추가하되, 상기 등록 대상 오프셋의 계층 값이 추가될 확률은 상기 등록 대상 오프셋 지점과 인접한 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도와 비례하는 것을 특징으로 하는 오프셋의 밀도와 비례한다.

Description

P2P 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법{TERMINAL DEVICE FOR RECEVING CONTENTS STREAMING SERVICE VIA PEER TO PEER NETWORK AND METHOD FOR CONTROLLING THE SAME}
본 발명의 실시예들은 인기도 기반의 오버레이 네트워크를 이용하여 P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 P2P 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공 받는 경우에 있어 컨텐츠의 재생 시점이 변경되는 경우에 발생할 수 있는 스트리밍 성능의 저하를 최소화할 수 있는 단말 장치 및 이의 제어 방법에 관한 것이다.
스트리밍(streaming) 기술은 대용량의 비디오, 오디오 등과 같은 컨텐츠를 실시간으로 송신/수신하여 네트워크와 CPU 자원을 최적으로 사용하는 기술을 의미한다.
스트리밍 기술은 인터넷의 성장과 함께 더욱 더 중요해지고 있는데, 그 이유는 대부분의 사용자가 대용량 멀티미디어 파일들을 즉시 다운로드할 만큼 빠른 접속회선을 가지고 있지 못하기 때문이다.
일반적으로 컨텐츠 전체를 수신측에서 모두 다운로드 받은 후 컨텐츠 서비스(일례로, 비디오 컨텐츠의 재생 서비스)를 제공받는 방법은 사용자에게 긴 대기시간을 요구하지만, 스트리밍 기술을 이용하는 경우 컨텐츠 전체를 모두 다운로드 받기 전이라도 클라이언트 브라우저 또는 플러그인을 통해 현재의 재생 지점에 대한 데이터만을 다운로드 하여 컨텐츠 서비스를 실시간으로 제공할 수 있게 된다. 이와 같이, 스트리밍 서비스는 사용자가 컨텐츠를 선택하는 즉시 컨텐츠 서비스를 받을 수 있는 장점을 가진다.
한편, 기존의 서버-클라이언트 구조의 컨텐츠 서비스 제공 시스템에서는 서버와 클라이언트의 역할이 고정되어 있는데, 서버에 구비된 CPU의 성능이 매우 우수하고 서버의 네트워크 대역폭이 대용량이기 때문에 하나의 서버가 다수의 클라이언트에게 컨텐츠 서비스를 동시에 제공할 수 있다는 장점이 있었다. 그러나, 클라이언트의 수가 지나치게 많아지는 경우, 서버가 감당하여야 할 리소스 비용(즉, 서버 부하)이 높아지게 된다는 단점 또한 존재하였다.
이와 대비하여, P2P 네트워크를 이용한 컨텐츠 서비스 제공 시스템에서는 서버와 클라이언트의 역할이 고정되어 있지 않으며, P2P 네트워크를 구성하는 모든 피어(일례로, 개인용 컴퓨터(PC))들이 서버로서 동작할 수도 있고(서버 피어) 클라이언트로서 동작할 수도 있다(클라이언트 피어).
이와 같은 P2P 네트워크를 이용한 컨텐츠 서비스 제공 시스템은 하드웨어적인 성능의 한계에 의해 서버 피어가 동시에 컨텐츠 서비스를 제공할 수 있는 클라이언트 피어의 개수에 한계가 존재하며 P2P 네트워크에 참여하고 있는 피어가 언제든지 P2P 네트워크를 떠날 수 있다는 단점이 있었지만, 최근 개인용 컴퓨터(PC)의 사양이 지속적으로 좋아지고 있는 상황에 따라 P2P 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공하는 기술에 대한 연구가 활발하게 진행되고 있다.
일례로서, 한국공개특허공보 제2003-56701호(명칭: P2P 방식을 이용한 멀티미디어 스트리밍 장치 및 방법)에서는 서버가 클라이언트로 한번에 데이터를 송신한 경우, 이를 수신한 클라이언트가 포함된 클라이언트군 내에서 해당 클라이언트가 임시 서버로 동작하여 멀티미디어 데이터의 스트리밍 서비스를 수행하는 스트리밍 장치 및 방법을 개시하고 있다.
그러나, 상기한 선행특허는 데이터 송신시 서버의 도움이 필요하고 임시 서버 역할을 수행하는 클라이언트에서 동시에 스트리밍 서비스를 제공할 수 있는 클라이언트의 수에 제한이 있다는 문제점이 있었다.
한편, 종래의 P2P 기반의 컨텐츠 스트리밍 서비스 제공 방법의 다른 단점으로서, 비디오 컨텐츠 스트리밍 서비스의 제공 시 사용자로부터 재생 지점의 이동 요청 내지 재생 속도의 변경 요청과 같은 VCR 동작 요청이 발생하는 경우, 이동될 재생 지점의 스트리밍 데이터가 일정량 수신되어야 하므로 비디오 컨텐츠를 처음부터 재생하게 될 때 발생하는 Startup-Delay와 같은 Seeking Delay 내지 Seeking Latency가 발생하는 문제점(즉, 컨텐츠 스트리밍에서 VCR 기능을 지원함에 의해 스트리밍 성능이 저하되는 문제점)이 있었다.
다시 말해, 종래의 P2P 기반의 컨텐츠 스트리밍 서비스 제공 방법에서는 송신망 지연 등과 같은 기술적인 문제로 인해 컨텐츠가 시작 지점부터 종료 지점까지 순차적으로 재생되는 패턴을 가정하여 컨텐츠 스트리밍 서비스를 제공하므로, 사용자의 요청에 따라 임의의 재생 지점으로 이동하거나 재생 속도를 변경하는 것과 같은 사용자의 쌍방향 참가(interactivity)를 효율적으로 지원하지 못하였다.
이러한 문제점을 해결하기 위한 다양한 연구가 수행되고 있는데, 그 중의 하나인 고정 앵커 프로토콜(Fixed Anchor Protocol)은 도 1에 도시된 바와 같이 컨텐츠의 전체 데이터 구간(100)을 균등한 간격으로 나누어 앵커 지점(Anchor Point)(110)을 설정하고, 피어가 여유 다운로드 대역폭을 사용하여 각 앵커 지점(110)에 포함된 데이터 청크(Data Chunk)를 선반입하도록 한다. 만약, VCR 동작 요청이 발생하여 재생 지점을 변경하여야 될 경우에 있어, 변경될 재생 지점에서의 비디오 컨텐츠의 재생이 불가능하게 되는 상황이 발생하는 경우, 피어는 선반입한 앵커 지점(110) 내의 데이터 청크 중 변경된 재생 지점과 가장 가까운 이전 앵커 지점의 데이터 청크를 이용하여 비디오 컨텐츠를 재생한다. 이에 따라, 스트리밍 품질(Streaming Quality)이 높아지게 된다.
그러나, 상기한 고정 앵커 프로토콜은 사용자 인터랙션(User Interaction)을 고려하지 않고 앵커 지점(110)을 설정하였는바, 선반입된 데이터 청크가 사용되지 않을 확률이 높았고, 이에 따라 선반입을 위해 사용되었던 여유 다운로드 대역폭이 낭비되는 문제점이 있었다.
또한, 종래의 다른 연구로서, 이웃 피어들의 컨텐츠 재생 패턴을 데이터마이닝(연관규칙, association rule)을 통하여 사용자들이 빈번하게 재생(시청)한 지점을 예상하고, 예상 지점의 데이터 청크를 선반입하는 협력 선반입 기술(Cooperative Prefetching Technique)이 있다.
보다 상세하게, 협력 선반입 기술은 메쉬 형태로 오버레이 네트워크를 구성하는 피어들이 소유정보(Buffer Map)을 송신하고, 이웃 피어들의 재생 이력에 기초하여 이웃 피어들의 재생(시청) 패턴을 예상한다.
그러나, 상기한 협력 선반입 기술은 현재의 비디오 컨텐츠 재생 지점이 유사한 이웃 피어들의 컨텐츠 재생 패턴만을 고려하기 때문에 성능 향상이 제한적이며, 소유정보의 송신에 따른 불필요한 오버헤드가 발생한다는 문제점이 있었다.
그리고, 종래의 또 다른 연구로서, DSL(Dynamic Skip List) 기법은 사용자로부터의 VCR 동작 요청이 있는 경우, 이동 요청된 재생 지점을 오프셋 단위로 다수의 피어들이 유지하도록 한 후, 오버레이 네트워크(DSL 오버레이) 구조에서 재생 오프셋 키(Playback Offset Key)을 키로 하여 DSL 오버레이의 최하위 계층(Base Layer)에 이동 요청된 재생 지점을 등록하여 확률적으로 상승시킨다. 이 때 특정 피어로부터 VCR 동작 요청이 발생하는 경우, VCR 동작 지점과 가장 가까운 오프셋을 DSL 오버레이를 통해 신속하게 탐색(lookup)함에 따라 스트리밍 성능을 지원한다.
보다 상세하게, DSL 기법은 사용자로부터 VCR 동작 요청이 수신되는 경우, 이동될 재생 지점에 존재하는 데이터 청크를 오프셋 단위(오프셋은 하나 이상의 데이터 청크를 포함하는 데이터 크기의 단위로서, 전체 비디오 컨텐츠를 일정량의 데이터 크기로 나눈 단위임)로 피어들이 저장/유지함과 동시에 상기한 피어들을 포함하는 DSL 오버레이를 형성한 후, 해당 오프셋을 DSL 오버레이에 등록 및 유지시킨다. 각 피어들은 탑 다운(Top-Down) 방식을 통해 원하는 오프셋 키(오프셋)를 찾을 때까지 상위 계층으로부터 하위 계층까지 탐색을 수행한다.
이와 관련해, DSL 기법의 이전 기법인 BSL(Basic Skip List) 기법은 사용자들이 비동기적으로 임의 변경을 요청하는 지점의 오프셋을 계층 별로 같은 열을 따라 복수개의 논리적인 노드들과 연결함으로써 VCR 동작 요청을 지원하게 되며, 이를 통해 키 검색이 발생했을 때 상위 계층으로부터 하위 계층까지 탑 다운 방식으로 키를 찾을 때까지 탐색을 수행한다는 점에서는 DSL 기법과 동일하다. 그러나, BSL 기법에 따르면, 최상위 계층(Top Layer) 값이 log(N)(여기서, N은 오버레이에 등록된 오프셋의 개수)을 통해 결정되는바, 확률적으로 오프셋이 상승되는 경우 오버레이 내의 계층에 불균형이 발생한다는 단점이 있었다.
즉, 오버레이 내의 상당히 높은 계층의 오프셋이 유지되거나 상당히 낮은 계층의 오프셋이 발생하는 경우, 지정된 최상위 계층 범위 내에 존재하는 오프셋이 극소수일 확률이 높아지게 된다. 따라서, 다수의 피어들러보투 잦은 선반입 요청을 받아 높은 계층에서 유지되는 오프셋을 소유하는 피어들은 불이익을 받게 되고, 이에 의해 시스템 성능이 저하되는 문제점이 있었다.
이를 보완하기 위해 제안된 임의 확률 상승 기법 기반의 DSL 기법은 동적인 환경에서 계층 불균형을 해소하기 위해 최상위 계층 값을 미리 정의하지 않고, log(N/logN)의 수학식을 통해 오버레이 내에 유지되는 오프셋의 개수에 따라 동적으로 결정한다.
그러나, 상기한 임의 확률 상승 기법 기반의 DSL 기법에 따르면, 단일 피어는 하나의 오프셋만을 등록할 수 있으며, 하나의 오프셋을 등록했던 피어가 다른 오프셋을 등록하려면 이전에 등록한 오프셋을 삭제하여야 하였는데, 이러한 경우, 비디오 컨텐츠의 전 구간에 대한 인기도가 효율적으로 누적되지 않아 특정 지점에 대한 인기도를 정확하게 반영할 수 없다는 문제점이 있었다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 P2P 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공 받는 경우에 있어 컨텐츠의 재생 시점이 변경되는 경우에 발생할 수 있는 스트리밍 성능의 저하를 최소화할 수 있는 단말 장치 및 이의 제어 방법을 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, P2P 네트워크를 구성하는 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치에 있어서,
상기 P2P 네트워크를 구성하는 다수의 피어들 중 적어도 일부의 피어로 구성되며, 컨텐츠 스트리밍 서비스를 위한 데이터의 선반입(prefetching)에 이용되는 인기도 기반 오버레이 네트워크에 하나 이상의 데이터 청크로 구성되는 오프셋을 등록하기 위한 등록부를 포함하되, 상기 컨텐츠 스트리밍 서비스의 대상인 컨텐츠의 전체 데이터 구간은 다수의 오프셋 지점을 포함하고, 상기 등록부는 상기 인기도 기반 오버레이 네트워크에 등록하고자 하는 오프셋(등록 대상 오프셋)을 상기 다수의 오프셋 지점 중 상기 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점(등록 대상 오프셋 지점)에 소정의 계층 값을 가지도록 등록한 후, 상기 등록 대상 오프셋의 계층 값을 확률적으로 추가하되, 상기 등록 대상 오프셋의 계층 값이 추가될 확률은 상기 등록 대상 오프셋 지점과 인접한 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도와 비례하는 것을 특징으로 하는 오프셋의 밀도와 비례하는 것을 특징으로 하는 단말 장치가 제공된다.
또한, 본 발명의 다른 실시예에 따르면, P2P 네트워크를 구성하는 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치를 제어하는 방법에 있어서,
상기 P2P 네트워크를 구성하는 다수의 피어들 중 적어도 일부의 피어로 구성되며, 컨텐츠 스트리밍 서비스를 위한 데이터의 선반입(prefetching)에 이용되는 인기도 기반 오버레이 네트워크에 하나 이상의 데이터 청크로 구성되는 오프셋을 등록하는 단계를 포함하되,
상기 컨텐츠 스트리밍 서비스의 대상인 컨텐츠의 전체 데이터 구간은 다수의 오프셋 지점을 포함하고, 상기 등록하는 단계는 상기 인기도 기반 오버레이 네트워크에 등록하고자 하는 오프셋(등록 대상 오프셋)을 상기 다수의 오프셋 지점 중 상기 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점(등록 대상 오프셋 지점)에 소정의 계층 값을 가지도록 등록한 후, 상기 등록 대상 오프셋의 계층 값을 확률적으로 추가하되,
상기 등록 대상 오프셋의 계층 값이 추가될 확률은 상기 등록 대상 오프셋 지점과 인접한 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도와 비례하는 것을 특징으로 하는 오프셋의 밀도와 비례하는 것을 특징으로 하는 단말 장치의 제어 방법이 제공된다.
본 발명에 따르면, P2P 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 경우에 있어 재생확률이 높은 인기 오프셋들을 추적하여 인기도를 근거로 오프셋을 선반입함으로써 VCR 동작 요청 시 스트리밍 성능을 향상시킬 수 있게 된다.
도 1은 종래 기술을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 단말 장치의 개략적인 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따라서, 사용자의 VCR 동작 요청 발생 시, 단말 장치가 오프셋을 등록하는 동작을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따라서, VCR 동작 요청의 발생 후에 비디오 컨텐츠가 순차적으로 재생되고 있는 경우, 단말 장치의 오프셋 등록 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 단말 장치의 오프셋의 선반입 동작의 개념을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 단말 장치의 제어 방법의 전체적인 흐름을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 단말 장치의 개략적인 구성을 도시한 블록도이다.
본 발명의 일 실시예에 따른 단말 장치는 다수의 다른 단말 장치와 함께 P2P(Peer to Peer) 네트워크를 구성하여 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스(일례로, 비디오 컨텐츠 스트리밍 서비스)를 제공받는 장치를 의미하는 것으로서, 도 2를 참조하면, 단말 장치(200)는 수신부(210), 저장부(220), 송신부(230), 등록부(240) 및 선택부(250)를 포함할 수 있다. 여기서, 다수의 다른 단말 장치 역시 본 발명의 일 실시예에 따른 단말 장치(200)와 동일하게 구성될 수 있다.
이하에서는 설명의 편의를 위해, 비디오 컨텐츠 스트리밍 서비스를 제공받는 단말 장치(200)의 일례를 중심으로 본 발명의 실시예들을 상세히 설명하기로 한다. 그러나, 본 발명이 이에 한정되는 것은 아니다.
수신부(210)는 P2P 네트워크에 포함된 다수의 다른 단말 장치(다른 피어) 중 적어도 일부로부터 비디오 컨텐츠 데이터를 수신한다. 이 때, 비디오 컨텐츠 데이터의 수신은 데이터 청크(Data Chunk) 단위로 이루어질 수 있다.
보다 상세하게, 수신부(210)는 현재 재생 시점에서 실시간으로 이루어지는 비디오 컨텐츠 서비스의 제공을 위해 필요한 데이터 청크의 수신 및 추후에 재생 지점 이동 요청 내지 재생 속도 변경 요청과 같은 VCR 동작 요청이 발생하는 경우, VCR 동작 요청에 대응되도록 비디오 컨텐츠를 재생(일례로, 이동될 재생 지점을 재생)할 때 발생할 수 있는 스트리밍 지연을 최소화하기 위한 데이터 청크의 선반입(prefetching)을 동시에 수행할 수 있다.
다시 말해, 수신부(210)는 단말 장치(200)에 할당된 대역폭 중 일부의 대역폭을 이용하여 현재 재생 지점에서의 비디오 컨텐츠의 재생을 위한 데이터 청크를 실시간으로 수신하고, 추후 발생할 수 있는 VCR 동작 요청에 대응하여 비디오 컨텐츠를 재생할 때 이용될 수 있는 데이터 청크를 상기 할당된 대역폭 중 나머지 일부의 대역폭을 이용하여 미리 수신(선반입)할 수 있다.
P2P 네트워크를 구성하는 단말 장치(200) 및 다수의 다른 단말 장치는 메쉬 오버레이 네트워크를 형성하여 피어로서 동작하는데, 수신부(210)는 메쉬 오버레이 네트워크 내의 연결 관계에 기초하여 자신과 이웃한 다른 단말 장치(피어)로부터 현재 재생 지점에서의 컨텐츠의 재생을 위한 데이터 청크를 실시간으로 수신할 수 있다.
이 때, 메쉬 오버레이 네트워크 내의 연결 관계는 현재 재생 지점의 유사여부에 기초하여 결정된다. 다시 말해, 현재 재생 지점이 유사한 피어들끼리 메쉬 오버레이 네트워크 내에서 이웃 관계를 형성하게 되며, 이에 따라 메쉬 오버레이 네트워크 내에는 다수의 스웜(Swarm)이 형성된다. 따라서, 단말 장치(200)에서의 현재 재생 지점이 이동되는 경우, 단말 장치(200)의 이웃은 이동된 재생 지점과 유사한 지점을 재생하고 있는 피어들로 교체되며, 단말 장치(200)는 새롭게 교체된 이웃 피어들로부터 이동된 재생 지점과 관련된 데이터 청크를 실시간으로 수신하여 이동된 재생 지점부터 순차적으로 비디오 컨텐츠를 재생한다.
또한, 수신부(210)는 앞서 설명한 DSL 기법에 따라 현재 재생 지점에서 비디오 컨텐츠를 재생하기 위해 필요한 데이터 청크를 수신할 수 있다. 이 경우, 아래에서 설명하는 인기도 기반 오버레이 네트워크가 이용될 수 있다. 이에 대해서는 아래에서 보다 상세하게 설명하기로 한다.
저장부(220)는 수신부(210)를 통해 수신한 데이터 청크를 저장한다.
저장되는 데이터 청크는 앞서 설명한 바와 같이 현재 재생 지점에서의 컨텐츠의 재생을 위한 데이터 청크일수도 있고, 추후에 발생할 수 있는 VCR 동작 요청에 따른 재생 지점(일례로, 재생 지점 이동 요청에 따른 이동된 재생 지점)을 재생하기 위해 미리 수신된 선반입 데이터 청크일 수도 있다.
송신부(230)는 다른 단말 장치로부터 데이터 청크의 송신 요청이 있는 경우, P2P 네트워크를 통해 저장부(220)에 저장되어 있는 데이터 청크를 다른 단말 장치로 송신한다. 이 때, 데이터 청크의 송신 요청의 대상은 해당 다른 단말 장치가 현재 재생 지점의 비디오 데이터의 재생을 위해 실시간으로 요구하는 데이터 청크일 수도 있고, 선반입을 위한 데이터 청크일 수도 있다.
그리고, 송신부(230)는 메쉬 오버레이 네트워크 내의 피어들의 연결 관계 또는 아래에서 설명하는 인기도 기반 오버레이 네트워크 내에서의 피어들의 연결 관계에 기초하여 송신 요청을 한 다른 단말 장치로 데이터 청크를 송신할 수 있다.
등록부(240)는 저장부(220)에 저장된 데이터 청크의 적어도 일부를 인기도 기반 오버레이 네트워크에 등록한다.
여기서, 인기도 기반 오버레이 네트워크는 사용자의 시청 패턴 즉, 사용자에 의해 얼마나 많이 선택(시청)되는 재생 지점인지 여부에 따라 정의되는 인기도를 이용하여 형성되는 오버레이 네트워크를 의미하는 것으로서, 단말 장치(200)는 인기도 기반 오버레이를 이용하여 다른 단말 장치로부터 데이터 청크를 수신한다. 이하에서는 설명의 편의를 위해, 인기도 기반 오버레이 네트워크를 "AAP(Adaptive Anchor Point) 오버레이 네트워크"라 칭하기로 한다.
본 발명에 따르면, 등록부(240)는 오프셋 단위로 AAP 오버레이 네트워크에 데이터 청크를 등록할 수 있다.
오프셋은 하나 이상의 데이터 청크로 구성되는 데이터 청크의 묶음 단위를 의미하는 것으로서, 예를 들어, 데이터 청크 3개가 비디오 컨텐츠를 1초 동안 재생할 수 있는 양이라고 할 때, 하나의 오프셋은 90개의 데이터 청크를 포함할 수 있으며, 하나의 오프셋은 30초 동안 재생할 수 있는 데이터의 양을 의미하게 된다.
즉, 스트리밍 서비스의 대상인 비디오 컨텐츠의 전체 데이터 구간은 다수의 오프셋으로 구획될 수 있으며, 다수의 오프셋은 인덱스(일례로 번호)에 의해 식별될 수 있다.
즉, 등록부(240)는 AAP 오버레이 네트워크에 등록하고자 하는 오프셋("이하, 등록 대상 오프셋"이라고 함)을 다수의 오프셋 지점 중에서 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점에 등록할 수 있다.
그리고, AAP 오버레이 네트워크에는 단말 장치(200)뿐만 아니라 다른 단말 장치(피어)에 의해 미리 등록된 하나 이상의 오프셋이 존재할 수 있다. 즉, 메쉬 오버레이 네트워크를 구성하는 피어들 중 적어도 일부는 오프셋을 등록하고, 오프셋을 등록한 피어(AAP 피어)들이 AAP 오버레이 네트워크를 형성할 수 있다.
이 경우, 등록된 오프셋은 해당 오프셋의 인덱스, AAP 오버레이 네트워크 내에서의 해당 오프셋의 계층 값 및 해당 오프셋을 등록한 피어의 식별자 중 적어도 하나에 의해 정의될 수 있다.
일례로서, 도 3에 도시된 바와 같이 오프셋 및 오프셋 지점의 인덱스가 오프셋 번호인 경우, 오프셋은 해당 오프셋과 동일한 번호의 오프셋 지점에 등록되며, 오프셋 지점에서의 등록 순서에 따라 소정의 계층 값을 가질 수 있다.
예를 들면, 피어 95번 오프셋 지점에는 피어 A, 피어 B 및 피어 C에 의해 3개의 95번 오프셋이 등록되고, 등록된 순서에 따라 각각 0, 1 및 2의 계층 값을 가진다. 그리고, 96번 오프셋 지점에는 피어 D 및 피어 C에 의해 2개의 96번 오프셋이 등록되고, 등록된 순서에 따라 각각 0 및 1의 계층 값을 가진다(피어 C는 두개의 오프셋(95번, 96번)을 등록함)
이 때, AAP 피어들은 오프셋이 등록된 오프셋 지점의 식별자 및 등록된 오프셋의 계층 값에 기초하여 서로 연결됨으로써 AAP 오버레이 네트워크를 형성할 수 있다.
보다 상세하게, AAP 피어는 오프셋 지점의 식별자를 이용하여 자신이 등록한 오프셋의 좌우에 위치하는 오프셋을 등록한 이웃 AAP 피어를 검색하고, 오프셋의 계층 값을 이용하여 자신이 등록한 오프셋의 상하에 위치하는 오프셋을 등록한 이웃 AAP 피어를 검색한 후, 검색된 이웃 AAP 피어들과 논리적으로 연결되어 AAP 오버레이 네트워크를 형성할 수 있다. 이 경우, 각 AAP 피어는 상하좌우에 위치하는 오프셋의 인덱스 및 상기 상하좌우에 위치하는 오프셋을 등록한 이웃 AAP 피어의 식별자를 테이블 형태로 저장한다. 이와 같은 동작은 모든 AAP 피어에서 동일하게 수행되며, 이에 따라 AAP 오버레이 네트워크 내의 모든 AAP 피어 사이에서 연결 관계가 형성된다
등록부(240)의 오프셋 등록 동작에 대해서는 아래에서 보다 상세히 설명하기로 한다.
선택부(250)는 AAP 오버레이 네트워크에 등록된 오프셋들 중에서 선반입을 수행하기 위한 하나 이상의 오프셋을 선택한다. 이 때, 수신부(210)는 AAP 오버레이 네트워크를 구성하는 AAP 피어들의 연결 관계에 기초하여 상기 선택된 하나 이상의 오프셋을 등록한 피어로부터 상기 선택된 하나 이상의 오프셋을 선반입한다.
이하에서는 도 2 내지 도 5를 참조하여 단말 장치(200)의 오프셋 등록 동작 및 오프셋의 선반입 동작을 차례대로 설명하기로 한다.
1. 사용자의 VCR 동작 요청 발생 시, VCR 동작 요청을 한 피어인 단말 장치(200)가 요청된 재생지점의 오프셋을 등록하는 동작(제1 등록 동작)
본 발명의 일 실시예에 따르면, 단말 장치(200)가 비디오 컨텐츠를 순차적으로 재생하는 도중에 VCR 동작 요청(즉, 현재 재생 지점이 아닌 다른 재생 지점으로의 이동 요청)이 발생하는 경우, 등록부(240)는 상기 다른 재생 지점(즉 이동될 재생 지점)과 대응되는 데이터 청크를 포함하는 오프셋을 AAP 오버레이 네트워크에 등록할 수 있다. 즉, 비디오 컨텐츠의 재생 시 재생 지점의 이동 요청이 발생하는 경우, 등록 대상 오프셋은 이동 요청된 재생 지점과 대응되는 데이터 청크를 포함하는 오프셋일 수 있다.
다시 말해, 앞서 설명한 바와 같이 비디오 컨텐츠의 전체 데이터 구간이 다수의 오프셋 지점으로 구획되는 경우, 등록부(240)는 다수의 오프셋 지점 중에서 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점(등록 대상 오프셋 지점)에 소정의 계층 값을 가지도록 등록할 수 있다.
이와 같은 오프셋의 등록은 VCR 동작 요청이 발생한 재생 지점은 사용자에 의해 선호되는 재생 지점일 가능성이 높다는 이유에 기인한 것이다. 즉, 등록부(240)는 이동 요청된 재생 지점과 대응되는 데이터 청크를 포함하는 오프셋을 해당 오프셋이 포함되는 오프셋 지점에 등록함으로써, 해당 오프셋 지점의 인기도를 누적시킬 수 있다.
보다 상세하게, 단말 장치(200)는 등록 대상 오프셋이 등록될 등록 대상 오프셋 지점에 먼저 등록되어 있는 오프셋이 존재하는지를 검색한다. 즉, 단말 장치(200)는 등록 대상 오프셋 지점의 0번째 계층(layer 0)에 오프셋이 존재하는지를 검색한다.
이 때, 단말 장치(200)에 의해 이전에 미리 등록된 다른 오프셋이 AAP 오버레이 네트워크 상에 존재하는 경우, 단말 장치(200)는 자신이 이전에 미리 등록한 다른 오프셋을 이용하여 등록 대상 오프셋 지점의 0번째 계층(layer 0)에 오프셋이 존재하는지를 검색할 수 있다. 반대로, 단말 장치(200)에 의해 이전에 미리 등록된 다른 오프셋이 AAP 오버레이 네트워크 상에 존재하지 않는 경우, 단말 장치(200)는 AAP 오버레이 네트워크의 최상위 계층에 존재하는 오프셋에 대한 정보를 보유하고 있는 트래커(tracker) 서버를 통해 등록 대상 오프셋 지점의 0번째 계층(layer 0)에 오프셋이 존재하는지를 검색할 수 있다.
만약, 등록 대상 오프셋 지점의 0번째 계층(layer 0)에 오프셋이 등록되어 있는 경우, 단말 장치(200)는 등록 대상 오프셋 지점에 존재하는(즉, 미리 등록된) 하나 이상의 오프셋의 상위에 등록 대상 오프셋을 등록할 수 있다.
이 때, 단말 장치(200)는 해당 오프셋 지점에 오프셋을 등록한 피어의 개수가 증가되었음을 알리기 위한(즉, 등록 피어의 개수를 업데이트하기 위한) 알림 메시지를 최하위 계층의 오프셋을 등록한 피어에게 전송한다. 이는 아래에서 설명하는 수학식 1을 이용하여 계층 값의 추가 확률(상승 확률)을 연산하기 위해서는 등록 대상 오프셋 지점의 최하위 계층에 오프셋을 등록한 피어가 해당 오프셋 지점에 오프셋을 등록한 피어의 수를 누적하여 알고 있어야 하기 때문이다.
반대로, 등록 대상 오프셋 지점의 0번째 계층(layer 0)에 오프셋이 존재하지 않는 경우, 단말 장치(200)는 등록 대상 오프셋 지점의 최하위 계층(즉, 0번째 계층(layer 0))에 등록 대상 오프셋을 등록할 수 있다.
일례로서, AAP 오버레이 네트워크가 도 3과 같이 형성된 경우에 있어서, 비디오 컨텐츠를 순차 재생하고 있던 사용자로부터 96번 오프셋으로의 재생 지점 이동 요청(즉, VCR 동작 요청)을 수신한 경우, 단말 장치(200)는 96번 오프셋 지점을 검색하여 0번째 계층(layer 0)에 다른 피어로부터 96번 오프셋이 등록되어 있음을 확인하고, 96번 오프셋 지점에 존재하는 2개의 오프셋의 상위 계층인 2번째 계층(layer 2)에 자신이 저장하고 있는 96번 오프셋을 등록할 수 있다.
다른 일례로서, AAP 오버레이 네트워크가 도 3과 같이 형성된 경우에 있어서, 단말 장치(200)가 사용자로부터 100번 오프셋으로의 재생 지점 이동 요청(즉, VCR 동작 요청)이 발생한 경우, 단말 장치(200)는 100번 오프셋 지점의 0번째 계층(layer 0)에 어떠한 오프셋도 등록되어 있지 않음을 확인하고, 100번 오프셋 지점의 0번째 계층(layer 0)에 자신이 저장하고 있는 100번 오프셋을 등록할 수 있다.
상기한 일례들에서, 단말 장치(200)는 등록 대상 오프셋과 동일한 번호를 가지는 오프셋 내지 가장 가까운 번호를 가지는 오프셋을 저장하고 있는 피어를 찾은 후, 메쉬 오버레이 네트워크 상에서 재생 시점이 비슷한 피어들을 메쉬 오버레이 네트워크 상에서의 이웃으로 교체하는 동작을 함께 수행할 수 있다.
요컨대, 등록 대상 오프셋은 소정의 계층 값을 가지도록 등록 대상 오프셋 지점에 등록되되, 등록 대상 오프셋의 계층 값은 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋이 존재하지 않는 경우 0의 값을 가지고, 등록 대상 오프셋 지점 내에 미리 등록되어 있는 오프셋(선 등록 오프셋)이 하나 이상 존재하는 경우, 상기 하나 이상의 선 등록 오프셋의 계층 값 중 최대값보다 1만큼 증가한 값을 가질 수 있다.
이상에서와 같이 AAP 오버레이 네트워크가 구성됨에 있어, 특정 오프셋 지점에 등록된 오프셋의 개수가 많을수록(즉, 특정 오프셋 지점을 점유하고 있는 오프셋들의 계층 값이 높아질수록) 해당 오프셋 지점은 사용자들에게 인기가 있는 지점으로 이해될 수 있다. 다시 말해, 사용자로부터 재생 지점 이동 요청이 수신되는 경우 단말 장치(200)는 이동 요청된 재생 지점의 오프셋을 해당 오프셋이 포함될 수 있는 오프셋 지점에 등록하므로, 오프셋 지점에 등록된 오프셋의 개수가 많을수록 해당 오프셋 지점은 사용자에 의해 빈번하게 재생 지점이 이동되는 즉, 인기도가 높은 오프셋 지점이 된다.
한편, 본 발명의 일 실시예에 따르면, 등록부(240)는 소정의 제1 확률로 등록 대상 오프셋을 등록 대상 오프셋 지점에 등록할 수 있다. 다시 말해, 등록부(240)의 오프셋의 등록은 소정의 확률에 따라 성공될 수도 있고 실패될 수도 있다. 이는 사용자가 특정 목적을 가지고 재생 지점 이동을 요청하는 경우도 있지만, 특정 목적없이 임의로 재생 지점 이동 요청을 하는 경우도 있는바, 사용자의 무의미한 재생 지점 이동 요청이 일괄적으로 오프셋 지점의 인기도 산정에 반영되는 것을 방지하기 위함이다.
이 경우, 제1 확률은 등록 대상 오프셋이 등록될 계층의 값에 반비례하도록 설정될 수 있다. 다시 말해, 제1 확률은 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋의 개수와 반비례하도록 설정될 수 있다.
일례로서, 등록부(240)는 1/2k(k는 등록 대상 오프셋이 등록될 계층의 값임)의 확률로 등록 대상 오프셋을 등록 대상 오프셋 지점에 등록할 수 있다. 이외에도, 등록부(240)는 1/(k+1), 1/k 등과 같이 다양한 확률에 따라 등록 대상 오프셋을 등록 대상 오프셋 지점에 등록할 수도 있다.
예를 들어, 등록 대상 오프셋이 등록될 등록 대상 오프셋 지점에서의 계층 값이 2(즉, layer 2)이고, 등록 확률이 1/2k인 경우, 등록 대상 오프셋이 등록 대상 오프셋 지점의 2번째 계층에 등록될 수 있는 확률은 1/4(=25%)가 된다.
또한, 본 발명의 일 실시예에 따르면, 등록 대상 오프셋의 등록이 성공한 경우, 등록부(240)는 등록 대상 오프셋의 계층 값을 추가할 수 있다. 다시 말해, 등록 대상 오프셋의 등록이 성공한 경우, 등록부(240)는 오프셋의 상승을 시도할 수 있다.
이 때, 등록부(240)는 소정의 제2 확률로 등록 대상 오프셋의 계층 값을 추가할 수 있다. 다시 말해, 등록부(240)는 확률적으로 오프셋의 상승을 시도할 수 있다.
이 경우에도, 제2 확률은 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋의 개수와 반비례하도록 설정될 수 있다(일례로, 1/2k, 1/(k+1), 1/k 등).
또한, 등록부(240)는 등록 대상 오프셋의 계층 값이 추가될 수 없는 것으로 판단될 때까지 등록 대상 오프셋의 계층 값을 연속적으로 추가할 수 있다. 다시 말해, 등록부(240)는 오프셋의 상승이 실패할 때까지 연속적으로 오프셋의 상승을 확률적으로 시도할 수 있다.
이러한 등록 대상 오프셋에 대한 계층 값의 추가 역시 사용자의 무의미한 재생 지점 이동 요청이 일괄적으로 오프셋 지점의 인기도 산정에 반영되는 것을 방지하기 위함이다.
정리하면, 등록부(240)는 소정의 제2 확률로 등록 대상 오프셋 계층 값이 추가될 수 있는지를 판단하되, 등록 대상 오프셋의 계층 값이 추가될 수 없는 것으로 판단될 때까지 등록 대상 오프셋의 계층 값을 연속적으로 추가할 수 있다. 예를 들어, 제2 확률이 1/2k이고, 등록 대상 오프셋이 등록 대상 오프셋 지점의 2번째 계층에 등록된 경우, 등록부(240)는 1/4(=25%)의 확률로 등록 대상 오프셋이 3의 계층 값을 추가적으로 가질 수 있도록 할 수 있다. 만약, 계층 값의 추가가 성공한 경우, 등록부(240)는 다시 1/4(=25%)의 확률로 등록 대상 오프셋이 4의 계층 값을 추가적으로 가질 수 있도록 할 수 있으며, 이러한 동작은 계층 값의 추가가 실패할 때까지 반복 수행된다. 따라서, 등록 대상 오프셋 지점의 2번째 계층에 등록된 제1 피어가 3의 계층 값 및 4의 계층 값을 추가로 가질 수 있는 확률은 3/64(=1/4×1/4×3/4)가 된다.
따라서, 등록 대상 오프셋의 확률적 등록 및 상승이 종료된 후 다음 시점에서 해당 등록 대상 오프셋 지점에 등록되는 오프셋은 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋들의 계층 값 중 최대값보다 1만큼 증가한 값을 가질 수 있다. 상기의 예에서(등록 대상 오프셋이 3의 계층 값 및 4의 계층 값을 추가로 가지는 경우, 즉, 등록 및 2회의 상승이 성공한 경우), 다음 시점에서 등록 대상 오프셋 지점에 등록되는 오프셋은 5의 계층 값을 가지게 된다.
상기와 같은 일련의 과정(오프셋의 확률적 등록 및 상승)을 통해 재생 지점 이동이 요청된 등록 대상 오프셋 지점의 인기도가 누적되게 된다.
또한, 본 발명에 따르면, 등록부(240)는 제1 확률에 따른 오프셋의 등록 및 제2 확률에 따른 오프셋의 상승 동작을 완료한 후에, 등록 대상 오프셋 지점과 인접한 2 이상의 인접 오프셋 지점에서의 오프셋의 밀도와 비례하는 제3 확률에 따라 등록 대상 오프셋의 계층 값을 더 추가할 수 있다. 이는 인기도가 상대적으로 높은 것으로 판단되는 오프셋 지점에서의 인기도를 더욱 높이 상승시키기 위함이다.
제3 확률은 등록 대상 오프셋 지점과 인접한 영역에서의 등록 오프셋의 밀도를 의미하는 것으로서, 본 발명의 일 실시예에 따르면, 제3 확률은 아래의 수학식 1과 같이 설정될 수 있다.
Figure pat00001
여기서, p는 제3 확률(즉, 2 이상의 인접 오프셋 지점에서의 제1 피어의 밀도와 비례하는 확률), k는 1 이상의 정수, DN[i]는 등록 대상 오프셋 지점으로부터 오프셋 지점의 식별자가 커지는 방향으로 떨어져 있는 i번째 오프셋 지점 (제1 피어가 하나도 등록되지 않은 오프셋 지점은 제외)까지의 홉수, DP[i]는 등록 대상 오프셋 지점으로부터 오프셋 지점의 식별자가 작아지는 방향으로 떨어져 있는 i번째 오프셋 지점 (제1 피어가 하나도 등록되지 않은 오프셋 지점은 제외)까지의 홉수, CN[i]는 등록 대상 오프셋 지점으로부터 오프셋 지점의 식별자가 커지는 방향으로 떨어져 있는 i번째 오프셋 지점 (제1 피어가 하나도 등록되지 않은 오프셋 지점은 제외)에 등록된 제1 피어의 개수, CP[i]는 등록 대상 오프셋 지점으로부터 오프셋 지점의 식별자가 작아지는 방향으로 떨어져 있는 i번째 오프셋 지점 (제1 피어가 하나도 등록되지 않은 오프셋 지점은 제외)에 등록된 제1 피어의 개수, c는 등록 대상 제1 피어가 등록되는 경우 등록 대상 오프셋 지점에 등록된 제1 피어의 개수를 각각 의미한다.
이 경우, 등록 대상 오프셋 지점의 홉수를 1로 하여 DN[i] 및 DP[i]가 산출될 수 있다.
도 3의 일례에서, 단말 장치(200)가 100번 오프셋을 AAP 오버레이 네트워크에 등록하고 j가 2의 값을 가지는 경우, 제3 확률은 0.6548(=
Figure pat00002
)의 값을 가진다.
다른 일례로, 단말 장치(200)가 113번 오프셋을 AAP 오버레이 네트워크에 등록하고, j가 2의 값을 가지는 경우, 제3 확률은 0.4271 (=
Figure pat00003
)의 값을 가진다.
이 경우에도, 추가되는 오프셋 계층 값은 순차적으로 1만큼 증가할 수 있다.
그리고, 상기와 같은 일련의 과정(오프셋의 확률적 등록 및 상승)을 통해 오프셋 지점의 인기도가 누적되게 된다.
이와 같은 단말 장치(200)의 동작은 P2P 네트워크를 구성하는 다른 단말 장치에 대해서도 동일하게 적용 가능하다.
한편, 본 발명의 바람직한 일 실시예에 따르면, 등록부(240)는 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋이 존재하지 않는 경우에 한해(즉, 등록 대상 오프셋이 등록될 계층 값이 0인 경우에 한해), 제3 확률에 따른 계층 값의 추가 동작을 더 수행할 수 있다.
이는 제3 확률에 따른 계층 값 추가 동작을 수행할 피어가 0번째 계층(최하위 계층)에 오프셋을 등록한 피어가 아닌 다른 피어일 경우, 등록 대상 오프셋 지점에서의 오프셋의 밀도를 정확하게 측정할 수 없기 때문이다.
이와 같은 단말 장치(200)의 동작은 P2P 네트워크를 구성하는 다른 단말 장치에 대해서도 동일하게 적용 가능하다.
한편, 비디오 컨텐츠를 재생하고 있던 특정 AAP 피어가 시스템에서 정상적으로 나가게 되는 경우, 상기 AAP 피어는 메쉬 오버레이 네트워크 상에서의 자신의 이웃 피어 및 AAP 오버레이 네트워크 상에서의 자신의 이웃 AAP 피어에게 탈퇴의 사실을 통지하며, 상기 AAP 피어에 의해 등록된 오프셋은 AAP 오버레이 네트워크에서 삭제된다. 이에 따라, AAP 오버레이 네트워크에 등록된 오프셋의 연결 관계 및 AAP 피어의 연결 관계가 재정렬되어 AAP 오버레이 네트워크의 재형성 과정이 수행된다.
그리고, 특정 AAP 피어가 AAP 오버레이 네트워크에서 탈퇴는 하지 않았지만 기능이 정지하게 되는 경우(Failure), 타임 아웃(time-out)을 통해 AAP 오버레이 네트워크가 재형성된다.
2. VCR 동작 후에 비디오 컨텐츠가 순차적으로 재생되고 있는 경우, 단말 장치(200)의 오프셋의 등록 동작(제2 등록 동작)
도 4는 본 발명의 일 실시예에 따라서, VCR 동작 요청의 발생 후에 비디오 컨텐츠가 순차적으로 재생되고 있는 경우, 단말 장치(200)의 오프셋 등록 동작을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 사용자로부터 VCR 동작 요청이 발생하여 재생 지점이 이동되고, 이동된 재생 지점으로부터 비디오 컨텐츠가 순차적으로 재생되는 경우, 각 오프셋 지점의 인기도를 누적하기 위해, 등록부(240)는 소정 개수의 오프셋으로 구성되는 오프셋 간격이 지난 후에 도래하는 오프셋을 해당 오프셋이 포함되는 오프셋 지점에 등록할 수 있다.
다시 말해, 특정 오프셋이 등록된 후(즉, 이전 등록 대상 오프셋이 등록된 후) 소정의 오프셋 간격이 지날 때까지 VCR 동작 요청이 발생하지 않고 비디오 데이터가 순차적으로 재생되는 경우, 등록부(240)는 소정의 오프셋 간격이 지난 후에 도래하는 오프셋을 AAP 오버레이 네트워크에 등록할 수 있다.
이 때, 오프셋 간격을 구성하는 오프셋의 개수는 순차 재생이 시작되기 전에 등록된 오프셋이 포함된 오프셋 지점에 미리 등록되어 있는 오프셋들의 계층 값 중 최대 값(즉, 이전 등록 대상 오프셋이 등록되어 있는 오프셋 지점에 등록되어 있는 오프셋의 개수)과 반비례하도록 설정될 수 있다.
이는 순차 재생이 시작되기 전에 등록된 오프셋이 포함된 오프셋 지점의 계층 값이 높은 경우, 해당 오프셋 지점은 인기 구간으로 가정할 수 있고, 인기 구간과 인접한 구간 역시 인기도가 높을 가능성이 크므로, 이러한 인기도를 AAP 오버레이 네트워크에 반영하기 위함이다.
다시 말해, 등록부(240)는 VCR 동작 요청에 따라 오프셋이 등록된 경우에 있어, 해당 오프셋이 등록된 오프셋 지점의 인기도가 높은 경우(즉, 해당 오프셋이 등록된 오프셋 지점의 최대 계층 값이 큰 경우) 짧은 주기 단위로 오프셋 지점의 인기도를 누적하고, 해당 오프셋이 등록된 오프셋 지점의 인기도가 낮은 경우(즉, 해당 오프셋이 등록된 오프셋 지점의 최대 계층 값이 작은 경우) 긴 주기 단위로 오프셋 지점의 인기도를 누적할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 이전 등록 대상 오프셋은 앞서 설명한 바와 같이 VCR 동작 요청에 대응하여 등록된 오프셋뿐만 아니라, 순차 재생 시 소정 오프셋 간격 이후에 도래하여 등록된 오프셋일 수도 있다.
다시 말해, 등록부(240)에 의해 이전 등록 대상 오프셋이 등록된 후, 이전 등록 대상 오프셋으로부터 컨텐츠가 소정 개수의 오프셋을 포함하는 오프셋 간격 동안 재생 지점의 이동없이 순차적으로 재생되는 경우, 등록부(240)는 상기 오프셋 간격 이후에 도래하는 오프셋을 등록할 수 있는데, 이 경우 이전 등록 대상 오프셋은 제1 등록 동작에 의해 등록된 오프셋일 수도 있고, 이전 시점에서의 제2 등록 동작에 의해 등록된 오프셋일 수도 있다.
일례로서, AAP 오버레이 네트워크가 도 4에 도시된 바와 같이 형성되어 있고, 단말 장치(200)가 90번 오프셋으로의 VCR 동작 요청에 대응하여 90번 오프셋을 등록(제1 등록 동작)한 후 90번 오프셋에서부터 비디오 컨텐츠를 순차적으로 재생하는 경우, 90번 오프셋 지점에 등록된 오프셋의 개수(즉, 90번 오프셋 지점에 등록된 오프셋의 최대 계층 값)에 기초하여 오프셋 간격을 설정한다. 이 때, 90번 오프셋 지점에 미리 등록되어 있는 오프셋의 최대 계층 값이 2(layer 2)이므로, 등록부(240)는 아래의 수학식 2와 같이 오프셋의 최대 계층 값에 반비례하도록 오프셋 간격을 구성하는 오프셋의 개수를 설정할 수 있다.
Figure pat00004
여기서, interval은 오프셋 간격을 구성하는 오프셋의 개수, Current layer는 이전 등록 대상 오프셋이 등록된 오프셋 지점에 미리 등록되어 있는 오프셋의 최대 계층 값, anchor width는 미리 설정된 고정 앵커 간격을 각각 의미한다.
만약, anchor width가 100의 값을 가지는 경우, 상기의 예에서 interval은 33의 값을 가지므로, 등록부(240)는 오프셋 간격을 "33"으로 설정한다. 이 때, 90번 오프셋으로부터 33만큼 떨어진 122번 오프셋까지 (VCR 동작 없이) 비디오가 순차 재생되는 경우, 등록부(240)는 123번 오프셋을 123번 오프셋 지점에 등록한다(제2 등록 동작).
123번 오프셋을 등록(제2 등록 동작)한 후, 단말 장치(200)는 123번 오프셋에서부터 비디오 컨텐츠를 순차적으로 재생하게 되는데, 이 경우 등록부(240)는 123번 오프셋 지점에 등록된 오프셋의 개수(즉, 123 오프셋 지점에 등록된 오프셋의 최대 계층 값)에 기초하여 오프셋 간격을 다시 설정한다.
이 때, 123번 오프셋 지점에 미리 등록되어 있는 오프셋의 최대 계층 값이 1(layer 1)이므로, 등록부(240)는 상기의 수학식 1을 이용하여 오프셋 간격을 구성하는 오프셋의 개수를 설정할 수 있다.
만약, anchor width가 100의 값을 가지는 경우, interval은 50의 값을 가지므로, 등록부(240)는 오프셋 간격을 "50"으로 설정한다. 이 때, 123번 오프셋으로부터 50만큼 떨어진 172번 오프셋까지 (VCR 동작 없이) 비디오가 순차 재생되는 경우, 등록부(240)는 173번 오프셋을 173번 오프셋 지점에 등록한다(제2 등록 동작).
이 외에, 등록부(240)의 오프셋의 제2 등록 동작은 앞서 설명한 등록부(240)의 오프셋의 제1 등록 동작과 동일하므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
3. 오프셋의 선반입 동작
도 5는 본 발명의 일 실시예에 따른 단말 장치(200)의 오프셋의 선반입 동작의 개념을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 선택부(250)는 AAP 오버레이 네트워크에 등록된 오프셋들 중 계층 값이 소정 임계값 이상인 오프셋을 선반입을 위한 오프셋으로 선택한다. 그리고, 수신부(210)는 선택된 하나 이상의 오프셋을 해당 오프셋을 등록한 피어로터 선반입한다. 만약, 등록된 오프셋들 중 계층 값이 소정 임계값 이상인 오프셋이 존재하지 않는 경우, 오프셋의 선반입은 수행되지 않는다.
이 경우, 임계값은 아래의 수학식 3에 따라 정의되는 L보다 큰 최소의 정수값을 가질 수 있다.
Figure pat00005
여기서, N은 AAP 오버레이 네트워크에 등록된 오프셋의 전체 개수를 의미한다.
일례로서, AAP 오버레이 네트워크가 도 5에 도시된 바와 같이 구성되고, L이 2.5의 값을 가지는 경우, 선택부(240)는 3 이상의 계층 값을 가지는 오프셋인 90번 오프셋(510)을 선택하고, 수신부(210)는 90번 오프셋(510)을 등록한 AAP 피어로부터 해당 오프셋을 수신할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 단말 장치(200)는 오프셋 구간 단위로 인기도를 산출함과 동시에 비디오 컨텐츠의 재생 패턴을 보다 정확하게 반영하여 인기도를 산출함으로써, 선반입된 오프셋이 사용될 확률을 높여 VCR 동작 요청이 발생하는 경우 스트리밍 지연이 발생할 가능성 내지 스트리밍 지연 시간을 최소화할 수 있게 된다.
도 6은 본 발명의 일 실시예에 따른 단말 장치의 제어 방법의 전체적인 흐름을 도시한 순서도이다.
본 발명의 일 실시예에 따른 단말 장치의 제어 방법은 다수의 다른 단말 장치와 P2P 네트워크를 구성하여 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치를 제어하는 방법이다.
이하 도 6을 참조하여 각 단계 별로 수행되는 과정을 설명한다.
먼저, 단계(S610)에서는 단말 장치에 저장되어 있는 데이터 청크의 적어도 일부를 오프셋 단위로 AAP 오버레이 네트워크에 등록한다.
본 발명의 일 실시예에 따르면, 비디오 컨텐츠가 순차적으로 재생되는 도중에 VCR 동작 요청이 발생하는 경우, 단계(S610)에서는 이동될 재생 지점과 대응되는 데이터 청크를 포함하는 오프셋을 AAP 오버레이 네트워크에 등록할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 사용자로부터 VCR 동작 요청이 발생하여 재생 지점이 이동되고, 이동된 재생 지점으로부터 비디오 컨텐츠가 순차적으로 재생되는 경우, 단계(S610)에서는 소정 개수의 오프셋으로 구성되는 오프셋 간격이 지난 후에 도래하는 오프셋을 해당 오프셋이 포함되는 오프셋 구간에 등록할 수 있다.
계속하여, 단계(S620)에서는 AAP 오버레이 네트워크에 등록된 오프셋들 중에서 선반입을 수행하기 위한 하나 이상의 오프셋을 선택한다. 이 때, AAP 오버레이 네트워크에 등록된 오프셋들은 P2P 네트워크를 구성하는 피어들 중 적어도 일부에 의해 등록된 오프셋이다.
일례로서, 단계(S620)에서는 AAP 오버레이 네트워크에 등록된 오프셋들 중 계층 값이 소정 임계값 이상인 오프셋을 선반입을 위한 오프셋으로 선택할 수 있다.
마지막으로, 단계(S630)에서는 AAP 오버레이 네트워크를 구성하는 AAP 피어들의 연결 관계에 기초하여 상기 선택된 하나 이상의 오프셋을 등록한 피어로부터 상기 선택된 하나 이상의 오프셋을 선반입한다.
도 6에서는 단계(S610)가 단계(S620) 및 단계(S630)에 선행하여 수행되는 것으로 설명하였으나, 단계(S610)는 단계(S620) 및 단계(S630)과 무관하게 별도의 과정으로 수행될 수 있음은 당업자에게 자명하다 할 것이다.
지금까지 본 발명에 따른 단말 장치의 제어 방법의 실시예들에 대하여 설명하였고, 앞서 도 2 내지 도 5에서 단말 장치(200)에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
200: 단말 장치 210: 수신부
220: 저장부 230: 송신부
240: 등록부 250: 선택부

Claims (21)

  1. P2P 네트워크를 구성하는 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치에 있어서,
    상기 P2P 네트워크를 구성하는 다수의 피어들 중 적어도 일부의 피어로 구성되며, 컨텐츠 스트리밍 서비스를 위한 데이터의 선반입(prefetching)에 이용되는 인기도 기반 오버레이 네트워크에 하나 이상의 데이터 청크로 구성되는 오프셋을 등록하기 위한 등록부를 포함하되,
    상기 컨텐츠 스트리밍 서비스의 대상인 컨텐츠의 전체 데이터 구간은 다수의 오프셋 지점을 포함하고, 상기 등록부는 상기 인기도 기반 오버레이 네트워크에 등록하고자 하는 오프셋(등록 대상 오프셋)을 상기 다수의 오프셋 지점 중 상기 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점(등록 대상 오프셋 지점)에 소정의 계층 값을 가지도록 등록한 후, 상기 등록 대상 오프셋의 계층 값을 확률적으로 추가하되,
    상기 등록 대상 오프셋의 계층 값이 추가될 확률은 상기 등록 대상 오프셋 지점과 인접한 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도와 비례하는 것을 특징으로 하는 오프셋의 밀도와 비례하는 것을 특징으로 하는 단말 장치.
  2. 제1항에 있어서,
    상기 컨텐츠의 재생 시 재생 지점의 이동 요청이 발생하는 경우,
    상기 등록 대상 오프셋은 상기 이동 요청된 재생 지점과 대응되는 데이터 청크를 포함하는 오프셋인 것을 특징으로 하는 단말 장치.
  3. 제1항에 있어서,
    상기 등록부에 의해 이전 등록 대상 오프셋이 등록된 후, 상기 이전 등록 대상 오프셋으로부터 상기 컨텐츠가 소정 개수의 상기 오프셋을 포함하는 오프셋 간격 동안 재생 지점의 이동 없이 순차적으로 재생되는 경우,
    상기 등록 대상 오프셋은 상기 오프셋 간격 이후에 도래하는 오프셋인 것을 특징으로 하는 단말 장치.
  4. 제3항에 있어서,
    상기 등록부는 상기 이전 등록 대상 오프셋이 등록된 오프셋 구간에 미리 등록되어 있는 오프셋의 개수와 반비례하도록 상기 소정 개수를 설정하는 것을 특징으로 하는 단말 장치.
  5. 제1항에 있어서,
    상기 등록부는 소정의 제1 확률로 상기 등록 대상 오프셋을 상기 등록 대상 오프셋 구간에 등록하는 것을 특징으로 하는 단말 장치.
  6. 제5항에 있어서,
    상기 소정의 제1 확률은 상기 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋의 개수와 반비례하도록 설정되는 것을 특징으로 하는 단말 장치.
  7. 제5항에 있어서,
    상기 등록부는
    소정의 제2 확률로 상기 등록 대상 오프셋 계층 값이 추가될 수 있는지를 판단하되, 상기 등록 대상 오프셋의 계층 값이 추가될 수 없는 것으로 판단될 때까지 상기 등록 대상 오프셋의 계층 값을 연속적으로 추가하고,
    상기 소정의 제2 확률에 따른 계층 값의 추가가 종료된 후에 상기 오프셋의 밀도와 비례하는 확률로 계층 값을 더 추가하는 것을 특징으로 하는 단말 장치.
  8. 제7항에 있어서,
    상기 소정의 제2 확률은 상기 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋의 개수와 반비례하도록 설정되는 것을 특징으로 하는 단말 장치.
  9. 제1항에 있어서,
    상기 등록부는 상기 오프셋 밀도와 비례하는 확률로 상기 등록 대상 오프셋의 계층 값이 추가될 수 있는지를 판단하되, 상기 등록 대상 오프셋의 계층 값이 추가될 수 없는 것으로 판단될 때까지 상기 등록 대상 오프셋의 계층 값을 연속적으로 추가하는 것을 특징으로 하는 단말 장치.
  10. 제7항 또는 제9항에 있어서,
    상기 등록 대상 오프셋의 계층 값은 상기 등록 대상 오프셋이 미리 가지고 있는 계층 값의 최대값 보다 1만큼 큰 값을 가지는 것을 특징으로 하는 단말 장치.
  11. 제1항에 있어서,
    상기 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도는 아래의 수학식과 같이 설정될 수 있다.

    Figure pat00006


    여기서, p는 상기 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도, j는 1 이상의 정수, DN[i]는 상기 등록 대상 오프셋 지점으로부터 오프셋 지점의 인덱스가 커지는 방향으로 떨어져 있는 i번째 오프셋 지점까지의 홉수(오프셋이 하나도 등록되지 않은 오프셋 지점은 제외), DP[i]는 상기 등록 대상 오프셋 지점으로부터 오프셋 지점의 식별자가 작아지는 방향으로 떨어져 있는 i번째 오프셋 지점까지의 홉수(오프셋이 하나도 등록되지 않은 오프셋 지점은 제외), CN[i]는 상기 등록 대상 오프셋 지점으로부터 상기 오프셋 지점의 식별자가 커지는 방향으로 떨어져 있는 i번째 오프셋 지점에 등록된 오프셋의 개수(오프셋이 하나도 등록되지 않은 오프셋 지점은 제외), CP[i]는 상기 등록 대상 오프셋 지점으로부터 오프셋 지점의 식별자가 작아지는 방향으로 떨어져 있는 i번째 오프셋 지점에 등록된 오프셋의 개수(오프셋이 하나도 등록되지 않은 오프셋 지점은 제외), c는 상기 등록 대상 오프셋이 등록되는 경우 상기 등록 대상 오프셋 지점에 등록된 오프셋의 개수를 각각 의미함.
  12. 제1항에 있어서,
    상기 등록 대상 오프셋의 계층 값은 상기 등록 대상 오프셋 구간에 미리 등록되어 있는 오프셋이 존재하지 않는 경우 0의 값을 가지고, 상기 등록 대상 오프셋 구간 내에 미리 등록되어 있는 오프셋(선 등록 오프셋)이 하나 이상 존재하는 경우, 상기 하나 이상의 선 등록 오프셋의 계층 값 중 최대값보다 1만큼 증가한 값을 가지는 것을 특징으로 하는 단말 장치.
  13. 제1항에 있어서,
    상기 등록 대상 오프셋 지점 내에서의 상기 등록 대상 오프셋의 계층의 값은 상기 등록 대상 오프셋 지점에 미리 등록되어 있는 오프셋이 존재하지 않는 경우 0의 값을 가지고, 상기 등록 대상 오프셋 지점 내에 미리 등록되어 있는 오프셋이 하나 이상 존재하는 경우 상기 미리 등록되어 있는 하나 이상의 오프셋의 계층 값 중 최대값보다 1만큼 증가한 값을 가지는 것을 특징으로 하는 단말 장치.
  14. 제1항에 있어서,
    상기 적어도 일부의 피어는 상기 다수의 피어들 중 상기 인기도 기반 오버레이 네트워크에 하나 이상의 오프셋을 등록한 피어이고,
    상기 인기도 기반 오버레이 네트워크 내에서의 상기 적어도 일부의 피어의 연결 관계는 상기 인기도 기반 오버레이 네트워크에 등록된 오프셋의 오프셋 지점의 인덱스 및 상기 등록된 오프셋의 계층 값에 기초하여 정의되는 것을 특징으로 하는 단말 장치.
  15. 제14항에 있어서,
    상기 인기도 기반 오버레이 네트워크에 등록된 오프셋들 중에서 선반입을 수행하기 위한 하나 이상의 오프셋을 선택하는 선택부; 및
    상기 적어도 일부의 피어의 연결 관계에 기초하여 상기 선택된 하나 이상의 오프셋을 등록한 피어로부터 상기 선택된 하나 이상의 오프셋을 선반입하는 수신부를 더 포함하는 것을 특징으로 하는 단말 장치.
  16. 제15항에 있어서,
    상기 선반입을 수행하기 위한 하나 이상의 오프셋은 상기 인기도 기반 오버레이 네트워크에 등록된 오프셋들 중 상기 계층 값이 소정의 임계값 이상인 오프셋인 것을 특징으로 하는 단말 장치.
  17. P2P 네트워크를 구성하는 피어로서 동작하며, P2P 기반의 컨텐츠 스트리밍 서비스를 제공받는 단말 장치를 제어하는 방법에 있어서,
    상기 P2P 네트워크를 구성하는 다수의 피어들 중 적어도 일부의 피어로 구성되며, 컨텐츠 스트리밍 서비스를 위한 데이터의 선반입(prefetching)에 이용되는 인기도 기반 오버레이 네트워크에 하나 이상의 데이터 청크로 구성되는 오프셋을 등록하는 단계를 포함하되,
    상기 컨텐츠 스트리밍 서비스의 대상인 컨텐츠의 전체 데이터 구간은 다수의 오프셋 지점을 포함하고, 상기 등록하는 단계는 상기 인기도 기반 오버레이 네트워크에 등록하고자 하는 오프셋(등록 대상 오프셋)을 상기 다수의 오프셋 지점 중 상기 등록 대상 오프셋과 동일한 인덱스를 가지는 오프셋 지점(등록 대상 오프셋 지점)에 소정의 계층 값을 가지도록 등록한 후, 상기 등록 대상 오프셋의 계층 값을 확률적으로 추가하되,
    상기 등록 대상 오프셋의 계층 값이 추가될 확률은 상기 등록 대상 오프셋 지점과 인접한 2 이상의 인접 오프셋 지점에서의 상기 오프셋의 밀도와 비례하는 것을 특징으로 하는 오프셋의 밀도와 비례하는 것을 특징으로 하는 단말 장치의 제어 방법.
  18. 제17항에 있어서,
    상기 컨텐츠의 재생 시 재생 지점의 이동 요청이 발생하는 경우,
    상기 등록 대상 오프셋은 상기 이동 요청된 재생 지점과 대응되는 데이터 청크를 포함하는 오프셋인 것을 특징으로 하는 단말 장치의 제어 방법.
  19. 제17항에 있어서,
    상기 등록부에 의해 이전 등록 대상 오프셋이 등록된 후, 상기 이전 등록 대상 오프셋으로부터 상기 컨텐츠가 소정 개수의 상기 오프셋을 포함하는 오프셋 간격 동안 재생 지점의 이동 없이 순차적으로 재생되는 경우,
    상기 등록 대상 오프셋은 상기 오프셋 간격 이후에 도래하는 오프셋인 것을 특징으로 하는 단말 장치의 제어 방법.
  20. 제17항에 있어서,
    상기 적어도 일부의 피어는 상기 다수의 피어들 중 상기 인기도 기반 오버레이 네트워크에 하나 이상의 오프셋을 등록한 피어이고,
    상기 인기도 기반 오버레이 네트워크 내에서의 상기 적어도 일부의 피어의 연결 관계는 상기 인기도 기반 오버레이 네트워크에 등록된 오프셋이 포함되는 오프셋 지점의 인덱스 및 상기 등록된 오프셋의 계층 값에 기초하여 정의되는 것을 특징으로 하는 단말 장치의 제어 방법.
  21. 제20항에 있어서,
    상기 인기도 기반 오버레이 네트워크에 등록된 오프셋들 중에서 선반입을 수행하기 위한 하나 이상의 오프셋을 선택하는 단계; 및
    상기 적어도 일부의 피어의 연결 관계에 기초하여 상기 선택된 하나 이상의 오프셋을 등록한 피어로부터 상기 선택된 하나 이상의 오프셋을 선반입하는 단계를 더 포함하는 것을 특징으로 하는 단말 장치의 제어 방법.
KR1020110110034A 2011-10-26 2011-10-26 P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법 KR101369105B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110110034A KR101369105B1 (ko) 2011-10-26 2011-10-26 P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110110034A KR101369105B1 (ko) 2011-10-26 2011-10-26 P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법

Publications (2)

Publication Number Publication Date
KR20130045670A true KR20130045670A (ko) 2013-05-06
KR101369105B1 KR101369105B1 (ko) 2014-03-06

Family

ID=48657640

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110110034A KR101369105B1 (ko) 2011-10-26 2011-10-26 P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR101369105B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030056701A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 P2p 방식을 이용한 멀티미디어 스트리밍 장치 및 방법
CN101841553B (zh) 2009-03-17 2014-03-12 日电(中国)有限公司 网络上请求资源的位置信息的方法、用户节点和服务器

Also Published As

Publication number Publication date
KR101369105B1 (ko) 2014-03-06

Similar Documents

Publication Publication Date Title
US11503112B2 (en) Selective access of multi-rate data from a server and/or peer
US9497035B2 (en) Method, device, and system for playing media based on P2P
US7840680B2 (en) Methods and systems for broadcast-like effect using fractional-storage servers
US20100146569A1 (en) Set-top box peer-assisted video-on-demand
US20100146138A1 (en) Method of data request scheduling in peer-to-peer sharing networks
KR101563485B1 (ko) 피어-투-피어 콘텐츠 배포 시스템에서 어나운싱 피어에 의한 콘텐츠 소유의 검증
Yang et al. Kangaroo: Video Seeking in {P2P} Systems
KR101252947B1 (ko) 비디오 청크 분포에 적응적인 푸쉬-풀 혼성 스트리밍 방법 및 장치
Lee et al. A popularity-aware prefetching scheme to support interactive P2P streaming
KR101369105B1 (ko) P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법
KR101369073B1 (ko) P2p 네트워크를 통해 컨텐츠 스트리밍 서비스를 제공받는 단말 장치 및 이의 제어 방법
CN101436946B (zh) 在对等共享网络内进行数据请求调度的方法
WO2005119498A1 (en) P2p based video service system and method for providing vod service using the same
CN101286943B (zh) 一种网络电视业务的控制方法及网络电视业务系统
KR101242830B1 (ko) P2p 기반의 스트리밍 서비스에서 버퍼링을 수행하는 시스템 및 방법 그리고 클라이언트에서 버퍼링을 처리하는 어플리케이션을 배포하는 시스템
KR101590099B1 (ko) 이웃피어 선정 장치 및 방법
Kim et al. An adaptive anchor protocol to enable VCR interactions for P2P VoD streaming service
KR101665853B1 (ko) 재생 지연 감소를 위한 동영상 스트리밍 방법 및 사용자의 패킷 저장 방법 및 장치
KR101204543B1 (ko) P2p 스트리밍 서비스를 위한 청크 선택 방법 및 장치
KR101015098B1 (ko) P2p 기반의 스트리밍 서비스 제공 시스템 및 방법
Cao et al. P2P-based Video-on-Demand Service Using Multiple Cache Replacement Algorithm
Zou et al. A Locality-Aware Peer Searching Scheme to Support VCR Functions in a Mesh-Based P2P VoD System
Ouyang On heterogeneous user demands in peer-to-peer video streaming systems
Ho et al. Resource-aware Replication Strategies in P2P VoD Services with Scalable Video Streams
Bafna et al. Optimization of prefetching in peer-to-peer video on demand systems

Legal Events

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

Payment date: 20161227

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee