KR101204543B1 - Method and apparatus for chunk selection in p2p streaming service - Google Patents

Method and apparatus for chunk selection in p2p streaming service Download PDF

Info

Publication number
KR101204543B1
KR101204543B1 KR1020100132246A KR20100132246A KR101204543B1 KR 101204543 B1 KR101204543 B1 KR 101204543B1 KR 1020100132246 A KR1020100132246 A KR 1020100132246A KR 20100132246 A KR20100132246 A KR 20100132246A KR 101204543 B1 KR101204543 B1 KR 101204543B1
Authority
KR
South Korea
Prior art keywords
chunks
chunk
value
priority
file
Prior art date
Application number
KR1020100132246A
Other languages
Korean (ko)
Other versions
KR20120070790A (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 KR1020100132246A priority Critical patent/KR101204543B1/en
Publication of KR20120070790A publication Critical patent/KR20120070790A/en
Application granted granted Critical
Publication of KR101204543B1 publication Critical patent/KR101204543B1/en

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
    • 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
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams

Abstract

P2P 스트리밍 서비스에 있어서 청크를 선택하기 위한 방법 및 장치가 제공된다. 스트리밍에 의해 재생될 파일을 구성하는 하나 이상의 청크들이 다운로드된다. 하나 이상의 청크들 각각에 대해 청크의 우선 순위가 계산되며, 계산된 우선 순위에 기반하여 전송을 요청할 청크가 선택된다. 우선 순위는 청크의 희소성 및 하나 이상의 청크들 내에서의 청크의 위치에 기반하여 계산된다. A method and apparatus for selecting a chunk in a P2P streaming service is provided. One or more chunks that make up the file to be played by streaming are downloaded. For each of the one or more chunks, the priority of the chunk is calculated, and the chunk to request transmission is selected based on the calculated priority. The priority is calculated based on the scarcity of the chunk and the location of the chunk within one or more chunks.

Figure R1020100132246
Figure R1020100132246

Description

P2P 스트리밍 서비스를 위한 청크 선택 방법 및 장치{METHOD AND APPARATUS FOR CHUNK SELECTION IN P2P STREAMING SERVICE}METHOD AND APPARATUS FOR CHUNK SELECTION IN P2P STREAMING SERVICE}

아래의 실시예들은 P2P 스트리밍 서비스에 있어서 청크를 선택하기 위한 방법 및 장치에 관한 것이다.The following embodiments are directed to a method and apparatus for selecting a chunk in a P2P streaming service.

최근 인터넷을 통해 비디오(video)를 재생하는 시스템이 관심을 받게 되면서, 이러한 시스템의 성능을 향상시키기 위한 다양한 방법이 개발되고 있다.Recently, as a system for playing a video through the Internet has received attention, various methods for improving the performance of such a system have been developed.

비다오 파일은 일반적으로 큰 사이즈(size)를 갖는다.Video files generally have a large size.

트리-기반(tree-based) 시스템의 경우, 큰 사이즈를 갖는 비디오 파일에 의해 서버에 많은 부담이 가해진다. 따라서, 이러한 시스템은 많은 사용자에 의해 이용되기 어렵다는 문제를 갖는다.In the case of tree-based systems, a large burden is placed on the server by a video file having a large size. Therefore, such a system has a problem that it is difficult to use by many users.

이러한 이유로, 서버에 더 적은 부담이 가해지는 분산형 시스템인, 메쉬-기반(mesh-based) 시스템으로 초점이 기울고 있다.For this reason, the focus is on mesh-based systems, which are distributed systems that put less strain on the server.

또한, 메쉬-기반의 스트리밍 서비스는, 사용자가 자주 진입 및 탈퇴하는 환경에 있어서, 보다 간단하며 견고한 성능을 보인다.In addition, mesh-based streaming services show simpler and more robust performance in environments where users frequently enter and leave.

메쉬 기반의 시스템에서는, 대부분 비트토런트(BitTorrent)와 같은 스웜(swarming) 프로토콜이 사용된다. 이러한 스웜 프로토콜에서, 사용자들은 다른 사용자들과 파일의 조각을 교환함으로써 서로 간에 파일을 공유한다.In mesh-based systems, swarming protocols such as BitTorrent are mostly used. In this swarm protocol, users share files with each other by exchanging pieces of files with other users.

청크(chunk) 스케줄링(scheduling)은 파일 공유시 어떠한 파일 조각(즉, 블록(block) 또는 청크)을 우선적으로(먼저) 교환해야 하는지에 대한 정책을 의미한다.Chunk scheduling refers to a policy of which file fragments (ie blocks or chunks) should be exchanged first (first) during file sharing.

청크 스케줄링에 대한 다양한 정책이 개발되고 있으며, 이러한 청크 스케줄링은 주문형 비디오(Video-On-Demand; VOD), 라이브 스트리밍 등 피어-투-피어(Peer-To-Peer; P2P)를 이용한 스트리밍 서비스를 제공하는 모든 시스템(예컨대, 인터넷 프로토콜 텔레비전(Internet Protocol TeleVision; IP-TV))에서 사용될 수 있다.Various policies on chunking scheduling have been developed, and such chunking scheduling provides streaming services using peer-to-peer (P2P) such as video-on-demand (VOD) and live streaming. Can be used in any system (eg, Internet Protocol TeleVision (IP-TV)).

본 발명의 일 실시에는 P2P 비디오 스트리밍 서비스를 제공하기 위한 청크 선택 장치 및 방법을 제공할 수 있다.An embodiment of the present invention may provide a chunk selection apparatus and method for providing a P2P video streaming service.

본 발명의 일 실시예는 블록의 희소성 및 플레이백 데드라인을 함께 고려하는 청크 선택 장치 및 방법을 제공할 수 있다.One embodiment of the present invention can provide a chunk selection apparatus and method that takes into account the sparsity of the block and the playback deadline together.

본 발명의 일측에 따르면, 하나 이상의 이웃 노드들과 연결된 P2P 네트워크에서 파일에 포함되는 하나 이상의 청크들을 다운로드하는 방법에 있어서, 상기 하나 이상의 청크들 각각에 대해 청크의 우선 순위를 계산하는 단계, 상기 우선 순위에 기반하여 전송을 요청할 청크를 선택하는 단계, 상기 이웃 노드들 중 하나 이상의 노드들에게 상기 선택된 청크의 전송을 요청하는 단계 및 상기 선택된 청크의 전송이 요청된 하나 이상의 노드들 중 하나 이상의 노드들로부터 상기 전송을 요청한 청크를 다운로드하는 단계를 포함하고, 상기 우선 순위는 상기 청크의 희소성에 기반하여 계산된 제1 값 및 상기 청크의 상기 하나 이상의 청크들 내의 위치에 기반하여 계산된 제2 값에 기반하여 계산되는, 파일 다운로드 방법이 제공된다.According to one aspect of the present invention, a method for downloading one or more chunks included in a file in a P2P network connected to one or more neighboring nodes, the method comprising: calculating a priority of the chunk for each of the one or more chunks, the priority Selecting a chunk to request transmission based on a rank, requesting transmission of the selected chunk to one or more nodes of the neighboring nodes, and one or more nodes of one or more nodes requested to transmit the selected chunk. Downloading the chunk that requested the transmission from the second value, wherein the priority is based on a first value calculated based on the scarcity of the chunk and a second value calculated based on a position in the one or more chunks of the chunk. A file download method is provided, which is calculated based on this.

상기 파일은 재생되고 있는 파일일 수 있고, 상기 재생을 위해 스트리밍을 통해 전송되고 있는 파일일 수 있다.The file may be a file being played or may be a file being transmitted through streaming for the playback.

상기 파일 다운로드 방법은, 상기 파일을 구성하는 청크들 중 상기 하나 이상의 청크들을 다운로드를 위한 구간으로서 선택하는 단계를 더 포함할 수 있다.The file downloading method may further include selecting the one or more chunks of the chunks constituting the file as an interval for downloading.

상기 하나 이상의 청크들은 상기 파일 내의 상기 재생의 위치 이후의 청크들일 수 있고, 다운로드되지 않은 청크들일 수 있고, 상기 재생의 위치로부터 특정한 범위 내에 있는 청크들일 수 있다.The one or more chunks may be chunks after the location of the playback in the file, may be chunks that have not been downloaded, and may be chunks within a specific range from the location of the playback.

상기 우선 순위는 상기 제1 값 및 상기 제2 값의 가중치가 부여된 합일 수 있다.The priority may be a weighted sum of the first value and the second value.

상기 가중치는 상기 하나 이상의 청크들 중 특정한 개수 이하의 노드들에 의해 제공될 수 있는 청크들의 비율에 기반하여 계산될 수 있다.The weight may be calculated based on the ratio of chunks that may be provided by nodes below a certain number of the one or more chunks.

본 발명의 다른 일측에 따르면, 하나 이상의 이웃 노드과 연결된 P2P 내트워크로부터 파일에 포함되는 하나 이상의 청크들을 다운로드하기 위한 P2P 파일 공유 유닛에 있어서, 하나 이상의 청크들 각각에 대해 청크의 우선 순위를 계산하는 우선 순위 계산부 및 상기 우선 순위에 기반하여 전송을 요청할 청크를 선택하는 전송 요청 청크 선택부를 포함하고, 상기 우선 순위 계산부는 상기 청크의 희소성에 기반하여 제1 값을 계산하고, 상기 청크의 상기 하나 이상의 청크들 내의 위치에 기반하여 제2 값을 계산하고, 상기 제1 값 및 상기 제2 값에 기반하여 상기 우선 순위를 계산하는, P2P 파일 공유 유닛이 제공된다.According to another aspect of the present invention, in a P2P file sharing unit for downloading one or more chunks included in a file from a P2P network connected with one or more neighbor nodes, the priority of calculating the priority of the chunks for each of the one or more chunks is high. A transfer request chunk selecting unit for selecting a chunk to request transmission based on the priority, wherein the priority calculating unit calculates a first value based on the scarcity of the chunk, and the at least one of the chunks. A P2P file sharing unit is provided that calculates a second value based on a location in the chunks and calculates the priority based on the first value and the second value.

상기 P2P 파일 공유 유닛은, 상기 파일을 구성하는 청크들 중 상기 다운로드를 위한 구간으로서 상기 하나 이상의 청크들을 선택하는 윈도우 선택부를 더 포함할 수 있다.The P2P file sharing unit may further include a window selector for selecting the one or more chunks as the section for the download among the chunks constituting the file.

상기 청크의 희소성은 상기 이웃 노드들에게 확산되어 있는 모든 청크들에 대한 상기 청크의 비율을 나타낼 수 있다.The scarcity of the chunk may represent the ratio of the chunk to all the chunks that are spread to the neighbor nodes.

상기 하나 이상의 청크들 중 상대적으로 앞에 위치하는 청크는 상대적으로 뒤에 위치하는 청크보다 더 높은 상기 제2 값을 가질 수 있다.A relatively preceding chunk of the one or more chunks may have the second value that is higher than a relatively subsequent chunk.

상기 우선 순위는 상기 제1 값 및 상기 제2 값의 가중치가 부여된 합일 수 있다.The priority may be a weighted sum of the first value and the second value.

상기 가중치는 상기 하나 이상의 청크들 중 상기 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수에 기반하여 계산될 수 있다.The weight may be calculated based on the number of chunks of the one or more chunks spread below a predefined value in the network.

상기 우선 순위 계산부는 상기 하나 이상의 청크들 중 상기 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수가 적을수록 상기 제1 값에 대한 상기 가중치를 증가시킬 수 있다.The priority calculator may increase the weight for the first value as the number of chunks spread below a predefined value in the network among the one or more chunks is smaller.

상기 우선 순위 계산부는 상기 하나 이상의 청크들 중 상기 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수가 많을수록 상기 제2 값에 대한 상기 가중치를 증가시킬 수 있다.The priority calculator may increase the weight for the second value as the number of chunks spread below a predefined value in the network among the one or more chunks increases.

본 발명의 또 다른 일측에 따르면, 하나 이상의 이웃 노드들과 연결된 P2P 네트워크를 통해 파일에 포함되는 하나 이상의 청크들을 다운로드하는 노드에 있어서, 상기 하나 이상의 청크들 각각에 대해 청크의 우선 순위를 계산하고, 상기 우선 순위에 기반하여 전송을 요청할 청크를 선택하는 제어부, 상기 이웃 노드들 중 하나 이상의 노드들에게 상기 선택된 청크의 전송을 요청하고, 선택된 청크의 전송이 요청된 하나 이상의 노드들 중 하나 이상의 노드들로부터 상기 전송을 요청한 청크를 다운로드하는 송수신부 및 상기 다운로드된 청크를 상기 파일의 일부로서 저장하는 저장부를 포함하고, 상기 우선 순위는 상기 청크의 희소성에 기반하여 계산된 제1 값 및 상기 청크의 상기 하나 이상의 청크들 내의 위치에 기반하여 계산된 제2 값에 기반하여 계산되는, P2P 네트워크 노드가 제공된다.According to another aspect of the present invention, in a node for downloading one or more chunks included in a file through a P2P network connected to one or more neighboring nodes, calculating the priority of the chunk for each of the one or more chunks, A control unit for selecting a chunk to request transmission based on the priority, one or more nodes of one or more nodes requesting transmission of the selected chunk to one or more nodes of the neighboring nodes, and requesting transmission of the selected chunk; And a storage unit for storing the downloaded chunk as part of the file, and a storage unit for downloading the chunk requesting the transmission from the memory, wherein the priority is the first value calculated based on the scarcity of the chunk and the chunk of the chunk. Based on a second value calculated based on a location within one or more chunks On top of that, a P2P network node is provided.

P2P 비디오 스트리밍 서비스를 제공하기 위한 청크 선택 장치 및 방법이 제공된다.Provided are a chunk selection apparatus and method for providing a P2P video streaming service.

블록의 희소성 및 플레이백 데드라인을 함께 고려하는 청크 선택 장치 및 방법이 제공된다.A chunk selection apparatus and method are provided that take into account the sparsity of the block and the playback deadline together.

도 1은 본 발명의 일 예에 따른 BiToS 청크 선택 방법을 설명한다.
도 2는 본 발명의 일 예에 따른 청크 선택 방법을 비교한다.
도 3은 본 발명의 일 실시예에 따른 ENR 청크 선택 방법을 설명한다.
도 4는 본 발명의 일 실시예에 따른 ENR 기술을 사용하는 파일 다운로드 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 P2P 네트워크의 노드의 구조도이다.
도 6은 본 발명의 일 예에 따른 청크 선택 방법들 간의 효율적인 다운로드 비(effective download ratio; EDR)를 비교한다.
도 7은 본 발명의 일 예에 따른 청크 선택 방법들간의 미스 비(miss ratio; MR)을 비교한다.
도 8은 본 발명의 일 예에 따른 청크 선택 방법들 간의 스타트업 지연(startup delay; SD)을 비교한다.
1 illustrates a BiToS chunk selection method according to an embodiment of the present invention.
2 compares the chunk selection method according to an embodiment of the present invention.
3 illustrates an ENR chunk selection method according to an embodiment of the present invention.
4 is a flowchart of a file download method using ENR technology according to an embodiment of the present invention.
5 is a structural diagram of a node of a P2P network according to an embodiment of the present invention.
6 compares an effective download ratio (EDR) between chunk selection methods according to an embodiment of the present invention.
7 compares the miss ratio (MR) between the chunk selection methods according to an embodiment of the present invention.
8 compares a startup delay (SD) between chunk selection methods according to an embodiment of the present invention.

이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

도 1은 본 발명의 일 예에 따른 BiToS 청크 선택 방법을 설명한다.1 illustrates a BiToS chunk selection method according to an embodiment of the present invention.

P2P를 이용한 파일 공유(sharing) 기술 중 비트토런트(BitTorrent) 기술이 있다. BiToS(BitTorrent Streaming)은 BitTorrent 기술을 VOD 스트리밍에 적용시킨 기법 중 하나이다.Among the file sharing (sharing) technology using P2P is BitTorrent technology. BitTorrent Streaming (BiToS) is one of the techniques of applying BitTorrent technology to VOD streaming.

BiToS는 BitTorrent에서 사용된 기존의 청크 선택 기법들 중 "희소성 우선(Rarest First)"을 사용한다.BiToS uses "Rarest First" of existing chunk selection techniques used in BitTorrent.

희소성 우선 기법은 네트워크 오버레이(overlay) 상에서 가장 적게 확산된 청크를 우선적으로 수신(또는, 획득)하는 것이다. 희소성 우선 기법은 전체 네트워크 상에서 파일이 보다 효율적으로 공유될 수 있게 한다.The sparsity first technique is to preferentially receive (or obtain) the least spread chunks on a network overlay. Sparsity-first approach allows files to be shared more efficiently across the entire network.

BitTorrent의 희소성 우선은 단순히 희소성 만을 기준으로 사용하여 청크(즉, 청크의 전송)를 스케줄링(scheduling)한다. 따라서, BitTorrent의 희소성 우선은 비디오 파일의 선두 부분이 우선 수신되어야 하는 스트리밍 서비스에서는 제대로 사용될 수 없다.The sparse priority of BitTorrent simply schedules chunks (ie, the transmission of the chunks) based solely on the scarcity. Therefore, BitTorrent's sparsity priority cannot be used properly in streaming services where the head of a video file must first be received.

전송의 대상인 비디오 파일은 청크들로 분리된다. 각 청크들은 비디오 파일 내의 순서에 따라 일련의 번호를 갖는다. 청크들은 크게 4 종류(type)들로 분류된다. 4 종들 각각은 다음과 같다.The video file that is the subject of transmission is separated into chunks. Each chunk has a sequence of numbers in order within the video file. Chunks are largely classified into four types. Each of the four species is as follows.

1) 다운로드된 조각(downloaded piece)(112) : 클라이언트가 이미 다운로드한 청크이다. 다운로드된 부분은 재생기(player) 버퍼로 이동되며, 비디오를 출력하기 위해 재생기에 의해 사용된다.1) downloaded piece 112: The chunk has already been downloaded by the client. The downloaded portion is moved to the player buffer and used by the player to output the video.

