KR20190134539A - Method for improving performance in peer-to-peer network using peer pool - Google Patents

Method for improving performance in peer-to-peer network using peer pool Download PDF

Info

Publication number
KR20190134539A
KR20190134539A KR1020190061523A KR20190061523A KR20190134539A KR 20190134539 A KR20190134539 A KR 20190134539A KR 1020190061523 A KR1020190061523 A KR 1020190061523A KR 20190061523 A KR20190061523 A KR 20190061523A KR 20190134539 A KR20190134539 A KR 20190134539A
Authority
KR
South Korea
Prior art keywords
peer
file
file fragments
peers
network
Prior art date
Application number
KR1020190061523A
Other languages
Korean (ko)
Other versions
KR102212111B1 (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 주식회사 마블루스
Publication of KR20190134539A publication Critical patent/KR20190134539A/en
Application granted granted Critical
Publication of KR102212111B1 publication Critical patent/KR102212111B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention provides a method which improves the performance of a peer-to-peer (P2P) network using a peer pool and is performed by a terminal to download content from the P2P network. The method comprises: a step of performing a peer pool configuration, wherein the peer pool and a swarm are not equal; a step of generating a chuck download map for a content file to be downloaded, wherein the chuck download map defines first file fragments of the content file to be downloaded by the terminal and second file fragments of the file to be downloaded from one or more peers in the peer pool; and a step of transmitting the chuck download map to the peer pool. The method further comprises: a step of downloading the first file fragments; and a step of receiving the second file fragments from the one or more peers of the peer pool.

Description

피어 집합을 활용한 P2P 네트워크 성능 향상 방법{METHOD FOR IMPROVING PERFORMANCE IN PEER-TO-PEER NETWORK USING PEER POOL}How to improve P2P network performance using peer set {METHOD FOR IMPROVING PERFORMANCE IN PEER-TO-PEER NETWORK USING PEER POOL}

본 발명은 P2P 네트워크에 관한 것으로, 더 구체적으로는 P2P 네트워크에서 피어들 간의 협력 집합(Pool)을 활용하여 P2P네트워크의 전송속도 성능을 향상시키는 방법에 관한 것이다. The present invention relates to a P2P network, and more particularly, to a method of improving a transmission speed performance of a P2P network by utilizing a cooperative pool between peers in a P2P network.

P2P 네트워크 P2P는 'Peer-to-Peer'라는 뜻으로 중앙 서버없이 각 단말들이 서로 동등한 입장에서 통신을 하는 네트워크를 의미한다. 인터넷의 정보를 찾기 위해 기존에 호스트 서버를 거쳐야 하는 방식과는 달리 인터넷에 연결된 모든 개인 컴퓨터로부터 직접 어떤 정보나 서비스를 제공받고 공유하는 방식이다. P2P 기술은 Napster, KaZaA와 같은 파일 공유 애플리케이션에 의해 처음으로 널리 퍼지고 대중화되었다.P2P Network P2P means 'peer-to-peer' and means a network where each terminal communicates in an equal position without a central server. Unlike traditional methods of going through a host server to find information on the Internet, it is a method of receiving and sharing information or services directly from all personal computers connected to the Internet. P2P technology was first widespread and popularized by file sharing applications such as Napster and KaZaA.

일대다 파일 공유 방식은 하나의 콘텐츠 파일을 여러 개의 조각(Piece)으로 나누어 각 클라이언트 간에 조각들을 서로 교환하는 방식이다. 클라이언트는 콘텐츠 파일의 조각들을 소유/공유하고 있는 클라이언트와 세션을 생성하여 필요한 조각에 대하여 전송을 요청한다. 각 클라이언트들은 콘텐츠 파일을 공유하고 있는 새로운 클라이언트를 발견하면 자신이 가지고 있는 조각의 정보를 알려주고 새로운 클라이언트에게 자신이 필요한 조각을 요청한다. 이러한 방식 때문에 하나의 클라이언트는 여러 개의 클라이언트들과 무수히 많은 세션(Multiple Session)을 생성하게 되며 세션이 계속하여 늘어남에 따라 사용자의 다운로드 속도는 점진적으로 늘어나 클라이언트가 사용하는 인터넷 환경의 최대 대역폭까지 다운로드 속도가 증가한다.One-to-many file sharing is a method of dividing a piece of content file into pieces and exchanging pieces between clients. The client creates a session with the client that owns / shares the pieces of the content file and requests a transfer for the required pieces. When each client finds a new client sharing a content file, it tells them what piece of information it has and asks the new client for the piece they need. Because of this approach, one client can create multiple sessions with multiple clients, and as the sessions continue to grow, the user's download speed gradually increases, up to the maximum bandwidth of the Internet environment the client uses. Increases.

P2P 네트워크에서 일부 시드/피어가 없는 콘텐츠의 경우, 다운로드 시간이 오래 걸리는 문제점이 있다. Some seed / peerless content in a P2P network has a long download time.

시드(Seed)가 P2P 네트워크를 나가는 경우, 콘텐츠 자체를 다운로드할 수 없게 되는 문제점이 있다. If the seed leaves the P2P network, there is a problem that the content itself cannot be downloaded.

P2P 네트워크에서는 데이터를 다운로드 시, 여러 피어들이 협력하면 다운로드 성능이 높아지는 특징을 기초로 피어들이 성능 향상을 위해서 협력체(Pool)을 구성하여 특정 피어의 성능을 높이는 방법 등이 필요하다. In the P2P network, when downloading data, when peers cooperate, the download performance is increased. Therefore, peers need a method of improving the performance of a specific peer by configuring a pool to improve performance.

P2P 네트워크에서의 피어들이 자신의 리소스(스토리지/대역폭(bandwidth)를 공유하여 다운로드 속도를 높이면서 콘텐츠의 이용가능성(availability)를 높이는 방법 등이 필요하다. There is a need for a method in which peers in a P2P network share their resources (storage / bandwidth) to increase the download speed while increasing the availability of the content.

P2P 네트워크에서의 피어들이 자신의 스토리지(Storage)의 일부를 피어 집합(Peer Pool)에 있는 다른 피어에게 공유 스토리지(Shared Storage)로 제공하여 성능을 높이는 방법 등이 필요하다. There is a need for peers in a peer-to-peer network to improve performance by providing part of their storage as shared storage to other peers in the peer pool.

본 개시에 따르면, P2P(Peer-to-Peer) 네트워크에서 컨텐츠를 다운로드하기 위해 단말기에서 수행되는 피어 집합(Peer Pool)을 활용한 P2P 네트워크의 성능을 향상시키는 방법이 제공된다. 본 방법은 피어 집합 설정을 수행하는 단계 - 상기 피어 집합과 스웜(swarm)은 동일하지 않음 -; 다운로드하여야 할 콘텐츠 파일에 대한 청크 다운로드 맵(download map)을 작성하는 단계 - 상기 청크 다운로드 맵은 상기 단말기가 다운로드 받아야 할 상기 콘텐츠 파일의 제1 파일 조각들과 상기 피어 집합 내의 하나 이상의 피어로부터 다운로드 받아야 할 상기 파일의 제2 파일 조각들을 정의함 -, 및 상기 청크 다운로드 맵을 상기 피어 집합으로 전송하는 단계를 포함하며, 상기 방법은 상기 제1 파일 조각들을 다운로드받는 단계, 및 상기 하나 이상의 피어 집합의 피어로부터 상기 제2 파일 조각들을 수신하는 단계를 포함한다. According to the present disclosure, a method for improving the performance of a P2P network utilizing a peer pool performed at a terminal for downloading content from a peer-to-peer network is provided. The method includes performing peer set establishment, wherein the peer set and swarm are not identical; Creating a chunk download map for the content file to be downloaded, wherein the chunk download map is to be downloaded from the first file fragments of the content file to be downloaded by the terminal and at least one peer in the peer set; Defining second file fragments of the file to perform, and transmitting the chunk download map to the peer set, wherein the method comprises downloading the first file fragments; and Receiving the second file pieces from a peer.

일 실시예에서, 제1 파일 조각들과 상기 제2 파일 조각들은 서로 겹치지 않으며, 상기 피어 집합 내의 하나 이상의 피어들 각각은 동일한 제2 파일 조각들을 다운로드할 수 있다. In one embodiment, the first file fragments and the second file fragments do not overlap with each other, and each of the one or more peers in the peer set may download the same second file fragments.

일 실시예에서, 하나 이상의 피어 집합의 피어로부터 상기 제2 파일 조각들을 수신하는 단계는 상기 단말기가 상기 제2 파일 조각들을 수신하는 것에 대한 보상을 하지 않고 일방적으로 상기 제2 파일 조각들을 수신할 수 있다. In one embodiment, receiving the second file fragments from a peer in one or more peer sets may unilaterally receive the second file fragments without compensating for the terminal to receive the second file fragments. have.

일 실시예에서, 상술한 방법은 상기 하나 이상의 피어 집합의 피어가 아닌 피어로부터 상기 제2 파일 조각들을 수신하는 단계를 더 포함할 수 있다. In one embodiment, the method may further comprise receiving the second file pieces from a peer that is not a peer of the one or more peer aggregation.

일 실시예에서, 상술한 방법은 상기 단말기가 상기 콘텐츠 파일을 모두 수신한 후, 상기 제1 파일 조각들을 상기 제2 파일 조각들을 송신한 상기 하나 이상의 피어 집합의 피어에게 나누어 전송하는 단계를 더 포함할 수 있다. In one embodiment, the method further comprises the step of transmitting, after the terminal has received all of the content file, the first file fragments divided and transmitted to the peers of the one or more peer sets that have sent the second file fragments. can do.

일 실시예에서, 상술한 방법은 상기 피어 집합에서 공유하는 청크를 저장하기 위한 공유 스토리지를 관리하는 단계를 더 포함할 수 있다. In one embodiment, the method may further comprise managing shared storage for storing chunks shared by the peer set.

본 개시에 따르면, P2P 네트워크에서는 데이터를 다운로드 시, 여러 피어들이 협력하여 다운로드 성능이 높일 수 있다. According to the present disclosure, in a P2P network, when downloading data, multiple peers may cooperate to improve download performance.

본 개시에 따르면, P2P 네트워크에서의 피어들이 자신의 리소스(스토리지/대역폭(bandwidth)를 공유하여 다운로드 속도를 높이면서 콘텐츠의 이용가능성(availability)를 높일 수 있다. According to the present disclosure, peers in a P2P network can share their resources (storage / bandwidth) to increase the download speed while increasing the availability of the content.

본 개시에 따르면, P2P 네트워크에서의 피어들이 자신의 스토리지(Storage)의 일부를 피어 집합(Peer Pool)에 있는 다른 피어에게 공유 스토리지(Shared Storage)로 제공하여 성능을 높일 수 있다.According to the present disclosure, peers in a P2P network may improve performance by providing a portion of their storage as shared storage to other peers in a peer pool.

도 1은 일반적인 스웜 구조의 P2P 시스템이 구현될 수 있는 시스템 환경을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따라, 피어 집합을 구성한 스웜 구조의 P2P 시스템이 구현될 수 있는 시스템 환경을 개략적으로 도시한 도면이다.
도 3 내지 도 5는 본 발명의 일 실시예에 따라 도 1의 피어1 및 피어 집합 내의 피어들의 공유 스토리지를 도시하는 도면이다.
도 6은 본 발명의 일 실시예에 따라 도 1의 피어1이 사리지는 경우의 피어 집합 내의 피어들의 공유 스토리지를 도시하는 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 따라 공유 스토리지의 관리 방법(LRU(Least Recently Used))을 도시하는 도면이다.
1 is a diagram schematically illustrating a system environment in which a P2P system having a general swarm structure may be implemented.
FIG. 2 is a diagram schematically illustrating a system environment in which a P2P system having a swarm structure constituting a peer set may be implemented according to an embodiment of the present invention.
3 through 5 illustrate shared storage of peers 1 and peers in a set of peers in accordance with one embodiment of the present invention.
FIG. 6 is a diagram illustrating shared storage of peers in a peer set when peer 1 of FIG. 1 disappears according to an embodiment of the present invention.
7 and 8 illustrate a method of managing shared storage (LRU (Least Recently Used)) according to an embodiment of the present invention.

이하, 첨부 도면을 참조하여 본 발명의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 발명의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 발명의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following, when it is determined that there is a risk of unnecessarily obscuring the gist of the present invention, a detailed description of the known functions and configurations will be omitted. In addition, it should be understood that the following description only relates to one embodiment of the present invention, but the present disclosure is not limited thereto.

본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. For example, a component expressed in the singular should be understood as a concept including a plurality of components unless the context clearly indicates the singular. It is to be understood that the term "and / or" as used in this disclosure encompasses all possible combinations by one or more of the listed items. The terms 'comprise' or 'having' as used in the present disclosure are merely intended to designate that there exists a feature, number, step, operation, component, part, or combination thereof described on the present disclosure. It is not intended to exclude the possibility of the presence or the addition of one or more other features or numbers, steps, actions, components, parts or combinations thereof by use.

본 발명의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.In the embodiment of the present invention, the module or the unit means a functional part that performs at least one function or operation, and may be implemented by hardware or software or by a combination of hardware and software. Also, a plurality of 'modules' or 'units' may be integrated by at least one software module and implemented by at least one processor, except for 'modules' or 'units', which need to be implemented by specific hardware. have.

본 개시에서 사용되는 용어는 아래와 같다. Terms used in the present disclosure are as follows.

1. 시드(Seed)란 공유할 파일을 다 가지고 있어서 upload를 통해서 다른 피어들에게 파일 공유 서비스만 제공하는 노드를 의미한다. 1. Seed means a node that has all files to share and provides only file sharing service to other peers through upload.

2. 피어(Peer)란 다른 피어들과 협력하여 시드로부터 파일을 다운로드하는 노드를 의마한다. 2. Peer refers to a node that cooperates with other peers to download a file from a seed.

3. 스웜(Swarm)이란 특정 파일과 관련된 피어의 그룹이다. 시드와 피어가 포함된다. 3. Swarm is a group of peers associated with a particular file. Seeds and peers are included.

4. 피어 집합(Peer Pool)이란 특정 피어와 관련하여 공유 스토리지를 제공하는 그룹이다. 4. Peer Pools are groups that provide shared storage for a particular peer.

5. 콘텐츠 청크 다운로드 맵(contents chunk download map)이란 동일한 콘텐츠 중 특정 피어가 다운로드할 청크들을 표시하는 맵을 의미한다. 5. Contents chunk download map refers to a map indicating chunks to be downloaded by a specific peer of the same content.

이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail an embodiment of the present invention.

도 1은 일반적인 스웜 구조의 P2P 시스템이 구현될 수 있는 시스템 환경을 개략적으로 도시한 도면이다. 도시된 바에 의하면, 시스템 환경(100)은, 복수의 피어, 특정 파일과 관련된 피어의 그룹인 스웜(swarm)들을 포함할 수 있다. 1 is a diagram schematically illustrating a system environment in which a P2P system having a general swarm structure may be implemented. As shown, system environment 100 may include swarms, which are groups of peers, peers associated with a particular file.

본 개시의 실시예에서, 특정 피어는 스웜(swarm)과 피어 집합에 각각 포함될 수 있으며, 피어 집합과 스웜(swarm)은 동일하지 않다. 본 기술분야의 당업자는 스웜과 피어 집합을 구성하는 다양한 방법과 변형이 존재함을 잘 알고 있으므로 이하 설명은 생략한다. In an embodiment of the present disclosure, a particular peer may be included in a swarm and a peer set respectively, and the peer set and the swarm are not identical. Those skilled in the art will appreciate that there are various ways and modifications to configure swarm and peer aggregation, so the description is omitted below.

도 1에 도시된 바에 의하면, 스웜1(swarm1)은 피어1(Peer1)을 포함하여 4 개의 피어들 간에 콘텐츠1을 주고 받고 있으며, 스웜2(swarm2)는 피어2(Peer2)를 포함하여 4개의 피어들 간에 콘텐츠2를 주고 받고 있다. 또한, 피어3(Peer3), 피어4(Peer4), 피어5(Peer5) 등은 스웜1 또는 스웜2에 속하지 않은 P2P 네트워크 상의 피어들이다. As shown in FIG. 1, swarm1 (swarm1) exchanges content1 between four peers, including peer1 (Peer1), and swarm2 (swarm2) includes four peers, including peer2. Content2 is being exchanged between peers. Also, Peer3, Peer4, Peer5, and the like are peers on a P2P network that do not belong to Swarm 1 or Swarm 2.

도 2는 본 발명의 일 실시예에 따라, 피어 집합을 구성한 스웜 구조의 P2P 시스템이 구현될 수 있는 시스템 환경을 개략적으로 도시한 도면이다. FIG. 2 is a diagram schematically illustrating a system environment in which a P2P system having a swarm structure constituting a peer set may be implemented according to an embodiment of the present invention.

도 2에 도시된 바에 의하면, 피어 집합(peer pool)이 구성되었으며, 피어 집합은 피어1(Peer1), 피어2(Peer2), 피어3(Peer3), 피어4(Peer4), 피어5(Peer5) 를 포함한다. As shown in FIG. 2, a peer pool is configured, and a peer set includes peer1, peer2, peer3, peer4, and peer5. It includes.

본 개시의 일 실시예에 따르면, 동일한 피어 집합에 속하는 피어3(Peer3), 피어4(Peer4), 피어5(Peer5)는 스웜1에는 속하지 않으나 스웜1과 관련된 콘텐츠를 다운받아 동일한 피어 집합에 속하는 피어1에게 전송할 수 있다. 즉, 동일한 피어 집합에 속한 피어3(Peer3), 피어4(Peer4), 피어5(Peer5)는 피어1(Peer1)을 도울 수 있다. 일 실시예에서, 피어3(Peer3), 피어4(Peer4), 피어5(Peer5)는 피어1(Peer1)이 받은 청크가 아닌(disjoint) 청크를 다운로드하여 공유 스토리지에 저장할 수 있다. According to an embodiment of the present disclosure, Peer3, Peer4, and Peer5 belonging to the same peer set do not belong to Swarm 1, but download content related to Swarm 1 and belong to the same peer set. Send to Peer1. That is, peer3, peer4, and peer5 belonging to the same peer set may help peer1. In an embodiment, Peer3, Peer4, and Peer5 may download and store in the shared storage a non-chunk chunk received by Peer1.

일 실시예에서, 피어1(Peer1)이 받은 청크가 아닌 청크를 다운로드하기 위해 다운로드하여야 할 콘텐츠 파일에 대한 청크 다운로드 맵(chunk download map)을 작성할 수 있다. 일 실시예에서, 청크 다운로드 맵은 피어1(Peer1)이 다운로드 받아야 할 콘텐츠 파일의 청크(제1 파일 조각들)와 피어 집합 내의 하나 이상의 피어로부터 다운로드 받아야 할 콘텐츠 파일의 청크(제2 파일 조각들)을 정의할 수 있다. In one embodiment, a chunk download map may be created for a content file to be downloaded in order to download a chunk other than the chunk received by Peer1. In one embodiment, the chunk download map is a chunk (first file fragments) of the content file to be downloaded by Peer1 and a chunk of content file (second file fragments) to be downloaded from one or more peers in the peer set. ) Can be defined.

일 실시예에서, 피어3(Peer3), 피어4(Peer4), 피어5(Peer5)는 전송받은, 피어1(Peer1)이 받은 청크가 아닌(disjoint) 청크를 피어1(Peer1)에게 일방적으로 전송할 수 있다. 설명하면, P2P의 통례적인 규칙인 피어들은 업로드(upload)와 다운로드(download)를 동시에 수행하고, 업로드 한 트래픽에 비례해서 다운로드를 할 수 있다는 규칙을 적용받지 않고 피어1(Peer1)로부터 받은 청크가 없는 경우에도 피어1(Peer1)에게 청크를 전송할 수 있다. In one embodiment, Peer3, Peer4, and Peer5 unilaterally send the disjoint chunks received by Peer1 to Peer1. Can be. In other words, the conventional rule of P2P is that the chunks received from Peer1 are not subject to the rule that peers can simultaneously perform upload and download and download in proportion to the traffic they upload. If not, the chunk may be sent to Peer1.

도 3 내지 도 5는 본 발명의 일 실시예에 따라 도 1의 피어1 및 피어 집합 내의 피어들의 공유 스토리지를 도시하는 도면이다. 3 through 5 illustrate shared storage of peers 1 and peers in a set of peers in accordance with one embodiment of the present invention.

도 3은 피어1(Peer1)이 콘텐츠 1을 모두 다운로드한 후의 동일한 피어 집합 내의 피어들이 스토리지에 저장하고 있는 청크의 모습을 도시한 도면이다. 도 3에 도시된 바에 의하면, 본 개시의 일 실시예에서, 피어1(Peer1)은 콘텐츠 1을 다운로드하고 싶은 노드로서 콘텐츠1의 전체 청크를 모두 수신하여 저장하고 있다. 피어1(Peer1)이 속한 피어 집합에 있는 피어3(Peer3), 피어4(Peer4), 피어5(Peer5)는 피어1(Peer1)을 도와주기 위해 콘텐츠를 공유 스토리지에 다운로드할 수 있고, 따라서 일부 콘텐츠만 가지고 있을 수 있다(전체 청크를 다운로드할 필요가 없다)FIG. 3 is a diagram illustrating chunks stored in storage by peers in the same peer set after Peer 1 downloads all of Content 1. FIG. As shown in FIG. 3, in an embodiment of the present disclosure, peer1 is a node that wants to download content1, and receives and stores all chunks of content1. Peer3, Peer4, and Peer5 in the set of peers to which Peer1 belongs can download the content to shared storage to assist Peer1, so some Can only have content (no need to download the entire chunk)

도 4는 본 발명의 일 실시예에 따라 피어1(Peer1)이 동일한 피어 집합 외부의 피어7(Peer7)로부터 일부 청크를 다운로드하여 콘텐츠 1을 모두 다운로드한 경우, 동일한 피어 집합 내의 피어들이 스토리지에 저장하고 있는 청크의 모습을 도시한 도면이다. 4 illustrates that peers in the same peer set are stored in storage when Peer1 downloads some chunks from Peer7 outside the same peer set and downloads all content 1 according to an embodiment of the present invention. It is a figure which shows the state of the chunk.

본 개시의 일 실시예에서, 피어1(Peer1)은 동일한 피어 집합 외부의 피어7(Peer7)로부터 일부 청크를 다운로드하여 콘텐츠 1을 모두 다운로드할 수 있다. 이 경우, 피어 집합의 피어들의 공유 스토리지에 다운로드된 청크는 도시된 바와 같이 일부 청크가 누락되었을 수 있다. In one embodiment of the present disclosure, Peer1 may download some chunks from Peer7 outside of the same peer set and download all of Content 1. In this case, the chunks downloaded to the peer storage of the peer set's peers may be missing some chunks as shown.

도 5는 본 발명의 일 실시예에 따라 피어1(Peer1)이 동일한 피어 집합 외부의 피어7(Peer7)로부터 일부 청크를 다운로드하여 콘텐츠 1을 모두 다운로드한 경우, 피어1(Peer1)가 외부의 피어7(Peer7)로부터 다운로드한 청크를 동일한 피어 집합 내의 피어들에게 전송하는 것을 도시하는 도면이다. FIG. 5 illustrates that when Peer1 downloads some chunks from Peer7 outside of the same peer set and downloads all content 1 according to an embodiment of the present invention, Peer1 is an external peer. 7 is a diagram illustrating the transmission of a chunk downloaded from Peer7 to peers in the same peer set.

일 실시예에서, 피어1(Peer1)은 콘텐츠1의 다운로드를 완료한 후, 피어 집합피어 집합이 공유 스토리지에 저장되어 있지 않은 청크를 피어 집합으로 전송할 수 있다. 일 실시예에서, 피어1(Peer1)은 청크의 개수를 산술적으로 균등하게 나누어서 배포할 수 있다. 일 실시예에서, 피어3(Peer3), 피어4(Peer4), 피어5(Peer5)는 자신의 공유 스토리지에 받은 청크를 저장할 수 있다. In one embodiment, Peer1 may complete the download of Content1 and then send a chunk to the peer set whose peer aggregate peer set is not stored in shared storage. In one embodiment, Peer1 may distribute the number of chunks arithmetically evenly. In one embodiment, Peer3, Peer4, and Peer5 may store the received chunks in their shared storage.

도 6은 본 발명의 일 실시예에 따라 도 1의 피어1가 사리지는 경우의 피어 집합 내의 피어들의 공유 스토리지를 도시하는 도면이다.FIG. 6 is a diagram illustrating shared storage of peers in a peer set when peer 1 of FIG. 1 disappears according to an embodiment of the present invention.

도 5에서 설명한 바와 같이, 피어1(Peer1)의 콘텐츠1은 피어 집합 내에 피어들에게 분산되어 저장되어 있기 때문에 피어1(Peer1) 사라지더라도 피어 집합 내에는 콘텐츠1이 온전히 존재할 수 있다. 일 실시예에서, 피어3(Peer3)이 콘텐츠1을 요청하는 경우, 피어3 자신의 공유 스토리지에 이미 다운로드된 청크와 피어4(Peer4), 피어5(Peer5)의 공유 스토리지에 있는 청크를 전달 받을 수 있다. 일 실시예에서, 피어 집합 내에서는 P2P의 통례적인 규칙인 피어들은 업로드(upload)와 다운로드(download)를 동시에 수행하고, 업로드 한 트래픽에 비례해서 다운로드를 할 수 있다는 규칙을 적용받지 않기 때문에, 피어3(Peer3)이 콘텐츠1을 빠르게 전송받을 수 있다. As described in FIG. 5, since content 1 of peer 1 is distributed to and stored in peers in peer set, content 1 may exist in the peer set even if peer 1 disappears. In one embodiment, when Peer3 requests Content1, it will receive the chunks that are already downloaded to Peer3's own shared storage, and the chunks in Peer4's and Peer5's shared storage. Can be. In one embodiment, peers, a peer-to-peer rule within a peer set, are not subject to the rule that they can both simultaneously upload and download and download in proportion to the traffic they upload. 3 (Peer3) can quickly receive the content1.

도 7 및 도 8은 본 발명의 일 실시예에 따라 공유 스토리지의 관리 방법을 도시하는 도면이다. 7 and 8 are diagrams illustrating a method of managing shared storage according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따라 각각의 피어에서 콘텐츠 별 청크를 저장하고 저장된 청크와 저장하지 않은 청크를 구별하는 방법을 도시하는 도면이다. 도시된 바와 같이, 일 실시예에서, 각각의 피어들은 논리적으로는 콘텐츠 별 청크를 저장하고 저장된 청크와 저장하지 않은 청크를 구별하며, 실제로는 하나의 저장소에 연속된 저장소를 사용할 수 있다. 일 실시예에서, 각각의 피어들은 스토리지 관리를 위해서 논리적으로는 콘텐츠별로 청크 맵이 존재하는 맵 자료구조를 구성하고 실제로는 하나의 연속된 스토리지에 콘텐츠의 청크를 저장할 수 있다. FIG. 7 is a diagram illustrating a method for storing content-specific chunks and distinguishing stored and unstored chunks from each peer according to an embodiment of the present invention. As shown, in one embodiment, each peer logically stores chunks of content and distinguishes between stored and unstored chunks, and may actually use contiguous storage in one store. In one embodiment, each peer may construct a map data structure in which chunk maps exist logically for each content for storage management and may actually store chunks of content in one contiguous storage.

도 8은 본 발명의 일 실시예에 따라 저장된 청크들을 새로운 청크로 적절히 대체하는 방법(Least Recently Used: LRU)을 도시하는 도면이다. FIG. 8 illustrates a method of properly replacing a stored chunk with a new chunk according to an embodiment of the present invention (Least Recently Used: LRU).

피어들은 피어 집합을 위해 무한한 크기의 공유 스토리지를 제공할 수 없기 때문에 저장된 청크들을 새로운 청크로 적절히 대체하는 방법이 필요하다. Because peers cannot provide infinite amount of shared storage for a set of peers, there is a need for a way to properly replace stored chunks with new chunks.

일 실시예에서, 피어가 피어 집합 내의 다른 노드를 위해 새로운 콘텐츠를 다운로드 하는데, 공유 스토리지가 부족한 경우, 가장 오래 전에 다운로드/사용된 콘텐츠의 청크부터 순차적으로 대체할 수 있다. 예컨대, 가장 오래된 항목부터 버리는 방식을 사용할 수 있다. In one embodiment, if a peer downloads new content for another node in the peer set and lacks shared storage, it may sequentially replace the chunks of the longest downloaded / used content. For example, you can discard the oldest items first.

도시된 바와 같이, 콘텐츠1이 가장 오래되었으므로, 콘텐츠4를 다운로드하는 경우, 콘텐츠1의 청크부터 삭제할 수 있다. 일 실시예에서, 청크를 하나씩 삭제하므로, 콘텐츠4의 청크를 2개만 받은 경우, 콘텐츠1의 청크는 공유 스토리지 내에 여전히 2개가 남아있을 수 있다. As shown, since the content 1 is the oldest, when the content 4 is downloaded, it can be deleted from the chunk of the content 1. In one embodiment, since one chunk is deleted, if only two chunks of content4 are received, two chunks of content1 may still remain in the shared storage.

본원에 개시된 실시예들에 있어서, 도시된 구성 요소들의 배치는 발명이 구현되는 환경 또는 요구 사항에 따라 달라질 수 있다. 예컨대, 일부 구성 요소가 생략되거나 몇몇 구성 요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성 요소들의 배치 순서 및 연결이 변경될 수 있다.In the embodiments disclosed herein, the arrangement of the components shown may vary depending on the environment or requirements on which the invention is implemented. For example, some components may be omitted or several components may be integrated and implemented as one. In addition, the arrangement order and connection of some components may be changed.

본 발명 및 그 다양한 기능적 구성 요소들은 특정 실시예들로 설명되었으나, 본 발명은 하드웨어, 소프트웨어, 펌웨어, 미들웨어 또는 이들의 조합으로 구현될 수 있으며, 시스템, 서브시스템, 구성 요소들 또는 이들의 서브 구성 요소들로 활용될 수 있음을 이해하여야 한다. 소프트웨어로 구현되는 경우, 본 발명의 요소들은 필요한 작업들을 수행하기 위한 명령어들/코드 세그먼트들이 될 수 있다. 프로그램 또는 코드 세그먼트들은 프로세서 판독가능 매체와 같은 머신 판독가능 매체, 컴퓨터 프로그램 제품 내에 저장될 수 있다. 머신 판독가능 매체 또는 프로세서 판독가능 매체는 머신(예컨대, 프로세서, 컴퓨터 등)에 의해 판독되고 실행 가능한 형태로 정보를 저장 또는 전송할 수 있는 임의의 매체를 포함할 수 있다.While the invention and its various functional components have been described in particular embodiments, the invention may be implemented in hardware, software, firmware, middleware, or a combination thereof, and the system, subsystem, components, or sub-configurations thereof. It should be understood that the elements can be utilized. If implemented in software, the elements of the present invention may be instructions / code segments for performing the necessary tasks. The program or code segments may be stored in a machine readable medium, a computer program product, such as a processor readable medium. Machine readable media or processor readable media may include any medium that can store or transmit information in a form readable and executable by a machine (eg, processor, computer, etc.).

이상에서는 본 발명의 다양한 실시예들에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예들에 한정되지 아니하며, 상술한 실시예들은 첨부하는 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형 실시될 수 있음은 물론이고, 이러한 변형 실시예들이 본 발명의 기술적 사상이나 범위와 별개로 이해되어져서는 아니 될 것이다. 따라서, 본 발명의 기술적 범위는 오직 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.Although various embodiments of the present invention have been illustrated and described above, the present invention is not limited to the above-described specific embodiments, and the above-described embodiments deviate from the gist of the present invention as claimed in the appended claims. Without departing from the scope of the present invention pertains to those skilled in the art, various modifications may be made to those skilled in the art, and such modified embodiments should not be understood separately from the technical spirit or scope of the present invention. Accordingly, the technical scope of the present invention should be defined only by the appended claims.

Claims (6)

P2P(Peer-to-Peer) 네트워크에서 컨텐츠를 다운로드하기 위해 단말기에서 수행되는 피어 집합(Peer Pool)을 활용한 P2P 네트워크의 성능을 향상시키는 방법으로서,
피어 집합 설정을 수행하는 단계 - 상기 피어 집합과 스웜(swarm)은 동일하지 않음 -;
다운로드하여야 할 콘텐츠 파일에 대한 청크 다운로드 맵(download map)을 작성하는 단계 - 상기 청크 다운로드 맵은 상기 단말기가 다운로드 받아야 할 상기 콘텐츠 파일의 제1 파일 조각들과 상기 피어 집합 내의 하나 이상의 피어로부터 다운로드 받아야 할 상기 파일의 제2 파일 조각들을 정의함 -, 및
상기 청크 다운로드 맵을 상기 피어 집합으로 전송하는 단계를 포함하며,
상기 방법은
상기 제1 파일 조각들을 다운로드받는 단계, 및
상기 하나 이상의 피어 집합의 피어로부터 상기 제2 파일 조각들을 수신하는 단계
를 포함하는 피어 집합을 활용한 P2P 네트워크의 성능 향상 방법.
As a method of improving performance of a P2P network using a peer pool performed by a terminal for downloading content from a peer-to-peer network,
Performing peer set establishment, wherein the peer set and swarm are not identical;
Creating a chunk download map for the content file to be downloaded, wherein the chunk download map is to be downloaded from the first file fragments of the content file to be downloaded by the terminal and at least one peer in the peer set; Define second file fragments of the file to perform, and
Sending the chunk download map to the peer set,
The method is
Downloading the first file fragments, and
Receiving the second file fragments from a peer of the one or more peer aggregates
How to improve performance of a P2P network utilizing a peer set that includes.
제1항에 있어서,
상기 제1 파일 조각들과 상기 제2 파일 조각들은 서로 겹치지 않으며, 상기 피어 집합 내의 하나 이상의 피어들 각각은 동일한 제2 파일 조각들을 다운로드할 수 있는 피어 집합을 활용한 P2P 네트워크의 성능 향상 방법.
The method of claim 1,
And the first file fragments and the second file fragments do not overlap each other, and each of the one or more peers in the peer set utilizes a peer set capable of downloading the same second file fragments.
제2항에 있어서,
상기 하나 이상의 피어 집합의 피어로부터 상기 제2 파일 조각들을 수신하는 단계는 상기 단말기가 상기 제2 파일 조각들을 수신하는 것에 대한 보상을 하지 않고 일방적으로 상기 제2 파일 조각들을 수신하는 피어 집합을 활용한 P2P 네트워크의 성능 향상 방법.
The method of claim 2,
Receiving the second file fragments from a peer of the one or more peer aggregates utilizes a peer set that unilaterally receives the second file fragments without compensating for the terminal to receive the second file fragments. How to improve performance of a P2P network.
제3항에 있어서,
상기 방법은 상기 하나 이상의 피어 집합의 피어가 아닌 피어로부터 상기 제2 파일 조각들을 수신하는 단계를 더 포함하는 피어 집합을 활용한 P2P 네트워크의 성능 향상 방법.
The method of claim 3,
And the method further comprises receiving the second file fragments from a peer that is not a peer of the one or more peer sets.
제1항에 있어서,
상기 방법은 상기 단말기가 상기 콘텐츠 파일을 모두 수신한 후, 상기 제1 파일 조각들을 상기 제2 파일 조각들을 송신한 상기 하나 이상의 피어 집합의 피어에게 나누어 전송하는 단계를 더 포함하는 피어 집합을 활용한 P2P 네트워크의 성능 향상 방법.
The method of claim 1,
And after the terminal has received all of the content file, splitting and transmitting the first file fragments to the peers of the one or more peer sets that have sent the second file fragments. How to improve performance of a P2P network.
제1항에 있어서,
상기 방법은 상기 피어 집합에서 공유하는 청크를 저장하기 위한 공유 스토리지를 관리하는 단계를 더 포함하는 피어 집합을 활용한 P2P 네트워크의 성능 향상 방법.
The method of claim 1,
The method further comprises managing shared storage for storing chunks shared by the peer set.
KR1020190061523A 2018-05-24 2019-05-24 Method for improving performance in peer-to-peer network using peer pool KR102212111B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180059247 2018-05-24
KR1020180059247 2018-05-24

Publications (2)

Publication Number Publication Date
KR20190134539A true KR20190134539A (en) 2019-12-04
KR102212111B1 KR102212111B1 (en) 2021-02-05

Family

ID=69004899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190061523A KR102212111B1 (en) 2018-05-24 2019-05-24 Method for improving performance in peer-to-peer network using peer pool

Country Status (1)

Country Link
KR (1) KR102212111B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120038346A (en) * 2010-10-13 2012-04-23 한국전자통신연구원 System and method for transmitting high server data using hybrid peer to peer protocol
KR20130026578A (en) * 2011-08-02 2013-03-14 광주과학기술원 Virtualized node, user node employing virtualized node, and contents sharing method using virtualized node

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120038346A (en) * 2010-10-13 2012-04-23 한국전자통신연구원 System and method for transmitting high server data using hybrid peer to peer protocol
KR20130026578A (en) * 2011-08-02 2013-03-14 광주과학기술원 Virtualized node, user node employing virtualized node, and contents sharing method using virtualized node

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chao Liang et al., ‘Optimal Bandwidth Sharing in Multiswarm Multiparty P2P Video-Conferencing Systems’, IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, No.6(2011.12)* *

Also Published As

Publication number Publication date
KR102212111B1 (en) 2021-02-05

Similar Documents

Publication Publication Date Title
KR101424362B1 (en) Chunked downloads over a content delivery network
US11102290B2 (en) Peer-to-peer network prioritizing propagation of objects through the network
US9106668B2 (en) Distributed peer location in peer-to-peer file transfers
EP3439239B1 (en) Data transmission method and system based on peer-to-peer network
US11553014B2 (en) Downloading of server-based content through peer-to-peer networks
US9992274B2 (en) Parallel I/O write processing for use in clustered file systems having cache storage
US11665232B2 (en) Newnode: decentralized content distribution network
US8898266B2 (en) Apparatus and method for setting role based on capability of terminal
CN101309282B (en) Method, server and system for document transmission in local area network
KR101600717B1 (en) Method and apparatus for download virtual machine operating system image
US20170063981A1 (en) Peer-to-peer (p2p) network management system and method of operating the p2p network management system
KR102212111B1 (en) Method for improving performance in peer-to-peer network using peer pool
KR101436406B1 (en) Client, server, system and method for updating data based on peer to peer
KR101041092B1 (en) Effective p2p system by using web folder
US20080288447A1 (en) Methods and apparatus for improving peer efficiency
CN103037017A (en) Passive P2P data distribution method and node client-side
Zhang et al. Towards a dynamic file bundling system for large-scale content distribution
CN111404936B (en) File forwarding system and method
US20220312060A1 (en) System and method of facilitating peer to peer distribution network using set top boxes
Somani et al. BitTorrent for large package distribution in the enterprise environment
Kobusińska et al. Distributed content dissemination with a rank function
Schäffner Data Management in Distributed Systems
Kaur et al. Decentralized Internet: An Extension of BitTorrent Network
Bustos et al. Multicast-P2P content distribution in large-scale enterprise networks
Jian et al. Research and Implementation of a Scalable P2P-C/S hybrid architecture and system

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