KR102346835B1 - Method for measuring p2p network usage, recording medium, device and system for performing the method - Google Patents

Method for measuring p2p network usage, recording medium, device and system for performing the method Download PDF

Info

Publication number
KR102346835B1
KR102346835B1 KR1020200100086A KR20200100086A KR102346835B1 KR 102346835 B1 KR102346835 B1 KR 102346835B1 KR 1020200100086 A KR1020200100086 A KR 1020200100086A KR 20200100086 A KR20200100086 A KR 20200100086A KR 102346835 B1 KR102346835 B1 KR 102346835B1
Authority
KR
South Korea
Prior art keywords
file
downloader
file transfer
uploader
manager
Prior art date
Application number
KR1020200100086A
Other languages
Korean (ko)
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 KR1020200100086A priority Critical patent/KR102346835B1/en
Application granted granted Critical
Publication of KR102346835B1 publication Critical patent/KR102346835B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1435Metric aspects volume-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1453Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network
    • H04L12/1482Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network involving use of telephony infrastructure for billing for the transport of data, e.g. call detail record [CDR] or intelligent network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a method for measuring P2P network usage comprising the following steps: allowing an uploader to acquire a proof of provenance from a manager; starting a P2P communication session through a handshake between a downloader and the uploader when the downloader's file transfer order is completed; transmitting, by the uploader, a file of an ordered file transfer unit (piece) to the downloader when receiving an ordered file transfer unit (piece) from the downloader; transmitting, by the uploader, a file transfer receipt to the manager when receiving a file transfer receipt (proof of piece) and a piece received ACK from the downloader; and receiving a file transfer fee from the manager on the basis of the file transfer receipt when the download of the file is completed. Accordingly, the method can provide a highly reliable content charging policy among users of a P2P file transfer network.

Description

p2p 네트워크 사용량을 측정하기 위한 방법, 이를 수행하기 위한 기록 매체, 장치 및 시스템{METHOD FOR MEASURING P2P NETWORK USAGE, RECORDING MEDIUM, DEVICE AND SYSTEM FOR PERFORMING THE METHOD}Method for measuring p2p network usage, recording medium, device and system for doing it

본 발명은 p2p 네트워크 사용량을 측정하기 위한 방법, 이를 수행하기 위한 기록 매체, 장치 및 시스템에 관한 것으로서, 더욱 상세하게는 CDN(content delivery network) 환경에서 사용자 간에 높은 신뢰성을 유지할 수 있는 p2p 파일 전송 네트워크 사용량을 측정하기 위한 기술에 관한 것이다.The present invention relates to a method for measuring p2p network usage, a recording medium, an apparatus and a system for performing the same, and more particularly, a p2p file transfer network capable of maintaining high reliability between users in a content delivery network (CDN) environment. It relates to technology for measuring usage.

p2p 파일전송 시 네트워크 사용량에 따른 청구를 위해 사용량 측정을 위한 시스템 및 방법이 필요하다. 하지만, 서버 클라이언트 모델과는 달리 사용자끼리 파일전송이 진행되므로 사용자 간의 믿음이 없으면 파일전송이 어려운 문제가 있다.A system and method for measuring usage are needed for billing according to network usage during p2p file transfer. However, unlike the server-client model, since file transfer is performed between users, there is a problem in that file transfer is difficult without trust between users.

예를 들어, 사용자 A는 사용자 B에게 1gb를 전송했으니 1gb에 해당하는 전송비 및 사용료를 청구하는 경우, 사용자 B는 사용자 A에게 전송받은 파일은 없고 사용자 C에게 1gb를 받았다고 항의하는 일명 공모공격(Collusion attack)의 문제가 발생할 수 있다.For example, if user A has transmitted 1gb to user B, and therefore charges a transmission fee and usage fee equivalent to 1gb, user B complains that there is no file transmitted from user A and that user C receives 1gb (a so-called collusion attack ( Collusion attack) may occur.

따라서, 사용자들 간의 p2p 네트워크 사용량을 신뢰할 수 있는 측정 방법과 청구할 수 있는 방법이 필요한 실정이다.Therefore, there is a need for a reliable measurement method and a method for billing the p2p network usage between users.

KR 10-2063309 B1KR 10-2063309 B1 US 9,735,972 B2US 9,735,972 B2

Kim, K.; You, Y.; Park, M.; Lee, K. DDoS Mitigation: Decentralized CDN Using Private Blockchain. 2018 Tenth International Conference on Ubiquitous and Future Networks (ICUFN). IEEE, 2018, pp. 693-696. Kim, K.; You, Y.; Park, M.; Lee, K. DDoS Mitigation: Decentralized CDN Using Private Blockchain. 2018 Tenth International Conference on Ubiquitous and Future Networks (ICUFN). IEEE, 2018, pp. 693-696.

이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 p2p 네트워크 사용량을 측정하기 위한 방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide a method for measuring p2p network usage.

본 발명의 다른 목적은 상기 p2p 네트워크 사용량을 측정하기 위한 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.Another object of the present invention is to provide a recording medium in which a computer program for performing the method for measuring the p2p network usage is recorded.

본 발명의 또 다른 목적은 상기 p2p 네트워크 사용량을 측정하기 위한 방법을 수행하기 위한 장치를 제공하는 것이다.Another object of the present invention is to provide an apparatus for performing the method for measuring the p2p network usage.

본 발명의 더욱 또 다른 목적은 상기 p2p 네트워크 사용량을 측정하기 위한 방법을 수행하기 위한 시스템을 제공하는 것이다.Still another object of the present invention is to provide a system for performing the method for measuring the p2p network usage.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 방법은, 업로더(Uploader)가 관리자(Manager)로부터 출처증명(proof of provenance)을 획득하는 단계; 다운로더(Downloader)의 파일 전송 주문이 완료되면, 상기 다운로더와 상기 업로더 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)이 시작되는 단계; 상기 다운로더로부터 주문한 파일 전송 단위(piece)를 수신하면, 주문한 파일 전송 단위(piece)의 파일을 상기 업로더가 상기 다운로더에게 전송하는 단계; 상기 다운로더로부터 파일전송 영수증(proof of piece) 및 전송확인(piece received ACK)을 수신하면, 상기 파일전송 영수증을 상기 업로더가 상기 관리자에 전달하는 단계; 및 파일의 다운로드가 완료된 경우 상기 파일전송 영수증을 기초로 상기 관리자로부터 파일 전송료를 정산받는 단계;를 포함한다.A method for measuring p2p network usage according to an embodiment for realizing the above object of the present invention includes: an uploader obtaining proof of provenance from a manager; when the downloader's file transfer order is completed, starting a p2p communication session through a handshake between the downloader and the uploader; transmitting, by the uploader, the file of the ordered file transfer unit (piece) to the downloader when receiving the ordered file transfer unit (piece) from the downloader; transmitting, by the uploader, the file transfer receipt to the manager when receiving a file transfer receipt and a piece received ACK from the downloader; and receiving a file transfer fee from the manager based on the file transfer receipt when the download of the file is completed.

본 발명의 실시예에서, 상기 p2p 네트워크 사용량을 측정하기 위한 방법은, 파일의 다운로드가 정상적으로 완료되면, 상기 관리자에 의해 상기 다운로더가 업로더가 될 수 있는 권한을 부여받는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the method for measuring the p2p network usage may further include, when the download of the file is normally completed, receiving an authority for the downloader to become an uploader by the administrator. have.

본 발명의 실시예에서, 관리자에 의해 파일을 다운받은 다운로더의 challenge and response를 통해 파일의 다운로드가 정상적으로 완료되었는지 여부를 확인할 수 있다.In an embodiment of the present invention, it is possible to check whether the download of the file is normally completed through the challenge and response of the downloader who has downloaded the file by the administrator.

본 발명의 실시예에서, 상기 파일전송 영수증을 상기 업로더가 상기 관리자에 전달하는 단계는, 정기적으로 또는 프로그램 종료 전에 최신 파일전송 영수증(proof of piece)을 전달할 수 있다.In an embodiment of the present invention, the step of the uploader delivering the file transfer receipt to the manager may deliver the latest proof of piece periodically or before program termination.

본 발명의 실시예에서, 상기 관리자로부터 파일 전송료를 정산받는 단계는, 일정 기간의 전체 파일 전송료를 정산받을 수 있다.In an embodiment of the present invention, the step of receiving the file transfer fee payment from the manager may include receiving the total file transfer fee for a certain period of time.

본 발명의 실시예에서, 상기 파일전송 영수증(proof of piece)은, Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader’s signature 및 Uploader’s signature를 포함할 수 있다.In an embodiment of the present invention, the file transfer receipt (proof of piece) may include a Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature and Uploader's signature.

본 발명의 실시예에서, 상기 출처증명(proof of provenance)은, Content delivery contract ID, Provenance flag, Uploader’s address 및 Manager’s signature를 포함할 수 있다.In an embodiment of the present invention, the proof of provenance may include a Content delivery contract ID, a Provenance flag, an Uploader's address, and a Manager's signature.

상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 p2p 네트워크 사용량을 측정하기 위한 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다. In the computer-readable storage medium according to an embodiment for realizing the other object of the present invention, a computer program for performing the method for measuring the p2p network usage is recorded.

상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 장치는, 관리자(Manager)로부터 출처증명(proof of provenance)을 획득하는 권리 획득부; 다운로더(Downloader)의 파일 전송 주문이 완료되면, 상기 다운로더와 상기 업로더 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)을 시작하는 세션부; 상기 다운로더로부터 주문한 파일 전송 단위(piece)를 수신하면, 주문한 파일 전송 단위(piece)의 파일을 상기 다운로더에게 전송하는 파일 전송부; 상기 다운로더로부터 파일전송 영수증(proof of piece) 및 전송확인(piece received ACK)을 수신하면, 상기 파일전송 영수증을 상기 관리자에 전달하는 영수증 전달부; 및 파일의 다운로드가 완료된 경우 상기 파일전송 영수증을 기초로 상기 관리자로부터 파일 전송료를 정산받는 정산부;를 포함한다.An apparatus for measuring p2p network usage according to an embodiment for realizing another object of the present invention includes: a right acquiring unit for acquiring proof of provenance from a manager; a session unit for starting a p2p communication session through a handshake between the downloader and the uploader when the downloader's file transfer order is completed; a file transmission unit for transmitting the ordered file transmission unit (piece) of the file to the downloader when receiving the ordered file transmission unit (piece) from the downloader; a receipt transfer unit for transmitting the file transfer receipt to the manager when receiving a file transfer receipt and a piece received ACK from the downloader; and a settlement unit receiving a file transfer fee from the manager based on the file transfer receipt when the file download is completed.

상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 시스템은, 파일 다운로드 주문을 하고, 출처증명(proof of provenance) 확인을 통해 업로더(Uploader)의 업로드 권한을 확인하는 다운로더(Downloader); 상기 다운로더가 주문한 파일 전송 단위(piece)의 파일을 상기 다운로더에게 전송하고, 상기 다운로더로부터 파일전송 영수증(proof of piece)를 수신하는 업로더; 상기 업로더로부터 전달받은 파일전송 영수증을 기초로 파일 전송료를 정산하고, 파일의 다운로드가 정상적으로 완료된 다운로더에게 업로더가 될 수 있는 권한을 부여하는 관리자; 및 상기 관리자에 의해 파일 다운로드 주문, p2p 파일 전송을 위한 정보, peer 정보, 상기 파일전송 영수증 및 상기 출처증명을 저장하는 데이터베이스;를 포함한다.The system for measuring the p2p network usage according to an embodiment for realizing another object of the present invention, places a file download order, and uploads the uploader through verification of proof of provenance Downloader to check permissions; an uploader for transmitting a file of a file transfer unit ordered by the downloader to the downloader, and receiving a file transfer receipt (proof of piece) from the downloader; an administrator who settles the file transfer fee based on the file transfer receipt received from the uploader and grants the right to become an uploader to a downloader who has successfully downloaded a file; and a database for storing a file download order by the administrator, information for p2p file transfer, peer information, the file transfer receipt, and the proof of origin.

이와 같은 p2p 네트워크 사용량을 측정하기 위한 방법에 따르면, 사용자 간의 신뢰를 낮추는 공모공격(Collusion attack)에 대한 보안성이 우수하다. 또한, 사용자들과의 신뢰성이 높아짐으로써 p2p 파일 전송 네트워크에 더 적극적으로 참여를 유도할 수 있고 파일전송 속도가 평균적으로 빨라지는 효과를 가져올 수 있다.According to the method for measuring such p2p network usage, security against a collusion attack that lowers trust between users is excellent. In addition, by increasing the reliability with users, it is possible to induce more active participation in the p2p file transfer network and bring about the effect of increasing the average file transfer speed.

도 1은 본 발명의 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 시스템의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 장치의 블록도이다.
도 3은 도 1의 관리자 구조의 일례를 보여주는 개념도이다.
도 4는 도 1의 시스템에서 사용자들의 역할 및 사용량 측정의 순서를 설명하기 위한 개념도이다.
도 5는 종래 기술과 본 발명의 파일 전송의 차이를 보여주기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 방법의 흐름도이다.
도 7은 본 발명에 따른 파일 전송의 예시를 보여주는 타이밍도이다.
1 is a conceptual diagram of a system for measuring p2p network usage according to an embodiment of the present invention.
2 is a block diagram of an apparatus for measuring p2p network usage according to an embodiment of the present invention.
3 is a conceptual diagram illustrating an example of the manager structure of FIG. 1 .
FIG. 4 is a conceptual diagram for explaining roles of users and the order of usage measurement in the system of FIG. 1 .
5 is a diagram to show the difference between the file transfer of the prior art and the present invention.
6 is a flowchart of a method for measuring p2p network usage according to an embodiment of the present invention.
7 is a timing diagram illustrating an example of file transfer according to the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scope equivalents as those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 장치의 블록도이다. 도 2는 본 발명의 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 장치의 블록도이다. 도 3은 도 1의 관리자 구조의 일례를 보여주는 개념도이다.1 is a block diagram of an apparatus for measuring p2p network usage according to an embodiment of the present invention. 2 is a block diagram of an apparatus for measuring p2p network usage according to an embodiment of the present invention. 3 is a conceptual diagram illustrating an example of the manager structure of FIG. 1 .

본 발명에 따른 p2p 네트워크 사용량을 측정하기 위한 장치(10, 이하 장치)는 CDN(content delivery network) 환경에서 사용자들 간의 p2p 네트워크 사용량을 신뢰할 수 있는 측정 방법과 청구할 수 있는 기술에 관한 것이다.An apparatus 10 (hereinafter referred to as an apparatus) for measuring p2p network usage according to the present invention relates to a reliable measurement method and a technology capable of billing p2p network usage among users in a content delivery network (CDN) environment.

도 1을 참조하면, 본 발명에 따른 시스템(1)은 CDN(content delivery network) 환경으로 p2p 파일 전송을 기반으로 하며, 관리자(10, Manager), 업로더(30, Uploader), 다운로더(50, Downloader) 및 크리에이터(70, Creator) 등의 유저들이 있다. 상기 업로더(30), 상기 다운로더(50) 및 상기 크리에이터(70)는 다수가 존재할 수 있다.Referring to FIG. 1 , a system 1 according to the present invention is based on p2p file transmission to a CDN (content delivery network) environment, and includes a manager (10, Manager), an uploader (30, Uploader), a downloader (50, Downloader) and creators (70, Creator). A plurality of the uploader 30 , the downloader 50 , and the creator 70 may exist.

상기 다운로더(50)는 파일을 다운로드 하고 싶은 유저이고, 상기 업로더(30)는 상기 다운로더(50)가 원하는 파일을 보유하고 있고 파일을 전송해서 파일 전송료를 지급받고 싶은 유저이다.The downloader 50 is a user who wants to download a file, and the uploader 30 is a user who has the file desired by the downloader 50 and wants to receive a file transfer fee by transmitting the file.

상기 관리자(10)는 지불 서버(payment server)로 활동하고, 업로더 및 다운로더와 관련 없고 모두가 믿을 수 있는 제3자이다. 상기 관리자(10)는 p2p 파일 전송을 위한 swarm 정보를 저장하고 있고 peerlist 를 관리한다(Tracker 기능제공). The administrator 10 acts as a payment server and is a trusted third party not affiliated with uploaders and downloaders. The manager 10 stores swarm information for p2p file transfer and manages a peerlist (a Tracker function is provided).

상기 관리자(10)는 데이터베이스(이하, DB)를 관리하며, DB에 있는 정보는 공개되어있어 read는 아무나 가능하지만, write는 상기 관리자(10)만 가능하다. DB에 저장된 모든 정보는 디지털 서명(digital signature, 예를 들어, 정보생성자의 서명 및 관리자의 서명)가 포함되어 있다.The manager 10 manages a database (hereinafter referred to as DB), and since information in the DB is public, anyone can read, but only the manager 10 can write. All information stored in the DB includes a digital signature (for example, the signature of the information creator and the signature of the administrator).

상기 크리에이터(70)는 파일의 원소유자이고, 상기 크리에이터(70)는 공유하고 싶은 파일을 상기 관리자(10)에게 먼저 업로드 해야 한다. 업로드된 파일은 DB에 등록이 되고 상기 다운로더(50)는 파일 다운로드 주문을 통해 다운로드 할 수 있다.The creator 70 is the original owner of the file, and the creator 70 must first upload a file to be shared to the manager 10 . The uploaded file is registered in the DB, and the downloader 50 can download it through a file download order.

상기 관리자(10)는 서버(server) 또는 엔진(engine) 형태일 수 있으며, 상기 업로더(30), 상기 다운로더(50) 및 상기 크리에이터(70)는 각각 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device)의 형태일 수 있다.The manager 10 may be in the form of a server or an engine, and the uploader 30, the downloader 50, and the creator 70 are each a device, an apparatus, It may be in the form of a terminal, user equipment (UE), mobile station (MS), wireless device, or handheld device.

상기 업로더(30), 상기 다운로더(50) 및 상기 크리에이터(70)는 이동성을 갖거나 고정될 수 있다. 또한, 상기 업로더(30), 상기 다운로더(50) 및 상기 크리에이터(70)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. The uploader 30 , the downloader 50 , and the creator 70 may have mobility or may be fixed. In addition, the uploader 30 , the downloader 50 , and the creator 70 may execute or produce various software based on an operating system (OS), that is, the system.

상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.The operating system is a system program for software to use the hardware of the device, and is a mobile computer operating system such as Android OS, iOS, Windows Mobile OS, Bada OS, Symbian OS, Blackberry OS and Windows series, Linux series, Unix series, It can include all computer operating systems such as MAC, AIX, and HP-UX.

상기 관리자(10), 상기 업로더(30), 상기 다운로더(50) 및 상기 크리에이터(70)는 각각 서버나 장치이나, 이하에서는 상기 업로더(30)를 p2p 네트워크 사용량을 측정하기 위한 장치로 정의하고, 그 역할을 중심으로 본 발명을 설명하고자 한다.The manager 10, the uploader 30, the downloader 50, and the creator 70 are each a server or device, but hereinafter, the uploader 30 is defined as a device for measuring p2p network usage. and the present invention will be described with a focus on its role.

도 2를 참조하면, 본 발명에 따른 장치(30)는 권리 획득부(310), 세션부(330), 파일 전송부(350), 영수증 전달부(370) 및 정산부(390)를 포함한다.Referring to FIG. 2 , the device 30 according to the present invention includes a rights acquiring unit 310 , a session unit 330 , a file transmission unit 350 , a receipt transmission unit 370 , and a settlement unit 390 . .

본 발명의 상기 장치(10)는 p2p 네트워크 사용량을 측정하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 권리 획득부(310), 상기 세션부(330), 상기 파일 전송부(350), 상기 영수증 전달부(370) 및 상기 정산부(390)의 구성은 상기 장치(10)에서 실행되는 상기 p2p 네트워크 사용량을 측정하기 위한 소프트웨어에 의해 제어될 수 있다. In the device 10 of the present invention, software (application) for measuring p2p network usage may be installed and executed, and the right acquisition unit 310, the session unit 330, the file transfer unit 350, The configuration of the receipt delivery unit 370 and the settlement unit 390 may be controlled by software for measuring the p2p network usage executed in the device 10 .

상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 권리 획득부(310), 상기 세션부(330), 상기 파일 전송부(350), 상기 영수증 전달부(370) 및 상기 정산부(390)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.The device 10 may be a separate terminal or may be a part of a module of the terminal. In addition, the configuration of the right acquisition unit 310 , the session unit 330 , the file transmission unit 350 , the receipt transmission unit 370 and the settlement unit 390 is formed as an integrated module, or one or more It can be made of modules. However, on the contrary, each configuration may be formed of a separate module.

상기 권리 획득부(310)는 상기 관리자(10)로부터 출처증명(proof of provenance)을 획득한다. 상기 출처증명(proof of provenance)은, Content delivery contract ID, Provenance flag, Uploader's address 및 Manager's signature를 포함할 수 있다. 아래의 표 1은 출처증명(proof of provenance)의 구조 및 설명이다.The right acquiring unit 310 acquires a proof of provenance from the manager 10 . The proof of provenance may include a Content delivery contract ID, a Provenance flag, an Uploader's address, and a Manager's signature. Table 1 below is the structure and description of proof of provenance.

Proof of provenance 구조Proof of provenance structure 설명Explanation Content delivery contract IDContent delivery contract ID Manager가 부여하는 파일 다운로드 주문 ID임. File download order ID given by Manager. Provenance flagProvenance flag ‘1’ 이면 valid provenance이고 ‘0’이면 invalid provenance임. Invalid provenance는 Manager가 받은 proof of piece 중 proof of provenace에 문제가 있거나 Downloader가 다운로드를 정지하고 환불받고 싶을 때 부여됨. If ‘1’ is valid provenance, ‘0’ is invalid provenance. Invalid provenance is granted when there is a problem with the proof of provenace among the proofs of piece received by the Manager, or when the Downloader stops downloading and wants a refund. Uploader’s addressUploader’s address digital signature에 이용되는 hash(uploader’s public key).The hash (uploader's public key) used for the digital signature. Manager’s signatureManager’s signature Manager의 서명. Manager's signature.

상기 세션부(330)는 상기 다운로더(50)의 파일 전송 주문이 완료되면, 상기 다운로더(50)와 상기 업로더(30) 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)을 시작한다.When the file transfer order of the downloader 50 is completed, the session unit 330 starts a p2p communication session through a handshake between the downloader 50 and the uploader 30 .

상기 파일 전송부(350)는 상기 다운로더(50)로부터 주문한 파일 전송 단위(piece)를 수신하면, 주문한 파일 전송 단위(piece)의 파일을 상기 다운로더(50)에게 전송한다.When the file transmission unit 350 receives the ordered file transmission unit from the downloader 50 , the file transmission unit 350 transmits the ordered file transmission unit file to the downloader 50 .

상기 영수증 전달부(370)는 상기 다운로더로부터 파일전송 영수증(proof of piece) 및 전송확인(piece received ACK)을 수신하면, 상기 파일전송 영수증을 상기 관리자에 전달한다. 상기 파일전송 영수증(proof of piece)은 정기적으로 또는 프로그램 종료 전에 최신 파일전송 영수증(proof of piece)을 전달할 수 있다.When the receipt transfer unit 370 receives a file transfer receipt (proof of piece) and a piece received ACK from the downloader, it transmits the file transfer receipt to the manager. The proof of piece may deliver an up-to-date proof of piece periodically or prior to program termination.

상기 파일전송 영수증(proof of piece)은, Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature 및 Uploader's signature를 포함할 수 있다. 아래의 표 2는 파일전송 영수증(proof of piece)의 구조 및 설명이다.The file transfer receipt (proof of piece) may include a Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature and Uploader's signature. Table 2 below is the structure and description of the file transfer receipt (proof of piece).

Proof of piece 구조Proof of piece structure 설명Explanation Content delivery contract IDContent delivery contract ID Manager가 부여하는 파일 다운로드 주문 ID임. File download order ID given by Manager. Total # of new piecesTotal # of new pieces Uploader가 보낸 piece중 보유하고 있지 않은 piece 개수. Number of pieces sent by the Uploader that are not in your possession. Total # of duplicate piecesTotal # of duplicate pieces Uploader가 보낸 piece중 다른 uploader에게 받은 piece 개수. “Total # of duplicate pieces”는 “Total # of new pieces”를 능가하면 안 됨. 초기에는 Downloader가 각 Uploader에게 non-overlapping piece request를 시행함. The number of pieces received by another uploader among the pieces sent by the uploader. “Total # of duplicate pieces” must not exceed “Total # of new pieces”. Initially, the downloader issues a non-overlapping piece request to each uploader. Proof of provenanceProof of provenance 표 1 참고See Table 1 Downloader’s signatureDownloader's signature Downloader의 전자 서명. Downloader가 proof of piece에 대한 서명을 먼저함. Downloader's electronic signature. Downloader signs proof of piece first. Uploader’s signatureUploader's signature Downloader의 전자 서명된 proof of piece를 Uploader가 전자서명함.Downloader's digitally signed proof of piece is digitally signed by Uploader.

상기 정산부(390)는 파일의 다운로드가 완료된 경우 상기 파일전송 영수증을 기초로 상기 관리자로부터 파일 전송료를 정산받는다. 일 실시예에서, 파일 전송료는 일정 기간의 전체 파일 전송료를 정산받을 수 있다.The settlement unit 390 receives a file transfer fee from the manager based on the file transfer receipt when the download of the file is completed. In an embodiment, the file transfer fee may be calculated as a total file transfer fee for a certain period.

상기 관리자(10)는 파일을 다운받은 상기 다운로더(50)와 challenge and response를 통해 파일의 다운로드가 정상적으로 완료되었는지 여부를 확인할 수 있다. 또한, 파일의 다운로드가 정상적으로 완료되면, 상기 관리자(10)는 상기 다운로더(50)가 해당 파일의 업로더가 될 수 있는 권한을 부여할 수 있다.The manager 10 can check whether the download of the file is normally completed through the downloader 50 and the challenge and response that have downloaded the file. In addition, when the download of the file is normally completed, the manager 10 may grant authority to the downloader 50 to become an uploader of the file.

도 3을 참조하면, 상기 관리자(10)의 구조로서 DB(110), 켄텐츠의 리스트를 관리하는 컨텐츠 저장소(130), 업로더의 권한을 인증하는 인증부(150), 디지털 저작권 관리(Digital Rights Management)를 담당하는 DRM부(170), swarm 정보 및 peer 정보 등을 관리하는 P2P부(190) 등을 포함할 수 있다.Referring to FIG. 3 , as the structure of the manager 10 , the DB 110 , the content storage 130 for managing a list of contents, the authentication unit 150 for authenticating the authority of the uploader, and digital rights management (Digital Rights) Management) may include a DRM unit 170, a P2P unit 190 that manages swarm information and peer information, and the like.

상기 DB(110)는 상기 관리자(10)의 관리를 받으며, 다운가능한 컨텐츠의 리스트, 네트워크 swarm 정보, 컨텐츠 전송 계약 상태 및 컨텐츠 전송 계약 별 파일전송 영수증(proof of piece) 등을 저장하고 있다.The DB 110 is managed by the manager 10, and stores a list of downloadable content, network swarm information, a state of a content transfer contract, and a file transfer receipt (proof of piece) for each content transfer contract.

도 4는 도 1의 시스템에서 사용자들의 역할 및 사용량 측정의 순서를 설명하기 위한 개념도이다.FIG. 4 is a conceptual diagram for explaining roles of users and the order of usage measurement in the system of FIG. 1 .

도 4를 참조하면, 상기 크리에이터(70)는 상기 관리자(10)에게 컨텐츠를 등록한다. 파일을 전송받고자 하는 다운로더 2(52)는 컨텐츠 전송 계약 및 swarm 정보를 검색한다. p2p 파일전송 전에 다운로더 2(52)는 업로더 1(31)의 업로드 권한에 Proof of provenance이 저장된 DB를 이용하여 확인한다. Referring to FIG. 4 , the creator 70 registers content with the manager 10 . The downloader 2 (52) who wants to receive the file retrieves the content transfer contract and swarm information. Before the p2p file transfer, the downloader 2 (52) checks the upload authority of the uploader 1 (31) by using the DB in which the Proof of provenance is stored.

상기 다운로더 2(52)는 상기 업로더 1(31)에게 p2p 핸드셰이크(handshake)를 요청한다. 상기 업로더 1(31)는 상기 관리자(10)에게 컨텐츠 전송 계약을 확인받고, 상기 업로더 1(31)와 상기 다운로더 2(52) 간에 p2p 통신을 통한 컨텐츠 전송이 시작된다.The downloader 2 (52) requests a p2p handshake from the uploader 1 (31). The uploader 1 ( 31 ) receives a content transmission contract from the manager ( 10 ), and starts content transmission through p2p communication between the uploader 1 ( 31 ) and the downloader 2 ( 52 ).

컨텐츠 전송이 완료되면, 상기 다운로더 2(52)는 상기 업로더 1(31)가 보낸 전송에 대한 영수증인 파일전송 영수증(proof of piece)을 발급하여 상기 업로더 1(31)에게 전달한다. When the content transmission is completed, the downloader 2 (52) issues a file transfer receipt (proof of piece), which is a receipt for the transmission sent by the uploader 1 (31), and delivers it to the uploader 1 (31).

상기 업로더 1(31)는 파일전송 영수증(proof of piece)를 정기적으로 상기 관리자(10)에 전달한다(또한 프로그램을 종료 전에). 또한, 상기 다운로더 2(52)는 상기 관리자(10)에게 다운로드가 완료되었음을 확인해주고, DB에 저장된 출처증명(proof of provenance)을 확인한다.The uploader 1 (31) periodically delivers a file transfer proof of piece to the manager (10) (and before terminating the program). In addition, the downloader 2 52 confirms that the download has been completed to the manager 10 and checks the proof of provenance stored in the DB.

상기 관리자(10)는 출처증명(proof of provenance)을 DB에 저장하고 파일 다운로드가 완료후 상기 업로더 1(31) 및 상기 크리에이터(70)에게 파일 전송료를 지급한다.The manager 10 stores a proof of provenance in a DB and pays a file transmission fee to the uploader 1 31 and the creator 70 after the file download is completed.

다운로더는 출처증명(proof of provenance)을 보유하고 있는 업로드에게서만 다운로드 할 수 있고, 다운로드가 완료된 후 관리자가 challenge and response를 통해 파일이 정상적으로 다운로드 됐는지 확인한다. 정상적으로 확인이 되면 관리자는 출처증명(proof of provenance)를 DB에 저장해서 다운로더가 업로더가 될 수 있는 권한을 부여한다.Downloaders can only download from uploads that have proof of provenance, and after the download is complete, the administrator checks whether the file has been downloaded normally through challenge and response. If it is confirmed normally, the administrator saves the proof of provenance in the DB and grants the downloader the right to become the uploader.

도 5는 종래 기술과 본 발명의 파일 전송의 차이를 보여주기 위한 도면이다.5 is a diagram to show the difference between the file transfer of the prior art and the present invention.

도 5(a)는 종래 파일 전송 구조를 도시한 것으로, 관리자만 파일을 보유하고 있어서 관리자만 파일을 전송 할 수 있다. FIG. 5( a ) shows a conventional file transfer structure, and only an administrator has a file, so that only an administrator can transfer a file.

그러나, 도 5(b)를 참조하면, 본 발명은 파일을 다운받은 다운로더 4, 5, 6, 7은 관리자의 challenge and response를 통과하고 파일전송 영수증(proof of piece)를 받을 수 있다(DB에 등록). 출처증명(proof of provenance)을 보유한 다운로더 4, 5, 6, 7은 업로더의 신분으로 다른 다운로더에게 파일을 전송할 수 있다. However, referring to FIG. 5(b), according to the present invention, downloaders 4, 5, 6, and 7 who have downloaded the file can pass the administrator's challenge and response and receive a file transfer receipt (proof of piece) (in DB Enrollment). Downloaders 4, 5, 6 and 7 with proof of provenance can send files to other downloaders as the uploader.

이에 따라, 파일전송 속도가 평균적으로 빨라지는 효과를 가져올 수 있다. 또한, 본 발명은 사용자 간의 신뢰를 낮추는 공모공격(Collusion attack)에 대한 보안성이 우수하므로, 사용자들과의 신뢰성이 높아짐으로써 p2p 파일 전송 네트워크에 더 적극적으로 참여를 유도할 수 있다.Accordingly, it is possible to bring about an effect of increasing the file transfer speed on average. In addition, since the present invention has excellent security against a collusion attack that lowers trust between users, it is possible to induce more active participation in a p2p file transfer network by increasing trust with users.

도 6은 본 발명의 일 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 방법의 흐름도이다. 도 7은 본 발명에 따른 파일 전송의 예시를 보여주는 타이밍도이다.6 is a flowchart of a method for measuring p2p network usage according to an embodiment of the present invention. 7 is a timing diagram showing an example of file transfer according to the present invention.

본 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 방법은, 도 1의 시스템(1)과 도 2의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 시스템(1)과 도 2의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다. The method for measuring the p2p network usage according to the present embodiment may proceed in substantially the same configuration as the system 1 of FIG. 1 and the device 10 of FIG. 2 . Accordingly, the same components as the system 1 of FIG. 1 and the apparatus 10 of FIG. 2 are given the same reference numerals, and repeated descriptions are omitted.

또한, 본 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 방법은 p2p 네트워크 사용량을 측정하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.Also, the method for measuring the p2p network usage according to the present embodiment may be executed by software (application) for measuring the p2p network usage.

본 발명에 따른 p2p 네트워크 사용량을 측정하기 위한 방법은 CDN(content delivery network) 환경에서 사용자들 간의 p2p 네트워크 사용량을 신뢰할 수 있는 측정 방법과 청구할 수 있는 기술에 관한 것이다.A method for measuring p2p network usage according to the present invention relates to a reliable measurement method and a technology capable of billing p2p network usage among users in a content delivery network (CDN) environment.

CDN(content delivery network) 환경의 p2p 파일 전송 네트워크에서는 도 1과 같이 관리자(10), 업로더(30), 다운로더(50) 및 크리에이터(70)로 역할하는 서버나 장치 형태의 유저들이 존재한다. 이하에서는 상기 업로더(30)를 p2p 네트워크 사용량을 측정하기 위한 장치로 정의하고, 그 역할을 중심으로 본 발명을 설명하고자 한다.In a p2p file transfer network in a content delivery network (CDN) environment, as shown in FIG. 1 , there are users in the form of servers or devices serving as the manager 10 , the uploader 30 , the downloader 50 , and the creator 70 . Hereinafter, the uploader 30 is defined as a device for measuring the p2p network usage, and the present invention will be described with a focus on its role.

도 6을 참조하면, 본 실시예에 따른 p2p 네트워크 사용량을 측정하기 위한 방법은, 업로더(Uploader)가 관리자(Manager)로부터 출처증명(proof of provenance)을 획득한다(단계 S10). Referring to FIG. 6 , in the method for measuring the p2p network usage according to the present embodiment, an uploader obtains proof of provenance from a manager (step S10 ).

상기 출처증명(proof of provenance)은, Content delivery contract ID, Provenance flag, Uploader's address 및 Manager's signature를 포함할 수 있다.The proof of provenance may include a Content delivery contract ID, a Provenance flag, an Uploader's address, and a Manager's signature.

다운로더(Downloader)의 파일 전송 주문이 완료되면, 상기 다운로더와 상기 업로더 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)이 시작된다(단계 S20).When the downloader's file transfer order is completed, a p2p communication session is started through a handshake between the downloader and the uploader (step S20).

상기 다운로더로부터 주문한 파일 전송 단위(piece)를 수신하면, 주문한 파일 전송 단위(piece)의 파일을 상기 업로더가 상기 다운로더에게 전송한다(단계 S30).Upon receiving the ordered file transfer unit (piece) from the downloader, the uploader transmits the file of the ordered file transfer unit (piece) to the downloader (step S30).

상기 다운로더로부터 파일전송 영수증(proof of piece) 및 전송확인(piece received ACK)을 수신하면, 상기 파일전송 영수증을 상기 업로더가 상기 관리자에 전달한다(단계 S40). Upon receiving a file transfer receipt (proof of piece) and a piece received ACK from the downloader, the uploader transmits the file transfer receipt to the manager (step S40).

상기 파일전송 영수증(proof of piece)은, Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature 및 Uploader's signature를 포함할 수 있다.The file transfer receipt (proof of piece) may include a Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature and Uploader's signature.

상기 파일전송 영수증은 상기 업로더가 정기적으로 또는 프로그램 종료 전에 최신 파일전송 영수증(proof of piece)을 상기 관리자에 전달할 수 있다.The file transfer receipt allows the uploader to deliver an up-to-date proof of piece to the administrator on a regular basis or prior to program termination.

파일의 다운로드가 완료된 경우 상기 파일전송 영수증을 기초로 상기 관리자로부터 파일 전송료를 정산받는다(단계 S50). 일 실시예에서, 상기 관리자로부터 파일 전송료를 정산받는 단계는, 일정 기간의 전체 파일 전송료를 정산받을 수 있다.When the download of the file is completed, the file transfer fee is calculated from the manager based on the file transfer receipt (step S50). In an embodiment, the step of receiving the file transfer fee payment from the manager may include receiving the total file transfer fee for a certain period of time.

파일의 다운로드가 정상적으로 완료되면, 상기 관리자에 의해 상기 다운로더가 업로더가 될 수 있는 권한을 부여받을 수 있다. 파일의 다운로드가 정상적으로 완료되었는지 여부는 관리자에 의해 파일을 다운받은 다운로더의 challenge and response를 통해 확인할 수 있다.When the download of the file is normally completed, the downloader may be given permission to become an uploader by the administrator. Whether the download of the file has been completed normally can be checked through the challenge and response of the downloader who downloaded the file by the administrator.

도 7을 참조하면, 본 발명에 따른 파일 전송 예로서, 파일은 piece 단위로 전송된다.Referring to FIG. 7 , as an example of file transmission according to the present invention, a file is transmitted in pieces.

파일을 전송받고 싶은 다운로더(51)는 관리자(10)의 인증부(150)에게 다운로드 주문을 전달하고 파일 전송료를 선지급한다. 파일 전송료를 받은 관리자(10)는 DB에 파일 다운로드 주문을 저장한다. 다운로더(51)는 관리자(10) DB에 저장된 swarm 정보 및 peer 정보를 read하고 다운로드를 시작한다.The downloader 51 who wants to receive the file transfer transmits the download order to the authentication unit 150 of the manager 10 and pays the file transfer fee in advance. The manager 10 receiving the file transfer fee stores the file download order in the DB. The downloader 51 reads the swarm information and the peer information stored in the manager 10 DB, and starts downloading.

파일 다운로드 에 다운로더(51)는 업로더(31, 33)와 핸드셰이크(handshake)를 통해 p2p통신 세션(session)을 시작한다. 업로더(31, 33)는 DB에 저장된 파일 다운로드 주문을 확인하고 다운로더(51)는 업로더(31, 33)의 출처증명(proof of provenance)를 확인한다. Upon file download, the downloader 51 starts a p2p communication session through a handshake with the uploaders 31 and 33. The uploaders 31 and 33 check the file download order stored in the DB, and the downloader 51 checks the proof of provenance of the uploaders 31 and 33 .

다운로더(51)는 각 업로더(31, 33)에게 원하는 piece(파일 전송 단위)를 request 하고(S11, S21), 업로더(31, 33)가 piece를 보내주면(S22, S25, S12), 다운로더(51)는 각 업로더(31, 33)에게 proof of piece(파일전송 영수증)과 piece received ACK(어떤 piece를 받았다는 확인 정보)를 전달한다(S23, S26, S13). 그리고, proof of piece(파일전송 영수증)를 보내주지 않으면 추가 piece를 전송하지 않는다. The downloader 51 requests the desired piece (file transfer unit) from each uploader 31, 33 (S11, S21), and when the uploader 31, 33 sends the piece (S22, S25, S12), The downloader 51 transmits a proof of piece (file transfer receipt) and piece received ACK (confirmation information that a certain piece has been received) to each uploader 31 and 33 (S23, S26, S13). And, if you do not send a proof of piece (file transfer receipt), no additional piece will be sent.

다운로더(51)는 업로더(31, 33)가 보낸 piece를 받으면 전송에 대한 영수증인 proof of piece(파일전송 영수증)를 발급하고 업로더(31, 33)에게 전달한다. 그리고 업로더(31, 33)는 proof of piece에 서명하고 정기적으로 최신 proof of piece(파일전송 영수증)만 관리자(10)에 전달한다(프로그램을 종료 전에도 전달함)(S24, S27, S14). 표 2를 참고하면, proof of piece(파일전송 영수증)는 incremental proof이라서 제일 최신 버전으로 전체 파일 전송료를 지급 받을 수 있다.When the downloader 51 receives the piece sent by the uploaders 31 and 33, it issues a proof of piece (file transfer receipt) as a receipt for the transmission, and delivers it to the uploaders 31 and 33. And the uploaders 31 and 33 sign the proof of piece and periodically deliver only the latest proof of piece (file transfer receipt) to the manager 10 (even before the program is terminated) (S24, S27, S14). Referring to Table 2, the proof of piece (file transfer receipt) is an incremental proof, so you can receive the entire file transfer fee with the most recent version.

관리자(10)는 업로더(31, 33)가 보낸 영수증(proof of piece)을 기반으로 다운로더(51)가 선지급한 파일전송비를 지급한다. proof of piece(파일전송 영수증)는 관리자(10)가 공개한 DB에 저장된다. 파일 전송료의 일부는 관리자(10) 및 크리에이터(70)에게도 지급될 수 있다. 다운로더(51)는 DB를 통해서 본인이 선지급한 파일 전송비가 어떻게 소비됐는지 확인할 수 있다The manager 10 pays the file transfer fee paid in advance by the downloader 51 based on the receipt (proof of piece) sent by the uploaders 31 and 33 . The proof of piece (file transfer receipt) is stored in the DB disclosed by the manager 10. A portion of the file transfer fee may also be paid to the manager 10 and the creator 70 . The downloader 51 can check how the prepaid file transfer fee was consumed through the DB

다운로더(51)는 출처증명(proof of provenance)을 보유하고 있는 업로더(31, 33)에게서만 다운로드 할 수 있고, 다운로드가 완료된 후 관리자(10)가 challenge and response를 통해 파일이 정상적으로 다운로드 되었는지 확인할 수 있다. The downloader 51 can download only from the uploaders 31 and 33 who have proof of provenance, and after the download is complete, the manager 10 can check whether the file has been downloaded normally through the challenge and response. have.

정상적으로 파일이 정상적으로 다운로드된 것으로 확인되면, 관리자(10)는 출처증명(proof of provenance)을 DB에 저장해서 다운로더(51)가 업로더가 될 수 있는 권한을 부여할 수 있다.When it is confirmed that the file is normally downloaded, the manager 10 may store the proof of provenance in the DB and grant the downloader 51 permission to become the uploader.

본 발명은 Proof of piece 및 ACK receive를 이용한 bidirectionally signed receipt system이다. 따라서, 기존 기술과는 달리 piece를 전송시에만 전송영수증(proof of piece)을 받을 수 있다.The present invention is a bidirectionally signed receipt system using Proof of piece and ACK receive. Therefore, unlike the existing technology, it is possible to receive a proof of piece only when transmitting a piece.

초기에 파일 전송시에 non-overlapping piece request를 이용해서 사용자간의 신뢰를 높일 수 있다(duplicated piece를 줄임). 즉, duplicate piece에 대한 payment 지급 및 전송영수증을 지급해서 사용자간의 신뢰를 높일 수 있다.You can increase trust between users by using a non-overlapping piece request during initial file transfer (reduce duplicated pieces). In other words, it is possible to increase trust between users by providing payment for duplicate pieces and transmission receipts.

또한, 본 발명은 Proof of provenance를 이용해서 Uploader 역할을 제어하는 시스템을 추가하였다. 따라서, proof of provenance를 보유하고 있는 Uploader만 그 파일을 업로드 하고 돈을 지급받을 수 있다.In addition, the present invention added a system for controlling the role of Uploader using Proof of provenance. Therefore, only the uploader with proof of provenance can upload the file and get paid.

파일을 완전히 다운로드한 후 challenge and response를 통해 관리자(Manager)가 proof of provenance를 DB에 저장한다. 참고로, proof of provenance는 contract 단위로 부여되고 해당되는 contents에만 유효하다. After downloading the file completely, the manager saves the proof of provenance in the DB through challenge and response. For reference, proof of provenance is granted in units of contracts and is valid only for the applicable contents.

잘못된 proof of provenance가 포함된 proof of piece를 관리자(Manager)에게 전송될 경우 해당되는 금액은 관리자(Manager)에게 대신 지급되고 다운로더(Downloader)는 proof of provenance를 부여받지 못한다.If a proof of piece containing incorrect proof of provenance is sent to the manager, the corresponding amount is paid to the manager instead, and the downloader is not given the proof of provenance.

이에 따라, 본 발명에 따른 p2p 네트워크 사용량을 측정하기 위한 방법은, 사용자 간의 신뢰를 낮추는 공모공격(Collusion attack)에 대한 보안성이 우수하다. 또한, 사용자들과의 신뢰성이 높아짐으로써 p2p 파일 전송 네트워크에 더 적극적으로 참여를 유도할 수 있고 파일전송 속도가 평균적으로 빨라지는 효과를 가져올 수 있다.Accordingly, the method for measuring the p2p network usage according to the present invention has excellent security against a collusion attack that lowers trust between users. In addition, by increasing the reliability with users, it is possible to induce more active participation in the p2p file transfer network and bring about the effect of increasing the average file transfer speed.

이와 같은, p2p 네트워크 사용량을 측정하기 위한 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. Such a method for measuring the p2p network usage may be implemented as an application or implemented in the form of program instructions that may be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. The program instructions recorded in the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. 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 device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention described in the claims below you will understand

본 발명은 p2p 기반 CDN(content delivery network) 구축시 필수적으로 필요한 기술이므로, 파일 전송업 시장 등에서 유용하게 활용될 수 있다. Since the present invention is an essential technology for constructing a p2p-based content delivery network (CDN), it can be usefully utilized in the file transfer market.

1: p2p 네트워크 사용량을 측정하기 위한 시스템
10: 관리자
30, 31, 33: 업로더
50, 52: 다운로더
70: 크리에이터
310: 권리 획득부
330: 세션부
350: 파일 전송부
370: 영수증 전달부
390: 정산부
1: A system for measuring p2p network usage
10: Manager
30, 31, 33: Uploader
50, 52: Downloader
70: Creator
310: Rights Acquisition Department
330: session unit
350: file transfer unit
370: receipt delivery unit
390: settlement department

Claims (10)

업로더(Uploader)가 관리자(Manager)로부터 출처증명(proof of provenance)을 획득하는 단계;
다운로더(Downloader)의 파일 전송 주문이 완료되면, 상기 다운로더와 상기 업로더 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)이 시작되는 단계;
상기 다운로더로부터 주문한 파일 전송 단위(piece)를 수신하면, 주문한 파일 전송 단위(piece)의 파일을 상기 업로더가 상기 다운로더에게 전송하는 단계;
상기 다운로더로부터 파일전송 영수증(proof of piece) 및 전송확인(piece received ACK)을 수신하면, 상기 파일전송 영수증을 상기 업로더가 상기 관리자에 전달하는 단계; 및
파일의 다운로드가 완료된 경우 상기 파일전송 영수증을 기초로 상기 관리자로부터 파일 전송료를 정산받는 단계;를 포함하고,
상기 다운로더와 상기 업로더 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)이 시작되는 단계는,
상기 다운로더가 원하는 파일의 파일 전송료를 상기 관리자에게 선지급하여 상기 파일 다운로드를 주문하면, 상기 관리자는 선지급된 상기 파일 전송료를 확인하여 데이터베이스에 상기 파일 다운로드 주문을 저장하고, 상기 업로더는 상기 데이터베이스에 저장된 상기 파일 다운로드 주문을 확인하여 상기 다운로더가 요청한 p2p 통신 세션을 수락하고, 다운로더와 p2p 통신 세션을 시작하는 것을 포함하는, p2p 네트워크 사용량을 측정하기 위한 방법.
step of the uploader (Uploader) obtaining a proof of provenance (proof of provenance) from the manager (Manager);
when the downloader's file transfer order is completed, starting a p2p communication session through a handshake between the downloader and the uploader;
transmitting, by the uploader, the file of the ordered file transfer unit (piece) to the downloader when receiving the ordered file transfer unit (piece) from the downloader;
transmitting, by the uploader, the file transfer receipt to the manager when receiving a file transfer receipt and a piece received ACK from the downloader; and
Comprising; receiving a file transfer fee from the manager based on the file transfer receipt when the download of the file is completed;
The step of starting a p2p communication session through a handshake between the downloader and the uploader includes:
When the downloader prepays the file transfer fee for the desired file to the manager to order the file download, the manager checks the prepaid file transfer fee and stores the file download order in a database, and the uploader stores the file download order in the database. accepting the p2p communication session requested by the downloader by confirming the file download order, and initiating a p2p communication session with the downloader.
제1항에 있어서,
파일의 다운로드가 정상적으로 완료되면, 상기 관리자에 의해 상기 다운로더가 업로더가 될 수 있는 권한을 부여받는 단계;를 더 포함하는, p2p 네트워크 사용량을 측정하기 위한 방법.
According to claim 1,
When the download of the file is normally completed, the method for measuring the p2p network usage, further comprising a;
제2항에 있어서,
관리자에 의해 파일을 다운받은 다운로더의 challenge and response를 통해 파일의 다운로드가 정상적으로 완료되었는지 여부를 확인하는, p2p 네트워크 사용량을 측정하기 위한 방법.
3. The method of claim 2,
A method for measuring p2p network usage by checking whether the download of the file has been completed normally through the downloader's challenge and response who downloaded the file by the administrator.
제1항에 있어서, 상기 파일전송 영수증을 상기 업로더가 상기 관리자에 전달하는 단계는,
정기적으로 또는 프로그램 종료 전에 최신 파일전송 영수증(proof of piece)을 전달하는, p2p 네트워크 사용량을 측정하기 위한 방법.
The method of claim 1, wherein the step of transmitting the file transfer receipt to the manager by the uploader comprises:
A method for measuring peer-to-peer network usage, delivering an up-to-date proof of piece on a regular basis or prior to program termination.
제1항에 있어서, 상기 관리자로부터 파일 전송료를 정산받는 단계는,
일정 기간의 전체 파일 전송료를 정산받는, p2p 네트워크 사용량을 측정하기 위한 방법.
The method of claim 1, wherein the step of receiving the file transfer fee from the manager comprises:
A method for measuring p2p network usage, in which the entire file transfer fee is paid over a period of time.
제1항에 있어서,
상기 파일전송 영수증(proof of piece)은, Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature 및 Uploader's signature를 포함하는, p2p 네트워크 사용량을 측정하기 위한 방법.
According to claim 1,
The file transfer receipt (proof of piece), including Content delivery contract ID, Total # of new pieces, Total # of duplicate pieces, Proof of provenance, Downloader's signature and Uploader's signature, a method for measuring p2p network usage.
제2항에 있어서,
상기 출처증명(proof of provenance)은, Content delivery contract ID, Provenance flag, Uploader's address 및 Manager's signature를 포함하는, p2p 네트워크 사용량을 측정하기 위한 방법.
3. The method of claim 2,
The proof of provenance is a method for measuring p2p network usage, including Content delivery contract ID, Provenance flag, Uploader's address and Manager's signature.
제1항 내지 제7항 중 어느 하나의 항에 따른 상기 p2p 네트워크 사용량을 측정하기 위한 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
A computer-readable storage medium in which a computer program for performing the method for measuring the p2p network usage according to any one of claims 1 to 7 is recorded.
관리자(Manager)로부터 출처증명(proof of provenance)을 획득하는 권리 획득부;
다운로더(Downloader)의 파일 전송 주문이 완료되면, 상기 다운로더와 업로더 간의 핸드셰이크(handshake)를 통해 p2p 통신 세션(session)을 시작하는 세션부;
상기 다운로더로부터 주문한 파일 전송 단위(piece)를 수신하면, 주문한 파일 전송 단위(piece)의 파일을 상기 다운로더에게 전송하는 파일 전송부;
상기 다운로더로부터 파일전송 영수증(proof of piece) 및 전송확인(piece received ACK)을 수신하면, 상기 파일전송 영수증을 상기 관리자에 전달하는 영수증 전달부; 및
파일의 다운로드가 완료된 경우 상기 파일전송 영수증을 기초로 상기 관리자로부터 파일 전송료를 정산받는 정산부;를 포함하고,
상기 세션부는,
상기 다운로더가 원하는 파일의 파일 전송료를 상기 관리자에게 선지급하여 상기 파일 다운로드를 주문하면, 상기 관리자는 선지급된 상기 파일 전송료를 확인하여 데이터베이스에 상기 파일 다운로드 주문을 저장하고, 상기 업로더는 상기 데이터베이스에 저장된 상기 파일 다운로드 주문을 확인하여 상기 다운로더가 요청한 p2p 통신 세션을 수락하고, 다운로더와 p2p 통신 세션을 시작하는 것을 포함하는, p2p 네트워크 사용량을 측정하기 위한 장치.
a right acquiring unit to obtain proof of provenance from a manager;
a session unit for starting a p2p communication session through a handshake between the downloader and the uploader when the downloader's file transfer order is completed;
a file transmission unit which, upon receiving an ordered file transmission unit (piece) from the downloader, transmits the file of the ordered file transmission unit (piece) to the downloader;
a receipt transfer unit for transmitting the file transfer receipt to the manager when receiving a file transfer receipt and a piece received ACK from the downloader; and
and a settlement unit receiving a file transfer fee from the manager based on the file transfer receipt when the download of the file is completed;
The session unit,
When the downloader prepays the file transfer fee for the desired file to the manager to order the file download, the manager checks the prepaid file transfer fee and stores the file download order in a database, and the uploader stores the file download order in the database. accepting the p2p communication session requested by the downloader by confirming the file download order, and initiating a p2p communication session with the downloader.
파일 다운로드 주문을 하고, 출처증명(proof of provenance) 확인을 통해 업로더(Uploader)의 업로드 권한을 확인하는 다운로더(Downloader);
상기 다운로더가 주문한 파일 전송 단위(piece)의 파일을 상기 다운로더에게 전송하고, 상기 다운로더로부터 파일전송 영수증(proof of piece)를 수신하는 업로더;
상기 업로더로부터 전달받은 파일전송 영수증을 기초로 파일 전송료를 정산하고, 파일의 다운로드가 정상적으로 완료된 다운로더에게 업로더가 될 수 있는 권한을 부여하는 관리자; 및
상기 관리자에 의해 파일 다운로드 주문, p2p 파일 전송을 위한 정보, peer 정보, 상기 파일전송 영수증 및 상기 출처증명을 저장하는 데이터베이스;를 포함하고,
상기 다운로더가 원하는 파일의 파일 전송료를 상기 관리자에게 선지급하여 상기 파일 다운로드를 주문하면, 상기 관리자는 선지급된 상기 파일 전송료를 확인하여 데이터베이스에 상기 파일 다운로드 주문을 저장하고, 상기 업로더는 상기 데이터베이스에 저장된 상기 파일 다운로드 주문을 확인하여 상기 다운로더가 요청한 p2p 통신 세션을 수락하고, 다운로더와 p2p 통신 세션을 시작하는 것을 포함하는, p2p 네트워크 사용량을 측정하기 위한 시스템.
a downloader that places an order for file download and verifies the uploader's upload rights through proof of provenance;
an uploader transmitting a file of a file transfer unit ordered by the downloader to the downloader and receiving a file transfer receipt (proof of piece) from the downloader;
an administrator who settles a file transfer fee based on the file transfer receipt received from the uploader and grants a right to become an uploader to a downloader who has successfully downloaded a file; and
A database for storing a file download order by the administrator, information for p2p file transfer, peer information, the file transfer receipt, and the proof of origin;
When the downloader prepays the file transfer fee for the desired file to the manager to order the file download, the manager checks the prepaid file transfer fee and stores the file download order in a database, and the uploader stores the file download order in the database. accepting the p2p communication session requested by the downloader by confirming the file download order, and initiating a p2p communication session with the downloader.
KR1020200100086A 2020-08-10 2020-08-10 Method for measuring p2p network usage, recording medium, device and system for performing the method KR102346835B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200100086A KR102346835B1 (en) 2020-08-10 2020-08-10 Method for measuring p2p network usage, recording medium, device and system for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200100086A KR102346835B1 (en) 2020-08-10 2020-08-10 Method for measuring p2p network usage, recording medium, device and system for performing the method

Publications (1)

Publication Number Publication Date
KR102346835B1 true KR102346835B1 (en) 2022-01-04

Family

ID=79342332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200100086A KR102346835B1 (en) 2020-08-10 2020-08-10 Method for measuring p2p network usage, recording medium, device and system for performing the method

Country Status (1)

Country Link
KR (1) KR102346835B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065105A (en) * 2007-12-17 2009-06-22 한국전자통신연구원 Peer's trust information management method by using receipt in p2p networks
JP2010239620A (en) * 2009-03-30 2010-10-21 Sony Europe (Belgium) Nv System and method of distributing content files
US9735972B2 (en) 2015-01-12 2017-08-15 Qualcomm Incorporated Peer-enabled network access extension using yield management
KR102063309B1 (en) 2013-10-04 2020-02-11 에스케이 텔레콤주식회사 Method and Apparatus for Charging about P2P Packet in Mobile Network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065105A (en) * 2007-12-17 2009-06-22 한국전자통신연구원 Peer's trust information management method by using receipt in p2p networks
JP2010239620A (en) * 2009-03-30 2010-10-21 Sony Europe (Belgium) Nv System and method of distributing content files
KR102063309B1 (en) 2013-10-04 2020-02-11 에스케이 텔레콤주식회사 Method and Apparatus for Charging about P2P Packet in Mobile Network
US9735972B2 (en) 2015-01-12 2017-08-15 Qualcomm Incorporated Peer-enabled network access extension using yield management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kim, K.; You, Y.; Park, M.; Lee, K. DDoS Mitigation: Decentralized CDN Using Private Blockchain. 2018 Tenth International Conference on Ubiquitous and Future Networks (ICUFN). IEEE, 2018, pp. 693-696.

Similar Documents

Publication Publication Date Title
CN108681965B (en) Block chain network transaction processing method and device for offline node
CN102378170B (en) Method, device and system of authentication and service calling
US20210329453A1 (en) Blockchain based wireless access point password management
CN101390070B (en) Secure content descriptions
TWI478615B (en) Management systems for multiple access control entities
CN107579958B (en) Data management method, device and system
CN111683101B (en) Autonomous cross-domain access control method based on block chain
US20100138903A1 (en) Ticket-Based Implementation of Content Leasing
US20200287880A1 (en) Data encryption
CN103229161B (en) Continuous access gateway and duplicate removal data cache server
WO2009142851A2 (en) Security architecture for peer-to-peer storage system
US20220094546A1 (en) Authentication method and system
CN107948235B (en) JAR-based cloud data security management and audit device
US20110035806A1 (en) Time based content management for disconnected devices
CN110611569A (en) Authentication method and related equipment
CN113472790A (en) Information transmission method based on HTTPS (hypertext transfer protocol secure protocol), client and server
WO2007056927A1 (en) A method for charging precisely in the digital rights management and a device thereof
US11695751B2 (en) Peer-to-peer notification system
KR102346835B1 (en) Method for measuring p2p network usage, recording medium, device and system for performing the method
KR20220142086A (en) BLOCKCHAIN-BASED IoT DEVICE FIRMWARE SUPPLY SYSTEM AND FIRMWARE UPDATE METHOD USING THE SAME
US20070150609A1 (en) Method and system to download and track digital material
JP2018180682A (en) Information processing apparatus, information processing system and information processing method
JP2005536785A (en) System and method for managing access to protected digital content transmitted to a mobile device
CN113326483A (en) Application program authorization method and related product
KR102393403B1 (en) Method and system for managing software multi-ownership account

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant