KR102372186B1 - Method of providing peer information and network management system of enabling the method - Google Patents

Method of providing peer information and network management system of enabling the method Download PDF

Info

Publication number
KR102372186B1
KR102372186B1 KR1020150121997A KR20150121997A KR102372186B1 KR 102372186 B1 KR102372186 B1 KR 102372186B1 KR 1020150121997 A KR1020150121997 A KR 1020150121997A KR 20150121997 A KR20150121997 A KR 20150121997A KR 102372186 B1 KR102372186 B1 KR 102372186B1
Authority
KR
South Korea
Prior art keywords
peer
information
peers
fragment
activity
Prior art date
Application number
KR1020150121997A
Other languages
Korean (ko)
Other versions
KR20170025497A (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 KR1020150121997A priority Critical patent/KR102372186B1/en
Publication of KR20170025497A publication Critical patent/KR20170025497A/en
Application granted granted Critical
Publication of KR102372186B1 publication Critical patent/KR102372186B1/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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • 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/1044Group management 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/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
    • H04L67/1063Discovery through centralising entities

Abstract

서버의 동작 방법이 개시된다. 일 실시예는 요청 피어에게 필요한 조각을 가진 보유 피어에 대한 정보의 요청이 있는 경우, 상기 요청에 대응하는 메시지를 생성하고, 복수의 피어의 정보를 관리하는 피어 활동 관리 서버에게 상기 메시지를 전송하며, 상기 보유 피어에 대한 정보를 포함하고 상기 메시지를 기초로 생성된 피어 리스트를 상기 피어 활동 관리 서버로부터 수신하고, 상기 피어 리스트를 상기 요청 피어로 전송하는 단계를 포함한다.A method of operating a server is disclosed. In one embodiment, when there is a request for information on a holding peer having a required piece from the requesting peer, a message corresponding to the request is generated, and the message is transmitted to a peer activity management server that manages information of a plurality of peers; , receiving, from the peer activity management server, a peer list including information on the possessing peer and generated based on the message, and transmitting the peer list to the requesting peer.

Description

피어 정보를 제공하는 방법 및 네트워크 관리 시스템{METHOD OF PROVIDING PEER INFORMATION AND NETWORK MANAGEMENT SYSTEM OF ENABLING THE METHOD}METHOD OF PROVIDING PEER INFORMATION AND NETWORK MANAGEMENT SYSTEM OF ENABLING THE METHOD

아래 실시예들은 피어 정보를 제공하는 방법 및 피어 정보를 제공하는 네트워크 관리 시스템에 관한 것이다.The embodiments below relate to a method for providing peer information and a network management system for providing peer information.

피투피(Peer-to-Peer) 네트워크는 피어와 피어가 직접 연결되어 피어가 서버가 아닌 다른 피어와 콘텐츠를 송수신할 수 있는 분산형 네트워크이다. 이에 따라, 피어는 콘텐츠를 수신하는 클라이언트가 될 수 있고, 콘텐츠를 제공하는 서버가 될 수 있다. 또한, 피투피 네트워크는 특정 서버를 중심으로 형성되지 않고 공유되는 콘텐츠를 중심으로 형성될 수 있다. 이로 인해, 피투피 네트워크에서 피어간 연결 및 네트워크의 크기가 유동적이다.A peer-to-peer network is a distributed network in which peers are directly connected to each other so that peers can send and receive content to and from peers other than servers. Accordingly, the peer may be a client that receives the content or a server that provides the content. In addition, the peer-to-peer network may be formed around shared content instead of being formed around a specific server. For this reason, in a peer-to-peer network, connections between peers and the size of the network are flexible.

일 측에 따른 서버의 동작 방법은 요청 피어에게 필요한 조각을 가진 보유 피어에 대한 정보의 요청이 있는 경우, 상기 요청에 대응하는 메시지를 생성하는 단계; 복수의 피어의 정보를 관리하는 피어 활동 관리 서버에게 상기 메시지를 전송하는 단계; 상기 보유 피어에 대한 정보를 포함하고 상기 메시지를 기초로 생성된 피어 리스트를 상기 피어 활동 관리 서버로부터 수신하는 단계; 및 상기 피어 리스트를 상기 요청 피어로 전송하는 단계를 포함하고, 상기 메시지는, 피어 활동 상태, 상기 보유 피어의 최대 개수, 피어 정렬 기준, 및 상기 필요한 조각의 조건(condition) 중 적어도 하나를 포함한다.According to one aspect, an operating method of a server includes: generating a message corresponding to the request when there is a request for information on a holding peer having a required piece from a requesting peer; transmitting the message to a peer activity management server that manages information of a plurality of peers; receiving, from the peer activity management server, a peer list including information on the possessed peer and generated based on the message; and sending the peer list to the requesting peer, wherein the message includes at least one of a peer activity status, the maximum number of holding peers, a peer sort criterion, and a condition of the required fragment. .

상기 피어 활동 상태는, 상기 피어의 다운로드 활동이 완료(completed)됨을 나타내는 완료 상태 및 상기 다운로드 활동이 진행 중임을 나타내는 시작(started) 상태 중 어느 하나를 포함할 수 있다.The peer activity state may include any one of a completion state indicating that the download activity of the peer is completed and a started state indicating that the download activity is in progress.

상기 피어 정렬 기준은, 상기 피어가 업로드한 데이터 량, 상기 피어가 다운로드한 데이터 량, 및 상기 피어가 다운로드를 완료하기 위해 남아있는 데이터 량 중 적어도 하나를 포함할 수 있다.The peer sort criterion may include at least one of an amount of data uploaded by the peer, an amount of data downloaded by the peer, and an amount of data remaining for the peer to complete download.

상기 필요한 조각의 조건은, 상기 필요한 조각의 식별 정보 및 상기 필요한 조각 범위의 식별 정보 중 어느 하나를 포함할 수 있다.The condition of the required piece may include any one of identification information of the required piece and identification information of the range of the required piece.

상기 요청에 대응하는 메시지를 생성하는 단계는, 상기 피어 활동 상태, 상기 최대 개수, 상기 피어 정렬 기준, 및 상기 조건을 설정하여 상기 메시지를 생성하는 단계를 포함할 수 있다.The generating of the message corresponding to the request may include generating the message by setting the peer activity state, the maximum number, the peer sort criteria, and the condition.

상기 보유 피어는, 상기 피어 활동 상태 및 상기 조건이 만족되는 복수의 피어 중에서 상기 최대 개수 및 상기 피어 정렬 기준을 기초로 정렬되는 적어도 하나의 피어를 포함할 수 있다.The holding peer may include at least one peer that is sorted based on the maximum number and the peer sorting criterion among a plurality of peers for which the peer activity state and the condition are satisfied.

상기 피어 활동 관리 서버는, 상기 피어로부터 수신한 상태 정보를 이용하여 상기 피어가 보유한 조각을 확인할 수 있다.The peer activity management server may use the status information received from the peer to check the fragment held by the peer.

일 측에 따른 네트워크 관리 시스템은 복수의 피어가 참여하는 오버레이 네트워크를 관리하는 네트워크 관리부; 및 상기 복수의 피어의 정보를 관리하는 피어 활동 관리부를 포함하고, 상기 네트워크 관리부는, 요청 피어에게 필요한 조각을 가진 보유 피어에 대한 정보의 요청이 있는 경우, 상기 요청에 대응하는 메시지를 생성하고, 상기 메시지를 상기 피어 활동 관리부로 전달하며, 상기 피어 활동 관리부는, 상기 보유 피어에 대한 정보가 포함되도록 상기 메시지를 기초로 피어 리스트를 생성하고, 상기 피어 리스트를 상기 네트워크 관리부로 전송하며, 상기 메시지는, 피어 활동 상태, 상기 보유 피어의 최대 개수, 피어 정렬 기준, 및 상기 필요한 조각의 조건(condition) 중 적어도 하나를 포함한다.A network management system according to one aspect includes: a network management unit for managing an overlay network in which a plurality of peers participate; and a peer activity management unit for managing information of the plurality of peers, wherein the network management unit generates a message corresponding to the request when there is a request for information on a holding peer having a required piece from the requesting peer; The message is transmitted to the peer activity manager, wherein the peer activity manager generates a peer list based on the message to include information on the possessed peer, transmits the peer list to the network manager, and the message , includes at least one of a peer activity state, the maximum number of holding peers, a peer sorting criterion, and a condition of the required fragment.

도 1은 일 실시예에 따른 피투피 네트워크를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 서버의 동작 방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따른 피투피 네트워크 시스템의 동작을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 네트워크 관리 시스템을 설명하기 위한 블록도이다.
1 is a diagram for explaining a P2P network according to an embodiment.
2 is a flowchart illustrating a method of operating a server according to an exemplary embodiment.
3 is a flowchart illustrating an operation of a P2P network system according to an embodiment.
4 is a block diagram illustrating a network management system according to an embodiment.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It should be understood that the embodiments described below are not intended to limit the embodiments, and include all modifications, equivalents, and substitutes thereto.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only to describe specific examples, and are not intended to limit the examples. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

도 1은 일 실시예에 따른 피투피 네트워크를 설명하기 위한 도면이다.1 is a diagram for explaining a P2P network according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 피투피 네트워크는 서버(110) 및 복수의 피어(120 내지 130)를 포함한다.Referring to FIG. 1 , a peer-to-peer network according to an embodiment includes a server 110 and a plurality of peers 120 to 130 .

서버(110)는 오버레이 관리 서버(Overlay Management Server, OMS)(111) 및 피어 활동 관리 서버(Peer Activity Management Server, PAMS)(112)를 포함할 수 있다.The server 110 may include an overlay management server (OMS) 111 and a peer activity management server (PAMS) 112 .

OMS(111)는 복수의 피어(120 내지 130)가 피투피 네트워크를 구성할 수 있도록 피투피 네트워크에 대한 정보를 관리할 수 있고, 피투피 네트워크에 대한 정보를 복수의 피어(120 내지 130)에게 제공할 수 있다. 또한, OMS는 복수의 피어(120 내지 130)가 참여하는 오버레이 네트워크 내의 리소스를 관리할 수 있다.The OMS 111 may manage information on the P2P network so that the plurality of peers 120 to 130 can configure the P2P network, and may provide information on the P2P network to the plurality of peers 120 to 130 there is. In addition, the OMS may manage resources in the overlay network in which the plurality of peers 120 to 130 participate.

PAMS(112)는 복수의 피어(120 내지 130)의 정보를 관리할 수 있다. 예를 들어, PAMS(112)는 복수의 피어(120 내지 130)의 상태 정보(status information)를 수집 또는 관리할 수 있다. 여기서, 상태 정보는 피어의 정적(static) 정보 및 동적(dynamic) 정보를 포함할 수 있다. 정적 정보는 피투피 네트워크의 구성 및 피투피 네트워크의 서비스 정책과 관련된 정보일 수 있다. 동적 정보는 복수의 피어(120 내지 130)의 활동과 관련된 정보일 수 있다. 복수의 피어(120 내지 130)는 보고 주기마다 동적 정보를 PAMS(112)에게 보고할 수 있다. 예를 들어, 복수의 피어(120 내지 130) 각각은 다른 피어로부터 수신한 데이터 량, 다른 피어로 전송한 데이터 량, 데이터 송수신 히스토리 등을 PAMS(112)에게 보고할 수 있다.The PAMS 112 may manage information of a plurality of peers 120 to 130 . For example, the PAMS 112 may collect or manage status information of the plurality of peers 120 to 130 . Here, the state information may include static information and dynamic information of the peer. The static information may be information related to the configuration of the P2P network and the service policy of the P2P network. The dynamic information may be information related to the activities of the plurality of peers 120 to 130 . The plurality of peers 120 to 130 may report dynamic information to the PAMS 112 every reporting period. For example, each of the plurality of peers 120 to 130 may report an amount of data received from another peer, an amount of data transmitted to another peer, a data transmission/reception history, and the like to the PAMS 112 .

피어의 정적 정보는 아래 표 1로 나타낼 수 있고, 피어의 동적 정보는 아래 표 2로 나타낼 수 있다.The static information of the peer may be shown in Table 1 below, and the dynamic information of the peer may be shown in Table 2 below.

정보 종류information type 정보명information name 의미meaning 정적silence Maximum download BWMaximum download BW 피어의 전역적 최대 다운로드 대역폭The peer's global maximum download bandwidth 정적silence Maximum download BW per overlay networkMaximum download BW per overlay network 피어의 오버레이 네트워크 당 최대 다운로드 대역폭Maximum download bandwidth per overlay network of peers 정적silence Maximum upload BWMaximum upload BW 피어의 전역적 최대 업로드 대역폭The peer's global maximum upload bandwidth 정적silence Maximum upload BW per overlay networkMaximum upload BW per overlay network 피어의 오버레이 네트워크 당 최대 업로드 대역폭Maximum upload bandwidth per overlay network of peers 정적silence Maximum number of connections for upload per overlay networkMaximum number of connections for upload per overlay network 피어의 오버레이 네트워크 당 최대 연결수(for upload)Maximum number of connections per overlay network of peers (for upload)

정보 종류information type 정보명information name 의미meaning 동적dynamic OVERLAY_IDOVERLAY_ID 피어가 참여하고 있는 오버레이 네트워크의 IDID of the overlay network the peer is participating in 동적dynamic OverlayEventOverlayEvent 오버레이 네트워크 참여 상태Overlay Network Participation Status 동적dynamic DownloadedDownloaded 피어가 동작을 시작한 후, 피어가 참여한 오버레이 네트워크에서 다운로드한 총량(KB단위)The total amount of downloads (in KB) from the overlay network in which the peers participated after the peer started operating. 동적dynamic UploadedUploaded 피어가 동작을 시작한 후, 피어가 참여한 오버레이 네트워크에서 업로드한 총량(KB단위)After a peer starts operation, the total amount of uploads (in KB) from the overlay network in which the peer participated. 동적dynamic LeftLeft 다운로드 완료를 위해서 추가로 다운로드 해야 하는 양(KB단위)The amount of additional download required to complete the download (in KB) 동적dynamic Connections_for_upConnections_for_up 현재 업로드를 위해서 유지하고 있는 연결 수Number of connections currently being maintained for uploads 동적dynamic Connections_for_dnConnections_for_dn 현재 다운로드를 위해서 유지하고 있는 연결 수Number of connections currently being held for download 동적dynamic Piece-eventpiece-event 단위 조각의 송수신 결과Transmitting/receiving result of unit fragment

동적 정보의 Piece-event는 피어가 조각을 송수신한 결과를 나타낼 수 있다. 달리 표현하면, Piece-event는 피어가 송수신한 조각의 정보를 나타낼 수 있다. 예를 들어, Piece-event는 송신 정보 및/또는 수신 정보를 포함할 수 있다. 송신 정보는 피어가 송신한 조각의 식별 정보, 상대 피어의 식별 정보(즉, 피어가 송신한 조각을 수신한 다른 피어의 식별 정보), 및 피어가 조각을 송신한 것을 나타내는 타입 정보 중 적어도 하나를 포함할 수 있다. 수신 정보는 피어가 수신한 조각의 식별 정보, 상대 피어의 식별 정보(즉, 조각을 송신한 다른 피어의 식별 정보), 조각의 무결성(integrity) 정보, 및 피어가 조각을 수신한 것을 나타내는 타입 정보 중 적어도 하나를 포함할 수 있다. Piece-event에 포함되는 송신 정보 및 수신 정보는 아래 표 3으로 나타낼 수 있다.A Piece-event of dynamic information may indicate a result of a peer transmitting and receiving a piece. In other words, the Piece-event may indicate piece information transmitted and received by the peer. For example, the Piece-event may include transmission information and/or reception information. The transmission information includes at least one of identification information of the fragment sent by the peer, identification information of the counterpart peer (that is, identification information of another peer that has received the fragment sent by the peer), and type information indicating that the peer has transmitted the fragment may include The reception information includes identification information of the fragment received by the peer, identification information of the counterpart peer (that is, identification information of another peer that sent the fragment), integrity information of the fragment, and type information indicating that the peer has received the fragment may include at least one of Transmission information and reception information included in a Piece-event may be shown in Table 3 below.

정보 종류information type 정보명information name 의미meaning 송신send "piece-event-type":"uploaded""piece-event-type":"uploaded" 조각을 송신함.Send fragments. "piece-id":"piece ID""piece-id":"piece ID" 송신한 조각의 IDID of the sent fragment "to":"opponent peer ID""to":"opponent peer ID" 수신 피어 IDReceiving Peer ID 수신reception "piece-event-type":"downloaded""piece-event-type":"downloaded" 조각을 수신함.Received fragment. "piece-id":"piece ID""piece-id":"piece ID" 수신한 조각의 IDID of the received fragment "piece-integrity":{true|false}"piece-integrity":{true|false} 조각의 무결성 여부Whether the piece is integrity "from":"opponent peer ID""from":"opponent peer ID" 송신 피어 IDSending Peer ID

piece-event-type은 위에서 설명한 타입 정보를 나타낸다. 피어가 다른 피어로부터 조각 요청을 받고, 다른 피어에게 조각을 전송하는 경우, 피어는 piece-event-type을 uploaded로 설정하고, piece-id를 송신한 조각의 식별 정보로 설정하며, to를 다른 피어의 식별 정보로 설정한다. 피어는 Piece-event를 PAMS(112)에게 보고한다. 피어가 다른 피어로부터 조각을 수신하는 경우, 피어는 piece-event-type을 downloaded로 설정하고, piece-id를 수신한 조각의 식별 정보로 설정하며, piece-integrity를 true로 설정하고, from을 다른 피어의 식별 정보로 설정한다. 피어는 Piece-event를 PAMS(112)에게 보고한다.piece-event-type indicates the type information described above. When a peer receives a fragment request from another peer and sends a fragment to another peer, the peer sets the piece-event-type to uploaded, sets the piece-id to the identifying information of the sending fragment, and sets to to the other peer. set as identification information of The peer reports the Piece-event to the PAMS 112 . When a peer receives a piece from another peer, the peer sets piece-event-type to downloaded, sets piece-id to the identification information of the received piece, sets piece-integrity to true, and sets from to another Set as peer identification information. The peer reports the Piece-event to the PAMS 112 .

PAMS는 피어로부터 Piece-event를 보고 받으므로, 피어가 어떤 조각을 보유(posses)하는지 확인할 수 있다. 즉, PAMS는 피어의 송신 정보 및/또는 수신 정보를 보고 받으므로, 송신 정보 및/또는 수신 정보를 이용하여 피어가 어떤 조각을 보유하는지 확인할 수 있다. 예를 들어, 피어가 다른 피어로부터 a 조각을 요청받고, 다른 피어에게 a 조각을 전송한 경우, 피어는 송신 정보를 PAMS에게 보고할 수 있다. 이로 인해, PAMS는 피어가 a 조각을 보유하고 있음을 확인할 수 있다. 만약, 피어가 다른 피어로부터 a 조각을 요청 받지 않는다면, 피어는 다른 피어에게 a 조각을 전송하지 않는다. 이로 인해, 피어는 a 조각에 대한 송신 정보를 PAMS에게 보고하지 않는다. 피어가 보유하고 있는 a 조각은 이전에 수신한 조각이고, a 조각에 대한 수신 정보를 이전 보고 주기에 PAMS에 보고하였다. 이로 인해, PAMS는 이전에 보고 받은 수신 정보를 이용하여 피어가 a 조각을 보유하고 있음을 확인할 수 있다.Since PAMS reports and receives Piece-events from peers, it can check which pieces the peer holds (posses). That is, since the PAMS reports and receives the transmission information and/or reception information of the peer, it can check which piece the peer has by using the transmission information and/or reception information. For example, when a peer receives a request for a piece from another peer and transmits a piece a to another peer, the peer may report transmission information to PAMS. Due to this, PAMS can confirm that the peer has a piece. If the peer does not receive a fragment a request from another peer, the peer does not send the fragment a to the other peer. For this reason, the peer does not report the transmission information for the a piece to PAMS. The fragment a owned by the peer is the previously received fragment, and the received information about the fragment a was reported to PAMS in the previous reporting cycle. Due to this, the PAMS can confirm that the peer has a piece by using the previously reported and received information.

PAMS(112)는 복수의 피어(120 내지 130)의 상태 정보를 분석할 수 있고, 분석 결과를 OMS(111)에게 제공할 수 있다.The PAMS 112 may analyze the state information of the plurality of peers 120 to 130 , and may provide the analysis result to the OMS 111 .

OMS(111)는 자신이 관리하는 오버레이 네트워크의 상태를 최신의 상태로 유지하기 위해 오버레이 네트워크의 상태 정보를 업데이트할 수 있다. 보다 구체적으로, OMS(111)는 PAMS(112)에게 오버레이 네트워크에 참여하는 복수의 피어(120 내지 130)의 상태 정보를 요청할 수 있다. PAMS(112)는 자신이 보유한 정보를 기초로 상태 정보의 요청에 응답할 수 있다.The OMS 111 may update the status information of the overlay network to keep the status of the overlay network managed by the OMS 111 up to date. More specifically, the OMS 111 may request status information of the plurality of peers 120 to 130 participating in the overlay network from the PAMS 112 . The PAMS 112 may respond to a request for status information based on the information it owns.

도 1에 도시된 OMS(111) 및 PAMS(112)는 서버(110)와 물리적으로 구별되는 장치일 수 있다. 또한, 구현에 따라, 도 1에 도시된 OMS(111) 및 PAMS(112)는 하나의 물리적 장치 내에서 논리적으로 구분될 수 있다.The OMS 111 and the PAMS 112 shown in FIG. 1 may be devices that are physically distinct from the server 110 . Also, according to implementation, the OMS 111 and the PAMS 112 shown in FIG. 1 may be logically divided within one physical device.

피투피 네트워크를 통한 콘텐츠 전송에 있어서, 서버(110)는 피투피 네트워크에 참여하는 피어에게 피투피 네트워크에 참여하고 있는 다른 피어들의 정보를 제공할 수 있다. 예를 들어, 서버(110)는 피어(130)의 정보를 피어(120)에게 제공할 수 있다. 피어(120)는 피어(130)의 정보를 기초로 피어(130)에게 접근할 수 있고, 피어(120) 자신에게 필요한 데이터 또는 조각을 요청할 수 있다. 여기서, 피어(130)는 피어(120)가 필요한 데이터 또는 조각을 보유하지 않을 수 있다. 이로 인해, 피어(120)는 피어(120) 자신이 필요한 데이터 또는 조각을 요청하기 전에 피어(130)와 데이터 보유 정보(또는 조각 보유 정보)를 교환해야 한다. 파일 공유 응용의 경우, 피어(120)의 콘텐츠 다운로드가 완료에 가까워질수록 다운로드 속도가 감소한다. 다운로드 속도의 감소를 막기 위해 피어(120)는 피어(120) 자신이 알고 있는 모든 피어(130)에게 필요한 조각을 요청하고, 필요한 조각을 수신할 때마다 수신 완료된 조각의 요청을 취소한다. 여기서, 피어(120)는 수신 완료된 조각에 대한 요청 취소를 모든 피어(130)에게 시그널링하고 피어(130)는 시그널링을 통해 피어(120)가 수신 완료한 조각을 피어(120)에게 전송하지 않는다. 결국, 필요한 모든 조각의 수신이 완료될 때까지, 시그널링을 위한 트래픽이 발생한다.In content transmission through the P2P network, the server 110 may provide information of other peers participating in the P2P network to a peer participating in the P2P network. For example, the server 110 may provide information of the peer 130 to the peer 120 . The peer 120 may access the peer 130 based on the information of the peer 130 , and may request data or pieces necessary for the peer 120 itself. Here, the peer 130 may not have the data or fragments required by the peer 120 . Due to this, the peer 120 must exchange data retention information (or fragment retention information) with the peer 130 before the peer 120 itself requests the necessary data or fragments. In the case of a file sharing application, as the content download of the peer 120 approaches completion, the download speed decreases. In order to prevent a decrease in the download speed, the peer 120 requests a necessary fragment from all peers 130 known to the peer 120 and cancels the request for a received fragment whenever a necessary fragment is received. Here, the peer 120 signals the cancellation of the request for the received fragment to all peers 130 , and the peer 130 does not transmit the fragment received by the peer 120 to the peer 120 through signaling. Eventually, traffic for signaling occurs until the reception of all necessary fragments is completed.

일 실시예에 따른 서버는 피어(120)에게 필요한 조각을 가진 피어 또는 필요한 조각을 가질 것으로 예상되는 피어를 알려 줄 수 있다. 이로 인해, 데이터 보유 정보의 교환 없이 피어(120)는 서버가 알려준 피어에게 데이터를 요청할 수 있고, 서버가 알려주지 않은 피어, 달리 표현하면, 필요한 조각을 보유하지 않은 피어와 시그널링하지 않을 수 있다.The server according to an embodiment may inform the peer 120 of a peer having a necessary fragment or a peer expected to have a necessary fragment. Due to this, the peer 120 may request data from the peer informed by the server without exchanging data retention information, and may not signal with a peer not informed by the server, or in other words, a peer that does not possess a required piece.

도 2는 일 실시예에 따른 서버의 동작 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a method of operating a server according to an exemplary embodiment.

일 실시예에 따른 서버는 도 1을 통해 설명한 OMS일 수 있다.The server according to an embodiment may be the OMS described with reference to FIG. 1 .

도 2를 참조하면, 서버는 요청 피어(requesting peer)에게 필요한 조각을 가진 보유 피어(possessing peer)에 대한 정보의 요청이 있는 경우, 요청에 대응하는 메시지를 생성한다(210). 여기서, 메시지는 아래 표 4의 조각의 조건(piece-condition)을 포함할 수 있다. 예를 들어, 요청 피어는 조각의 조건을 기초로 보유 피어 정보를 OMS에게 요청할 수 있다. 서버는 복수의 피어의 정보를 관리하는 피어 활동 관리 서버에게 메시지를 전송한다(220). 앞선 예에서, OMS는 조각의 조건을 PAMS에 전달할 수 있다.Referring to FIG. 2 , when there is a request for information on a holding peer having a required piece from a requesting peer, the server generates a message corresponding to the request ( 210 ). Here, the message may include the piece-condition of Table 4 below. For example, the requesting peer may request the holding peer information from the OMS based on the condition of the fragment. The server transmits a message to a peer activity management server that manages information of a plurality of peers ( 220 ). In the preceding example, the OMS may communicate the condition of the fragment to the PAMS.

요청 피어는 특정 조각 또는 특정 범위의 조각을 가진 보유 피어의 정보를 서버에게 요청할 수 있다. 서버는 요청 피어의 정보 제공 요청이 있는 경우, 정보 제공 요청에 대응하는 메시지를 생성할 수 있다. 여기서, 메시지는 피어 활동 상태, 보유 피어의 최대 개수, 피어 정렬 기준, 및 필요한 조각의 조건(condition) 중 적어도 하나를 포함할 수 있다.The requesting peer may request information of the holding peer with a specific fragment or a specific range of fragments from the server. When there is an information provision request from the requesting peer, the server may generate a message corresponding to the information provision request. Here, the message may include at least one of a peer activity status, the maximum number of peers possessed, a peer alignment criterion, and a condition of a required fragment.

피어 활동 상태는 피어가 오버레이 네트워크 내에서 활동하는 상태를 나타낼 수 있다. 예를 들어, 활동 상태는 완료(completed) 상태 및 시작(started) 상태를 포함할 수 있고, 서버는 피어의 활동 상태를 완료 상태 및 시작 상태 중 어느 하나로 설정하여 메시지를 생성할 수 있다. 여기서, 완료 상태는 피어의 다운로드 활동(예를 들어, 콘텐츠 수신)이 완료되었다는 것을 나타내고, 시작 상태는 피어의 다운로드 활동이 진행 중임을 나타낸다. 후술하겠지만, 피어 활동 관리 서버는 서버가 설정한 활동 상태에 대응하는 피어를 식별할 수 있다.The peer activity state may indicate a state in which the peer is active in the overlay network. For example, the activity state may include a completed state and a started state, and the server may generate a message by setting the peer's activity state to any one of the completed state and the started state. Here, the completion state indicates that the peer's download activity (eg, content reception) has been completed, and the start state indicates that the peer's download activity is in progress. As will be described later, the peer activity management server may identify a peer corresponding to an activity state set by the server.

또한, 서버는 보유 피어의 최대 개수를 설정하여 메시지를 생성할 수 있다. 예를 들어, 서버는 최대 100개의 보유 피어의 정보를 제공할 것을 피어 활동 관리 서버에게 요청할 수 있다. 후술하겠지만, 정렬 기준에 따라 정렬된 보유 피어들의 개수가 100개 이상인 경우, 피어 활동 관리 서버는 정렬된 보유 피어들 중에서 상위 100개의 보유 피어를 선택할 수 있다.In addition, the server may generate a message by setting the maximum number of peers. For example, the server may request the peer activity management server to provide information of up to 100 holding peers. As will be described later, when the number of retained peers sorted according to the sorting criterion is 100 or more, the peer activity management server may select the top 100 retained peers from among the sorted retained peers.

또한, 서버는 피어 정렬 기준(ordering criteria)을 설정하여 메시지를 생성할 수 있다. 피어 정렬 기준은, 예를 들어, 피어가 업로드한 데이터 량(uploaded), 피어가 다운로드한 데이터 량(downloaded), 및 피어가 다운로드를 완료하기 위해 남아있는 데이터 량(left) 중 적어도 하나를 포함할 수 있다. 피어 정렬 기준은 피어가 보고한 동적 정보일 수 있다. 서버는 정렬 기준을 설정할 수 있고, 피어 활동 관리 서버는 활동 상태 및 후술할 필요한 조각의 조건을 만족하는 복수의 피어들을 정렬 기준에 따라 정렬할 수 있다.In addition, the server may generate a message by setting peer ordering criteria. The peer sort criteria may include, for example, at least one of an amount of data uploaded by a peer (uploaded), an amount of data downloaded by a peer (downloaded), and an amount of data left by the peer to complete the download. can The peer alignment criteria may be dynamic information reported by peers. The server may set the sorting criteria, and the peer activity management server may sort a plurality of peers satisfying the activity state and a necessary fragment condition to be described later according to the sorting criteria.

또한, 서버는 필요한 조각의 조건을 설정할 수 있다. 필요한 조각의 조건은, 예를 들어, 필요한 조각의 식별 정보 및 필요한 조각 범위(piece range)의 식별 정보를 포함할 수 있다. 조각 범위의 식별 정보는 시작 조각(start piece)의 식별 정보와 마지막 조각(end piece)의 식별 정보를 포함할 수 있다. 서버는 필요한 조각의 조건을 필요한 조각의 식별 정보 및 필요한 조각 범위의 식별 정보 중 어느 하나로 설정하여 메시지를 생성할 수 있다. 후술하겠지만, 피어 관리 서버는 조각의 조건을 포함하는 메시지를 수신할 수 있고, 조각의 조건을 만족하는 피어를 찾을 수 있다.In addition, the server can set the conditions for the required fragment. The condition of a required piece may include, for example, identification information of a required piece and identification information of a required piece range. The identification information of the fragment range may include identification information of a start piece and identification information of an end piece. The server may generate a message by setting the condition of the required fragment to any one of the identification information of the required fragment and the identification information of the range of the required fragment. As will be described later, the peer management server may receive a message including the condition of the fragment, and may find a peer that satisfies the condition of the fragment.

일례로, 서버가 생성하는 메시지는 아래 표 4로 나타낼 수 있다.As an example, the message generated by the server may be shown in Table 4 below.

정보명information name 의미meaning "overlay-status" : string {"completed"|"started"}"overlay-status" : string {"completed"|"started"} 피어 활동 상태Peer activity status "max-peer-num" : integer ,"max-peer-num" : integer , 최대 개수maximum number "ordering" : string {"uploaded"|"downloaded"|"left"}"ordering" : string {"uploaded"|"downloaded"|"left"} 피어 정렬 기준Peer Sort Criteria "piece-condition" : {
"piece-list" : {
"piece-id" : [integer]
},
"piece-range": {
"start-piece-id":integer,
"end-piece-id":integer
}
}
"piece-condition" : {
"piece-list" : {
"piece-id" : [integer]
},
"piece-range": {
"start-piece-id":integer,
"end-piece-id":integer
}
}
조각의 조건으로, 특정 조각(piece-id)을 가진 피어의 정보를 요청할 것 인지 특정 범위의 조각들(piece-range)을 가진 피어의 정보를 요청할 것인지 구분됨As a condition of a piece, it is distinguished whether to request information of a peer with a specific piece-id or a peer with a specific range of pieces (piece-range).

일 실시예에 있어서, 서버가 피어 활동 관리 서버에게 복수의 조각을 요청할 수 있다. 이 경우, 조각의 식별 정보가 연속되는 경우, 서버는 조각 범위(piece-range)를 포함하는 메시지를 생성할 수 있고, 조각의 식별 정보가 연속되지 않는 경우, 서버는 연속되지 않는 식별 정보를 포함하는 메시지를 생성할 수 있다. 또한, 서버가 피어 활동 관리 서버에게 복수의 조각을 요청하되, 복수의 조각은 조각의 식별 정보가 연속되는 제1 조각 집합 및 조각의 식별 정보가 연속되지 않는 제2 조각 집합을 포함할 수 있다. 이 경우, piece-range의 start-piece-id는 제1 조각 집합의 시작 조각의 식별 정보일 수 있고, piece-range의 end-piece-id는 제1 조각 집합의 마지막 조각의 식별 정보일 수 있으며, piece-list는 제2 조각 집합에 포함된 하나 이상의 조각의 식별 정보들을 포함할 수 있다.In one embodiment, the server may request a plurality of pieces from the peer activity management server. In this case, if the identification information of the pieces is continuous, the server may generate a message including a piece-range, and if the identification information of the pieces is not continuous, the server includes the non-continuous identification information message can be created. In addition, the server requests a plurality of pieces from the peer activity management server, and the plurality of pieces may include a first piece set in which identification information of a piece is continuous and a second piece set in which identification information of a piece is not consecutive. In this case, the start-piece-id of the piece-range may be identification information of the start piece of the first piece set, the end-piece-id of the piece-range may be identification information of the last piece of the first piece set, , piece-list may include identification information of one or more pieces included in the second piece set.

메시지를 수신한 피어 활동 관리 서버는 메시지를 이용하여 피어 리스트를 생성할 수 있다. 예를 들어, 피어 활동 관리 서버는 활동 상태가 완료 상태로 설정되고, 최대 개수가 100으로 설정되며, 정렬 기준이 uploaded로 설정되고, 필요한 조각의 조건이 필요한 조각의 식별 정보로 설정된 메시지를 수신하였다고 하자. 피어 활동 관리 서버는 조각의 조건을 만족하는 피어를 찾을 수 있다. 피어 활동 관리 서버는 조각의 조건에 포함된 식별 정보에 대응하는 조각을 보유한 피어 즉, 보유 피어를 확인할 수 있다. 여기서, 보유 피어의 개수가 50개이고, 50개 보유 피어의 활동 상태가 완료 상태인 경우, 피어 활동 관리 서버는 50개의 보유 피어를 uploaded가 높은 순서대로 정렬할 수 있다. 50개의 보유 피어가 정렬되면 피어 리스트가 생성되고, 피어 활동 관리 서버는 피어 리스트를 서버로 전송할 수 있다. 보유 피어의 개수가 200개인 경우, 피어 활동 관리 서버는 100개의 보유 피어의 정보를 요청 받았으므로, 피어 활동 관리 서버는 활동 상태 및 정렬 기준을 이용하여 100개의 보유 피어를 선택할 수 있고, 100개의 보유 피어의 정보를 포함하는 피어 리스트를 생성할 수 있다.The peer activity management server receiving the message may create a peer list using the message. For example, the peer activity management server says that it has received a message with the activity status set to the complete status, the maximum number set to 100, the sort criterion set to uploaded, and the required fragment conditions set to the required fragment identification information. lets do it. The peer activity management server may find a peer that satisfies the condition of the fragment. The peer activity management server may check the peer holding the fragment corresponding to the identification information included in the condition of the fragment, that is, the possessing peer. Here, when the number of possessing peers is 50 and the activity status of the 50 possessing peers is a complete state, the peer activity management server may sort the 50 possessing peers in the order of the highest uploaded. When the 50 holding peers are sorted, a peer list is created, and the peer activity management server may send the peer list to the server. When the number of retained peers is 200, the peer activity management server receives a request for information of 100 retained peers, so the peer activity management server can select 100 retaining peers using the activity status and sorting criteria, and 100 retaining peers A peer list including peer information can be created.

서버는 피어 리스트를 피어 활동 관리 서버로부터 수신하고(230), 피어 리스트를 요청 피어로 전송한다(240). 위에서 설명하였듯이, 피어 활동 관리 서버는 보유 피어에 대한 정보가 포함되도록 메시지를 기초로 피어 리스트를 생성할 수 있다. The server receives the peer list from the peer activity management server (230), and transmits the peer list to the requesting peer (240). As described above, the peer activity management server may generate a peer list based on the message to include information on the possessing peer.

요청 피어는 피어 리스트를 이용하여 보유 피어를 확인할 수 있고, 보유 피어에게 필요한 조각을 요청할 수 있다.The requesting peer may identify the holding peer using the peer list, and may request the required fragment from the holding peer.

도 3은 일 실시예에 따른 피투피 네트워크 시스템의 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating an operation of a P2P network system according to an embodiment.

도 3을 참조하면, 피투피 네트워크 시스템은 피어(310), OMS(320), 및 PAMS(330)를 포함한다.Referring to FIG. 3 , the peer-to-peer network system includes a peer 310 , an OMS 320 , and a PAMS 330 .

피어(310)는 특정 조각 또는 특정 범위의 조각을 가진 보유 피어에 대한 정보를 OMS(320)에게 요청할 수 있다(311).The peer 310 may request information about a holding peer having a specific fragment or a specific range of fragments from the OMS 320 ( 311 ).

OMS(320)는 피어(310)의 요청이 있는 경우, 보유 피어에 대한 정보를 PAMS(330)에게 요청할 수 있다(321). 예를 들어, OMS(320)는 피어(310)의 요청에 대응하는 메시지를 생성할 수 있고, 메시지를 PAMS(330)에게 전송할 수 있다.When there is a request from the peer 310 , the OMS 320 may request information on the possessing peer from the PAMS 330 ( 321 ). For example, the OMS 320 may generate a message corresponding to the request of the peer 310 and transmit the message to the PAMS 330 .

PAMS(330)는 메시지를 이용하여 피어 리스트를 생성할 수 있다. PAMS(330)는 요청된 정보, 즉, 피어 리스트를 OMS(320)에게 전송할 수 있다(331).PAMS 330 may use the message to create a peer list. The PAMS 330 may transmit the requested information, ie, a peer list, to the OMS 320 ( 331 ).

PAMS(330)는 피투피 네트워크에 포함된 복수의 피어들의 상태 정보를 수집 및 관리할 수 있다. 위에서 설명한 것과 같이, 상태 정보는 동적 정보 및 정적 정보를 포함할 수 있다. 여기서, 동적 정보는 Piece-event를 포함할 수 있다.The PAMS 330 may collect and manage state information of a plurality of peers included in the P2P network. As described above, state information may include dynamic information and static information. Here, the dynamic information may include a Piece-event.

PAMS는 Piece-event를 이용하여 복수의 피어들 각각이 보유한 조각을 확인할 수 있다. PAMS(330)는 피어(310)에 필요한 조각을 가진 보유 피어를 식별할 수 있다. PAMS(330)는 보유 피어에 대한 정보를 포함하는 피어 리스트를 생성할 수 있다.PAMS can check the pieces owned by each of a plurality of peers by using the Piece-event. The PAMS 330 may identify the holding peer with the fragments needed by the peer 310 . The PAMS 330 may generate a peer list including information about the possessing peers.

OMS(320)는 PAMS(330)로부터 피어 리스트를 수신하고, 피어(310)에게 피어 리스트를 전송할 수 있다(322).The OMS 320 may receive the peer list from the PAMS 330 and transmit the peer list to the peer 310 ( 322 ).

도 1 내지 도 2를 통해 기술된 사항들은 도 3을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명은 생략한다.Since the matters described with reference to FIGS. 1 and 2 may be applied to the matters described with reference to FIG. 3 , a detailed description thereof will be omitted.

도 4는 일 실시예에 따른 네트워크 관리 시스템을 설명하기 위한 블록도이다.4 is a block diagram illustrating a network management system according to an embodiment.

도 4를 참조하면, 일 실시예에 따른 네트워크 관리 시스템(400)은 네트워크 관리부(410) 및 피어 활동 관리부(420)를 포함한다.Referring to FIG. 4 , the network management system 400 according to an embodiment includes a network manager 410 and a peer activity manager 420 .

네트워크 관리부(410)는 복수의 피어가 참여하는 오버레이 네트워크를 관리한다.The network manager 410 manages an overlay network in which a plurality of peers participate.

피어 활동 관리부(420)는 복수의 피어의 정보를 관리한다.The peer activity manager 420 manages information of a plurality of peers.

보다 구체적으로, 네트워크 관리부(410)는 요청 피어에게 필요한 조각을 가진 보유 피어에 대한 정보의 요청이 있는 경우, 요청에 대응하는 메시지를 생성한다. 여기서, 메시지는 피어 활동 상태, 상기 보유 피어의 최대 개수, 피어 정렬 기준, 및 상기 필요한 조각의 조건(condition) 중 적어도 하나를 포함할 수 있다. 네트워크 관리부(410)는 메시지를 피어 활동 관리부(420)로 전달한다. 피어 활동 관리부(420)는 메시지를 기초로 피어 리스트를 생성하고, 피어 리스트를 네트워크 관리부(410)로 전송한다. 네트워크 관리부(410)는 요청 피어에게 피어 리스트를 전달한다. 요청 피어는 피어 리스트를 이용하여 보유 피어에게 조각을 요청한다.More specifically, when there is a request from the requesting peer for information on the possessing peer having the required fragment, the network manager 410 generates a message corresponding to the request. Here, the message may include at least one of a peer activity status, the maximum number of peers possessed, a peer alignment criterion, and a condition of the required fragment. The network manager 410 transmits the message to the peer activity manager 420 . The peer activity manager 420 generates a peer list based on the message, and transmits the peer list to the network manager 410 . The network manager 410 transmits the peer list to the requesting peer. The requesting peer uses the peer list to request a fragment from the holding peer.

도 1 내지 도 3을 통해 기술된 사항들은 도 4를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명은 생략한다.Since the matters described with reference to FIGS. 1 to 3 may be applied to the matters described with reference to FIG. 4 , a detailed description thereof will be omitted.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

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

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (8)

요청 피어로부터 상기 요청 피어에게 필요한 조각을 가진 적어도 하나의 보유 피어에 대한 정보의 요청이 있는 경우, 피어 활동 상태, 피어 최대 개수, 피어 정렬 기준, 및 상기 필요한 조각의 조건(condition)이 설정된 메시지를 생성하는 단계;
복수의 피어의 정보를 관리하는 피어 활동 관리 서버에게 상기 메시지를 전송하는 단계;
상기 피어 활동 상태, 상기 피어 최대 개수, 상기 피어 정렬 기준, 및 상기 조건을 이용하여 생성된 피어 리스트를 상기 피어 활동 관리 서버로부터 수신하는 단계; 및
상기 피어 리스트를 상기 요청 피어로 전송하는 단계
를 포함하고,
상기 요청 피어는 상기 피어 리스트를 이용하여 상기 필요한 조각을 보유한 보유 피어에게 상기 필요한 조각을 요청하는,
서버의 동작 방법.
When there is a request from the requesting peer for information on at least one holding peer having the required fragment, a message in which the peer activity status, the maximum number of peers, the peer sort criteria, and the condition of the required fragment are set generating;
transmitting the message to a peer activity management server that manages information of a plurality of peers;
receiving, from the peer activity management server, a peer list generated using the peer activity status, the maximum number of peers, the peer sort criteria, and the condition; and
transmitting the peer list to the requesting peer
including,
the requesting peer uses the peer list to request the necessary fragment from a holding peer possessing the necessary fragment;
How the server works.
제1항에 있어서,
상기 피어 활동 상태는,
상기 보유 피어의 다운로드 활동이 완료(completed)됨을 나타내는 완료 상태 및 상기 다운로드 활동이 진행 중임을 나타내는 시작(started) 상태 중 어느 하나를 포함하는,
서버의 동작 방법.
According to claim 1,
The peer activity state is
a completion state indicating that the download activity of the holding peer is complete and a started state indicating that the download activity is in progress;
How the server works.
제1항에 있어서,
상기 피어 정렬 기준은,
상기 보유 피어가 업로드한 데이터 량, 상기 보유 피어가 다운로드한 데이터 량, 및 상기 보유 피어가 다운로드를 완료하기 위해 남아있는 데이터 량 중 적어도 하나를 포함하는,
서버의 동작 방법.
According to claim 1,
The peer sorting criterion is,
comprising at least one of an amount of data uploaded by the holding peer, an amount of data downloaded by the holding peer, and an amount of data remaining by the holding peer to complete the download,
How the server works.
제1항에 있어서,
상기 필요한 조각의 조건은,
상기 필요한 조각의 식별 정보 및 상기 필요한 조각의 범위의 식별 정보 중 어느 하나를 포함하는,
서버의 동작 방법.
According to claim 1,
The conditions for the necessary pieces are,
Containing any one of identification information of the required piece and identification information of the range of the required piece,
How the server works.
삭제delete 삭제delete 제1항에 있어서,
상기 피어 활동 관리 서버는,
상기 보유 피어로부터 수신한 상태 정보를 이용하여 상기 보유 피어가 보유한 조각을 확인하는,
서버의 동작 방법.
According to claim 1,
The peer activity management server,
Using the state information received from the holding peer to check the fragment held by the holding peer,
How the server works.
복수의 피어가 참여하는 오버레이 네트워크를 관리하는 네트워크 관리부; 및
상기 복수의 피어의 정보를 관리하는 피어 활동 관리부
를 포함하고,
상기 네트워크 관리부는,
요청 피어로부터 상기 요청 피어에게 필요한 조각을 가진 보유 피어에 대한 정보의 요청이 있는 경우, 피어 활동 상태, 피어 최대 개수, 피어 정렬 기준, 및 상기 필요한 조각의 조건이 설정된 메시지를 생성하고, 상기 메시지를 상기 피어 활동 관리부로 전달하며,
상기 피어 활동 관리부는,
상기 피어 활동 상태, 상기 피어 최대 개수, 상기 피어 정렬 기준, 및 상기 조건을 이용하여 피어 리스트를 생성하고, 상기 피어 리스트를 상기 네트워크 관리부로 전송하고,
상기 네트워크 관리부는,
상기 피어 리스트를 상기 요청 피어로 전송하고,
상기 요청 피어는,
상기 피어 리스트를 이용하여 상기 필요한 조각을 보유한 보유 피어에게 상기 필요한 조각을 요청하는,
네트워크 관리 시스템.

a network manager for managing an overlay network in which a plurality of peers participate; and
A peer activity management unit that manages information of the plurality of peers
including,
The network management unit,
When there is a request from the requesting peer for information about the holding peer having the required fragment, a message is generated in which the peer activity status, the maximum number of peers, the peer sort criteria, and the condition of the required fragment are set, and the message is transmitted forward to the peer activity management unit,
The peer activity management unit,
generating a peer list using the peer activity status, the maximum number of peers, the peer sort criteria, and the condition, and transmitting the peer list to the network manager;
The network management unit,
sending the peer list to the requesting peer;
The requesting peer is
requesting the necessary fragment from a holding peer possessing the necessary fragment by using the peer list;
network management system.

KR1020150121997A 2015-08-28 2015-08-28 Method of providing peer information and network management system of enabling the method KR102372186B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150121997A KR102372186B1 (en) 2015-08-28 2015-08-28 Method of providing peer information and network management system of enabling the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121997A KR102372186B1 (en) 2015-08-28 2015-08-28 Method of providing peer information and network management system of enabling the method

Publications (2)

Publication Number Publication Date
KR20170025497A KR20170025497A (en) 2017-03-08
KR102372186B1 true KR102372186B1 (en) 2022-03-10

Family

ID=58403681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121997A KR102372186B1 (en) 2015-08-28 2015-08-28 Method of providing peer information and network management system of enabling the method

Country Status (1)

Country Link
KR (1) KR102372186B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102135737B1 (en) * 2017-06-19 2020-08-26 한국전자통신연구원 Peer and method for starting point adaptation
KR102007981B1 (en) * 2017-09-12 2019-08-07 주식회사 비욘드테크 Management system for network quality of service based on bittorrent and service quality improvenent method using the same

Citations (1)

* 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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101466942B1 (en) * 2012-11-27 2014-12-03 한국전자통신연구원 Method for managing peer-to-peer network

Patent Citations (1)

* 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wook Hyun et al., "An information sharing method among distributed peer activity management server on managing peer’s activities in MP2P network", ICACT2013(2013.01.30.)*

Also Published As

Publication number Publication date
KR20170025497A (en) 2017-03-08

Similar Documents

Publication Publication Date Title
US11762703B2 (en) Multi-region request-driven code execution system
US10826979B2 (en) Apparatus and method for logically grouping client nodes in an IoT environment using client identifiers
US10372499B1 (en) Efficient region selection system for executing request-driven code
US20180373517A1 (en) Systems, methods, and apparatuses for docker image downloading
US10812600B1 (en) Enforcing session properties compliance for gateway connected publish-subscribe clients
US10146848B2 (en) Systems and methods for autonomous, scalable, and distributed database management
US9935819B2 (en) Daisy chain distribution in data centers
US8938510B2 (en) On-demand mailbox synchronization and migration system
US9560165B2 (en) BT offline data download system and method, and computer storage medium
US8762931B2 (en) Generating an encoded package profile
US10038752B2 (en) Method and system for execution of client-initiated operations on file handles in a distributed server system
CN106712981B (en) Node change notification method and device
US20140358869A1 (en) System and method for accelerating mapreduce operation
CN113778463B (en) Business service deployment method and device
US20230300018A1 (en) Autonomous server agents
KR102365755B1 (en) Method of managing resource and peer-to-peer system including network management server
KR102372186B1 (en) Method of providing peer information and network management system of enabling the method
KR102346689B1 (en) Operation method of peer to peer network management system and peer to peer network management system
US9342291B1 (en) Distributed update service
US9942354B1 (en) Managing service message rates in a computing service environment
CN114697334B (en) Method and device for executing scheduling task
CN103731511A (en) Data acquiring method and data acquiring device in P2P (Peer-to-Peer) system
KR20220032229A (en) Method for controlling data transmission in distributed network and appratuses perfroming the same
US10187278B2 (en) Channel management in scalable messaging system
US10742718B1 (en) Distributed computing system node management

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)