KR20130101660A - Peer for receiving data using p2p network - Google Patents

Peer for receiving data using p2p network Download PDF

Info

Publication number
KR20130101660A
KR20130101660A KR1020120019537A KR20120019537A KR20130101660A KR 20130101660 A KR20130101660 A KR 20130101660A KR 1020120019537 A KR1020120019537 A KR 1020120019537A KR 20120019537 A KR20120019537 A KR 20120019537A KR 20130101660 A KR20130101660 A KR 20130101660A
Authority
KR
South Korea
Prior art keywords
peer
data
network
blocks
data blocks
Prior art date
Application number
KR1020120019537A
Other languages
Korean (ko)
Other versions
KR101834017B1 (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 KR1020120019537A priority Critical patent/KR101834017B1/en
Publication of KR20130101660A publication Critical patent/KR20130101660A/en
Application granted granted Critical
Publication of KR101834017B1 publication Critical patent/KR101834017B1/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
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size

Abstract

PURPOSE: A peer receiving data by using a peer-to-peer (P2P) network is provided to increase the resource efficiency of the P2P network. CONSTITUTION: A control part (410) divides data into multiple data pieces. The control part divides each of the divided data pieces into multiple data blocks. The control part determines the number of data blocks to receive from a corresponding peer by considering the uplink bandwidth of the corresponding peer connected to a P2P network. A reception part (430) receives the determined number of data blocks from the corresponding peer. The reception part reconfigures the data pieces and the data. [Reference numerals] (410) Control part; (420) Transmission part; (430) Reception part; (440) P2P network

Description

P2P 네트워크를 이용하여 데이터를 수신하는 피어{PEER FOR RECEIVING DATA USING P2P NETWORK}Peer for receiving data using P2P network {PEER FOR RECEIVING DATA USING P2P NETWORK}

본 발명은 P2P 네트워크를 이용하여 데이터를 수신하는 피어에 관한 것으로, 좀더 구체적으로는 데이터를 전송하는 상대 피어의 상향 대역폭을 고려하여 데이터를 수신하는 피어에 관한 것이다.The present invention relates to a peer receiving data using a P2P network, and more particularly, to a peer receiving data in consideration of an uplink bandwidth of a counterpart peer transmitting data.

피어-투-피어(P2P) 네트워크에서 공유되는 콘텐트가 복수 개의 조각으로 나뉠 때 각 조각은 동일한 크기로 나뉜다. 따라서 각 피어들은 각 조각을 전송하기 위해서 같은 정도의 부하를 감당해야 한다. 피어-투-피어 네트워크에서 각 피어들은 서로 다른 특성을 가진 망에 속할 수 있다. 피어들이 이종망 환경에서 동작하기 때문에 각 피어가 제공할 수 있는 상향 대역폭의 차이가 발생하게 된다. 따라서 같은 크기의 조각이라도 각 피어들은 다른 정도의 부하를 감당해야 한다. 특히 멀티미디어 스트리밍 서비스와 같이 각 조각이 제시간에 맞게 전송되어야 하는 경우에는 낮은 상향 대역폭을 가진 피어로 인해서 영상이 깨지거나 끊기는 등 서비스에 지장이 생길 수도 있다. 이때 낮은 상향 대역폭을 가진 피어에게 조각 전송을 맡기지 않는 경우에는 피어-투-피어 네트워크의 자원이 낭비된다.When content shared in a peer-to-peer (P2P) network is divided into multiple pieces, each piece is divided into the same size. Therefore, each peer must bear the same load in order to send each piece. In a peer-to-peer network, each peer may belong to a network having different characteristics. Because peers operate in a heterogeneous network environment, there is a difference in the upstream bandwidth that each peer can provide. Therefore, even if the pieces are the same size, each peer must bear a different load. In particular, if each piece needs to be transmitted in a timely manner, such as a multimedia streaming service, the service may be disrupted, such as a broken or broken video due to a low upstream peer. If the fragment transmission is not entrusted to a peer with a low upstream bandwidth, resources of the peer-to-peer network are wasted.

예시적 실시예에 따르면, 피어-투-피어 네트워크의 자원 효율성을 높일 수 있는 데이터 전송 방법에 제공된다.According to an exemplary embodiment, a data transmission method for increasing resource efficiency of a peer-to-peer network is provided.

예시적 실시예에 따르면, 낮은 대역폭을 가진 피어로 인해서 서비스의 품질이 저하되는 것을 방지할 수 있는 피어가 제공된다.According to an exemplary embodiment, a peer is provided that can prevent degradation of the quality of service due to a peer with a low bandwidth.

예시적 실시예에 따르면, P2P 네트워크를 이용하여 데이터를 수신하는 피어(peer)에 있어서, 상기 데이터를 복수의 데이터 조각으로 분할하고 상기 분할된 각 데이터 조각을 복수의 데이터 블록으로 분할하고 상기 P2P 네트워크에 접속된 상대 피어(peer)의 상향 대역폭을 고려하여 상기 상대 피어로부터 수신할 데이터 블록의 개수를 결정하는 제어부 및 상기 결정된 개수의 데이터 블록을 상기 상대 피어로부터 수신하여 상기 데이터 조각 및 상기 데이터를 재구성하는 수신부를 포함하는 피어가 제공된다.According to an exemplary embodiment, in a peer for receiving data using a P2P network, the data is divided into a plurality of data pieces, each divided data piece is divided into a plurality of data blocks, and the P2P network is divided into two data blocks. A controller for determining the number of data blocks to be received from the counterpart peer in consideration of an uplink bandwidth of a counterpart peer connected to the peer, and receiving the determined number of data blocks from the counterpart peer to reconstruct the data fragment and the data A peer is provided that includes a receiving unit.

여기서, 상기 제어부는 상기 상대 피어의 상향 대역폭을 고려하여 상기 피어로부터 소정 개수의 데이터 블록을 수신하기 위한 시간을 계산하고, 상기 계산된 시간이 상기 데이터의 한계 시간 보다 작은 경우에, 상기 소정 개수를 상기 데이터 블록의 개수로 결정할 수 있다.Here, the controller calculates a time for receiving a predetermined number of data blocks from the peer in consideration of the uplink bandwidth of the counterpart peer, and when the calculated time is smaller than the limit time of the data, The number of data blocks may be determined.

그리고, 상기 제어부는 상기 계산된 시간이 상기 데이터의 한계 시간 보다 큰 경우에, 상기 소정 개수보다 작은 값으로 상기 데이터 블록의 개수를 결정할 수 있다.The controller may determine the number of data blocks to a value smaller than the predetermined number when the calculated time is greater than the limit time of the data.

예시적 실시예에 따르면, 피어-투-피어 네트워크의 자원 효율성을 높일 수 있다.According to an exemplary embodiment, resource efficiency of a peer-to-peer network may be increased.

예시적 실시예에 따르면, 낮은 대역폭을 가진 피어로 인해서 서비스의 품질이 저하되는 것을 방지할 수 있다.According to an exemplary embodiment, it is possible to prevent the quality of service from being degraded due to a peer having a low bandwidth.

도 1은 상향 대역폭이 서로 상이한 피어들로부터 데이터를 수신하는 피어를 도시한 도면이다.
도 2는 가변 조각화를 위한 조각의 구조도이다.
도 3은 가변 조각화를 위한 전송 요청을 단계별로 설명한 순서도이다.
도 4는 일실시예에 따른 피어의 구조를 도시한 블록도이다.
1 is a diagram illustrating a peer receiving data from peers having different upstream bandwidths.
2 is a structural diagram of fragments for variable fragmentation.
3 is a flowchart illustrating step by step a transmission request for variable fragmentation.
4 is a block diagram illustrating a structure of a peer according to an embodiment.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 상향 대역폭이 서로 상이한 피어들로부터 데이터를 수신하는 피어를 도시한 도면이다.1 is a diagram illustrating a peer receiving data from peers having different upstream bandwidths.

피어(110)는 상대 피어(120, 130, 140, 150, 150, 160)들로부터 데이터를 수신할 수 있다. 이 경우에, 상대 피어 A(120)의 상향 대역폭은 N Mbps이고, 상대 피어 B(130)의 상향 대역폭은 N/2 Mbps이고, 상대 피어 C(140)의 상향 대역폭은 N/2 Mbps이고, 상대 피어 D(150)의 상향 대역폭은 N Mbps이고, 상대 피어 E(160)의 상향 대역폭은 N Mbps 일 수 있다.Peer 110 may receive data from counterpart peers 120, 130, 140, 150, 150, 160. In this case, the uplink bandwidth of counterpart peer A 120 is N Mbps, the uplink bandwidth of counterpart peer B 130 is N / 2 Mbps, the uplink bandwidth of counterpart peer C 140 is N / 2 Mbps, The uplink bandwidth of the counterpart peer D 150 may be N Mbps, and the uplink bandwidth of the counterpart peer E 160 may be N Mbps.

피어(110)는 각 상대 피어(120, 130, 140, 150, 150, 160)들로부터 데이터의 일부분인 데이터 조각을 수신하고, 수신된 데이터 조각을 이용하여 데이터를 재구성할 수 있다. 이 경우에, 피어(110)가 상대 피어(120, 130, 140, 150, 150, 160)로부터 수신하는 데이터 조각의 양은 서로 상이할 수 있다.Peer 110 may receive a piece of data that is part of the data from each of the peers 120, 130, 140, 150, 150, and 160, and may reconstruct the data using the received piece of data. In this case, the amount of data pieces that the peer 110 receives from the counterpart peers 120, 130, 140, 150, 150, 160 may be different from each other.

이 경우에, 피어(110)는 상향 대역폭이 넓은 상대 피어 A(120), D(150), E(160)에게는 많은 양의 데이터 조각을 요청하고, 상향 대역폭이 좁은 상대 피어 B(130), C(140)에게는 적은 양의 데이터 조각을 요청할 수 있다.In this case, the peer 110 requests a large amount of data pieces from the peers A 120, D 150, and E 160 having a large upstream bandwidth, and the peers B 130 with a narrow upstream bandwidth. C 140 may request a small amount of data fragments.

일측에 따르면, 피어(110)는 데이터(170) 중에서 제1 조각(181), 제5 조각(185) 및 제6 조각(186)의 절반(193)을 상대 피어 A(120)로부터 수신하고, 제3 조각(183)을 상대 피어 D(150)로부터 수신하고, 제4조각(184)를 상대 피어 E(160)로부터 수신할 수 있다.According to one side, the peer 110 receives the half 193 of the first piece 181, the fifth piece 185 and the sixth piece 186 of the data 170 from the other peer A (120), The third piece 183 may be received from the peer peer D 150 and the fourth piece 184 may be received from the peer peer E 160.

또한, 피어(110)는 데이터(170) 중에서, 제2 조각(182)의 절반(191) 및 제6 조각(186)의 절반(194)은 상대 피어 B(130)로부터 수신하고, 제2 조각(182)의 절반(192)은 상대 피어 C(140)로부터 수신할 수 있다.In addition, peer 110 receives half 191 of second piece 182 and half 194 of sixth piece 186 from data peer 170, and receives second peer 130 from second peer 130. Half 192 of 182 may receive from counterpart peer C 140.

즉, 피어(110)은 상대 피어(120, 130, 140, 150, 150, 160)의 상향 대역폭을 고려하여, 상향 대역폭이 넓은 상대 피어에 대해서는 많은 양의 데이터 조각을 수신하고, 상향 대역폭이 좁은 상대 피어에 대해서는 적은 양의 데이터 조각만을 수신할 수 있다.
That is, the peer 110 receives a large amount of data fragments for the partner peer having a wider uplink bandwidth, considering the uplink bandwidth of the partner peers 120, 130, 140, 150, 150, and 160, and has a narrow uplink bandwidth. Only a small amount of data can be received for the peer.

도 2는 가변 조각화를 위한 조각의 구조도이다.2 is a structural diagram of fragments for variable fragmentation.

도 2에서는 각 조각(200)은 복수의 블록(210, 220, 230, 240)으로 분할된다. 피어는 데이터 조각(200) 중에서 소정 개수의 블록(210, 220, 230, 240)들을 요청한 경우, 상대 피어로부터 소정 개수의 블록(210, 220, 230, 240)을 한계 시간 내에 수신할 수 있는지 여부를 판단한다.In FIG. 2, each piece 200 is divided into a plurality of blocks 210, 220, 230, and 240. If a peer requests a predetermined number of blocks 210, 220, 230, and 240 from the data fragment 200, whether the peer can receive a predetermined number of blocks 210, 220, 230, and 240 from the peer in a limited time. Judge.

여기서, 한계 시간은 피어가 해당 블록을 수신해야만 하는 시간으로서, 피어가 해당 블록을 한계 시간 이내에 수신하지 못한 경우에, 피어에게 있어서 해당 블록은 무의미한 데이터가 되는 시간일 수 있다. 예를 들어, 피어가 수신해야 할 데이터는 동영상 데이터로서, 피어는 1초 후에 동영상 데이터를 재생해야 할 수 있다. 만약 피어가 1초 이후에 동영상 데이터를 수신한다면, 피어는 동영상 데이터를 끊김없이 재생할 수 없으며, 수신한 동영상 데이터는 무의미한 것이 된다. 이 경우, 데이터의 한계 시간은 1초이다.Here, the limit time is a time at which the peer must receive the block, and when the peer does not receive the block within the limit time, the block may be a time when the block becomes meaningless data for the peer. For example, the data to be received by the peer is video data, and the peer may need to play the video data after 1 second. If the peer receives the video data after 1 second, the peer cannot play the video data seamlessly, and the received video data is meaningless. In this case, the limit time of the data is 1 second.

일측에 따르면, 피어는 상대 피어의 상향 대역폭을 고려하여 상대 피어로부터 한계 시간 내에 반드시 수신할 수 있는 분량의 데이터 조각만을 수신할 수 있다.
According to one side, the peer may receive only the amount of data pieces that can be received within the time limit from the peer in consideration of the uplink bandwidth of the peer.

도 3은 가변 조각화를 위한 전송 요청을 단계별로 설명한 순서도이다.3 is a flowchart illustrating step by step a transmission request for variable fragmentation.

단계(310)에서 피어는 데이터를 복수의 데이터 조각으로 분할한다. 또한 피어는 데이터 조각을 복수의 데이터 블록으로 분할한다. 피어는 분할된 조각에 대한 전송 요청 절차를 시작한다.In step 310 the peer divides the data into a plurality of data pieces. The peer also splits the data fragments into a plurality of data blocks. The peer initiates a transfer request procedure for the fragmented piece.

단계(320)에서, 피어는 데이터 조각에 포함된 복수의 데이터 블록들 중에서 일부 데이터 블록이 이전에 요청된 적이 없는지 확인한다. 만약 요청된 적이 없다면, 피어는 단계(330)에서 다른 피어의 상향 대역폭 정보를 참고하여 해당 데이터 조각이 몇 초 만에 전송될 수 있는지 여부를 계산한다. 피어는 단계(330)에서 해당 데이터 조각의 전송 시간과 한계 시간을 비교한다. 만약 한계 시간 이내로 해당 데이터 조각을 수신할 수 있다고 판단된다면, 피어는 단계(340)에서 해당 데이터 조각에 대한 전송을 요청한다.In step 320, the peer checks if some data block of the plurality of data blocks included in the data fragment has never been requested before. If not requested, the peer consults the uplink bandwidth information of the other peer in step 330 to calculate whether the piece of data can be transmitted in seconds. The peer compares the transmission time and the time limit of the data fragment in step 330. If it is determined that the data piece can be received within the time limit, the peer requests the transmission of the data piece at step 340.

단계(330)에서, SizePiece는 데이터 조각의 크기를 나타내고, BandUP은 상대 피어의 상향 대역폭을 나타낸다. ThresholdTime은 데이터의 한계 시간을 나타낸다. 여기서, 피어가 수신해야 하는 데이터가 멀티미디어 스트리밍 서비스를 이용하여 전송되는 동영상 데이터인 경우에, ThresholdTime은 하기 수학식 1에 따라서 계산될 수 있다.
In step 330, Size Piece represents the size of the data fragment, and Band UP represents the upstream bandwidth of the peer. Threshold Time represents the threshold time of the data. Here, when the data that the peer should receive is video data transmitted using the multimedia streaming service, the threshold time may be calculated according to Equation 1 below.

[수학식 1]
[Equation 1]

ThresholdTime = SizePiece / BitrateStreaming
Threshold Time = Size Piece / Bitrate Streaming

여기서, BitrateStreaming 은 멀티미디어 스트리밍 서비스의 비트레이트이다.
Here, Bitrate Streaming is a bitrate of the multimedia streaming service.

그러나, 만약 해당 한계시간 이내로 수신할 수 없다고 판단되면, 피어는 단계(350)에서 데이터 조각을 구성하고 있는 데이터 블록 중에서 일부 데이터 블록만을 요청한다. 일측에 따르면, 피어는 단계(350)에서, 상대 피어의 상향 대역폭과 한계 시간을 고려하여 한계 시간 이내에 모두 수신 가능한 데이터 블록만을 요청할 수 있다. 즉, 피어가 요청하는 데이터 조각의 양이 감소한다.However, if it is determined that the reception cannot be received within the corresponding time limit, the peer requests only some data blocks among the data blocks constituting the data fragment in operation 350. According to one side, in step 350, the peer may request only data blocks that can be received within the time limit in consideration of the uplink bandwidth and the time limit of the other peer. In other words, the amount of data fragments requested by the peer is reduced.

만약 단계(320)에서 해당 조각의 일부 블록을 이미 요청했다면, 피어는 단계(360)에서 해당 데이터 조각의 남은 데이터 블록들의 크기와 전송을 요청할 피어의 상향 대역폭을 고려하여 남은 데이터 블록을 한계 시간 이내에 수신할 수 있는지 여부를 판단한다. 남은 데이터 블록을 한계 시간 이내에 수신할 수 있는 것으로 판단한 경우에, 피어는 단계(380)에서 남은 데이터 블록 모두를 요청할 수 있다.If a request has already been made for some blocks of the fragment in step 320, the peer may select the remaining data blocks within the time limit in consideration of the size of the remaining data blocks of the data fragment in step 360 and the uplink bandwidth of the peer to request transmission. Determine whether it can be received. If it is determined that the remaining data block can be received within the time limit, the peer may request all remaining data blocks in step 380.

남은 데이터 블록을 한계 시간 이내에 수신할 수 없는 것으로 판단한 경우에, 피어는 단계(370)에서 상대 피어의 상향 대역폭과 한계 시간을 고려하여 한계 시간 이내에 모두 수신 가능한 데이터 블록만을 요청할 수 있다. 여기서, SizeRest _ block _ of _ piece는 데이터 조각 중에서 아직 전송되지 않은 데이터 블록의 크기이다.If it is determined that the remaining data block cannot be received within the limit time, the peer may request only the data block that can be received within the limit time in consideration of the uplink bandwidth and the limit time of the counterpart peer in step 370. Here, Size Rest _ block _ of _ piece is the size of the data block that has not yet been transmitted among the data pieces.

피어는 단계(390)에서 데이터 조각에 대한 전송 요청 절차를 완료할 수 있다.
The peer may complete the transfer request procedure for the data fragment at step 390.

도 4는 일실시예에 따른 피어의 구조를 도시한 블록도이다.4 is a block diagram illustrating a structure of a peer according to an embodiment.

제1 피어(400)는 P2P 네트워크(440)를 이용하여 데이터를 수신한다.The first peer 400 receives data using the P2P network 440.

일측에 따르면, 제1 피어(400)는 P2P 네트워크(440)상에 위치하는 서버로부터 데이터에 대한 정보를 수신할 수 있다. 이 경우에, 데이터에 대한 정보는 각 데이터의 어느 부분을 어느 피어(450, 460)가 보유하고 있는지 여부에 대한 정보 및 각 피어(450, 460)의 상향 대역폭에 대한 정보일 수 있다.According to one side, the first peer 400 may receive information about data from a server located on the P2P network 440. In this case, the information on the data may be information on which part of each data is owned by which peers 450 and 460 and information on uplink bandwidth of each peer 450 and 460.

제어부(410)는 제1 피어(400)가 수신해야 할 데이터를 복수의 데이터 조각으로 분할하고, 각 데이터 조각을 복수의 데이터 블록으로 분할한다. 제어부(410)는 상기 P2P 네트워크에 접속된 상대 피어(450, 460)의 상향 대역폭을 고려하여 상대 피어(450, 460)로부터 수신할 데이터 조각의 양을 결정할 수 있다. 이 경우에, 데이터 조각의 양은 곧 데이터 블록의 개수로 결정될 수 있다. 제어부(410)는 제1 피어(400)가 상대 피어(450, 460)로부터 수신할 데이터 블록의 개수를 결정할 수 있다.The controller 410 divides data to be received by the first peer 400 into a plurality of data pieces, and divides each data piece into a plurality of data blocks. The controller 410 may determine the amount of data fragments to be received from the peers 450 and 460 in consideration of the uplink bandwidth of the peers 450 and 460 connected to the P2P network. In this case, the amount of data pieces can be determined by the number of data blocks. The controller 410 may determine the number of data blocks that the first peer 400 will receive from the counterpart peers 450 and 460.

일측에 따르면, 제어부(410)는 각 피어(450, 460)의 상향 대역폭과, 각 피어(450, 460)로부터 수신할 데이터 조각의 양이 비례하도록 각 상대 피어(450, 460)로부터 수신해야 할 데이터 조각의 양(또는 데이터 블록의 개수)을 결정할 수 있다.According to one side, the control unit 410 is to receive from each peer peer 450, 460 such that the uplink bandwidth of each peer (450, 460) and the amount of data pieces to be received from each peer (450, 460) proportional to each other. The amount of data fragments (or the number of data blocks) can be determined.

다른 측면에 따르면, 제어부(410)는 상대 피어(450, 460)의 상향 대역폭을 고려하여 상대 피어(450, 460)로부터 소정 개수의 데이터 블록을 수신하기 위한 시간을 계산하고, 계산된 시간이 데이터의 한계 시간 보다 작은 경우에, 소정 개수의 데이터 블록을 상대 피어(450, 460)로부터 수신할 데이터 조각의 양으로 결정할 수 있다.According to another aspect, the controller 410 calculates a time for receiving a predetermined number of data blocks from the counterpart peers 450 and 460 in consideration of the uplink bandwidths of the counterpart peers 450 and 460, and the calculated time is the data. If less than the time limit, the predetermined number of data blocks may be determined as the amount of data pieces to be received from the peer peer 450, 460.

예를 들어, 제1 피어(400)가 수신해야 할 데이터는 동영상 데이터로서, 제1 피어(400)는 1초 후에 동영상 데이터를 재생해야 할 수 있다. 이 경우, 제1 피어(400)가 수신해야 할 데이터의 한계 시간은 1초이다.For example, data to be received by the first peer 400 may be video data, and the first peer 400 may need to play the video data after 1 second. In this case, the time limit for data to be received by the first peer 400 is 1 second.

일측에 따르면, 상대 피어(450, 460)들은 모두 제1 피어(400)가 수신해야 할 동영상 데이터를 보유할 수 있다. 또한, 제2 피어(450)의 상향 대역폭은 제3 피어(460)의 상향 대역폭의 2배일 수 있다.According to one side, the counterpart peers 450 and 460 may both hold video data to be received by the first peer 400. In addition, the upward bandwidth of the second peer 450 may be twice the upward bandwidth of the third peer 460.

제어부(410)는 제2 피어(450)의 상향 대역폭을 고려하여 제2 피어(450)가 한계 시간 내에 소정 개수의 데이터 블록을 제1 피어(400)로 전송할 수 있는지 여부를 판단한다. 만약 제2 피어(450)가 한계 시간 내에 소정 개수의 데이터 블록을 제1 피어(400)로 전송할 수 있다면, 제1 피어(400)는 소정 개수의 데이터 블록에 대한 요청을 제2 피어(450)로 전송할 수 있다. 또는 제어부(410)는 제2 피어(450)가 좀더 많은 개수의 데이터 블록을 한계 시간 내에 제1 피어(400)로 전송할 수 있는지 여부를 판단할 수 있다. 만약 전송 가능한 경우, 좀더 많은 개수의 데이터 블록에 대한 요청을 제2 피어(450)로 전송할 수 있다.The controller 410 determines whether the second peer 450 can transmit a predetermined number of data blocks to the first peer 400 within a time limit in consideration of an uplink bandwidth of the second peer 450. If the second peer 450 can transmit the predetermined number of data blocks to the first peer 400 within the time limit, the first peer 400 sends a request for the predetermined number of data blocks to the second peer 450. Can be sent to. Alternatively, the controller 410 may determine whether the second peer 450 may transmit a larger number of data blocks to the first peer 400 within a time limit. If transmittable, a request for a larger number of data blocks may be transmitted to the second peer 450.

제어부(410)는 제3 피어(460)의 상향 대역폭을 고려하여 제3 피어(460)가 한계 시간 내에 소정 개수의 데이터 블록을 제1 피어(400)로 전송할 수 있는지 여부를 판단한다. 제어부(410)는 제1 피어(400)가 제3 피어(460)로부터 소정 개수의 데이터 블록을 수신하기 위한 시간을 계산하고, 계산된 시간과 한계 시간을 비교할 수 있다.The controller 410 determines whether the third peer 460 can transmit a predetermined number of data blocks to the first peer 400 within a time limit in consideration of the uplink bandwidth of the third peer 460. The controller 410 may calculate a time for the first peer 400 to receive a predetermined number of data blocks from the third peer 460 and compare the calculated time with the limit time.

계산된 시간이 한계 시간보다 더 크다면, 제어부(410)는 제3 피어(460)가 한계 시간 내에 소정 개수의 데이터 블록을 제1 피어(400)로 전송할 수 없는 것으로 판단할 수 있다. 이 경우에, 제어부(410)는 제3 피어(460)가 좀더 적은 개수의 데이터 블록을 한계 시간 내에 제1 피어(400)로 전송할 수 있는지 여부를 판단할 수 있다. 만약 전송 가능한 경우, 좀더 적은 개수의 데이터 블록에 대한 요청을 제4 피어(460)로 전송할 수 있다.If the calculated time is greater than the time limit, the controller 410 may determine that the third peer 460 cannot transmit a predetermined number of data blocks to the first peer 400 within the time limit. In this case, the controller 410 may determine whether the third peer 460 can transmit a smaller number of data blocks to the first peer 400 within the time limit. If transmittable, a request for a smaller number of data blocks may be transmitted to the fourth peer 460.

수신부(430)는 결정된 개수의 데이터 블록을 상기 상대 피어로부터 수신하여 상기 데이터를 재구성할 수 있다.
The receiver 430 may reconstruct the data by receiving the determined number of data blocks from the counterpart peer.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in 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.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.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.

400: 제1 피어
410: 제어부
420: 전송부
430: 수신부
440: P2P 네트워크
450: 제2 피어
460: 제3 피어
400: first peer
410: control unit
420: transmission unit
430: receiver
440: P2P network
450: second peer
460: third peer

Claims (1)

P2P 네트워크를 이용하여 데이터를 수신하는 피어(peer)에 있어서,
상기 데이터를 복수의 데이터 조각으로 분할하고, 상기 분할된 각 데이터 조각을 복수의 데이터 블록으로 분할하고, 상기 P2P 네트워크에 접속된 상대 피어(peer)의 상향 대역폭을 고려하여 상기 상대 피어로부터 수신할 데이터 블록의 개수를 결정하는 제어부; 및
상기 결정된 개수의 데이터 블록을 상기 상대 피어로부터 수신하여 상기 데이터 조각 및 상기 데이터를 재구성하는 수신부를 포함하는 피어.
In a peer that receives data using a P2P network,
The data to be divided into a plurality of data fragments, each of the divided data fragments into a plurality of data blocks, and data to be received from the counterpart peer in consideration of an uplink bandwidth of a peer connected to the P2P network. A controller for determining the number of blocks; And
And a receiver configured to receive the determined number of data blocks from the counterpart peer and reconstruct the data fragment and the data.
KR1020120019537A 2012-02-27 2012-02-27 Peer for receiving data using p2p network KR101834017B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120019537A KR101834017B1 (en) 2012-02-27 2012-02-27 Peer for receiving data using p2p network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120019537A KR101834017B1 (en) 2012-02-27 2012-02-27 Peer for receiving data using p2p network

Publications (2)

Publication Number Publication Date
KR20130101660A true KR20130101660A (en) 2013-09-16
KR101834017B1 KR101834017B1 (en) 2018-03-02

Family

ID=49451690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120019537A KR101834017B1 (en) 2012-02-27 2012-02-27 Peer for receiving data using p2p network

Country Status (1)

Country Link
KR (1) KR101834017B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200110216A (en) * 2019-03-13 2020-09-23 폭스바겐 악티엔게젤샤프트 Vehicle, system, apparatuses, methods, and computer programs for user equipment and a network component of a mobile communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200110216A (en) * 2019-03-13 2020-09-23 폭스바겐 악티엔게젤샤프트 Vehicle, system, apparatuses, methods, and computer programs for user equipment and a network component of a mobile communication system

Also Published As

Publication number Publication date
KR101834017B1 (en) 2018-03-02

Similar Documents

Publication Publication Date Title
US11412018B2 (en) Distributing communication of a data stream among multiple devices
US10142384B2 (en) Distributing communication of a data stream among multiple devices
US9300733B2 (en) System and/or method for client-driven server load distribution
US9571540B2 (en) Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking
RU2553671C2 (en) Direct streaming between peer-to-peer entities
US9100904B2 (en) Data stream division to increase data transmission rates
EP2760163B1 (en) Network latency optimization
Liu et al. Parallel adaptive HTTP media streaming
US20140086256A1 (en) Data stream division to increase data transmission rates
US9654329B2 (en) Content distribution over a network
US9330429B2 (en) Scalable watermark insertion for fragmented media stream delivery
JP6352536B2 (en) Server, method and computer program product for adaptive streaming of media content to clients
US10715569B2 (en) Delivery control device and delivery control method for content delivery according to ABR delivery method
KR20160134802A (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
US20170063643A1 (en) Method and server for guaranteeing service level of peer
KR20130101660A (en) Peer for receiving data using p2p network
US11627358B2 (en) Communication entity and a method for transmitting a video data stream
KR101051710B1 (en) Multiple session establishment method and node using same
JP2014522594A (en) Method and apparatus for streaming multimedia content
Jahed et al. Practical device-centric WiFi/cellular link aggregation mechanism for mobile devices
Kalan et al. vdane: Using virtualization for improving video quality with server and network assisted dash
Seyedebrahimi et al. Client QoE-oriented segment selection for DASH
KR101078213B1 (en) Method for managing CPU load of contents transmitting device and contents transmitting device thereof
KR102390522B1 (en) Blockchain based reliable quality of experience accelerator for adaptive video streaming service
CA3233059A1 (en) Systems and methods for streaming media content during unavailability of content server

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant