KR20130022512A - Data exchange method in p2p network - Google Patents

Data exchange method in p2p network Download PDF

Info

Publication number
KR20130022512A
KR20130022512A KR1020110084854A KR20110084854A KR20130022512A KR 20130022512 A KR20130022512 A KR 20130022512A KR 1020110084854 A KR1020110084854 A KR 1020110084854A KR 20110084854 A KR20110084854 A KR 20110084854A KR 20130022512 A KR20130022512 A KR 20130022512A
Authority
KR
South Korea
Prior art keywords
peer
network
database
peers
active
Prior art date
Application number
KR1020110084854A
Other languages
Korean (ko)
Other versions
KR101820462B1 (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 KR1020110084854A priority Critical patent/KR101820462B1/en
Publication of KR20130022512A publication Critical patent/KR20130022512A/en
Application granted granted Critical
Publication of KR101820462B1 publication Critical patent/KR101820462B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A method capable of improving the efficiency of a P2P(Peer to Peer) network is provided to improve the efficiency of the P2P network by delivering only a list of peers capable of an actual service when a tracker server is delivering the information of peers participated in the P2P network to the peer. CONSTITUTION: A data exchanging method in a P2P network comprises followings: a step of a peer(101d) that will participate in a P2P network requesting a list of peers participating in the corresponding P2P network to a tracker server(102); a step of the tracker server(102) recording the information about the peer requested to the oneself in an unidentified peer(101c) database; a step of the tracker server(102) extracting and delivering a list of peer from an active peer database(103a) to the peer requested to the oneself; a step of a P2P crawler(104a~d) drawing out the peers recorded in the unidentified peer(101c) database, determine whether it is an active peer capable to deliver the data or a passive peer difficult to deliver the data, record the information about the active peer in an active peer database(103a) and record the information about the passive peer in a passive peer database(103b); a step of the peer which received the peer list from the tracker server(102) requesting and receiving the data by approaching to each peer included in the peer list. [Reference numerals] (101c) Peer(unidentified peer); (101d) Peer(new peer); (102) Tracker server; (103a) Active peer DB; (103b) Passive peer database; (103c) Unidentified peer DB; (104a,104b,104c) P2P crawler; (10a) Peer(active peer); (10b) Peer(passive peer); (AA) P2P participation & peer list request; (BB) Active peer list return; (CC) Access to the peer included in the list & data request; (DD) Data delivery; (EE) Recording in the active peer DB; (FF) Recording in the unidentified peer DB; (GG) Probe; (HH) In the case of success

Description

P2P 네트워크에서 데이터 교환 방법{DATA EXCHANGE METHOD IN P2P NETWORK}DATA EXCHANGE METHOD IN P2P NETWORK}

본 발명은 P2P(Peer to Peer) 네트워크를 구성함에 있어서, 타 피어(Peer)에 데이터를 전달할 수 있는 액티브 피어(Active Peer)와 데이터 전달이 어려운 패시브 피어(Passive Peer)를 구분함으로써 P2P 네트워크의 효율성을 향상시키는 방법에 관한 것이다.
In constructing a peer-to-peer network, the present invention distinguishes between an active peer capable of delivering data to another peer and a passive peer that is difficult to transfer data, thereby improving the efficiency of the peer-to-peer network. It is about how to improve.

P2P 네트워크는 피어들 간에 데이터를 상호 교환하는 방식으로 서비스를 제공한다. 특정 P2P 네트워크에 참여하고자 하는 피어는 P2P 네트워크를 관리하는 관리 서버에게 접속하여 해당 P2P 네트워크에 참여한 피어들의 주소 목록을 수령하게 된다. 또한, 자신이 수신한 데이터를 다른 피어가 요청할 경우에는 해당 피어에 전달해준다. 그러나, 피어가 방화벽이나 공유기에 위치한 경우에는 다른 피어의 접근이 불가능하며, 관리 서버는 이에 대한 파악을 수행하지 않으므로, 피어는 직접 모든 피어들에 일일이 연결을 시도한 후에 커넥션 타임(connection time)이 될 때까지 기다려야 되며, 이로 인해 서비스의 시작 지연이 발생하게 되고 피어에게 불필요한 동작을 발생시키게 되는 문제점이 있다.
P2P networks provide services by exchanging data between peers. A peer that wants to participate in a specific P2P network accesses a management server managing a P2P network and receives a list of peers participating in the corresponding P2P network. In addition, when another peer requests data received by itself, it delivers it to the corresponding peer. However, if the peer is located in a firewall or router, other peers are not accessible, and the management server does not keep track of it, so that the peer will be connected to all peers manually, which will result in connection time. It is necessary to wait until this, which causes a delay in starting a service and causes unnecessary operation to the peer.

본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 P2P 네트워크에서 다른 피어에게 데이터를 전달할 수 있는 액티브 피어와 데이터 전달이 어려운 패시브 피어를 구분함으로써 P2P 네트워크의 효율성 및 성능을 향상시키는 것이다.
SUMMARY OF THE INVENTION The present invention has been made to solve the conventional problems as described above, and an object of the present invention is to distinguish between an active peer capable of delivering data to another peer in a P2P network and a passive peer that is difficult to deliver data, thereby improving the efficiency and performance of the P2P network. To improve.

상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서 데이터 교환 방법은, P2P(Peer to Peer) 네트워크에 참여하려는 피어(Peer)는 해당 P2P 네트워크에 참여하고 있는 피어들의 목록을 트래커 서버에 요청하는 단계; 상기 트래커 서버는 자신에게 요청한 피어에 대한 정보를 미확인 피어 데이터베이스에 기록하는 단계; 상기 트래커 서버는 액티브(Active) 피어 데이터베이스에서 피어의 목록을 추출하여 자신에게 요청한 피어에게 전달하는 단계; P2P 크롤러는 상기 미확인 피어 데이터베이스에 기록된 피어들을 인출하여 데이터를 전달할 수 있는 액티브 피어인지 데이터 전달이 어려운 패시브(Passive) 피어인지 판단하여, 액티브 피어에 대한 정보는 액티브 피어 데이터베이스에 기록하고 패시브 피어에 대한 정보는 패시브 피어 데이터베이스에 기록하는 단계; 및 트래커 서버로부터 피어 목록을 수신한 피어는 피어 목록에 포함된 각 피어에 접근하여 데이터를 요청하고 수신하는 단계; 를 포함한다.
In the P2P network data exchange method according to a preferred embodiment of the present invention for achieving the above object, a peer to participate in a peer to peer (P2P) network is a list of peers participating in the P2P network. Requesting the tracker server; The tracker server recording information on a peer that has requested the peer in an unidentified peer database; The tracker server extracts a list of peers from an active peer database and delivers them to the requesting peer; The peer-to-peer crawler determines whether the peer is the active peer capable of withdrawing data from the peers recorded in the unidentified peer database or the passive peer that is difficult to transfer data, and records information about the active peer in the active peer database and sends the data to the passive peer. Recording information about the passive peer database; And a peer receiving the peer list from the tracker server accesses each peer included in the peer list to request and receive data; .

상기와 같은 본 발명은, 트래커 서버가 피어에게 P2P 네트워크에 참여한 피어들의 정보를 전달할 때 실제 서비스가 가능한 피어들에 대한 목록만을 전달하므로 P2P 네트워크의 효율성을 높일 수 있는 효과가 있다.
As described above, when the tracker server transmits information of peers participating in a P2P network to peers, the tracker server only delivers a list of peers capable of real service, thereby increasing the efficiency of the P2P network.

도 1은 본 발명의 바람직한 실시예에 따른 P2P 네트워크의 구성과, 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서 피어가 네트워크에 참여하고 데이터를 교환하기까지의 전반적인 동작을 함께 도시한 도면.
도 2는 도 1과 같은 P2P 네트워크에 있어서 P2P 네트워크 관리 데이터베이스, 액티브 피어 데이터 베이스, 패시브 피어 데이터 베이스, 및 미확인 피어 데이터베이스의 구성을 도시한 도면.
도 3 내지 도 5는 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서의 데이터 교환 방법을 설명하기 위한 순서도.
1 is a view showing the configuration of a P2P network according to a preferred embodiment of the present invention, and the overall operation until peers join the network and exchange data in the P2P network according to the preferred embodiment of the present invention.
FIG. 2 is a diagram illustrating the configuration of a P2P network management database, an active peer database, a passive peer database, and an unidentified peer database in the P2P network as shown in FIG.
3 to 5 are flowcharts illustrating a data exchange method in a P2P network according to a preferred embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서의 데이터 교환 방법에 대하여 설명한다.Hereinafter, a method of exchanging data in a P2P network according to a preferred embodiment of the present invention will be described with reference to the accompanying drawings.

본 발명의 바람직한 실시예에 따른 P2P 네트워크에서 데이터 교환 방법은, P2P(Peer to Peer) 네트워크에 참여하려는 피어(Peer)는 해당 P2P 네트워크에 참여하고 있는 피어들의 목록을 트래커 서버에 요청하는 단계; 상기 트래커 서버는 자신에게 요청한 피어에 대한 정보를 미확인 피어 데이터베이스에 기록하는 단계; 상기 트래커 서버는 액티브(Active) 피어 데이터베이스에서 피어의 목록을 추출하여 자신에게 요청한 피어에게 전달하는 단계; P2P 크롤러는 상기 미확인 피어 데이터베이스에 기록된 피어들을 인출하여 데이터를 전달할 수 있는 액티브 피어인지 데이터 전달이 어려운 패시브(Passive) 피어인지 판단하여, 액티브 피어에 대한 정보는 액티브 피어 데이터베이스에 기록하고 패시브 피어에 대한 정보는 패시브 피어 데이터베이스에 기록하는 단계; 및 트래커 서버로부터 피어 목록을 수신한 피어는 피어 목록에 포함된 각 피어에 접근하여 데이터를 요청하고 수신하는 단계; 를 포함한다.A data exchange method in a P2P network according to a preferred embodiment of the present invention may include: requesting a tracker server for a list of peers participating in a peer-to-peer network from a peer to peer-to-peer network; The tracker server recording information on a peer that has requested the peer in an unidentified peer database; The tracker server extracts a list of peers from an active peer database and delivers them to the requesting peer; The peer-to-peer crawler determines whether the peer is the active peer capable of withdrawing data from the peers recorded in the unidentified peer database or the passive peer that is difficult to transfer data, and writes information about the active peer to the active peer database and Recording information about the passive peer database; And a peer receiving the peer list from the tracker server accesses each peer included in the peer list to request and receive data; It includes.

이와 같은 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서 데이터 교환 방법에 대하여 도면을 참조하여 구체적으로 설명하면 다음과 같다.The data exchange method in the P2P network according to the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1에는 본 발명의 바람직한 실시예에 따른 P2P 네트워크의 구성과, 상기 구성을 가지는 P2P 네트워크에서 피어가 네트워크에 참여하고 데이터를 교환하기까지의 전반적인 동작을 함께 도시하였다.Figure 1 shows the configuration of a P2P network according to a preferred embodiment of the present invention, and the overall operation until the peer to join the network and exchange data in the P2P network having the configuration.

본 발명에 따른 P2P 네트워크는 실제 물리적 네트워크가 아닌 가상의 네트워크로써, 참여하고 있는 피어들(101a~101d)간의 집합으로 구성된다.The P2P network according to the present invention is a virtual network, not an actual physical network, and is composed of a set of participating peers 101a to 101d.

본 발명에 따른 P2P 네트워크는 트래커 서버(Tracker Server, 102), P2P 크롤러(Crawler, 104a~104c) 및 피어(Peer, 101a~101d)를 포함한다.The P2P network according to the present invention includes a tracker server 102, a P2P crawler 104a to 104c, and a peer 101a to 101d.

상기 트래커 서버(102)는 P2P 네트워크를 관장하고, 각 P2P 네트워크에 참여하고 있는 피어(101)들의 목록을 관리하며, P2P 크롤러(104)들을 관리하고 이들에게 피어(101)의 액티브/패시브(Active/Passive) 여부를 판별하도록 제어한다.The tracker server 102 manages the P2P network, manages the list of peers 101 participating in each P2P network, manages the P2P crawlers 104 and gives them the active / passive of the peers 101. / Passive).

상기 P2P 크롤러(104)는 P2P 네트워크에 참여하여 가상의 피어로 동작하며, 데이터를 교환하지는 않는다는 점이 피어와는 차이점이다. P2P 크롤러(104)는 여러 P2P 오버레이 네트워크에 참여해서 P2P 네트워크의 상태를 점검하고 트래커 서버(102)에게 보고한다.The P2P crawler 104 participates in a P2P network and operates as a virtual peer, and does not exchange data with the peer. The P2P crawler 104 participates in several P2P overlay networks to check the status of the P2P network and report to the tracker server 102.

상기 피어(101)는 일반적인 P2P 클라이언트(Client)로써, 다른 피어들에게 데이터를 전달할 수 있는 액티브 피어와 데이터를 다른 피어로부터 수신하기만 하는 패시브 피어로 나뉜다.The peer 101 is a general P2P client, and is divided into an active peer capable of delivering data to other peers and a passive peer only receiving data from another peer.

상기 트래커 서버(102)는 내부적으로 하나의 P2P 네트워크에 대해 '액티브 피어', '패시브 피어', '미확인 피어'를 별도로 구분하여 관리한다. 본 발명에 대하여 설명함에 있어서 하나의 트래커 서버(102)는 하나의 P2P 네트워크를 관리하는 것을 예로 하였으나 본 발명이 이에 한정되는 것은 아니며, 하나의 트래커 서버(102)는 복수의 P2P를 관리할 수도 있다.The tracker server 102 internally separates and manages an 'active peer', a 'passive peer', and an 'unidentified peer' for one P2P network. In the description of the present invention, one tracker server 102 manages one P2P network as an example. However, the present invention is not limited thereto, and one tracker server 102 may manage a plurality of P2Ps. .

도 1의 하단에 도시한 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서 피어(101)가 네트워크에 참여하고 데이터를 교환하기까지의 전반적인 동작에 대하여 설명하면 다음과 같다.In the P2P network according to the preferred embodiment of the present invention shown in the lower part of Figure 1 will be described the overall operation until the peer 101 participates in the network and exchange data.

먼저, 새로운 피어(101d)는 P2P 네트워크에 참여할 때 트래커 서버(102)에 접근하여 자신의 참여 의사를 밝히고 해당 P2P 네트워크에 참여하고 있는 피어들의 목록을 요청한다. 이 목록에는 피어들에게 접근할 수 있는 주소(IP, Port)를 포함하고 있다.First, when a new peer 101d joins a P2P network, it accesses the tracker server 102 to indicate its intention to join and request a list of peers participating in the P2P network. This list contains the addresses (IP, Port) accessible to peers.

다음으로, 상기 트래커 서버(102)는 자신에게 접속한 피어(101d)의 ID, IP 주소 및 접속 포트 정보를 파악하여 미확인 피어 데이터베이스(103c)에 기록한다.Next, the tracker server 102 grasps the ID, IP address, and connection port information of the peer 101d connected to it and records it in the unidentified peer database 103c.

다음으로, 상기 트래커 서버(102)는 새로 참여한 피어(101d)에게 피어의 목록을 액티브 피어 데이터베이스(103a)에서 추출하여 전달한다.Next, the tracker server 102 extracts the list of peers from the active peer database 103a and transmits them to the newly joined peer 101d.

다음으로, P2P 크롤러(104)는 미확인 피어 데이터베이스(103c)에 위치한 피어들을 인출하여 액티브/패시브(Active/Passive) 여부를 판단하여, 액티브로 판단될 경우에 해당 피어의 ID, IP 주소 및 접속 포트 정보를 액티브 피어 데이터베이스(103a)로 이동시키고, 패시브로 판단될 경우에 해당 피어의 ID, IP 주소 및 접속 포트 정보를 패시브 피어 데이터베이스(103b)로 이동시킨다.Next, the P2P crawler 104 withdraws peers located in the unidentified peer database 103c to determine whether it is active / passive, and if it is determined to be active, ID, IP address, and access port of the peer. The information is moved to the active peer database 103a, and when determined to be passive, the ID, IP address, and connection port information of the peer are moved to the passive peer database 103b.

다음으로, 피어 목록을 수신한 새로 참여한 피어(101d)는 피어 목록에 포함된 각 피어에 접근하여 데이터를 요청하고 수신한다.Next, the newly joined peer 101d receiving the peer list accesses each peer included in the peer list to request and receive data.

특정 피어가 타 피어에게 데이터를 전달하지 못하거나 공유 비(Share Ratio)를 유지하지 못하는 경우는, 방화벽/공유기 환경에 있거나 해당 피어의 설정을 통해 업로드(Upload) 대역폭을 줄여 놓는 경우이다. 그러므로, 물리적으로 액티브 피어로서 동작하기 어려운 경우는 물론 사용자에 의해 패시브로 동작하도록 한 경우도 검출 가능해야 한다.When a specific peer fails to deliver data to another peer or maintains a share ratio, it is a case where it is in a firewall / router environment or reduces upload bandwidth by setting the peer. Therefore, it should be possible to detect not only a case where it is difficult to physically operate as an active peer, but also a case where a passive operation is performed by a user.

다만, 액티브 피어에게 부하가 몰릴 가능성이 있기 때문에 사용자별로 인센티브 메커니즘(insentive mechanism)과 병행하여 사용하면 더 효율적일 수 있다.However, since there is a possibility of load on the active peer, it may be more efficient to use it in parallel with an incentive mechanism for each user.

P2P 크롤러(104)의 개수는 P2P 네트워크의 규모(즉, 해당 P2P 네트워크에 참여한 피어의 수)에 따라 탄력적으로 조정 가능하다. 또한, 일반적인 P2P 클라이언트가 트래커 서버에 의해 P2P 크롤러로 지정되어 동작할 수도 있다.The number of P2P crawlers 104 can be flexibly adjusted according to the size of the P2P network (ie, the number of peers participating in the P2P network). In addition, a general P2P client may be designated as a P2P crawler and operated by a tracker server.

도 2에는 본 발명에 따른 P2P 네트워크에 있어서 P2P 네트워크 관리 데이터베이스(105), 액티브 피어 데이터베이스(103a), 패시브 피어 데이터베이스(103b) 및 미확인 피어 데이터베이스(103c)의 구성을 상세히 도시하였다.FIG. 2 illustrates the configuration of the P2P network management database 105, the active peer database 103a, the passive peer database 103b, and the unidentified peer database 103c in the P2P network according to the present invention.

트래커 서버(102)는 P2P 오버레이 네트워크에 참여한 피어(101)들을 도 2와 같이 구분하여 관리한다.The tracker server 102 divides and manages the peers 101 participating in the P2P overlay network as shown in FIG. 2.

P2P 네트워크 데이터베이스(105)는 P2P 네트워크를 관리하며, 각 네트워크는 ID로 구분된다. 이러한 P2P 네트워크 데이터베이스(105)는 각 네트워크의 특성을 표현하는 정보를 포함한다.The P2P network database 105 manages P2P networks, and each network is identified by an ID. This P2P network database 105 includes information representing the characteristics of each network.

액티브 피어 데이터베이스(103a)는 P2P 크롤러(104)가 프로빙(probing)을 통해 외부에서 접근 가능한 피어라고 판단한 피어들의 집합이다.The active peer database 103a is a set of peers determined by the P2P crawler 104 to be externally accessible through probing.

패시브 피어 데이터베이스(103b)는 방화벽이나 공유기 뒤에 위치하여 외부로부터의 접근이 불가능한 단말 또는 모바일 단말같이 단말의 성능이나 배터리 문제 등으로 인해 다른 피어에게 데이터 전달이 어려운 피어들의 집합이다.The passive peer database 103b is a set of peers that are located behind a firewall or router and are unable to transmit data to other peers due to performance or battery problems of the terminal, such as a terminal or a mobile terminal that cannot be accessed from the outside.

미확인 피어 데이터베이스(103c)는 트래커 서버(102)가 관장하는 P2P 네트워크에 갓 참여한 피어들을 관리한다. 이와 같은 미확인 피어 데이터베이스(103c)에 포함된 피어들은 향후 P2P 크롤러(104)가 프로빙(probing)을 통해 액티브 피어 데이터베이스(103a)나 패시브 피어 데이터베이스(103b)에 포함되게 된다.The unidentified peer database 103c manages peers that are just participating in the P2P network managed by the tracker server 102. Peers included in the unidentified peer database 103c will be included in the active peer database 103a or the passive peer database 103b through probing in the future.

도 2에 도시된 데이터베이스의 필드에 대하여 설명하면 다음과 같다.The fields of the database shown in FIG. 2 are described as follows.

'P2P network ID'는 피어들의 집합으로 이루어진 가상의 오버레이 네트워크인 P2P 네트워크를 구분하기 위한 것으로서, 트래커 서버는 이러한 'P2P network ID'를 할당하고 관리한다.'P2P network ID' is to distinguish a P2P network, which is a virtual overlay network composed of a set of peers, and the tracker server allocates and manages the 'P2P network ID'.

Peer는 P2P 네트워크에 참여한 단말을 의미하여 사용자와는 구분된다. 즉, 하나의 사용자는 복수개의 피어를 가질 수 있으므로, 'Peer ID'는 사용자의 ID와 피어의 고유한 물리적 환경(Local IP, Device NIC ID 등) 정보를 조합하여 생성하도록 한다. 또한, 'Peer ID'로부터 사용자를 구분해낼 수 있어야 한다.Peer means a terminal participating in the P2P network and is distinguished from the user. That is, since one user may have a plurality of peers, a 'Peer ID' is generated by combining a user's ID and information of a peer's unique physical environment (Local IP, Device NIC ID, etc.). It should also be able to distinguish users from their Peer ID.

'Upload/Download'는 해당 피어가 업로드/다운로드한 양으로써, 가중치(weight) 값을 계산할 때 사용된다.'Upload / Download' is the amount uploaded / downloaded by the peer and is used to calculate the weight value.

'Weight'는 해당 피어의 활동량에 따라 계산되며, 'Check Time'은 P2P 크롤러가 해당 피어에 대한 점검을 수행한 최근 시간이다.'Weight' is calculated according to the activity of the peer, and 'Check Time' is the latest time when the peer-to-peer crawler checks the peer.

도 3 내지 도 5에는 본 발명의 바람직한 실시예에 따른 P2P 네트워크에서의 데이터 교환 방법을 설명하기 위한 순서도를 도시하였다.3 to 5 are flowcharts illustrating a data exchange method in a P2P network according to a preferred embodiment of the present invention.

도 3에는 P2P 네트워크에 새로운 피어가 참여할 시에 피어의 초기 분류와 관련한 동작을 도시하였다.3 illustrates an operation related to initial classification of a peer when a new peer joins a P2P network.

본 발명의 바람직한 실시예에 따른 P2P 네트워크에서의 데이터 교환 방법에 있어서, 새로운 피어들이 P2P 네트워크에 참여하게 되면, 이들에 대한 액티브/패시브 여부를 판단해야 한다. 일단, P2P 네트워크에 참여한 피어에 대한 주소정보는 미확인 피어 데이터베이스에 위치하게 되며, P2P 크롤러는 미확인 피어 데이터베이스 내에 있는 피어들을 인출하여 직접 확인한 이후 액티브/패시브 피어 데이터베이스로 이동시키게 된다.In the data exchange method in the P2P network according to the preferred embodiment of the present invention, when new peers join the P2P network, it is necessary to determine whether they are active / passive. First, the address information of peers participating in the P2P network is located in the unidentified peer database, and the P2P crawler retrieves peers in the unidentified peer database and checks them directly before moving them to the active / passive peer database.

즉, 도 3을 참조하여 설명하면 다음과 같다.That is, with reference to Figure 3 as follows.

먼저, P2P 크롤러는 미확인 피어 데이터베이스로부터 피어의 주소 정보를 인출(fetch)한다(S101). 이때, 해당 미확인 피어 데이터베이스 내에 데이터가 없을 경우에는 일정 시간 대기 후에 동일 과정을 반복한다.(S102, S112, S101, S102)First, the P2P crawler fetches the peer's address information from the unidentified peer database (S101). At this time, if there is no data in the unidentified peer database, the same process is repeated after waiting for a predetermined time (S102, S112, S101, S102).

다음으로, P2P 크롤러는 인출된 피어의 주소로 접속을 시도하여(S103), 접속에 실패한 경우에는 해당 피어를 방화벽에 위치하거나 현재 온라인(online)이 아닌 상태로 판단하여 패시브 피어 데이터베이스로 이동시키고(S104, S115), 접속이 성공적으로 이루어진 경우에는 해당 피어를 액티브 피어 데이터베이스로 이동시킨다.(S104, S105)Next, the P2P crawler attempts to connect to the address of the retrieved peer (S103), and if the connection fails, the peer is located in the firewall or determined to be not currently online and moved to the passive peer database ( If the connection is successfully made, the corresponding peer is moved to the active peer database (S104, S105).

상술한 단계들을 통해 P2P 크롤러에 의해 분류된 피어들에 대해서 주기적인 점검을 통해 재분류를 수행하게 되는데, 이와 같은 재분류에 대해서 도 4에 도시하였으며, 도 4를 참조하여 설명하면 다음과 같다.Through the above-described steps, reclassification is performed through periodic checks on peers classified by the P2P crawler. Such reclassification is illustrated in FIG. 4 and described with reference to FIG. 4 as follows.

먼저, P2P 크롤러는 액티브 피어 데이터베이스 내에 있는 피어들 중에 가중치 요소(Weight Factor) 값이 일정 값(A) 이하인 피어에 대한 주소 정보를 인출(fetch)한다.(S201)First, the P2P crawler fetches address information for peers having a weight factor value of less than or equal to A among peers in the active peer database (S201).

다음으로, P2P 크롤러는 인출에 성공한 경우에는 인출한 주소에 대해 연결을 시도(S202, S203)하고, 인출에 실패한 경우에는 일정시간(T) 대기한 후에 동일 과정을 반복한다.(S202, S213, S201, S202)Next, if the withdrawal is successful, the P2P crawler tries to connect to the withdrawn address (S202, S203), and if the withdrawal fails, waits for a predetermined time (T) and repeats the same process. (S202, S213, S201, S202)

다음으로, 연결에 실패한 경우에는 패시브 데이터베이스로 해당 피어를 이동시키고(S204, S215), 연결에 성공한 경우에는 연결된 피어에게 그동안 P2P를 통해 다른 피어와 상호 작용(interaction)했던 정보가 기록된 로그 정보를 요청하여(S205) 수신한 로그 정보를 토대로 가중치 요소(Weight Factor) 값을 재계산 한 후에(S206) 계산된 값을 토대로 기준치(B) 이하일 경우에는 패시브 피어 데이터베이스로 이동시키고(S207, S215), 기준치(B) 이하가 아닐 경우에는 연관된 피어들의 가중치(weight) 값을 갱신한다(S207, S218). 여기서, 상기 로그 정보에는 타 피어와의 연결 시도에 따른 성공 및 실패, 교환된 데이터 정보가 포함된다. 그리고, 계산되는 가중치(Weight) 값은 연결된 해당 피어에 대한 것은 물론, 로그 정보에 포함된 다른 피어의 가중치도 계산하여 반영하도록 하며, 이로써 자동적으로 P2P 네트워크에 소속된 피어들의 현재 상태(Status)가 반영되도록 할 수 있다.Next, if the connection fails, the peer is moved to the passive database (S204, S215). If the connection is successful, the connected peer sends log information including information on interactions with other peers through P2P. After recalculating the weight factor value based on the received log information by request (S205) (S206), if it is less than the reference value (B) based on the calculated value, it moves to the passive peer database (S207, S215), If not equal to or less than the reference value B, the weight values of the associated peers are updated (S207 and S218). In this case, the log information includes success and failure according to a connection attempt with another peer, and exchanged data information. In addition, the calculated weight value reflects the weight of other peers included in the log information as well as the corresponding peers, so that the current status of peers belonging to the P2P network is automatically reflected. Can be reflected.

상술한 단계들을 통해 피어가 패시브 데이터베이스에 위치하더라도, 사용자의 네트워크 상의 위치 이동 등의 상황 변화로 인해 액티브 피어로 동작 가능한 경우를 위해 주기적인 점검 과정을 수행하게 되는데, 이와 같은 주기적인 점검 과정에 대해서 도 5에 도시하였다. P2P 동작 방식의 특성상 피어는 수시로 아무런 통지 절차 없이 네트워크에 참여하거나 탈퇴하는 것이 가능하며, 자신이 다른 피어로부터의 인커밍 커넥션(incoming connection)을 받아들일 수는 없다하더라도 다른 피어에게 연결하여 데이터를 교환하는 과정에서 자신의 데이터를 제공하는 경우도 존재한다. 따라서, 패시브 피어 데이터베이스 내에 위치하더라도 해당 피어의 데이터 제공에 대한 인센티브는 제공되어야 한다. 이렇게 축적된 인센티브 정보를 통해 사용자에게 차별화된 접근 권한을 줄 수 있다.Although the peers are located in the passive database through the above-described steps, the periodic check process is performed for the case where the peer can be operated as an active peer due to the change of the user's position on the network. 5 is shown. Due to the nature of P2P operation, peers can join or leave the network from time to time without any notification, and exchange data by connecting to other peers even if they cannot accept incoming connections from other peers. There are also cases where you provide your own data. Thus, even if located in the passive peer database, incentives for providing data for that peer should be provided. The accumulated incentive information can give users differentiated access rights.

도 5를 참조하여 상기 주기적인 점검 과정에 대하여 설명하면 다음과 같다.Referring to Figure 5 will be described with respect to the periodic inspection process as follows.

먼저, P2P 크롤러는 패시브 피어 데이터베이스로부터 가중치(weight) 값이 일정 이상인 피어의 주소를 가져온다(S301). (여기서, 패시브 피어라 하더라도 다른 피어와의 연동 과정에서 다른 피어에게 데이터를 전달할 수 있다. 이 과정에서 패시브 피어의 가중치(weight) 값이 상향 조정될 수 있다.)First, the P2P crawler obtains an address of a peer whose weight value is a predetermined value or more from the passive peer database (S301). (In this case, even a passive peer may transmit data to another peer in the interworking process with other peers. In this process, the weight value of the passive peer may be increased.)

다음으로, P2P 크롤러는 패시브 피어 데이터베이스로부터 받은 피어의 주소를 토대로 피어의 존재 여부를 판단하여(S302), 존재하지 않는다고 판단되면 일정 시간 대기 후에 동일 과정을 반복하고(S131, S301, S302), 존재한다고 판단되면 해당 피어에 대한 접속 시도를 통해(S303) 접속이 성공한 경우에는 바로 액티브 피어 데이터베이스로 이동시키고(S304, S305), 접속에 실패한 경우에는 가중치(weight) 값을 초기값으로 설정하여 패시브 피어 데이터베이스 내에 위치시킨다(S304, S315).
Next, the P2P crawler determines the existence of the peer based on the address of the peer received from the passive peer database (S302). If it does not exist, the P2P crawler repeats the same process after waiting for a predetermined time (S131, S301, S302). If it is determined that the connection is successful (S303), if the connection is successful, move to the active peer database immediately (S304, S305). If the connection fails, set the weight value to the initial value and set the passive peer. Located in the database (S304, S315).

상술한 바와 같은 본 발명은, 트래커 서버가 피어에게 P2P 네트워크에 참여한 피어들의 정보를 전달할 시에 실제 서비스가 가능한 피어들만을 추려내어 전달하므로 P2P 네트워크의 효율성을 높일 수 있다.
As described above, when the tracker server delivers information of peers participating in a P2P network to peers, only the peers capable of actual service are selected and delivered, thereby increasing the efficiency of the P2P network.

101a~101d : 피어 102 : 트래커 서버
103a : 액티브 피어 DB 103b : 패시브 피어 DB
103c : 미확인 피어 DB 104a~104c : P2P 크롤러
101a ~ 101d: peer 102: tracker server
103a: active peer DB 103b: passive peer DB
103c: Unidentified peer DB 104a ~ 104c: P2P crawler

Claims (1)

P2P(Peer to Peer) 네트워크에 참여하려는 피어(Peer)는 해당 P2P 네트워크에 참여하고 있는 피어들의 목록을 트래커 서버에 요청하는 단계;
상기 트래커 서버는 자신에게 요청한 피어에 대한 정보를 미확인 피어 데이터베이스에 기록하는 단계;
상기 트래커 서버는 액티브(Active) 피어 데이터베이스에서 피어의 목록을 추출하여 자신에게 요청한 피어에게 전달하는 단계;
P2P 크롤러는 상기 미확인 피어 데이터베이스에 기록된 피어들을 인출하여 데이터를 전달할 수 있는 액티브 피어인지 데이터 전달이 어려운 패시브(Passive) 피어인지 판단하여, 액티브 피어에 대한 정보는 액티브 피어 데이터베이스에 기록하고 패시브 피어에 대한 정보는 패시브 피어 데이터베이스에 기록하는 단계; 및
트래커 서버로부터 피어 목록을 수신한 피어는 피어 목록에 포함된 각 피어에 접근하여 데이터를 요청하고 수신하는 단계;
을 포함하는 것을 특징으로 하는 P2P 네트워크에서 데이터 교환 방법.
Peer to join the peer to peer (P2P) network requesting the tracker server a list of peers participating in the P2P network;
The tracker server recording information on a peer that has requested the peer in an unidentified peer database;
The tracker server extracts a list of peers from an active peer database and delivers them to the requesting peer;
The peer-to-peer crawler determines whether the peer is the active peer capable of withdrawing data from the peers recorded in the unidentified peer database or the passive peer that is difficult to transfer data, and records information about the active peer in the active peer database and sends the data to the passive peer. Recording information about the passive peer database; And
Peers receiving the peer list from the tracker server access each peer included in the peer list to request and receive data;
Data exchange method in a P2P network comprising a.
KR1020110084854A 2011-08-24 2011-08-24 Data exchange method in p2p network KR101820462B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110084854A KR101820462B1 (en) 2011-08-24 2011-08-24 Data exchange method in p2p network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110084854A KR101820462B1 (en) 2011-08-24 2011-08-24 Data exchange method in p2p network

Publications (2)

Publication Number Publication Date
KR20130022512A true KR20130022512A (en) 2013-03-07
KR101820462B1 KR101820462B1 (en) 2018-02-28

Family

ID=48175141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110084854A KR101820462B1 (en) 2011-08-24 2011-08-24 Data exchange method in p2p network

Country Status (1)

Country Link
KR (1) KR101820462B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101535085B1 (en) * 2014-03-11 2015-07-08 에스케이텔레콤 주식회사 PtoP communication control method and apparatus
CN106096008A (en) * 2016-06-23 2016-11-09 北京工业大学 A kind of web crawlers method for finance warehouse receipt wind control
CN111104575A (en) * 2018-10-29 2020-05-05 阿里巴巴集团控股有限公司 Data capture method and device and electronic equipment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101535085B1 (en) * 2014-03-11 2015-07-08 에스케이텔레콤 주식회사 PtoP communication control method and apparatus
CN106096008A (en) * 2016-06-23 2016-11-09 北京工业大学 A kind of web crawlers method for finance warehouse receipt wind control
CN106096008B (en) * 2016-06-23 2021-01-05 北京工业大学 Web crawler method for financial warehouse receipt wind control
CN111104575A (en) * 2018-10-29 2020-05-05 阿里巴巴集团控股有限公司 Data capture method and device and electronic equipment
CN111104575B (en) * 2018-10-29 2023-05-05 阿里巴巴集团控股有限公司 Data grabbing method and device and electronic equipment

Also Published As

Publication number Publication date
KR101820462B1 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
EP2058980B1 (en) A method, system and device for establishing a peer to peer connection in a p2p network
US8554827B2 (en) Virtual peer for a content sharing system
US8764567B2 (en) System and method for implementing turn-based online games
US7782866B1 (en) Virtual peer in a peer-to-peer network
KR101980129B1 (en) Peer-to-peer network system with manageability
US20120311036A1 (en) Friend recommendation system and method
US20070094279A1 (en) Service provision in peer-to-peer networking environment
US9792311B2 (en) System and method for managing a partitioned database of user relationship data
US20110307564A1 (en) Data node apparatus, peer information acquisition method and system
Liu et al. An efficient and trustworthy P2P and social network integrated file sharing system
CN101355591A (en) P2P network and scheduling method thereof
US20120310956A1 (en) System and method for processing graphs of user relationships in an online service
CN102308549A (en) Network aware peer to peer
JP2010522386A (en) Method, system, and node for P2P content sharing
CN102025595A (en) Flow optimization method and system
EP1719325B1 (en) Method for optimally utilizing a peer to peer network
KR20120071576A (en) Method, device and system for real-time publish subscribe discovery based on distributed hash table
US7848339B2 (en) Data communication apparatus, method for its network configuration, and computer readable recording medium storing its program
KR20130022512A (en) Data exchange method in p2p network
US8959243B2 (en) System and method to guide active participation in peer-to-peer systems with passive monitoring environment
Gheorghe et al. Decentralized storage system for edge computing
KR20110116554A (en) Apparatus and method for establishing partnership of p2p service based on gossip
CN101741844B (en) Method for discovering peer nodes of P2P file sharing network based on centre indexing
US20100036935A1 (en) Method for reacting to the broadcast of a file in a p2p network
CN113452732A (en) Power Internet of things network management system and method

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