2) 현재 다운로딩 중인 조각(currently downloading piece)(114) : 서버로부터 클라이언트로 전송되고 있는 청크이다.2) currently downloading piece 114: A chunk being sent from the server to the client.

3) 요청이 되지 않거나 다운로드되지 않은 조각(not requested or not downloaded piece)(116) : 전송의 대상이지만, 아직 전송되고 있지 않은 청크이다.3) not requested or not downloaded piece 116: A chunk that is the subject of a transfer but has not yet been sent.

4) 재생기의 데드라인을 놓친 조각(missed player deadline piece)(118) : 전송이 되지 않았지만, 재생기가 요청하는 데드라인이 이미 경과하였기 때문에 전송의 대상에서 제외된 조각이다. 예컨대, 재생기가 제4 청크(194) 또는 제5 청크(195)에 해당하는 부분을 재생하고 있는 경우, 제3 청크(193)는 이미 재생의 대상에서 제외되었기 때문에 전송될 필요가 없다.4) Missed player deadline piece 118: A missing player deadline piece 118 is a part that is not sent because the deadline requested by the player has already passed. For example, when the player is reproducing a portion corresponding to the fourth chunk 194 or the fifth chunk 195, the third chunk 193 does not need to be transmitted because it is already excluded from the object of reproduction.

서버 내의 비디오 파일 중 이미 다운로드된 조각(112) 또는 재생기의 데드라인을 놓친 조각(118)을 제외한 부분이 다운로드의 대상이 되는 부분(120)이다. 즉, 다운로드의 대상이 되는 부분(120)은 현재 다운로딩 중인 조각(114) 및 요청이 되지 않거나 다운로드되지 않은 조각(116)을 포함한다.The portion of the video file in the server other than the fragment 112 that has already been downloaded or the fragment 118 that misses the deadline of the player is the portion 120 to be downloaded. That is, the portion 120 to be downloaded includes the fragment 114 currently being downloaded and the fragment 116 not requested or not downloaded.

클라이언트 내의 수신된 조각(received piece)(150)들은 다운로드된 조각(112), 요청이 되지 않거나 다운로드되지 않은 조각(116) 및 재생기의 데드라인을 놓친 조각(118)을 포함하며, 비디오 파일이 재생됨에 따라 재생기 버퍼(160)로 이동한다.Received pieces 150 in the client include downloaded pieces 112, unsolicited or undownloaded pieces 116, and pieces that missed the deadline of the player, and the video file played. As it moves to player buffer 160.

BiToS는, 스트리밍에서 BitTorrent가 보다 효율적으로 사용되도록, VoD에 의해 제공되는 비디오 파일(110)의 다운로드의 대상이 되는 부분(120)을 두 구간(130 및 140)으로 나눈다.BiToS divides the portion 120, which is the object of download of the video file 110 provided by VoD, into two sections 130 and 140 so that BitTorrent is used more efficiently in streaming.

BiToS는 나뉘어진 두 구간(130 및 140)들 중 선두 부분(140)의 비중을 높힘으로써 스트리밍 서비스가 제공될 수 있게 한다.BiToS enables a streaming service to be provided by increasing the weight of the leading portion 140 of the divided two sections 130 and 140.

BiToS는, 재생기에 의해 재생되는 시점으로부터 가까운 순서대로, 일부 청크들을 우선 순위가 높은 집합(high priority set)(140)으로 묶고, 나머지 청크들은 우선 순위가 낮은 집합(low priority set)(130)으로 묶는다.BiToS bundles some chunks into a high priority set 140 in order close to the point at which they are played by the player, and the remaining chunks into a low priority set 130. Tie.

BiToS는, 청크를 선택함에 있어서, 두 집합들(130 및 140) 각각에게 서로 상이한 확률을 적용한다. 예컨대, 우선 순위가 높은 집합(140)이 선택될 확률(즉, 우선 순위가 높은 집합 내의 청크들 중 하나의 청크가 선택될 확률)은 80%이고, 나머지 집합(130)이 선택될 확률은 20%이다.BiToS applies different probabilities to each of the two sets 130 and 140 in selecting the chunks. For example, the probability that the higher priority set 140 will be selected (ie, the probability that one of the chunks in the higher priority set will be selected) is 80%, and the probability that the remaining set 130 will be selected is 20%. %to be.

BiToS에서, 두 집합들(130 및 140) 중 하나의 집합(130 또는 140)이 선택되면, 선택된 집합 내에서는 희소성 우선에 따라 청크가 선택된다.In BiToS, if one set 130 or 140 of two sets 130 and 140 is selected, a chunk is selected according to the sparsity priority within the selected set.

따라서, BiToS는 비디오 파일의 선두 부분을 우선적으로 요구하는 스트리밍 서비스에 적합하도록 설계(design)되었다.
Thus, BiToS is designed to be suitable for streaming services that preferentially require the leading part of a video file.

도 2는 본 발명의 일 예에 따른 청크 선택 방법을 비교한다.2 compares the chunk selection method according to an embodiment of the present invention.

전송의 대상인 비디오 파일(110) 중, 재생 위치(playback position) 이후의 부분(즉, 청크) 중, 다운로드되지 않은 부분이 전송의 대상이 된다.In the video file 110 that is the object of transmission, the part that is not downloaded among the parts after the playback position (that is, the chunk) is the object of the transmission.

전술된 것처럼, BiToS는 다운로드의 대상이 되는 부분(120) 중 고 우선 순위 부분(140) 및 저 우선 순위 부분(130)을 선택한다. 각 부분들(130 및 140) 내에서는 희소성 우선이 적용된다.As described above, BiToS selects the high priority portion 140 and the low priority portion 130 of the portion 120 to be downloaded. Within each of the portions 130 and 140, sparsity priority is applied.

G2G 및 베타 선택은 VoD 스트리밍의 성능을 BiToS에 비해 향상시키기 위한(즉, 특정 청크가 재생되기 전에 수신될 확률을 높이기 위한) 방법들이다.G2G and beta selection are ways to improve the performance of VoD streaming over BiToS (i.e., to increase the probability that a particular chunk will be received before it is played).

G2G 방법은 전체적으로 BiToS와 유사하다. 단, G2G 방법은, 재생 위치로부터 가까운 순서대로, 다운로드의 대상이 되는 부분(120)으로부터 고 우선 순위 부분(210), 중 우선 순위 부분(220) 및 저 우선 순위 부분(230)을 선택한다.The G2G method is similar to BiToS as a whole. However, the G2G method selects the high priority portion 210, the middle priority portion 220, and the low priority portion 230 from the portion 120 to be downloaded in the order close to the playback position.

고 우선 순위 부분(210) 내의 청크들 간에는 선행 우선(earliest first)(앞 부분의 청크부터 순서대로 선택하는 방법)이 적용된다. 즉, 앞선 청크가 우선적으로 선택된다.Between the chunks in the high priority portion 210 an earliest first (a method of selecting from the preceding chunks in order) is applied. In other words, the preceding chunk is preferentially selected.

중 우선 순위 부분(220) 내의 청크들 간에는 희소성 우선이 적용된다.The sparsity priority is applied between the chunks in middle priority portion 220.

베타 선택(Beta Selection) 방법은 전체적으로 BiToS와 유사하다.The Beta Selection method is similar to BiToS as a whole.

고 우선 순위 부분(240) 내의 청크들 간에는 선행 우선이 적용된다.Leading priority is applied between the chunks in high priority portion 240.

저 우선 순위 부분(250) 내의 청크들 간에는 베타 랜덤(beta random)이 적용된다.Beta random is applied between the chunks in the low priority portion 250.

베타 랜덤은 청크가 선택된 확률이 1에서부터 0까지 일정하게 감소하는 베타 분포(beta distribution)를 사용하는 방법이다. 즉, 청크들 중 상대적으로 앞에 위치한 청크가 선택될 확률이 상대적으로 뒤에 위치한 청크가 선택될 확률보다 높다.Beta random is a method that uses a beta distribution in which the probability that chunks are selected decreases from 1 to 0 constantly. That is, the probability that the chunk located relatively ahead of the chunks is selected is higher than the probability that the chunk located relatively later is selected.

BiToS는 집합들(130 및 140)을 분리한다. 그러나, 분리된 집합들(130 및 140) 각각의 내부에서는 희소성 우선 기법이 사용된다. 따라서, VoD 스트리밍이 되는 동안에 청크 미스(chunk miss)(청크가 재생되기 전까지 수신되지 못한 경우)가 빈번하게 발생한다.BiToS separates sets 130 and 140. However, within each of the separated sets 130 and 140, a sparsity first technique is used. Therefore, chunk misses (if they are not received before the chunks are played) frequently occur during VoD streaming.

G2G 및 베타 선택에서는, 우선 순위가 높은 집합 내에서 선행 우선 기법이 사용된다. 선행 우선 기법은 청크를 순서대로 선택한다. 따라서, 선행 우선 기법에 의해서는 유연한 청크 선택이 수행될 수 없다. 또한, 양 방법들 모두, 다운로드의 대상이 되는 부분(120)에서 2 개 이상의 집합을 선택하기 때문에, 대역폭(bandwidth)를 효율적으로 사용할 수 없다.
In G2G and beta selection, precedence techniques are used within a high priority set. The precedence first method selects the chunks in order. Therefore, flexible chunk selection cannot be performed by the prioritized first technique. In addition, in both methods, since two or more sets are selected in the portion 120 to be downloaded, bandwidth cannot be efficiently used.

도 3은 본 발명의 일 실시예에 따른 ENR 청크 선택 방법을 설명한다.3 illustrates an ENR chunk selection method according to an embodiment of the present invention.

본 실시예는 도 2를 참조하여 언급된 기술들의 문제점을 보완함으로써 보다 유연한 청크 선택을 가능하게 한다. 본 실시예는 유연하게 청크를 선택함으로써 VoD 스트리밍 서비스의 성능을 향상시킬 수 있고, 전체 네트워크의 성능을 향상시킬 수 있다.This embodiment enables more flexible chunk selection by complementing the problems of the techniques mentioned with reference to FIG. In this embodiment, by flexibly selecting the chunk, the performance of the VoD streaming service can be improved, and the performance of the entire network can be improved.

ENR 청크 선택 방법에서, 파일 중 다운로드를 위한 구간(window)(310)이 선택된다.In the ENR chunk selection method, a window 310 for downloading among files is selected.

도시된 것처럼, 다운로드를 위한 구간(310)은 재생 중인 위치(320) 이후의 청크들만을 포함하며, 이미 다운로드된 청크들(330)을 제외한다. 또한, 다운로드를 위한 구간(310)은 재생 중인 위치(320)로부터 일정 거리 외에 있는 청크들(340)를 제외할 수 있다.As shown, the section 310 for download includes only chunks after the location 320 being played, excluding the chunks 330 already downloaded. In addition, the section 310 for downloading may exclude the chunks 340 that are out of a predetermined distance from the position 320 being played.

즉, 전술된 다른 방법들에서, 2 개 이상의 집합들(130 및 140)이 선택되는 것에 비해, ENR 청크 선택 방법은 단일한 집합이 다운로드를 위한 구간(310)으로서 선택된다.That is, in the other methods described above, the ENR chunk selection method selects a single set as the interval 310 for download, compared to when two or more sets 130 and 140 are selected.

다운로드를 위한 구간(310) 내에 있는 하나 이상의 청크들이 전송의 대상이 되며, 하나 이상의 청크들 각각에 대해서 바이어스된 랜덤(biased random) 방식 및 베타 선택 방식에 의해 우선 순위가 계산된다.One or more chunks in the download section 310 are subject to transmission, and priority is calculated by a biased random method and a beta selection method for each of the one or more chunks.

바이어스된 랜덤 방식은 네트워크에서의 청크의 희소성에 기반하여 상기 청크가 선택될 확률을 결정하는 방법을 의미한다.The biased random scheme means a method of determining the probability that the chunk is selected based on the scarcity of the chunk in the network.

베타 선택 방식은 다운로드를 위한 구간 내에서의 청크의 상대적 위치에 기반하여 상기 청크가 선택될 확률을 결정하는 방법을 의미한다.The beta selection method refers to a method of determining a probability of selecting the chunk based on the relative position of the chunk in the interval for downloading.

즉, 청크의 우선 순위는 상기 청크의 네트워크 내의 희소성 및 상기 청크의 다운로드를 위한 구간 내에서의 (상대적) 위치에 기반하여 계산될 수 있다.That is, the priority of the chunks may be calculated based on the scarcity in the chunk's network and the (relative) location within the interval for downloading the chunks.

하기에서, ENR 청크 선택 방법에 따른 청크의 우선 순위 계산 방법이 상세하게 설명된다.
In the following, the method of calculating the priority of the chunks according to the ENR chunk selection method is described in detail.

도 4는 본 발명의 일 실시예에 따른 ENR 기술을 사용하는 파일 다운로드 방법의 흐름도이다.4 is a flowchart of a file download method using ENR technology according to an embodiment of the present invention.

본 실시예에서, 파일을 다운로드하는 노드는 네트워크를 통해 하나 이상의 이웃 노드들과 연결되었다. 상기의 네트워크는 P2P 네트워크일 수 있다.In this embodiment, the node downloading the file is connected with one or more neighboring nodes via a network. The network may be a P2P network.

파일은 하나 이상의 청크들로 구성된다. 이웃 노드들은 청크들의 전부 또는 일부를 제공할 수 있다.A file consists of one or more chunks. Neighbor nodes may provide all or part of the chunks.

노드는 하나 이상의 이웃 노드들로부터 파일에 포함되는 하나 이상의 청크들을 다운로드함으로써 파일을 전송 받는다.A node receives a file by downloading one or more chunks contained in the file from one or more neighboring nodes.

파일은 비디오 파일일 수 있으며, 스트리밍을 통해 전송되는 파일일 수 있다. 즉, 노드는 스트리밍을 통해 하나 이상의 이웃 노드들로부터 파일을 전송 받으면서, 전송 중인 파일을 재생할 수 있다.The file may be a video file or a file transmitted through streaming. That is, the node may play a file being transmitted while receiving a file from one or more neighboring nodes through streaming.

단계(S410)에서, 파일을 구성하는 청크들 중 하나 이상의 청크들이 다운로드를 위한 구간(310)으로서 선택된다.In step S410, one or more chunks of the chunks constituting the file are selected as the section 310 for downloading.

선택된 하나 이상의 청크들은 전송 중인 파일 내의 재생 위치 이후의 청크들이다. 또한, 선택된 하나 이상의 청크들은 아직 다운로드되지 않은 청크들이며, 상기 재생 위치로부터 미리 정해진 범위 내에 있는 청크들이다.The one or more chunks selected are the chunks after the playback position in the file being transmitted. Also, the selected one or more chunks are chunks that have not yet been downloaded and are chunks that are within a predetermined range from the playback position.

단계(S420)에서, 선택된 하나 이상의 청크들 각각에 대해 청크의 우선 순위가 계산된다.In step S420, the priority of the chunk is calculated for each of the selected one or more chunks.

우선 순위는 전술된 ENR 청크 선택 방법에 따라 계산될 수 있다.The priority may be calculated according to the ENR chunk selection method described above.

우선 순위는 청크의 희소성에 기반하여 계산된 제1 값 및 하나 이상의 청크들(즉, 다운로드를 위한 구간(310) 내의 청크들) 내에서의 청크의 위치에 기반하여 계산된 제2 값에 기반하여 계산될 수 있다. 즉, 제1 값은 바이어스된 랜덤 방식에 따라 계산되는 값이며, 제2 값은 베타 선택 방식에 의해 계산되는 값이다.The priority is based on a first value calculated based on the scarcity of the chunk and a second value calculated based on the location of the chunk within one or more chunks (ie, the chunks in the interval 310 for download). Can be calculated. That is, the first value is a value calculated according to the biased random scheme, and the second value is a value calculated by the beta selection scheme.

제1 값은 하기의 수학식 1에 기반하여 계산될 수 있다.The first value may be calculated based on Equation 1 below.

Figure 112010084729948-pat00001
Figure 112010084729948-pat00001

여기서, bi는 i 번째 청크를 나타내고, r(bi)은 상기 이웃 노드들 중 청크 bi를 포함하는 이웃 노드들의 개수를 나타내는 희소성 함수이고, k는 하나 이상의 청크들(즉, 다운로드를 위한 구간(310) 내의 청크들)의 개수 또는 파일을 구성하는 전체 청크들의 개수이다.Where b i represents the i th chunk, r (b i ) is a sparsity function representing the number of neighbor nodes including chunk b i of the neighbor nodes, and k is one or more chunks (ie, for download) Number of chunks in section 310 or the total number of chunks constituting the file.

즉, 특정 청크의 희소성은 이웃 노드들에게 확산되어 있는 모든 청크들에 대한 상기 특정 청크의 비율을 나타낼 수 있다.That is, the sparsity of a particular chunk may indicate the ratio of that particular chunk to all chunks that are spread to neighboring nodes.

제2 값은 하기의 수학식 2에 기반하여 계산될 수 있다.The second value may be calculated based on Equation 2 below.

Figure 112010084729948-pat00002
Figure 112010084729948-pat00002

여기서, d는 베타 분포 함수를 나타내고, d(bi)는 bi의 베타 분포 함수 값이다.Here, d represents a beta distribution function, and d (b i ) is a value of beta distribution function of b i .

베타 분포 함수는 다운로드를 위한 구간(310) 내에서의 청크의 위치에 따라 청크가 선택될 확률을 부여한다. 베타 분포 함수에 의해, 특정 청크가 선택될 확률은 1에서부터 0까지 일정하게 감소한다.The beta distribution function gives the probability that the chunk is selected according to the location of the chunk in the section 310 for download. By the beta distribution function, the probability of selecting a particular chunk is constantly reduced from 1 to 0.

즉, 베타 분포에 따라, 다운로드를 위한 구간(310) 내의 청크들 중, 상대적으로 앞에 위치하는 청크(즉, 파일 중 앞 부분에 대응하는 청크)는 상대적으로 뒤에 위치하는 청크보다 더 큰 선택될 확률(즉, 더 높은 제2 값)을 갖는다.That is, according to the beta distribution, among the chunks in the section 310 for download, the chunk located relatively ahead (that is, the chunk corresponding to the front part of the file) has a greater probability of being selected than the chunk located relatively later. (Ie, higher second value).

우선 순위는 상기 제1 값 및 상기 제2 값의 가중치가 부여된 합일 수 있다.The priority may be a weighted sum of the first value and the second value.

즉, 우선 순위는 하기의 수학식 3에 기반하여 계산될 수 있다.That is, the priority may be calculated based on Equation 3 below.

Figure 112010084729948-pat00003
Figure 112010084729948-pat00003

여기서, ρ는 제1 값에게 부여되는 가중치이고, (1 - ρ)는 제2 값에게 부여되는 가중치이다.Here, p is a weight given to the first value and (1-p) is a weight given to the second value.

가중치는 하나 이상의 청크들 각각의 희소성들에 기반하여 계산될 수 있다.The weight may be calculated based on the sparsity of each of the one or more chunks.

특정 청크의 희소성은 네트워크 내에서 파일을 제공하는 이웃 노드들 중 상기 특정 청크를 제공할 수 있는 이웃 노드들의 개수일 수 있다.The scarcity of a particular chunk may be the number of neighboring nodes that can provide the particular chunk among neighboring nodes serving files in the network.

즉, 가중치는 하나 이상의 청크들(즉, 다운로드를 위한 구간(310) 내의 청크들) 중 미리 정의된(predetermined) 개수 이하의 노드들에 의해 제공될 수 있는 청크들의 비율에 기반하여 계산될 수 있다.That is, the weight may be calculated based on the ratio of chunks that may be provided by up to a predefined number of nodes of one or more chunks (ie, the chunks in interval 310 for download). .

예컨대, 다운로드를 위한 구간(310) 내에 5개의 청크들(제1 청크 내지 제5 청크들)이 있다. 가중치를 계산하기 위해 미리 정의된 개수는 3이다. 5개의 청크들 중 1 개는 1 개의 이웃 노드에 의해 제공될 수 있다. 5개의 청크들 중 2 개는 3 개의 이웃 노드들에 의해 제공될 수 있으며, 5개의 청크들 중 남은 2 개는 5 개의 이웃 노드들에 의해 제공될 수 있다. 따라서, 5개의 청크들 중 3 개(미리 정의된 개수) 이하의 노드들에 의해 제공될 수 있는 청크들은 3개이다. 따라서, 가중치 ρ는 3/5이다.For example, there are five chunks (first to fifth chunks) in the interval 310 for download. The predefined number for calculating the weight is three. One of the five chunks may be provided by one neighbor node. Two of the five chunks may be provided by three neighboring nodes, and the remaining two of the five chunks may be provided by five neighboring nodes. Thus, there are three chunks that can be provided by nodes of three or less (predefined number) of the five chunks. Therefore, the weight p is 3/5.

즉, 제1 값 및 제2 값 각각에게 부여되는 가중치는 하기의 수학식 4에 기반하여 계산될 수 있다.That is, the weights assigned to each of the first value and the second value may be calculated based on Equation 4 below.

Figure 112010084729948-pat00004
Figure 112010084729948-pat00004

여기서, t는 미리 정의된 값이고, r(bi)는 상기 이웃 노드들 중 bi를 제공할 수 노드들의 개수이며, W는 상기 하나 이상의 청크들의 개수(즉, 다운로드를 위한 구간(310)의 크기)이다.Here, t is a predefined value, r (b i ) is the number of nodes that can provide b i of the neighbor nodes, W is the number of the one or more chunks (that is, the interval 310 for downloading) Size).

즉, ρ는 미리 정의된 값 t를 기준으로, 전체 윈도우(즉, 다운로드를 위한 구간(310)) 중 네트워크 내에서 t 개 이하로 확산되어 있는 청크들의 개수를 비율적으로 나타낸 값이다.That is, ρ is a value representing the number of chunks spread in t or less in the network among the entire windows (that is, the section 310 for downloading) based on the predefined value t.

따라서, t 개 이하로 확산된 청크들이 많을수록 ρ의 값이 커진다. ρ의 값이 커지면, 수학식 3에 따른 우선 순위에서 희소성의 비중이 커진다. 따라서, 네트워크 내에서 더 희소한 청크가 더 잘 확산된다.Therefore, the more chunks spread below t, the larger the value of p. As the value of ρ increases, the proportion of scarcity increases in the priority according to equation (3). Thus, rarer chunks spread better within the network.

t 개 이하로 확산된 청크들이 적을수록 ρ의 값이 작아진다. ρ의 값이 작아지면, 수학식 3에 따른 우선 순위에서 베타 분포의 비중이 커진다. 따라서, 윈도우 내에서 앞선 청크가 우선적으로 선택되고, 상기의 선택으로 인해 VoD 스트리밍 서비스의 성능이 향상된다. 즉, 상기의 선택으로 인해 재생될 청크가 미스될 확률이 감소한다.The fewer chunks spread below t, the smaller the value of p. As the value of p decreases, the weight of the beta distribution increases in the priority according to equation (3). Therefore, the preceding chunk is preferentially selected in the window, and the above selection improves the performance of the VoD streaming service. That is, the probability that the chunk to be reproduced is missed due to the above selection is reduced.

단계(S430)에서, 계산된 우선 순위에 기반하여 전송을 요청할 청크가 선택된다.In step S430, a chunk to request transmission is selected based on the calculated priority.

우선 순위의 내림차순으로, 1 개 또는 1 개 이상의 미리 정의된 개수의 청크가 전송을 요청할 청크로서 선택될 수 있다.In descending order of priority, one or more predefined numbers of chunks may be selected as chunks to request transmission.

또한, 우선 순위의 내림차순으로, 전송을 요청할 청크가 순차적으로 선택될 수 있다.In addition, in descending order of priority, the chunks to request transmission may be sequentially selected.

단계(S440)에서, 이웃 노드들에게 선택된 청크의 전송이 요청된다. 예컨대, 선택된 청크를 전송해줄 것을 나타내는 메시지가 이웃 노드들에게 전송된다.In step S440, transmission of the selected chunk is requested to neighboring nodes. For example, a message indicating to send the selected chunk is sent to neighboring nodes.

이웃 노드들 중 선택될 청크를 제공할 수 있는 일부 노드들(예컨대, 선택된 청크를 제공할 수 있는 것으로 확인된 노드들)에게 선택될 청크의 전송이 요청될 수 있다.Some of the neighbor nodes that can provide the chunk to be selected (eg, those identified as capable of providing the selected chunk) may be requested to send the chunk to be selected.

단계(S450)에서, 청크의 전송이 요청된 하나 이상의 노드들 중 하나 이상의 노드들로부터 전송이 요청된 청크가 다운로드된다.In step S450, the chunk requested to be downloaded is downloaded from one or more nodes of the one or more nodes that are requested to send the chunk.

앞서 도 1 내지 도 3을 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서, 보다 상세한 설명은 이하 생략하기로 한다.
Technical contents according to an embodiment of the present invention described above with reference to FIGS. 1 to 3 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.

도 5는 본 발명의 일 실시예에 따른 P2P 네트워크의 노드의 구조도이다.5 is a structural diagram of a node of a P2P network according to an embodiment of the present invention.

노드(500)는 송수신부(510), 제어부(520) 및 저장부(530)를 포함할 수 있다.The node 500 may include a transceiver 510, a controller 520, and a storage 530.

저장부(520)는 P2P 파일 공유 유닛(540)을 포함할 수 있다.The storage unit 520 may include a P2P file sharing unit 540.

P2P 파일 공유 유닛(540)은 윈도우 선택부(550), 우선 순위 계산부(560) 및 전송 요청 청크 선택부(570)를 포함할 수 있다.The P2P file sharing unit 540 may include a window selector 550, a priority calculator 560, and a transfer request chunk selector 570.

노드(500)는 하나 이상의 이웃 노드들과 연결된 P2P 네트워크를 통해 파일에 포함되는 하나 이상의 청크들을 다운로드할 수 있다. 상기의 다운로드는 P2P 파일 공유 유닛(540)에 의해 수행될 수 있다.The node 500 may download one or more chunks included in the file via a P2P network connected with one or more neighboring nodes. The download may be performed by the P2P file sharing unit 540.

다운로드될 하나 이상의 청크들을 포함하는 파일은, 노드(500)에 의해 재생되고 있는 파일일 수 있으며, 재생을 위해 스트리밍을 통해 전송되고 있는 파일일 수 있다.The file containing one or more chunks to be downloaded may be a file being played by node 500 and may be a file being transmitted via streaming for playback.

윈도우 선택부(550)는 파일을 구성하는 청크들 중 다운로드를 위한 구간(310)으로서 하나 이상의 청크들을 선택할 수 있다. The window selector 550 may select one or more chunks as a section 310 for downloading among the chunks constituting the file.

선택된 하나 이상의 청크들은 파일 내의 재생되고 있는 위치 이후의 청크들이며, 아직 다운로드되지 않은 청크들이다. 또한, 선택된 하나 이상의 청크들은 재생되고 있는 위치로부터 미리 정의된 범위 내에 있는 청크들일 수 있다.The one or more chunks selected are the chunks after the location being played in the file and are not yet downloaded. Also, the selected one or more chunks may be chunks within a predefined range from the location being played.

우선 순위 계산부(560)는 선택된 하나 이상의 청크들 각각에 대해 청크의 우선 순위를 계산한다.The priority calculator 560 calculates the priority of the chunks for each of the selected one or more chunks.

우선 순위 계산부는 청크의 희소성에 기반하여 제1 값을 계산할 수 있고, 청크의 선택된 하나 이상의 청크들 내의 위치에 기반하여 제2 값을 계산할 수 있고, 제1 값 및 제2 값에 기반하여 청크의 우선 순위를 계산할 수 있다.The priority calculator may calculate a first value based on the sparseness of the chunk, calculate a second value based on a location within the selected one or more chunks of the chunk, and determine the chunk based on the first value and the second value. The priority can be calculated.

우선 순위 계산부는 전술된 수학식 1 내지 5에 따라 제1 값, 제2 값 및 청크의 우선 순위를 계산할 수 있다.The priority calculator may calculate the priority of the first value, the second value, and the chunk according to Equations 1 to 5 described above.

청크의 희소성은 상기 이웃 노드들에게 확산되어 있는 모든 청크들에 대한 상기 청크의 비율을 나타낼 수 있다.The scarcity of a chunk may indicate the ratio of the chunk to all chunks that are spread to the neighbor nodes.

선택된 하나 이상의 청크들 중 상대적으로 앞에 위치하는 청크는 상대적으로 뒤에 위치하는 청크보다 더 높은 제2 값을 가질 수 있다.The relatively preceding chunk of the selected one or more chunks may have a second value that is higher than the later located chunk.

우선 순위는 제1 값 및 제2 값의 가중치가 부여된 합일 수 있다.The priority may be a weighted sum of the first value and the second value.

가중치는 선택된 하나 이상의 청크들 중 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수에 기반하여 계산될 수 있다.The weight may be calculated based on the number of chunks spread out below a predefined value in the network of the selected one or more chunks.

우선 순위 계산부(560)는 선택된 하나 이상의 청크들 중 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수가 적을수록 제1 값에 대한 가중치를 증가시킬 수 있다.The priority calculator 560 may increase the weight for the first value as the number of chunks spread below a predefined value in the network among the selected one or more chunks is smaller.

우선 순위 계산부(560)는 선택된 하나 이상의 청크들 중 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수가 많을수록 제2 값에 대한 가중치를 증가시킬 수 있다.The priority calculator 560 may increase the weight for the second value as the number of chunks spread below a predefined value in the network among one or more selected chunks increases.

전송 요청 청크 선택부(570)는 계산된 우선 순위에 기반하여 하나 이상의 청크들 중 전송을 요청할 청크를 선택한다.The transmission request chunk selector 570 selects a chunk to request transmission from among one or more chunks based on the calculated priority.

송수신부(510)는 이웃 노드들 중 하나 이상의 노드들에게 선택된 청크의 전송을 요청하고, 선택된 청크의 전송이 요청된 하나 이상의 노드들 중 하나 이상의 노드들로부터 전송이 요청된 청크를 다운로드한다.The transceiver 510 requests transmission of the selected chunk to one or more nodes of the neighboring nodes, and downloads the chunk requested to be transmitted from one or more nodes among the one or more nodes for which the transmission of the selected chunk is requested.

저장부(530)는 다운로드된 청크를 파일의 일부로서 저장한다.The storage unit 530 stores the downloaded chunk as part of the file.

앞서 도 1 내지 도 4를 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서, 보다 상세한 설명은 이하 생략하기로 한다.
Technical contents according to an embodiment of the present invention described above with reference to FIGS. 1 to 4 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.

도 6은 본 발명의 일 예에 따른 청크 선택 방법들 간의 효율적인 다운로드 비(effective download ratio; EDR)를 비교한다.6 compares an effective download ratio (EDR) between chunk selection methods according to an embodiment of the present invention.

효율적인 다운로드 비는, VoD 스트리밍의 성능들 중 가장 중요한 하나로서, 초당 재생되는 청크의 개수 및 초당 다운받는 청크의 개수 수(중복으로 다운되는 청크의 개수는 포함되지 않는다) 간의 비율을 나타낸다. 즉, EDR은 (초당 다운받는 청크의 개수)/(초당 재생되는 청크의 개수)일 수 있다.The efficient download ratio is the most important of the performances of VoD streaming and represents the ratio between the number of chunks played per second and the number of chunks downloaded per second (does not include the number of chunks to be duplicated). That is, the EDR may be (the number of chunks downloaded per second) / (the number of chunks reproduced per second).

일반적으로, 재생하는 청크의 개수보다 다운받는 청크의 개수가 더 많을 수록, VoD 스트리밍의 성능이 더 좋다.In general, the more chunks to download than the chunks to play back, the better the performance of the VoD streaming.

그래프(610)는 ENR의 EDR 값을 다른 기술들(BiToS, G2G 및 Beta Selection)의 EDR 값과 비교한 그래프이다. EDR의 값이 1.0인 것은 재생하는 청크의 개수 및 다운받는 청크의 개수가 동일함을 나타낸다.Graph 610 is a graph comparing the EDR value of the ENR with the EDR value of other technologies (BiToS, G2G and Beta Selection). An EDR value of 1.0 indicates that the number of chunks to play and the number of downloaded chunks are the same.

그래프(610)에 따르면, ENR이 다른 기술들에 비해 더욱 많은 양의 청크를 다운로드하는 것이 확인될 수 있다. 이는, ENR이 전술되었던 집합을 나눔으로 인해 대역폭을 낭비되는 문제점을 해결함으로써 보다 많은 청크를 수신할 수 있음을 나타낸다.According to graph 610, it can be seen that ENR downloads a larger amount of chunks compared to other techniques. This indicates that more chunks can be received by solving the problem that the ENR wastes bandwidth due to dividing the set previously described.

기존의 방식과 같이, 집합들로 구간을 나누고, 구간에 따라 상이한 대역폭을 사용할 경우, 1) 대역폭을 나눠서 사용함에 따른 문제점이 발생하고, 2) 크기가 작음에도 불구하고 우선 순위가 높은 집합에게 높은 비중의 대역폭이 할당됨에 의해 대역폭이 효율적으로 사용되지 못하는 문제점이 발생한다.As in the conventional method, when the interval is divided into sets and different bandwidths are used according to the interval, 1) a problem arises by dividing the bandwidth, and 2) a high priority is given to the high priority set despite the small size. The allocation of specific bandwidth causes a problem that bandwidth is not used efficiently.

ENR은 집합들을 나누지 않기 때문에, 대역폭을 보다 효율적으로 사용할 수 있다. 따라서, ENR에 의해, 개별 사용자를 위한 서비스의 성능이 향상되며, 동시에 P2P 네트워크 상에서 청크의 확산이 활발히 이루어진다..
Since ENR does not divide sets, bandwidth can be used more efficiently. Thus, the ENR improves the performance of services for individual users, while at the same time actively spreading chunks on the P2P network.

도 7은 본 발명의 일 예에 따른 청크 선택 방법들간의 미스 비(miss ratio; MR)을 비교한다.7 compares the miss ratio (MR) between the chunk selection methods according to an embodiment of the present invention.

미스 비는, VoD 스트리밍을 하면서, 재생 시점이 지나기 전에 다운되지 못한 청크의 비율을 의미한다. 즉, 미스 비는, 노드가 Vod 스트리밍 서비스를 제공받으면서 초당 재생하는 청크의 개수에 비한 받지 못한 청크의 개수를 의미한다.The miss ratio refers to the percentage of chunks that are not down before the playback point has passed while streaming VoD. That is, the miss ratio refers to the number of chunks not received compared to the number of chunks played per second while the node receives the Vod streaming service.

예컨대, MR의 값이 0.1이면, 10 개의 청크가 재생의 대상이 되는 동안, 1 개의 청크가 수신되지 못한 채 상기 청크의 재생 시점이 경과하였음을 나타낸다.For example, when the value of MR is 0.1, while 10 chunks are to be reproduced, it indicates that the reproduction time of the chunk has elapsed without one chunk being received.

그래프(710)는, 전술된 다른 기술들과 함께, ENR 기술이 사용될 경우 VoD 스트리밍을 하면서 얼마만큼의 청크 미스가 발생하였는지를 나타낸다.Graph 710, along with the other techniques described above, shows how much chunk miss occurred during VoD streaming when the ENR technique was used.

그래프(710)의 결과를 보면, ENR 기술이 다른 기술들에 비해서 더 낮은 MR 값을 갖는다. 즉, ENR 기술은 VoD 스트리밍을 재생할 때, 다른 기술들에 비해서 재생할 청크를 미리 받을 수 있다. 이로서, ENR 기술은 VoD 스트리밍 서비스의 성능을 향상시킬 수 있다.Looking at the results of graph 710, the ENR technique has a lower MR value than other techniques. That is, the ENR technology may receive a chunk to be reproduced in advance when compared to other technologies when playing VoD streaming. As such, ENR technology can improve the performance of VoD streaming services.

VoD 재생의 시작 부분에서 MR 값이 0이 되는 것은, 후술될 스타트업 지연(startup delay) 때문에 발생하는 현상이다. 초기 스타트업 지연 이후에 MR 값이 크게 증가하는 것은, 재생이 시작되면서 초기 스타트업 지연 시 다운로드되지 않은 후위 부분에 대하여 청크 미스가 발생한 것을 나타낸다.When the MR value becomes 0 at the start of VoD reproduction, a phenomenon occurs due to a startup delay, which will be described later. A significant increase in MR value after the initial startup delay indicates that chunk misses have occurred for the trailing portion that was not downloaded at the initial startup delay as playback begins.

ENR은 이러한 초기 부분에서도 다른 기술들에 비해 상대적으로 더 낮은 MR 값을 갖는다. 이는, 전술된 것과 마찬가지로 ENR 기술이 대역폭을 효율적으로 사용하기 때문에, ENR 기술에 의해 다운되는 청크의 양이 다른 기술들에 의해 다운되는 청크의 양보다 더 많음을 나타낸다.
The ENR also has a relatively lower MR value in this early part compared to other techniques. This indicates that the amount of chunks down by the ENR technique is more than the amount of chunks down by the other techniques because the ENR technique uses bandwidth efficiently as described above.

도 8은 본 발명의 일 예에 따른 청크 선택 방법들 간의 스타트업 지연(startup delay; SD)을 비교한다.8 compares a startup delay (SD) between chunk selection methods according to an embodiment of the present invention.

VoD 스트리밍 서비스를 시작할 때, 비디오 파일의 선두 부분이 일정량 이상 수신된 후에 수신된 비디오 파일이 재생되면, 스트리밍의 성능이 보다 향상될 수 있다. 그렇기 때문에, 파일의 재생 초기에는 대기 시간이 요구된다. 이러한 요구되는 대기 시간을 스타트업 지연이라고 한다.When starting the VoD streaming service, if the received video file is played after the leading portion of the video file is received for a predetermined amount or more, the performance of streaming can be further improved. Therefore, waiting time is required at the beginning of file playback. This required waiting time is called startup delay.

스타트업 지연에 따라 VoD 스트리밍의 성능의 일부가 판단될 수 있다.Depending on the startup delay, some of the performance of the VoD streaming may be determined.

그래프(810)는 ENR 및 전술된 다른 기술들 각각의 SD를 나타낸다.Graph 810 shows the ENR and SD of each of the other techniques described above.

그래프(810)에 따르면, 집합을 나눔으로써 높은 우선순위를 가진 선두부분을 집중적으로 수신하는 G2G 및 베타 선택 기술이 ENR 기술에 비해 상대적으로 더 적은 SD 값을 갖는다.According to graph 810, the G2G and beta selection techniques that receive the higher priority heads by dividing the set have a relatively lower SD value than the ENR technique.

그러나, 두 기술(G2G 기술 및 베타 선택 기술)에 의한 SD 값 및 ENR 기술에 의한 SD 값 간에 큰 차이가 있는 것은 아니며, ENR 기술은 두 기술(G2G 기술 및 베타 선택 기술)에 비해 대역폭의 사용 측면 및 청크 미스의 측면에서 더 좋은 성능을 갖는다.However, there is no significant difference between the SD values of the two technologies (G2G technology and the beta selection technology) and the SD values of the ENR technology, and the ENR technology uses bandwidth compared to the two technologies (G2G technology and beta selection technology). And better performance in terms of chunk miss.

따라서, 전반적인 면에 있어서, ENR 기술이 다른 기술들에 비해 더 좋은 성능을 갖는다.Thus, in overall terms, ENR technology has better performance than other technologies.

ENR 기술은 사용자의 기기(즉, 노드) 및 네트워크 내에서의 대역폭의 낭비를 최소화함으로써 각 사용자가 보다 많은 양의 청크를 수신하게 할 수 있다.ENR technology can allow each user to receive a larger amount of chunks by minimizing waste of bandwidth within the user's device (ie, node) and network.

따라서, ENR 기술은 VoD 스트리밍에 도움을 줄 수 있으며, 이에 따라 P2P 네트워크 상에서 청크가 더 많이 확산되도록 할 수 있다. 또한, ENR 기술은 다운받는 청크를 Vod 스트리밍에 적절하게 스케줄링함으로써 사용자에게 보다 나은 성능의 VoD 스트리밍 서비스를 제공할 수 있다.
Thus, ENR technology can help with VoD streaming, thereby allowing more chunks to spread on the P2P network. In addition, ENR technology can provide a better performance VoD streaming service to the user by scheduling the downloaded chunk appropriately for Vod streaming.

본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

500: P2P 네트워크 노드
510: 송수신부
520: 제어부
530: 저장부
540: P2P 파일 공유 유닛
500: P2P network node
510: transceiver
520: control unit
530: storage unit
540: P2P file sharing unit

Claims (18)

하나 이상의 이웃 노드들과 연결된 P2P 네트워크에서 파일에 포함되는 하나 이상의 청크들을 다운로드하는 방법에 있어서,
상기 하나 이상의 청크들 각각에 대해 청크의 전송의 우선 순위를 계산하는 단계;
상기 우선 순위에 기반하여 상기 하나 이상의 청크들 중 전송을 요청할 청크를 선택하는 단계;
상기 이웃 노드들 중 하나 이상의 노드들에게 상기 선택된 청크의 전송을 요청하는 단계; 및
상기 선택된 청크의 전송이 요청된 하나 이상의 노드들 중 하나 이상의 노드들로부터 상기 전송을 요청한 청크를 다운로드하는 단계
를 포함하고,
상기 우선 순위는 상기 하나 이상의 청크들 각각의 희소성에 기반하여 계산된 제1 값 및 상기 하나 이상의 청크들 각각의 상기 하나 이상의 청크들 내의 위치에 기반하여 계산된 제2 값에 기반하여 계산되는, 파일 다운로드 방법.
A method of downloading one or more chunks included in a file in a P2P network connected to one or more neighboring nodes, the method comprising:
Calculating a priority of the transmission of the chunk for each of the one or more chunks;
Selecting a chunk to request transmission from among the one or more chunks based on the priority;
Requesting transmission of the selected chunk to one or more of the neighboring nodes; And
Downloading the chunk that requested the transmission from one or more of the one or more nodes for which the transmission of the selected chunk was requested.
Including,
Wherein the priority is calculated based on a first value calculated based on the sparsity of each of the one or more chunks and a second value calculated based on a position in the one or more chunks of each of the one or more chunks. How to download.
제1항에 있어서,
상기 파일은 재생되고 있는 파일이며, 상기 재생을 위해 스트리밍을 통해 전송되고 있는 파일인, 파일 다운로드 방법.
The method of claim 1,
And the file is a file being played and is a file being transmitted through streaming for the playback.
제2항에 있어서,
상기 파일을 구성하는 청크들 중 상기 하나 이상의 청크들을 다운로드를 위한 구간으로서 선택하는 단계
를 더 포함하는, 파일 다운로드 방법.
The method of claim 2,
Selecting the one or more chunks of the chunks constituting the file as an interval for download;
Further comprising, the file download method.
제2항에 있어서,
상기 하나 이상의 청크들은 상기 파일 내의 상기 재생의 위치 이후의 청크들이며, 다운로드되지 않은 청크들이고, 상기 재생의 위치로부터 특정한 범위 내에 있는 청크들인, 파일 다운로드 방법.
The method of claim 2,
Wherein the one or more chunks are chunks after the location of the playback in the file, are chunks that have not been downloaded, and are chunks within a specific range from the location of the playback.
제1항에 있어서,
상기 제1 값은 하기의 수학식 1에 기반하여 계산되는, 파일 다운로드 방법.
[수학식 1]
Figure 112010084729948-pat00005

여기서, bi는 i 번째 청크를 나타내고, r(bi)은 상기 이웃 노드들 중 청크 bi를 포함하는 이웃 노드들의 개수를 나타내는 희소성 함수이고, k는 상기 파일을 구성하는 전체 청크들의 개수임.
The method of claim 1,
The first value is calculated based on Equation 1 below.
[Equation 1]
Figure 112010084729948-pat00005

Where b i represents the i th chunk, r (b i ) is a sparsity function indicating the number of neighbor nodes including the chunk b i among the neighbor nodes, and k is the total number of chunks constituting the file. .
제1항에 있어서,
상기 제2 값은 하기의 수학식 2에 기반하여 계산되는, 파일 다운로드 방법.
[수학식 2]
Figure 112010084729948-pat00006

여기서, bi는 i 번째 청크를 나타내고, d는 베타 분포 함수를 나타내고, d(bi)는 bi의 베타 분포 함수 값임
The method of claim 1,
The second value is calculated based on Equation 2 below.
&Quot; (2) "
Figure 112010084729948-pat00006

Where b i represents the i th chunk, d represents the beta distribution function, and d (b i ) is the value of beta distribution function of b i
제1항에 있어서,
상기 우선 순위는 상기 제1 값 및 상기 제2 값의 가중치가 부여된 합인, 파일 다운로드 방법.
The method of claim 1,
Wherein the priority is a weighted sum of the first value and the second value.
제7항에 있어서,
상기 가중치는 상기 하나 이상의 청크들 중 특정한 개수 이하의 노드들에 의해 제공될 수 있는 청크들의 비율에 기반하여 계산되는, 파일 다운로드 방법.
The method of claim 7, wherein
And the weight is calculated based on the proportion of chunks that can be provided by a node below a certain number of the one or more chunks.
제1항에 있어서,
상기 우선 순위는 하기의 수학식 3에 기반하여 계산되는, 파일 다운로드 방법.
[수학식 3]
Figure 112010084729948-pat00007

여기서, bi는 i 번째 청크를 나타내고, r(bi)은 상기 이웃 노드들 중 청크 bi를 포함하는 이웃 노드들의 개수를 나타내는 희소성 함수이고, k는 상기 하나 이상의 청크들의 개수이고, d는 베타 분포 함수를 나타내고, d(bi)는 bi의 베타 분포 함수 값을 나타내고, ρ는 상기 제1 값에게 부여되는 가중치이고, (1 - ρ)는 상기 제2 값에게 부여되는 가중치임.
The method of claim 1,
The priority is calculated based on Equation 3 below.
&Quot; (3) "
Figure 112010084729948-pat00007

Where b i denotes the i th chunk, r (b i ) is a sparse function indicating the number of neighbor nodes including chunk b i among the neighbor nodes, k is the number of the one or more chunks, and d is A beta distribution function, d (b i ) represents a beta distribution function value of b i , ρ is a weight assigned to the first value, and (1-ρ) is a weight given to the second value.
제9항에 있어서,
상기 ρ는 하기의 수학식 4에 기반하여 계산되는, 파일 다운로드 방법.
[수학식 4]
Figure 112010084729948-pat00008

여기서, t는 미리 정의된 값이고, r(bi)는 상기 이웃 노드들 중 bi를 제공할 수 노드들의 개수이며, W는 상기 하나 이상의 청크들의 개수임.
10. The method of claim 9,
The p is calculated based on Equation 4 below.
&Quot; (4) "
Figure 112010084729948-pat00008

Where t is a predefined value, r (b i ) is the number of nodes that can provide b i of the neighboring nodes, and W is the number of the one or more chunks.
하나 이상의 이웃 노드과 연결된 P2P 네트워크로부터 파일에 포함되는 하나 이상의 청크들을 다운로드하기 위한 P2P 파일 공유 유닛에 있어서,
상기 하나 이상의 청크들 각각에 대해 청크의 전송의 우선 순위를 계산하는 우선 순위 계산부; 및
상기 우선 순위에 기반하여 상기 하나 이상의 청크들 중 전송을 요청할 청크를 선택하는 전송 요청 청크 선택부
를 포함하고, 상기 우선 순위 계산부는 상기 하나 이상의 청크들 각각의 희소성에 기반하여 제1 값을 계산하고, 상기 하나 이상의 청크들 각각의 상기 하나 이상의 청크들 내의 위치에 기반하여 제2 값을 계산하고, 상기 제1 값 및 상기 제2 값에 기반하여 상기 우선 순위를 계산하는, P2P 파일 공유 유닛.
A P2P file sharing unit for downloading one or more chunks included in a file from a P2P network connected with one or more neighboring nodes,
A priority calculator for calculating a priority of transmission of the chunk for each of the one or more chunks; And
A transmission request chunk selecting unit that selects a chunk to request transmission from among the one or more chunks based on the priority;
Wherein the priority calculator calculates a first value based on the sparsity of each of the one or more chunks, calculates a second value based on a position in the one or more chunks of each of the one or more chunks, and And calculating the priority based on the first value and the second value.
제11항에 있어서,
상기 파일을 구성하는 청크들 중 상기 다운로드를 위한 구간으로서 상기 하나 이상의 청크들을 선택하는 윈도우 선택부를 더 포함하는, P2P 파일 공유 유닛.
The method of claim 11,
And a window selector for selecting the one or more chunks as the section for downloading among the chunks constituting the file.
제11항에 있어서,
상기 하나 이상의 청크들 각각의 상기 희소성은 상기 이웃 노드들에게 확산되어 있는 모든 청크들에 대한 상기 하나 이상의 청크들 각각의 비율을 나타내는, P2P 파일 공유 유닛.
The method of claim 11,
Wherein the sparsity of each of the one or more chunks represents a ratio of each of the one or more chunks to all the chunks that are spread to the neighboring nodes.
제11항에 있어서,
상기 하나 이상의 청크들 중 상대적으로 앞에 위치하는 청크는 상대적으로 뒤에 위치하는 청크보다 더 높은 상기 제2 값을 갖는, P2P 파일 공유 유닛.
The method of claim 11,
And wherein the relatively preceding chunk of the one or more chunks has the second value higher than the later located chunk.
제11항에 있어서,
상기 우선 순위는 상기 제1 값 및 상기 제2 값의 가중치가 부여된 합인, P2P 파일 공유 유닛.
The method of claim 11,
And said priority is a weighted sum of said first value and said second value.
제15항에 있어서,
상기 가중치는 상기 하나 이상의 청크들 중 상기 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수에 기반하여 계산되는, P2P 파일 공유 유닛.
16. The method of claim 15,
And wherein the weight is calculated based on the number of chunks of the one or more chunks that have spread below a predefined value in the network.
제15항에 있어서,
상기 우선 순위 계산부는 상기 하나 이상의 청크들 중 상기 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수가 적을수록 상기 제1 값에 대한 상기 가중치를 증가시키는, P2P 파일 공유 유닛.
16. The method of claim 15,
And the priority calculator increases the weight for the first value as the number of chunks spread below the predefined value in the network among the one or more chunks increases.
제15항에 있어서,
상기 우선 순위 계산부는 상기 하나 이상의 청크들 중 상기 네트워크 내에서 미리 정의된 값 이하로 확산된 청크들의 개수가 많을수록 상기 제2 값에 대한 상기 가중치를 증가시키는, P2P 파일 공유 유닛.
16. The method of claim 15,
And the priority calculator increases the weight for the second value as the number of chunks spread out below a predefined value in the network among the one or more chunks increases.
KR1020100132246A 2010-12-22 2010-12-22 Method and apparatus for chunk selection in p2p streaming service KR101204543B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100132246A KR101204543B1 (en) 2010-12-22 2010-12-22 Method and apparatus for chunk selection in p2p streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100132246A KR101204543B1 (en) 2010-12-22 2010-12-22 Method and apparatus for chunk selection in p2p streaming service

Publications (2)

Publication Number Publication Date
KR20120070790A KR20120070790A (en) 2012-07-02
KR101204543B1 true KR101204543B1 (en) 2012-11-26

Family

ID=46705976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100132246A KR101204543B1 (en) 2010-12-22 2010-12-22 Method and apparatus for chunk selection in p2p streaming service

Country Status (1)

Country Link
KR (1) KR101204543B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172476A1 (en) 2003-02-28 2004-09-02 Chapweske Justin F. Parallel data transfer over multiple channels with data order prioritization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172476A1 (en) 2003-02-28 2004-09-02 Chapweske Justin F. Parallel data transfer over multiple channels with data order prioritization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:한국해양정보통신학회논문지

Also Published As

Publication number Publication date
KR20120070790A (en) 2012-07-02

Similar Documents

Publication Publication Date Title
US11503112B2 (en) Selective access of multi-rate data from a server and/or peer
US7991906B2 (en) Method of data request scheduling in peer-to-peer sharing networks
US8726327B2 (en) System and method for peer-to-peer live streaming
JP6937918B2 (en) Video live broadcasting method and equipment
EP2583279B1 (en) Storage file format for multimedia streaming file, and storage method and client apparatus using the same
EP2181539B1 (en) Methods and apparatus for cooperative file distribution with target data delivery rate
Fan et al. Balancing throughput, robustness, and in-order delivery in P2P VoD
US10033788B2 (en) Method and a system for smooth streaming of media content in a distributed content delivery network
JP2007304665A (en) Device connected to peer-to-peer network and distribution system
US20120030303A1 (en) Methods and arrangements for prioritization in a peer-to-peer network
US20170207978A1 (en) Profile generation for bandwidth management
Roverso et al. Smoothcache 2.0: Cdn-quality adaptive http live streaming on peer-to-peer overlays
Yang et al. Kangaroo: Video Seeking in {P2P} Systems
EP2252057A1 (en) Method and system for storing and distributing electronic content
JP5536742B2 (en) System and method for adjusting server usage of P2P-based streaming service
KR101204543B1 (en) Method and apparatus for chunk selection in p2p streaming service
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
US20120246269A1 (en) Data processing apparatus, data processing method, and computer program product
US10798147B2 (en) Constraint based controlled seeding
JP2011191856A (en) Management method for file cache, file cache device, and program
Rodrigues On the optimization of BitTorrent-like protocols for interactive on-demand streaming systems
JP6378631B2 (en) Video distribution system and video distribution method
KR20130027554A (en) Proactive seeding of data in a peer to peer network
US10158923B2 (en) Method of broadcasting contents by streaming in a peer-to-peer network
KR101262622B1 (en) System and method for controlling server usage in streaming service based on peer to peer

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: 20151012

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee