[go: up one dir, main page]

KR20200046451A - Method for contents distribution based peer to peer, apparatus and system for executing the method - Google Patents

Method for contents distribution based peer to peer, apparatus and system for executing the method Download PDF

Info

Publication number
KR20200046451A
KR20200046451A KR1020180127621A KR20180127621A KR20200046451A KR 20200046451 A KR20200046451 A KR 20200046451A KR 1020180127621 A KR1020180127621 A KR 1020180127621A KR 20180127621 A KR20180127621 A KR 20180127621A KR 20200046451 A KR20200046451 A KR 20200046451A
Authority
KR
South Korea
Prior art keywords
content
drm
certificate
user terminal
content distribution
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020180127621A
Other languages
Korean (ko)
Other versions
KR102120929B1 (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 KR1020180127621A priority Critical patent/KR102120929B1/en
Publication of KR20200046451A publication Critical patent/KR20200046451A/en
Application granted granted Critical
Publication of KR102120929B1 publication Critical patent/KR102120929B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

P2P 기반의 콘텐츠 유통 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템이 개시된다. 개시되는 일 실시예에 따른 방법은, 콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계, 인증서 관리 서버로부터 회원 가입 요청에 따른 인증서를 발급받는 단계, 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계, 콘텐츠 유통 사업자 서버로부터 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계, P2P 고유키 정보 리스트를 기반으로 콘텐츠 보유 단말기로 접속하고, 컴퓨팅 장치의 인증서를 콘텐츠 보유 단말기로 송신하는 단계, 콘텐츠 보유 단말기로부터 콘텐츠 보유 단말기의 인증서를 수신하는 단계, 인증서 관리 서버로 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계, 콘텐츠 보유 단말기의 인증서가 유효한 경우, 콘텐츠에 대해 컴퓨팅 장치가 보유하고 있는 데이터 블록 리스트를 콘텐츠 보유 단말기로 송신하는 단계, 콘텐츠 보유 단말기로부터 콘텐츠에 대해 컴퓨팅 장치가 보유하고 있지 않은 데이터 블록을 수신하는 단계, 및 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 포함한다.Disclosed is a P2P-based content distribution method and a computing device and system for performing the same. The method according to the disclosed embodiment includes the steps of transmitting a member subscription request to a content distribution provider server, issuing a certificate according to a member subscription request from a certificate management server, and requesting content purchase for a predetermined content from the content distribution server Transmitting, receiving a P2P unique key information list for content holding terminals having content from a content distribution provider server, accessing the content holding terminal based on the P2P unique key information list, and accessing the computing device's certificate. Transmitting to the content holding terminal, receiving a certificate of the content holding terminal from the content holding terminal, requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server, and when the certificate of the content holding terminal is valid, About Compu Transmitting a list of data blocks held by the device to the content holding terminal, receiving data blocks not held by the computing device for content from the content holding terminal, and checking whether the received data blocks are in error It includes the steps.

Description

P2P 기반의 콘텐츠 유통 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템{METHOD FOR CONTENTS DISTRIBUTION BASED PEER TO PEER, APPARATUS AND SYSTEM FOR EXECUTING THE METHOD}P2P-based content distribution method and computing device and system for performing the same {METHOD FOR CONTENTS DISTRIBUTION BASED PEER TO PEER, APPARATUS AND SYSTEM FOR EXECUTING THE METHOD}

본 발명의 실시예는 콘텐츠 유통 기술과 관련된다. Embodiments of the present invention relate to content distribution technology.

최근, 디지털 기술의 발달로 컴퓨팅 장치를 통해 온라인으로 콘텐츠(음악, 영화, 문서 등)를 유통하고 소비하는 경우가 급증하고 있다. 그러나, 콘텐츠 유통 시 특정 포털 사이트에서 저작자 정책 및 가격을 결정하기 때문에, 콘텐츠의 저작자의 이익이 제대로 보호 받지 못하는 경우가 많다. 또한, 콘텐츠에 대해 단일 DRM 기술을 사용함으로써, 콘텐츠 소비 시 전용 소프트웨어만을 사용하여야 했으며, 그로 인해 사용성이 떨어지는 문제점이 있게 된다.Recently, with the development of digital technology, cases of distributing and consuming content (music, movies, documents, etc.) online through a computing device are rapidly increasing. However, since the author policy and price are determined by a specific portal site when distributing content, the interest of the author of the content is often not properly protected. In addition, by using a single DRM technology for the content, it is necessary to use only dedicated software when consuming the content, and thus there is a problem of low usability.

한국등록특허공보 제10-1888866호(2018.08.16)Korean Registered Patent Publication No. 10-1888866 (2018.08.16)

개시되는 실시예는 새로운 기법의 콘텐츠 유통 방법과 이를 수행하기 위한 장치 및 시스템을 제공하기 위한 것이다.The disclosed embodiment is to provide a method for distributing a content of a new technique and an apparatus and system for performing the same.

개시되는 일 실시예에 따른 시스템은, P2P(Peet-to-Peer) 기반의 콘텐츠 유통 서비스 시스템으로서, 소정 콘텐츠에 대한 콘텐츠 관련 정보를 포함하는 콘텐츠 등록 요청을 송신하고, 상기 콘텐츠에 적용 가능한 DRM(Digital Rights Management) 서비스에 대한 DRM 서비스 조회 요청을 송신하며, 상기 DRM 서비스 조회 요청에 대응하여 DRM 서비스 리스트를 수신하는 제1 사용자 단말기; 및 상기 콘텐츠 등록 요청을 수신하고, 상기 콘텐츠에 고유한 콘텐츠 식별 정보를 생성하며, 상기 생성한 콘텐츠 식별 정보를 상기 제1 사용자 단말기로 송신하고, 상기 DRM 서비스 조회 요청을 수신하여 상기 콘텐츠에 적용할 수 있는 DRM 서비스 리스트를 상기 제1 사용자 단말기로 송신하는 콘텐츠 유통 관리 서버를 포함하고, 상기 콘텐츠 유통 관리 서버는, 상기 제1 사용자 단말기로부터 상기 DRM 서비스 리스트 중 사용자에 의해 선택된 DRM 서비스에 대한 DRM 서비스 요청을 수신하고, 상기 DRM 서비스를 제공하는 DRM 모듈을 다운로드 할 수 있는 P2P 고유키 정보를 상기 제1 사용자 단말기로 송신하며, 상기 제1 사용자 단말기는 상기 P2P 고유키 정보를 기반으로 상기 DRM 모듈을 P2P 방식으로 다운로드하고, 상기 DRM 모듈을 이용하여 상기 콘텐츠를 암호화 하며, 암호화 된 콘텐츠 및 상기 콘텐츠의 콘텐츠 식별 정보를 업로드하며, 상기 콘텐츠의 콘텐츠 식별 정보 및 암호화 키 정보를 포함하는 콘텐츠 업로드 정보를 상기 콘텐츠 유통 관리 서버로 송신한다.The system according to the disclosed embodiment is a peer-to-peer (P2P) -based content distribution service system that transmits a content registration request including content-related information for a given content and applies DRM (applicable to the content). Digital Rights Management) a first user terminal transmitting a DRM service inquiry request for a service and receiving a DRM service list in response to the DRM service inquiry request; And receiving the content registration request, generating content identification information unique to the content, transmitting the generated content identification information to the first user terminal, and receiving the DRM service inquiry request to apply to the content And a content distribution management server that transmits a list of DRM services to the first user terminal, wherein the content distribution management server is a DRM service for a DRM service selected by a user from the DRM service list from the first user terminal. Upon receiving the request, the P2P unique key information capable of downloading the DRM module providing the DRM service is transmitted to the first user terminal, and the first user terminal receives the DRM module based on the P2P unique key information. Download in P2P method, encrypt the content using the DRM module, , Upload the encrypted content and the content identification information of the content, and transmit the content upload information including the content identification information and the encryption key information to the content distribution management server.

상기 콘텐츠 유통 서비스 시스템은, 상기 콘텐츠 유통 관리 서버에 등록된 콘텐츠를 조회 및 구매할 수 있도록 웹 페이지를 제공하는 하나 이상의 콘텐츠 유통 사업자 서버; 및 상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠의 구매를 위한 콘텐츠 구매 요청을 송신하고, 상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 다운로드 할 수 있는 P2P 고유키 정보를 수신하며, 상기 P2P 고유키 정보를 기반으로 상기 콘텐츠를 P2P 방식으로 다운로드하는 제2 사용자 단말기를 더 포함할 수 있다.The content distribution service system includes: one or more content distribution service provider servers that provide web pages to view and purchase content registered in the content distribution management server; And transmitting a content purchase request for purchase of predetermined content to the content distribution provider server, receiving P2P unique key information for downloading the content from the content distribution provider server, and based on the P2P unique key information. A second user terminal for downloading the content in a P2P method may be further included.

상기 콘텐츠 유통 사업자 서버는, 콘텐츠 판매 이력 정보를 블록체인망에 저장하고, 상기 제1 사용자 단말기는, 콘텐츠 저작 이력 정보를 상기 블록체인망에 저장하며, 상기 제2 사용자 단말기는, 콘텐츠 구매 이력 정보를 상기 블록체인망에 저장할 수 있다.The content distribution server stores content sales history information in a blockchain network, the first user terminal stores content authoring history information in the blockchain network, and the second user terminal stores content purchase history information. It can be stored in the blockchain network.

상기 콘텐츠 유통 서비스 시스템은, 상기 콘텐츠 유통 관리 서버에 등록된 콘텐츠들의 DRM 관리를 위한 DRM 관리 서버; 및 상기 콘텐츠 유통 관리 서버에 등록된 콘텐츠에 대해 DRM 서비스를 제공하고, 자신이 제공하는 DRM 서비스 목록을 상기 DRM 관리 서버로 송신하고, 자신이 제공하는 DRM 서비스에 대한 DRM 라이선스 정보를 상기 DRM 관리 서버로 송신하는 하나 이상의 DRM 사업자 서버를 더 포함할 수 있다.The content distribution service system includes: a DRM management server for DRM management of contents registered in the content distribution management server; And providing a DRM service for content registered in the content distribution management server, transmitting a list of DRM services provided by the user to the DRM management server, and transmitting DRM license information for the DRM service provided by the DRM management server. It may further include one or more DRM service provider server.

상기 제2 사용자 단말기는, 상기 다운로드 받은 콘텐츠에 대한 콘텐츠 라이선스 요청을 상기 콘텐츠 유통 사업자 서버로 송신하고, 상기 콘텐츠 유통 사업자 서버는, 상기 DRM 관리 서버 및 상기 DRM 사업자 서버 중 어느 하나로부터 상기 다운로드 받은 콘텐츠에 대응하는 DRM 라이선스 정보를 수신하여 상기 제2 사용자 단말기로 송신할 수 있다.The second user terminal transmits a content license request for the downloaded content to the content distribution provider server, and the content distribution provider server includes the downloaded content from one of the DRM management server and the DRM service provider server. DRM license information corresponding to may be received and transmitted to the second user terminal.

상기 콘텐츠 유통 사업자 서버는, 상기 제2 사용자 단말기가 다운로드 받은 콘텐츠의 DRM 모듈을 제공한 DRM 사업자 서버로 상기 DRM 라이선스 정보를 1차 요청하고, 상기 1차 요청의 시점으로부터 기 설정된 시간 동안 상기 DRM 사업자 서버로부터 응답이 없는 경우, 상기 DRM 관리 서버로 상기 DRM 라이선스 정보를 2차 요청할 수 있다.The content distribution provider server first requests the DRM license information to the DRM provider server that provides the DRM module of the content downloaded by the second user terminal, and the DRM provider for a preset time from the time of the first request. If there is no response from the server, the DRM license information may be requested to the DRM management server a second time.

상기 DRM 관리 서버 및 상기 DRM 사업자 서버는, DRM 서비스를 제공하기 위한 DRM 모듈을 P2P 방식으로 배포하고, DRM 모듈 배포 이력 정보를 블록체인망에 저장할 수 있다. The DRM management server and the DRM operator server may distribute a DRM module for providing a DRM service in a P2P manner and store DRM module deployment history information in a blockchain network.

개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 사용자 단말기로부터 소정 콘텐츠에 대한 콘텐츠 관련 정보를 포함하는 콘텐츠 등록 요청을 수신하기 위한 명령; 상기 콘텐츠에 고유한 콘텐츠 식별 정보를 생성하고, 상기 생성한 콘텐츠 식별 정보를 상기 사용자 단말기로 송신하기 위한 명령; 상기 사용자 단말기로부터 상기 콘텐츠에 대한 DRM 서비스 조회 요청을 수신하여 상기 콘텐츠에 적용할 수 있는 DRM 서비스 리스트를 상기 사용자 단말기로 송신하기 위한 명령; 상기 사용자 단말기로부터 DRM 서비스 요청을 수신하고, 해당 DRM 서비스를 제공하는 DRM 모듈을 다운로드 할 수 있는 P2P 고유키 정보를 상기 사용자 단말기로 송신하기 위한 명령; 및 상기 사용자 단말기로부터 상기 콘텐츠의 콘텐츠 식별 정보 및 암호화 키 정보를 포함하는 콘텐츠 업로드 정보를 수신하기 위한 명령을 포함한다.A computing device according to an disclosed embodiment includes one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory, and configured to be executed by the one or more processors, wherein the one or more programs include content-related information for a predetermined content from a user terminal. Instructions for receiving a content registration request; Instructions for generating content identification information unique to the content and transmitting the generated content identification information to the user terminal; A command for receiving a DRM service inquiry request for the content from the user terminal and transmitting a list of DRM services applicable to the content to the user terminal; A command for receiving a DRM service request from the user terminal, and transmitting P2P unique key information capable of downloading a DRM module providing the corresponding DRM service to the user terminal; And a command for receiving content upload information including content identification information and encryption key information of the content from the user terminal.

개시되는 일 실시예에 따른 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 P2P(Peet-to-Peer) 기반의 콘텐츠 유통 방법으로서, 콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계; 인증서 관리 서버로부터 상기 회원 가입 요청에 따른 인증서를 발급받는 단계; 상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계; 상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계; 상기 P2P 고유키 정보 리스트를 기반으로 상기 콘텐츠 보유 단말기로 접속하고, 상기 컴퓨팅 장치의 인증서를 상기 콘텐츠 보유 단말기로 송신하는 단계; 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠 보유 단말기의 인증서를 수신하는 단계; 상기 인증서 관리 서버로 상기 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계; 상기 콘텐츠 보유 단말기의 인증서가 유효한 경우, 상기 콘텐츠에 대해 상기 컴퓨팅 장치가 보유하고 있는 데이터 블록 리스트를 상기 콘텐츠 보유 단말기로 송신하는 단계; 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠에 대해 상기 컴퓨팅 장치가 보유하고 있지 않은 데이터 블록을 수신하는 단계; 및 상기 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 포함한다.The method according to the disclosed embodiment is based on a Peer-to-Peer (P2P) performed in a computing device having one or more processors and memory storing one or more programs executed by the one or more processors. A content distribution method, comprising: sending a request for membership registration to a content distribution server; Receiving a certificate according to the member subscription request from a certificate management server; Transmitting a content purchase request for a predetermined content to the content distribution provider server; Receiving a P2P unique key information list for content holding terminals having the content from the content distribution provider server; Connecting to the content holding terminal based on the P2P unique key information list, and transmitting a certificate of the computing device to the content holding terminal; Receiving a certificate of the content holding terminal from the content holding terminal; Requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server; If the certificate of the content holding terminal is valid, transmitting a list of data blocks held by the computing device for the content to the content holding terminal; Receiving a block of data not held by the computing device for the content from the content holding terminal; And checking whether there is an error in the received data block.

상기 콘텐츠 유통 방법은, 상기 콘텐츠 보유 단말기의 인증서가 유효하지 않은 경우, 상기 콘텐츠 유통 사업자 서버로 인증서 비유효 신고를 송신하는 단계를 더 포함할 수 있다.The content distribution method may further include transmitting a certificate invalid report to the content distribution provider server when the certificate of the content holding terminal is invalid.

상기 인증서 비유효 신고를 송신하는 단계 이후에, 상기 콘텐츠 유통 사업자 서버로 상기 콘텐츠 보유 단말기를 대체하여 상기 콘텐츠를 다운로드 할 수 있도록 P2P 고유키 정보를 추가 요청하는 단계를 더 포함할 수 있다.After the step of sending the certificate invalid report, the method may further include requesting additional P2P unique key information to download the content by replacing the content holding terminal with the content distribution provider server.

상기 콘텐츠 유통 방법은, 상기 수신한 데이터 블록에 오류가 있는 경우, 데이터 블록 오류 신고를 상기 콘텐츠 유통 사업자 서버로 송신하여 상기 콘텐츠 보유 단말기에 대해 인증서 폐기 요청을 상기 인증서 관리 서버로 송신하도록 하는 단계를 더 포함할 수 있다.In the content distribution method, when there is an error in the received data block, sending a data block error report to the content distribution provider server to transmit a certificate revocation request to the certificate management server for the content holding terminal. It may further include.

상기 콘텐츠 유통 방법은, 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠의 데이터 블록을 수신하는 동안 접속 끊김이 발생하는지 여부를 확인하는 단계; 상기 콘텐츠의 데이터 블록을 수신하는 동안 기 설정된 횟수 이상 접속 끊김이 발생하는 경우, 접속 끊김 신고를 상기 콘텐츠 유통 사업자 서버로 송신하여 상기 콘텐츠 보유 단말기에 대해 인증서 폐기 요청을 상기 인증서 관리 서버로 송신하도록 하는 단계를 더 포함할 수 있다.The content distribution method includes: checking whether a disconnection occurs while receiving a data block of the content from the content holding terminal; If a connection disconnection occurs more than a preset number of times while receiving the data block of the content, a disconnection notification is sent to the content distribution provider server to transmit a certificate revocation request to the certificate management server for the content holding terminal. It may further include a step.

개시되는 다른 실시예에 따른 컴퓨팅 장치는, 컴퓨터 프로그램을 저장하는 저장부; 및 상기 컴퓨터 프로그램을 배포 서버로 전송하는 전송부를 포함하는 업로드 단말기로서, 상기 컴퓨터 프로그램은, 사용자 단말기로 하여금, 콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계; 인증서 관리 서버로부터 상기 회원 가입 요청에 따른 인증서를 발급받는 단계; 상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계; 상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계; 상기 P2P 고유키 정보 리스트를 기반으로 상기 콘텐츠 보유 단말기로 접속하고, 상기 사용자 단말기의 인증서를 상기 콘텐츠 보유 단말기로 송신하는 단계; 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠 보유 단말기의 인증서를 수신하는 단계; 상기 인증서 관리 서버로 상기 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계; 상기 콘텐츠 보유 단말기의 인증서가 유효한 경우, 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있는 데이터 블록 리스트를 상기 콘텐츠 보유 단말기로 송신하는 단계; 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있지 않은 데이터 블록을 수신하는 단계; 및 상기 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 수행하도록 하는 컴퓨터 프로그램이다.Computing device according to another embodiment disclosed, the storage unit for storing a computer program; And a transmission unit for transmitting the computer program to a distribution server, wherein the computer program comprises: a user terminal sending a membership registration request to a content distribution provider server; Receiving a certificate according to the member subscription request from a certificate management server; Transmitting a content purchase request for a predetermined content to the content distribution provider server; Receiving a P2P unique key information list for content holding terminals having the content from the content distribution provider server; Connecting to the content holding terminal based on the P2P unique key information list, and transmitting a certificate of the user terminal to the content holding terminal; Receiving a certificate of the content holding terminal from the content holding terminal; Requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server; If the certificate of the content holding terminal is valid, transmitting a list of data blocks held by the user terminal for the content to the content holding terminal; Receiving a block of data not held by the user terminal for the content from the content holding terminal; And checking whether there is an error in the received data block.

개시되는 또 다른 실시예에 따른 컴퓨팅 장치는, 컴퓨터 프로그램을 저장하는 저장부; 및 상기 컴퓨터 프로그램을 사용자 단말기로 전송하는 전송부를 포함하는 배포 서버로서, 상기 컴퓨터 프로그램은, 사용자 단말기로 하여금, 콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계; 인증서 관리 서버로부터 상기 회원 가입 요청에 따른 인증서를 발급받는 단계; 상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계; 상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계; 상기 P2P 고유키 정보 리스트를 기반으로 상기 콘텐츠 보유 단말기로 접속하고, 상기 사용자 단말기의 인증서를 상기 콘텐츠 보유 단말기로 송신하는 단계; 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠 보유 단말기의 인증서를 수신하는 단계; 상기 인증서 관리 서버로 상기 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계; 상기 콘텐츠 보유 단말기의 인증서가 유효한 경우, 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있는 데이터 블록 리스트를 상기 콘텐츠 보유 단말기로 송신하는 단계; 상기 콘텐츠 보유 단말기로부터 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있지 않은 데이터 블록을 수신하는 단계; 및 상기 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 수행하도록 하는 컴퓨터 프로그램이다.Computing device according to another embodiment disclosed, the storage unit for storing a computer program; And a transmission unit that transmits the computer program to a user terminal, wherein the computer program comprises: a user terminal sending a request for membership registration to a content distribution provider server; Receiving a certificate according to the member subscription request from a certificate management server; Transmitting a content purchase request for a predetermined content to the content distribution provider server; Receiving a P2P unique key information list for content holding terminals having the content from the content distribution provider server; Connecting to the content holding terminal based on the P2P unique key information list, and transmitting a certificate of the user terminal to the content holding terminal; Receiving a certificate of the content holding terminal from the content holding terminal; Requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server; If the certificate of the content holding terminal is valid, transmitting a list of data blocks held by the user terminal for the content to the content holding terminal; Receiving a block of data not held by the user terminal for the content from the content holding terminal; And checking whether there is an error in the received data block.

개시되는 실시예에 의하면, 콘텐츠의 저작자가 콘텐츠 판매 가격을 포함하는 콘텐츠 관련 정보를 콘텐츠 유통 관리 서버로 전송하여 콘텐츠를 등록함으로써, 콘텐츠의 저작자가 스스로 해당 콘텐츠에 대한 판매 가격을 결정할 수 있게 되며, 그로 인해 콘텐츠 저작자의 이익을 확보하여 활발한 창작 활동이 이루어지도록 유도할 수 있게 된다.According to the disclosed embodiment, the author of the content transmits content-related information including the content sale price to the content distribution management server to register the content, so that the author of the content can determine the selling price for the content by himself, As a result, it is possible to secure the interests of the content authors and induce active creative activities.

또한, 콘텐츠 유통 시 여러 콘텐츠 유통 사업자 및 DRM 사업자가 참여 하도록 함으로써, 콘텐츠 소비자의 입장에서는 다양한 콘테츠 유통 사업자 및 DRM 사업자 중 자기에게 유리한 조건의 사업자를 선택하여 서비스를 받을 수 있게 된다. 또한, DRM 모듈을 P2P 방식으로 배포함으로써, 콘텐츠 소비자가 해당 DRM 모듈을 가지고 있지 않더라도 해당 콘텐츠를 열람할 수 있게 된다.In addition, by allowing various content distribution providers and DRM providers to participate in content distribution, the content consumer can select a variety of content distribution providers and DRM providers to obtain services that are advantageous to them. In addition, by distributing the DRM module in a P2P manner, the content consumer can browse the content even if the DRM module does not have the DRM module.

또한, P2P 방식으로 콘텐츠를 다운로드 받는 경우, 제1 사용자 단말기와 제2 사용자 단말기가 상호 인증서를 교환하여 인증서의 유효성을 확인한 후 다운로드를 진행함으로써, 불법적으로 해당 시스템에 참여하고 있는 단말기를 검출하여 해당 시스템에서 배제시킬 수 있게 된다.In addition, when downloading content in a P2P method, the first user terminal and the second user terminal exchange the mutual certificate to check the validity of the certificate and then proceed with the download, thereby detecting illegally participating terminals in the corresponding system It can be excluded from the system.

또한, P2P 방식으로 콘텐츠를 다운로드 받는 경우, 다운로드 받은 데이터 블록에 오류가 있거나 상대방 단말기가 기 설정된 횟수 이상 접속 끊김이 발생하는 경우, 콘텐츠 유통 사업자 서버로 신고를 접수하고 해당 단말기의 인증서를 폐기하도록 함으로써, P2P 프로그램 등이 악의적으로 변조 또는 위조 된 피어 및 불량 피어를 해당 시스템에서 활동하지 못하도록 차단할 수 있게 된다.In addition, when downloading content in the P2P method, if there is an error in the downloaded data block or if the other party's terminal is disconnected for more than a preset number of times, by filing a report to the content distribution server, the certificate of the terminal is revoked. , P2P programs, etc. can block maliciously tampered or forged peers and bad peers from acting on the system.

도 1은 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템을 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템에서 저작자가 콘텐츠를 등록하는 과정을 나타낸 흐름도
도 3은 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템에서 소비자가 콘텐츠를 다운로드하여 실행하는 과정을 나타낸 흐름도
도 4는 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템에서 콘텐츠를 P2P 방식으로 배포하는 과정을 나타낸 흐름도
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 6은 본 발명의 일 실시예에 따른 컴퓨터 프로그램 전송 장치의 구성을 나타내는 블록도
1 is a view showing a content distribution service system according to an embodiment of the present invention
2 is a flowchart illustrating a process in which an author registers content in a content distribution service system according to an embodiment of the present invention
3 is a flowchart illustrating a process in which a consumer downloads and executes content in a content distribution service system according to an embodiment of the present invention
4 is a flowchart illustrating a process of distributing content in a P2P manner in a content distribution service system according to an embodiment of the present invention
5 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments.
6 is a block diagram showing the configuration of a computer program transmission apparatus according to an embodiment of the present invention

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to aid in a comprehensive understanding of the methods, devices and / or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that a detailed description of known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition should be made based on the contents throughout this specification. The terminology used in the detailed description is only for describing embodiments of the present invention and should not be limiting. Unless expressly used otherwise, a singular form includes a plural form. In this description, expressions such as “comprising” or “equipment” are intended to indicate certain characteristics, numbers, steps, actions, elements, parts or combinations thereof, and one or more other than described. It should not be interpreted to exclude the presence or possibility of other characteristics, numbers, steps, actions, elements, or parts or combinations thereof.

이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다. In the following description, the terms “transmission”, “communication”, “transmission”, “reception” and the like of the signal or information are not only those in which a signal or information is transmitted directly from one component to another. This includes passing through other components. In particular, "transmitting" or "transmitting" a signal or information to a component indicates the final destination of the signal or information, not a direct destination. The same is true for the "reception" of a signal or information. Also, in this specification, when two or more pieces of data or information are “related” means that acquiring one piece of data (or information) can acquire at least part of the other piece of data (or information) based on it.

또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Further, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may also be referred to as a first component.

도 1은 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템을 나타낸 도면이다.1 is a view showing a content distribution service system according to an embodiment of the present invention.

도 1을 참조하면, 콘텐츠 유통 서비스 시스템(100)은 콘텐츠 유통 관리 서버(102), 인증서 관리 서버(104), 콘텐츠 유통 사업자 서버(106), DRM(Digital Rights Management) 관리 서버(108), DRM 사업자 서버(110), 제1 사용자 단말기(112), 및 제2 사용자 단말기(114)를 포함할 수 있다. Referring to FIG. 1, the content distribution service system 100 includes a content distribution management server 102, a certificate management server 104, a content distribution operator server 106, a digital rights management (DRM) management server 108, and a DRM It may include an operator server 110, a first user terminal 112, and a second user terminal 114.

여기서, 각 구성들은 통신 네트워크(150)를 통해 상호 통신 가능하게 연결될 수 있다. 몇몇 실시예들에서, 통신 네트워크(150)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wide area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.Here, each component may be connected to enable communication with each other through the communication network 150. In some embodiments, communication network 150 may be the Internet, one or more local area networks, wide area networks, cellular networks, mobile networks, other types of networks, or such networks. It can include a combination of.

콘텐츠 유통 관리 서버(102)는 콘텐츠 유통 서비스의 운영 및 관리 등을 위한 서버 컴퓨팅 장치이다. 콘텐츠 유통 관리 서버(102)는 콘텐츠를 등록하기 원하는 사용자(즉, 저작자)들에 대해 회원 가입 절차를 수행할 수 있다. 여기서, 콘텐츠는 영상 콘텐츠, 음성 콘텐츠, 문서 콘텐츠 등을 포함할 수 있다. The content distribution management server 102 is a server computing device for operating and managing content distribution services. The content distribution management server 102 may perform a member registration process for users (ie, authors) who want to register content. Here, the content may include video content, audio content, document content, and the like.

콘텐츠 유통 관리 서버(102)는 제1 사용자 단말기(112)(즉, 저작자의 단말기)로부터 회원 가입 요청을 수신하여 해당 사용자(즉, 저작자)를 회원 가입 시킬 수 있다. 회원 가입 요청에는 해당 사용자의 아이디 및 패스워드 등이 포함될 수 있다. 콘텐츠 유통 관리 서버(102)는 제1 사용자 단말기(112)의 회원 가입 요청에 대해 인증서 관리 서버(104)로 인증서 발급을 요청할 수 있다.The content distribution management server 102 may receive a member subscription request from the first user terminal 112 (that is, the author's terminal) to register the user (ie, the author) as a member. The request for membership may include the user's ID and password. The content distribution management server 102 may request a certificate issuance to the certificate management server 104 in response to a request for membership registration of the first user terminal 112.

콘텐츠 유통 관리 서버(102)는 제1 사용자 단말기(112)(즉, 저작자의 단말기)로부터 콘텐츠 등록 요청을 수신하여 콘텐츠를 등록할 수 있다. 콘텐츠 등록 요청에는 등록하고자 하는 콘텐츠 및 콘텐츠 관련 정보(예를 들어, 콘텐츠의 명칭, 저작자 정보, 콘텐츠 제작 시기, 콘텐츠 판매 가격 등) 중 하나 이상이 포함될 수 있다. 콘텐츠 유통 관리 서버(102)는 콘텐츠가 등록되는 경우, 해당 콘텐츠에 고유한 콘텐츠 식별 정보(즉, 콘텐츠 아이디)를 생성하고, 생성한 콘텐츠 식별 정보를 제1 사용자 단말기(112)로 송신할 수 있다. The content distribution management server 102 may register a content by receiving a content registration request from the first user terminal 112 (ie, the author's terminal). The content registration request may include one or more of content to be registered and content-related information (for example, the name of the content, author information, content creation time, content sales price, etc.). When content is registered, the content distribution management server 102 may generate content identification information (that is, content ID) unique to the content and transmit the generated content identification information to the first user terminal 112. .

또한, 콘텐츠 유통 관리 서버(102)는 제1 사용자 단말기(112)로부터 DRM 서비스 조회 요청을 수신할 수 있다. DRM 서비스 조회 요청에는 DRM 서비스를 적용하고자 하는 콘텐츠의 종류(유형)에 대한 정보(예를 들어, 해당 콘텐츠가 영상 콘텐츠, 음성 콘텐츠, 및 문서 콘텐츠 중 어느 종류의 콘텐츠인지에 대한 정보)를 포함할 수 있다. In addition, the content distribution management server 102 may receive a request to query the DRM service from the first user terminal 112. The DRM service inquiry request may include information on the type (type) of the content to which the DRM service is to be applied (for example, information on which type of content is video content, audio content, or document content). You can.

콘텐츠 유통 관리 서버(102)는 DRM 서비스 조회 요청에 포함된 콘텐츠의 종류 정보를 기반으로 해당 콘텐츠에 적용할 수 있는 DRM 서비스에 대한 리스트를 제1 사용자 단말기(112)로 송신할 수 있다. 예를 들어, 콘텐츠 유통 관리 서버(102)는 콘텐츠 유통 관리 서버(102)에 등록된 DRM 사업자들 중 해당 콘텐츠에 대해 DRM 서비스를 제공할 수 있는 사업자를 추출하여 리스트를 생성할 수 있다.The content distribution management server 102 may transmit a list of DRM services applicable to the content to the first user terminal 112 based on the type information of the content included in the DRM service inquiry request. For example, the content distribution management server 102 may generate a list by extracting operators who can provide a DRM service for the corresponding content among DRM operators registered in the content distribution management server 102.

콘텐츠 유통 관리 서버(102)는 제1 사용자 단말기(112)로부터 소정 콘텐츠에 대한 DRM 서비스 요청을 수신하는 경우, 해당 DRM 모듈을 다운로드 할 수 있는 P2P 고유키 정보를 제1 사용자 단말기(112)로 송신할 수 있다. 개시되는 실시예에서는, DRM 모듈 자체를 P2P 방식으로 배포함으로써, 제1 사용자 단말기(112)는 콘텐츠 별로 DRM 모듈을 각각 구비하지 않아도 되게 된다. 콘텐츠 유통 관리 서버(102)는 각 콘텐츠에 대해 DRM 서비스 요청에 대응하는 DRM 모듈에 대한 리스트를 콘텐츠 유통 사업자 서버(106)와 공유할 수 있다. When the content distribution management server 102 receives a DRM service request for a predetermined content from the first user terminal 112, the content distribution management server 102 transmits P2P unique key information for downloading the corresponding DRM module to the first user terminal 112. can do. In the disclosed embodiment, by distributing the DRM module itself in a P2P manner, the first user terminal 112 does not need to have a DRM module for each content. The content distribution management server 102 may share a list of DRM modules corresponding to the DRM service request for each content with the content distribution provider server 106.

콘텐츠 유통 관리 서버(102)는 제1 사용자 단말기(112)로부터 콘텐츠 업로드 정보(해당 콘텐츠의 콘텐츠 식별 정보 및 암호화 키 정보 등을 포함)를 수신할 수 있다. 콘텐츠 유통 관리 서버(102)는 콘텐츠 업로드 정보를 콘텐츠 유통 사업자 서버(106)와 공유할 수 있다.The content distribution management server 102 may receive content upload information (including content identification information and encryption key information of the content) from the first user terminal 112. The content distribution management server 102 may share the content upload information with the content distribution provider server 106.

인증서 관리 서버(104)는 콘텐츠 유통 서비스를 이용하는 사용자들의 회원 관리를 위한 인증서를 발급하는 역할을 할 수 있다. 예시적인 실시예에서, 인증서 관리 서버(104)는 콘텐츠 유통 관리 서버(102) 및 콘텐츠 유통 사업자 서버(106)에 회원 가입된 사용자 단말기(112, 114)들로 인증서를 각각 발급할 수 있다. The certificate management server 104 may serve to issue a certificate for member management of users who use the content distribution service. In an exemplary embodiment, the certificate management server 104 may issue certificates to user terminals 112 and 114 that are registered with the content distribution management server 102 and the content distribution provider server 106, respectively.

인증서 관리 서버(104)는 인증서 유효성 확인 요청에 따라 해당 인증서가 유효한지 여부를 확인할 수 있다. 예시적인 실시예에서, 인증서 관리 서버(104)는 사용자 단말기(112 또는 114)의 인증서 유효성 확인 요청에 따라 해당 인증서가 유효한지 여부를 확인하여 그 결과를 피드백해줄 수 있다. 또한, 인증서 관리 서버(104)는 콘텐츠 유통 사업자 서버(106)의 인증서 폐기 요청에 따라 해당 인증서를 폐기할 수 있다. The certificate management server 104 may check whether the corresponding certificate is valid according to the certificate validation request. In an exemplary embodiment, the certificate management server 104 may check whether the corresponding certificate is valid according to a request for validating a certificate of the user terminal 112 or 114 and feedback the result. In addition, the certificate management server 104 may revoke the corresponding certificate according to the certificate revocation request from the content distribution provider server 106.

콘텐츠 유통 사업자 서버(106)는 콘텐츠를 유통시키는 것으로 영리를 추구하는 사업자(콘텐츠 유통 사업자)의 서버 컴퓨팅 장치이다. 콘텐츠 유통 서비스 시스템(100)에서 콘텐츠 유통 사업자 서버(106)는 복수 개가 존재할 수 있다. 콘텐츠 유통 사업자들은 서로 차별화된 서비스(예를 들어, 콘텐츠 배포 속도 및 콘텐츠 가격 등)를 통해 상호 경쟁하는 관계일 수 있다.The content distribution provider server 106 is a server computing device of a business operator (content distribution provider) pursuing profit by distributing content. In the content distribution service system 100, a plurality of content distribution provider servers 106 may exist. Content distribution providers may be in a competitive relationship with each other through differentiated services (eg, content distribution speed and content price).

콘텐츠 유통 사업자 서버(106)는 콘텐츠를 구매하기 원하는 사용자(즉, 소비자)들에 대해 회원 가입 절차를 수행할 수 있다. 콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)(즉, 소비자의 단말기)로부터 회원 가입 요청을 수신하여 해당 사용자를 회원 가입 시킬 수 있다. 회원 가입 요청에는 해당 사용자의 아이디 및 패스워드 등이 포함될 수 있다. 콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)의 회원 가입 요청에 대해 인증서 관리 서버(104)로 인증서 발급을 요청할 수 있다.The content distribution provider server 106 may perform a member registration process for users (ie, consumers) who want to purchase content. The content distribution provider server 106 may receive a member subscription request from the second user terminal 114 (ie, the consumer terminal) to register the user. The request for membership may include the user's ID and password. The content distribution provider server 106 may request a certificate issuance to the certificate management server 104 in response to a request for membership registration of the second user terminal 114.

콘텐츠 유통 사업자 서버(106)는 소비자들이 콘텐츠 유통 관리 서버(102)에 등록된 콘텐츠를 조회 및 구매할 수 있도록 웹 페이지를 제공할 수 있다. 콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)로부터 소정 콘텐츠의 구매 요청을 수신하는 경우, 제2 사용자 단말기(114)로 해당 콘텐츠를 다운로드 할 수 있는 P2P 고유키 정보를 송신할 수 있다. 여기서, P2P 고유키 정보는 제2 사용자 단말기(114)가 P2P 서버(미도시)에 접속하여 해당 콘텐츠를 P2P 방식으로 다운로드 하기 위한 일종의 주소 정보 일 수 있다. 예시적인 실시예에서, 콘텐츠 유통 사업자 서버(106)는 해당 콘텐츠를 제2 사용자 단말기(114)로 직접 전송하는 것이 아니라, P2P 방식을 통해 제2 사용자 단말기(114)로 배포할 수 있다. The content distribution provider server 106 may provide a web page so that consumers can view and purchase content registered in the content distribution management server 102. When the content distribution provider server 106 receives a purchase request for a predetermined content from the second user terminal 114, the content distribution provider server 106 may transmit P2P unique key information capable of downloading the content to the second user terminal 114. . Here, the P2P unique key information may be a kind of address information for the second user terminal 114 to access the P2P server (not shown) and download the corresponding content in a P2P manner. In an exemplary embodiment, the content distribution provider server 106 may distribute the content to the second user terminal 114 through the P2P method, rather than directly transmitting the content to the second user terminal 114.

콘텐츠 유통 사업자 서버(106)는 콘텐츠가 판매된 경우, 콘텐츠 판매 이력 정보를 블록체인망을 통해 저장할 수 있다. 콘텐츠 판매 이력 정보는 해당 콘텐츠의 콘텐츠 식별 정보, 해당 콘텐츠의 구매자 정보, 해당 콘텐츠의 판매 가격 정보 등이 포함될 수 있다. When the content is sold, the content distribution server server 106 may store the content sales history information through the blockchain network. The content sales history information may include content identification information of the content, buyer information of the content, and sales price information of the content.

콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)로부터 콘텐츠 라이선스 요청을 수신할 수 있다. 콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)로 배포한 콘텐츠(즉, 암호화 된 콘텐츠)를 복호화 할 수 있는 DRM 라이선스 정보를 제2 사용자 단말기(114)로 송신할 수 있다. 여기서, DRM 라이선스 정보에는 해당 DRM 모듈과 관련된 정책 및 해당 콘텐츠의 암호화 키 정보가 포함될 수 있다. The content distribution provider server 106 may receive a content license request from the second user terminal 114. The content distribution provider server 106 may transmit DRM license information capable of decrypting the content (ie, encrypted content) distributed to the second user terminal 114 to the second user terminal 114. Here, the DRM license information may include policy related to the DRM module and encryption key information of the corresponding content.

콘텐츠 유통 사업자 서버(106)는 DRM 라이선스 정보를 DRM 관리 서버(108) 또는 DRM 사업자 서버(110)에 요청하여 수신할 수 있다. 예시적인 실시예에서, 콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)가 다운로드 한 DRM 모듈을 제공한 DRM 사업자 서버(110)로 DRM 라이선스 정보를 1차 요청할 수 있다. 콘텐츠 유통 사업자 서버(106)는 1차 요청의 시점으로부터 기 설정된 시간 동안 DRM 사업자 서버(110)로부터 응답이 없는 경우, DRM 관리 서버(108)로 DRM 라이선스 정보를 2차 요청할 수 있다.The content distribution operator server 106 may request and receive DRM license information from the DRM management server 108 or the DRM operator server 110. In an exemplary embodiment, the content distribution operator server 106 may first request DRM license information to the DRM operator server 110 that provided the DRM module downloaded by the second user terminal 114. If there is no response from the DRM operator server 110 for a predetermined time from the time of the first request, the content distribution operator server 106 may request the DRM license information to the DRM management server 108 second.

콘텐츠 유통 사업자 서버(106)는 제2 사용자 단말기(114)로부터 데이터 블록 오류 신고 또는 접속 끊김 신고가 수신되는 경우, 해당 단말기에 대한 인증서 폐기 요청을 인증서 관리 서버(104)로 전송할 수 있다. The content distribution provider server 106 may transmit a certificate revocation request for the corresponding terminal to the certificate management server 104 when a data block error report or a connection disconnection report is received from the second user terminal 114.

DRM 관리 서버(108)는 콘텐츠 유통 관리 서버(102)에 등록되는 콘텐츠의 암호화 및 복호화 관리를 위한 서버 컴퓨팅 장치일 수 있다. DRM 관리 서버(108)는 자신이 제공하는 DRM 서비스에 대한 목록을 콘텐츠 유통 관리 서버(102)로 전송할 수 있다. 예시적인 실시예에서, DRM 관리 서버(108)는 기본적인 DRM 서비스를 제공할 수 있다. DRM 관리 서버(108)는 DRM 사업자 서버(110)가 제공하는 DRM 서비스에 대한 DRM 라이선스 정보를 각각 저장할 수 있다. 이로써, 소정의 DRM 사업자가 더 이상 DRM 서비스 사업을 진행하지 않는다 하더라도 DRM 관리 서버(108)를 통해 해당 DRM 서비스를 유지시킬 수 있게 된다.The DRM management server 108 may be a server computing device for managing encryption and decryption of content registered in the content distribution management server 102. The DRM management server 108 may transmit a list of DRM services provided by itself to the content distribution management server 102. In an exemplary embodiment, DRM management server 108 may provide basic DRM services. The DRM management server 108 may store DRM license information for the DRM service provided by the DRM operator server 110, respectively. Accordingly, even if a predetermined DRM service provider no longer performs a DRM service business, it is possible to maintain the corresponding DRM service through the DRM management server 108.

DRM 사업자 서버(110)는 DRM 서비스를 제공하는 것을 통해 영리를 추구하는 사업자(DRM 사업자)의 서버 컴퓨팅 장치이다. 콘텐츠 유통 서비스 시스템(100)에서 DRM 사업자 서버(110)는 복수 개가 존재할 수 있다. DRM 사업자들은 서로 차별화된 서비스를 통해 상호 경쟁하는 관계일 수 있다. DRM 사업자 서버(110)는 DRM 관리 서버(108)가 제공하지 못하는 DRM 서비스를 제공할 수 있다. DRM 사업자 서버(110)는 자신이 제공하는 DRM 서비스에 대한 목록을 콘텐츠 유통 관리 서버(102)로 전송할 수 있다. DRM 사업자 서버(110)는 자신이 제공하는 DRM 서비스에 대한 DRM 라이선스 정보를 DRM 관리 서버(108)로 전송할 수 있다.The DRM service provider server 110 is a server computing device of a service provider (DRM service provider) pursuing profit through providing a DRM service. In the content distribution service system 100, a plurality of DRM operator servers 110 may exist. DRM operators may compete with each other through differentiated services. The DRM operator server 110 may provide a DRM service that the DRM management server 108 cannot provide. The DRM service provider server 110 may transmit a list of DRM services provided by the service provider to the content distribution management server 102. The DRM operator server 110 may transmit DRM license information for the DRM service provided by the DRM management server 108.

DRM 관리 서버(108) 및 DRM 사업자 서버(110)는 사용자 단말기(112, 114)로 DRM 모듈을 P2P 방식으로 전송(배포)할 수 있다. DRM 관리 서버(108) 및 DRM 사업자 서버(110)는 DRM 모듈 배포 이력 정보를 블록체인망에 저장할 수 있다. DRM 모듈 배포 이력 정보는 예를 들어, DRM 모듈의 식별 정보, DRM 모듈의 배포자 정보, DRM 모듈의 배포 시기 정보, DRM 모듈을 배포 받은 자에 대한 정보 등을 포함할 수 있다. The DRM management server 108 and the DRM operator server 110 may transmit (distribute) the DRM module to the user terminals 112 and 114 in a P2P manner. The DRM management server 108 and the DRM operator server 110 may store DRM module distribution history information in a blockchain network. The DRM module distribution history information may include, for example, DRM module identification information, DRM module distributor information, DRM module distribution timing information, and DRM module distribution information.

제1 사용자 단말기(112)는 콘텐츠의 저작자가 사용하는 단말기일 수 있다. 그러나, 이에 한정되는 것은 아니며 제1 사용자 단말기(112)는 콘텐츠를 구매하는 소비자의 단말기일 수 있다. 즉, 콘텐츠의 저작자가 콘텐츠의 소비자도 될 수 있다. The first user terminal 112 may be a terminal used by the author of the content. However, the present invention is not limited thereto, and the first user terminal 112 may be a terminal of a consumer who purchases content. In other words, the creator of the content can be the consumer of the content.

제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로 회원 가입 요청을 송신할 수 있다. 제1 사용자 단말기(112)는 상기 회원 가입에 따라 인증서 관리 서버(104)로부터 인증서를 발급 받을 수 있다. The first user terminal 112 may transmit a member subscription request to the content distribution management server 102. The first user terminal 112 may receive a certificate from the certificate management server 104 according to the membership subscription.

제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로 콘텐츠 등록 요청을 전송할 수 있다. 즉, 저작자는 콘텐츠를 저작한 경우, 제1 사용자 단말기(112)를 통해 콘텐츠 등록 요청을 전송하여 해당 콘텐츠를 콘텐츠 유통 관리 서버(102)에 등록할 수 있다. 제1 사용자 단말기(112)는 콘텐츠 관련 정보(예를 들어, 콘텐츠의 명칭, 저작자 정보, 콘텐츠 제작 시기, 콘텐츠 판매 가격 등)를 포함하는 콘텐츠 등록 요청을 콘텐츠 유통 관리 서버(102)로 전송할 수 있다. 개시되는 실시예에서는, 콘텐츠의 저작자가 콘텐츠 관련 정보를 콘텐츠 유통 관리 서버(102)로 전송하여 콘텐츠를 등록함으로써, 콘텐츠의 저작자가 콘텐츠의 판매 가격을 결정할 수 있게 된다.The first user terminal 112 may transmit a content registration request to the content distribution management server 102. That is, when the author authors the content, the content registration request may be transmitted through the first user terminal 112 to register the content to the content distribution management server 102. The first user terminal 112 may transmit a content registration request including content-related information (eg, the name of the content, author information, content creation time, content sales price, etc.) to the content distribution management server 102. . In the disclosed embodiment, the author of the content transmits the content-related information to the content distribution management server 102 to register the content, so that the author of the content can determine the selling price of the content.

제1 사용자 단말기(112)는 콘텐츠 저작 이력 정보를 블록체인망에 저장할 수 있다. 콘텐츠 저작 이력 정보는 콘텐츠의 명칭, 저작자 정보, 콘텐츠 제작 시기 등을 포함할 수 있다.The first user terminal 112 may store content authoring history information in a blockchain network. The content authoring history information may include the name of the content, the author information, and the time of the content creation.

제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로부터 등록한 콘텐츠에 대한 콘텐츠 식별 정보를 수신할 수 있다. 제1 사용자 단말기(112)는 해당 콘텐츠에 대해 제공 받을 수 있는 DRM 서비스 조회 요청을 콘텐츠 유통 관리 서버(102)로 송신할 수 있다. 제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로부터 해당 콘텐츠에 적용할 수 있는 DRM 서비스에 대한 리스트를 수신할 수 있다. 제1 사용자 단말기(112)는 해당 콘텐츠가 적용하고자 하는 DRM 서비스를 콘텐츠 유통 관리 서버(102)로 요청하고, 콘텐츠 유통 관리 서버(102)로부터 해당 DRM 모듈에 대한 P2P 고유키 정보를 수신하여 P2P 방식을 통해 해당 DRM 모듈을 다운로드 할 수 있다. 이를 위해, 제1 사용자 단말기(112)에는 P2P 에이전트가 설치될 수 있다. P2P 에이전트는 DRM 모듈 또는 콘텐츠를 P2P 방식으로 다운로드 또는 배포하기 위한 프로그램을 포함할 수 있다.The first user terminal 112 may receive content identification information for the registered content from the content distribution management server 102. The first user terminal 112 may transmit a DRM service inquiry request that can be provided for the corresponding content to the content distribution management server 102. The first user terminal 112 may receive a list of DRM services applicable to the corresponding content from the content distribution management server 102. The first user terminal 112 requests the DRM service to be applied by the content to the content distribution management server 102, and receives the P2P unique key information for the corresponding DRM module from the content distribution management server 102 in a P2P manner. The DRM module can be downloaded through. To this end, a P2P agent may be installed in the first user terminal 112. The P2P agent may include a DRM module or a program for downloading or distributing content in a P2P manner.

제1 사용자 단말기(112)는 DRM 모듈을 기반으로 해당 콘텐츠를 암호화 하고, 해당 콘텐츠의 콘텐츠 식별 정보 및 암호화된 콘텐츠를 콘텐츠 유통 관리 서버(102) 또는 스토리지 서버(미도시)로 업로드 할 수 있다. 제1 사용자 단말기(112)는 해당 콘텐츠의 콘텐츠 식별 정보 및 해당 콘텐츠의 암호화 키 정보를 포함하는 콘텐츠 업로드 정보를 콘텐츠 유통 관리 서버(102)로 전송할 수 있다.The first user terminal 112 may encrypt the corresponding content based on the DRM module, and upload the content identification information and the encrypted content of the corresponding content to the content distribution management server 102 or a storage server (not shown). The first user terminal 112 may transmit content upload information including content identification information of the content and encryption key information of the content to the content distribution management server 102.

제2 사용자 단말기(114)는 콘텐츠의 소비가 사용하는 단말기일 수 있다. 그러나, 이에 한정되는 것은 아니며 제2 사용자 단말기(114)는 콘텐츠를 저작하는 사용자(즉, 저작자)의 단말기일 수도 있다. The second user terminal 114 may be a terminal used for consumption of content. However, the present invention is not limited thereto, and the second user terminal 114 may be a terminal of a user (ie, an author) who authors content.

제2 사용자 단말기(114)는 콘텐츠 유통 사업자 서버(106)로 회원 가입 요청을 송신할 수 있다. 제2 사용자 단말기(114)는 상기 회원 가입에 따라 인증서 관리 서버(104)로부터 인증서를 발급 받을 수 있다. 제2 사용자 단말기(114)는 콘텐츠 구매 요청을 콘텐츠 유통 사업자 서버(106)로 전송할 수 있다. 제2 사용자 단말기(114)는 콘텐츠 유통 사업자 서버(106)로부터 해당 콘텐츠에 대한 P2P 고유키 정보를 수신하여 해당 콘텐츠를 P2P 방식으로 다운로드 할 수 있다. 이를 위해, 제2 사용자 단말기(114)에는 P2P 에이전트가 설치될 수 있다.The second user terminal 114 may transmit a member subscription request to the content distribution provider server 106. The second user terminal 114 may receive a certificate from the certificate management server 104 according to the membership subscription. The second user terminal 114 may transmit a content purchase request to the content distribution provider server 106. The second user terminal 114 may receive P2P unique key information for the content from the content distribution provider server 106 and download the content in a P2P manner. To this end, a P2P agent may be installed on the second user terminal 114.

제2 사용자 단말기(114)는 해당 콘텐츠에 대한 콘텐츠 라이선스 요청을 콘텐츠 유통 사업자 서버(106)로 전송하고, 콘텐츠 유통 사업자 서버(106)로부터 해당 콘텐츠에 대한 DRM 라이선스 정보를 수신할 수 있다. 제2 사용자 단말기(114)는 DRM 라이선스 정보를 이용하여 암호화된 콘텐츠를 복호화 한 후 실행할 수 있다. 제2 사용자 단말기(114)는 해당 콘텐츠에 적용할 수 있는 DRM 모듈을 P2P 방식으로 다운로드 받아 놓을 수 있다. The second user terminal 114 may transmit a content license request for the corresponding content to the content distribution provider server 106 and receive DRM license information for the content from the content distribution provider server 106. The second user terminal 114 may decrypt the encrypted content using the DRM license information and then execute it. The second user terminal 114 may download and download the DRM module applicable to the corresponding content in a P2P manner.

제2 사용자 단말기(114)는 콘텐츠 구매 이력 정보를 블록체인망에 저장할 수 있다. 콘텐츠 구매 이력 정보는 해당 콘텐츠의 식별 정보, 해당 콘텐츠를 구매한 콘텐츠 유통 사업자 정보, 해당 콘텐츠의 구매 가격, 해당 콘텐츠의 구매 시기, 해당 콘텐츠의 배포자 정보 등이 포함될 수 있다. The second user terminal 114 may store content purchase history information in a blockchain network. The content purchase history information may include identification information of the corresponding content, information of a content distributor who purchased the content, a purchase price of the content, a purchase time of the content, and distributor information of the content.

여기서, 사용자 단말기(112, 114)에는 콘텐츠 유통 서비스 시스템(100)에서 제공되는 기능을 수행하기 위한 어플리케이션이 설치될 수 있다. 상기 어플리케이션은 사용자 단말기(112, 114)의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 상기 어플리케이션은 사용자 단말기(112, 114)의 프로세서에 의해 실행 가능한 명령어의 소정의 집합을 포함한다. 상기 명령어는 사용자 단말기(112, 114)의 프로세서로 하여금 예시적인 실시예에 따른 동작을 수행하게 할 수 있다. 사용자 단말기(112, 114)의 컴퓨터 판독 가능 저장 매체는 사용자 단말기(112, 114) 상에서 상기 어플리케이션과 같은 명령어 집합을 실행하기 위한 운영 체제의 컴포넌트들을 포함한다. 예를 들어, 이러한 운영 체제는 마이크로소프트(Microsoft) 사의 윈도우(Window), 애플(Apple) 사의 맥(Mac), 애플(Apple) 사의 iOS 또는 구글(Google) 사의 Android 등 다양한 운영 체제를 포함할 수 있다. Here, an application for performing functions provided by the content distribution service system 100 may be installed in the user terminals 112 and 114. The application may be stored on the computer-readable storage medium of the user terminals 112 and 114. The application includes a predetermined set of instructions executable by the processors of the user terminals 112,114. The command may cause the processor of the user terminals 112 and 114 to perform an operation according to an exemplary embodiment. The computer-readable storage medium of the user terminals 112 and 114 includes components of an operating system for executing a set of instructions such as the application on the user terminals 112 and 114. For example, such an operating system may include various operating systems such as Windows from Microsoft, Mac from Apple, iOS from Apple, or Android from Google. have.

개시되는 실시예에 의하면, 콘텐츠의 저작자가 콘텐츠 판매 가격을 포함하는 콘텐츠 관련 정보를 콘텐츠 유통 관리 서버(102)로 전송하여 콘텐츠를 등록함으로써, 콘텐츠의 저작자가 스스로 해당 콘텐츠에 대한 판매 가격을 결정할 수 있게 되며, 그로 인해 콘텐츠 저작자의 이익을 확보하여 활발한 창작 활동이 이루어지도록 유도할 수 있게 된다.According to the disclosed embodiment, the author of the content transmits content-related information including the content selling price to the content distribution management server 102 to register the content, so that the author of the content can determine the selling price for the content on its own Thereby, it is possible to secure the interests of content creators and induce active creative activities.

또한, 콘텐츠 유통 시 여러 콘텐츠 유통 사업자 및 DRM 사업자가 참여 하도록 함으로써, 콘텐츠 소비자의 입장에서는 다양한 콘테츠 유통 사업자 및 DRM 사업자 중 자기에게 유리한 조건의 사업자를 선택하여 서비스를 받을 수 있게 된다. 또한, DRM 모듈을 P2P 방식으로 배포함으로써, 콘텐츠 소비자가 해당 DRM 모듈을 가지고 있지 않더라도 해당 콘텐츠를 열람할 수 있게 된다. In addition, by allowing various content distribution providers and DRM providers to participate in content distribution, the content consumer can select a variety of content distribution providers and DRM providers to obtain services that are advantageous to them. In addition, by distributing the DRM module in a P2P manner, the content consumer can browse the corresponding content even if the DRM module does not have the corresponding DRM module.

도 2는 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템에서 저작자가 콘텐츠를 등록하는 과정을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.2 is a flowchart illustrating a process in which an author registers content in a content distribution service system according to an embodiment of the present invention. In the illustrated flow chart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed by reversing the order, combined with other steps, omitted, or divided into detailed steps, or not shown. One or more steps can be performed in addition.

도 2를 참조하면, 제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로 회원 가입 요청을 전송한다(S 101). 그러면, 콘텐츠 유통 관리 서버(102)는 상기 회원 가입 요청에 따라 해당 사용자를 회원 가입시킬 수 있다. Referring to FIG. 2, the first user terminal 112 transmits a member subscription request to the content distribution management server 102 (S 101). Then, the content distribution management server 102 may register the user as a member according to the member subscription request.

다음으로, 제1 사용자 단말기(112)는 인증서 관리 서버(104)로부터 회원 가입에 따른 인증서를 발급 받는다(S 103). 이때, 인증서 발급 요청은 제1 사용자 단말기(112)의 회원 가입 요청 시 콘텐츠 유통 관리 서버(102)가 인증서 관리 서버(104)로 요청할 수도 있고, 제1 사용자 단말기(112)가 인증서 관리 서버(104)로 직접 요청할 수도 있다.Next, the first user terminal 112 receives a certificate according to membership registration from the certificate management server 104 (S 103). At this time, the request for certificate issuance may be requested by the content distribution management server 102 to the certificate management server 104 when the first user terminal 112 requests membership registration, and the first user terminal 112 may request the certificate management server 104. ).

다음으로, 제1 사용자 단말기(112)는 콘텐츠 등록 요청을 콘텐츠 유통 관리 서버(102)로 전송한다(S 105). 즉, 저작자는 소정 콘텐츠를 저작한 경우, 해당 콘텐츠에 대한 콘텐츠 관련 정보(예를 들어, 콘텐츠의 명칭, 저작자 정보, 콘텐츠 제작 시기, 콘텐츠 판매 가격 등)를 생성하고, 생성한 콘텐츠 관련 정보를 포함하는 콘텐츠 등록 요청을 제1 사용자 단말기(112)를 통해 콘텐츠 유통 관리 서버(102)로 전송할 수 있다. Next, the first user terminal 112 transmits a content registration request to the content distribution management server 102 (S 105). That is, when the author authors a predetermined content, the content-related information (for example, the name of the content, the author's information, when the content is produced, the content sales price, etc.) for the corresponding content is generated and includes the generated content-related information The content registration request can be transmitted to the content distribution management server 102 through the first user terminal 112.

다음으로, 제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로부터 해당 콘텐츠에 대한 콘텐츠 식별 정보를 수신한다(S 107). Next, the first user terminal 112 receives content identification information for the corresponding content from the content distribution management server 102 (S 107).

다음으로, 제1 사용자 단말기(112)는 콘텐츠 유통 관리 서버(102)로 DRM 서비스 조회 요청을 전송하고(S 109), 콘텐츠 유통 관리 서버(102)로부터 해당 콘텐츠에 적용할 수 있는 DRM 서비스에 대한 리스트를 수신한다(S 111). Next, the first user terminal 112 transmits a DRM service inquiry request to the content distribution management server 102 (S109), and the DRM service applicable to the corresponding content from the content distribution management server 102 The list is received (S 111).

여기서, DRM 서비스 조회 요청에는 콘텐츠 등록 요청을 한 콘텐츠의 종류에 대한 정보가 포함될 수 있다. 제1 사용자 단말기(112)는 DRM 서비스 리스트 중 저작자의 입력에 따라 어느 하나의 DRM 서비스를 선택할 수 있다. 즉, 저작자는 DRM 서비스 리스트 중 해당 콘텐츠에 적용하고자 하는 DRM 서비스를 선택할 수 있다.Here, the DRM service inquiry request may include information on the type of content that has requested the content registration. The first user terminal 112 may select any one DRM service according to the author's input from the DRM service list. That is, the author can select a DRM service to be applied to the corresponding content from the DRM service list.

다음으로, 제1 사용자 단말기(112)는 선택된 DRM 서비스에 대응하는 DRM 모듈을 P2P 방식으로 다운로드 한다(S 113). 예시적인 실시예에서, 제1 사용자 단말기(112)는 선택된 DRM 서비스를 콘텐츠 유통 관리 서버(102)로 요청할 수 있으며, 콘텐츠 유통 관리 서버(102)는 해당 DRM 모듈을 다운로드 할 수 있는 P2P 고유키 정보를 제1 사용자 단말기(112)로 송신할 수 있다. 그러면, 제1 사용자 단말기(112)는 P2P 서버(미도시)에 접속하여 해당 DRM 모듈을 P2P 방식으로 다운로드 할 수 있다. Next, the first user terminal 112 downloads the DRM module corresponding to the selected DRM service in a P2P manner (S 113). In an exemplary embodiment, the first user terminal 112 may request the selected DRM service to the content distribution management server 102, and the content distribution management server 102 may use P2P unique key information to download the corresponding DRM module. Can be transmitted to the first user terminal 112. Then, the first user terminal 112 may connect to a P2P server (not shown) and download the corresponding DRM module in a P2P manner.

다음으로, 제1 사용자 단말기(112)는 다운로드 한 DRM 모듈을 기반으로 해당 콘텐츠를 암호화 하고(S 115), 암호화된 콘텐츠를 스토리지 서버(116)에 업로드 한다(S 117). 제1 사용자 단말기(112)는 해당 콘텐츠의 콘텐츠 식별 정보 및 암호화된 콘텐츠를 스토리지 서버(116)로 전송하여 업로드 할 수 있다. 여기서는, 암호화된 콘텐츠를 스토리지 서버(116)로 전송하여 업로드 하는 것으로 설명하나, 이에 한정되는 것은 아니며 암호화된 콘텐츠를 콘텐츠 유통 관리 서버(102)로 전송하여 업로드 할 수도 있다.Next, the first user terminal 112 encrypts the corresponding content based on the downloaded DRM module (S 115), and uploads the encrypted content to the storage server 116 (S 117). The first user terminal 112 may transmit the content identification information and the encrypted content of the corresponding content to the storage server 116 for upload. Here, it is described that the encrypted content is transmitted to the storage server 116 for upload, but is not limited thereto, and the encrypted content may be transmitted to the content distribution management server 102 for upload.

다음으로, 제1 사용자 단말기(112)는 콘텐츠 업로드 정보를 콘텐츠 유통 관리 서버(102)로 전송한다(S 119). 여기서, 콘텐츠 업로드 정보에는 해당 콘텐츠의 콘텐츠 식별 정보 및 해당 콘텐츠의 암호화 키 정보를 포함할 수 있다. 이 경우, 콘텐츠 유통 관리 서버(102)는 콘텐츠 업로드 정보에 포함된 콘텐츠 식별 정보를 통해 어떤 콘텐츠가 업로드 되어 있는지 여부를 확인할 수 있게 된다. 콘텐츠 유통 관리 서버(102)는 콘텐츠 업로드 정보(즉, 콘텐츠 식별 정보 및 암호화 키 정보)를 콘텐츠 유통 사업자 서버(106) 및 DRM 관리 서버(108)와 공유할 수 있다. Next, the first user terminal 112 transmits the content upload information to the content distribution management server 102 (S119). Here, the content upload information may include content identification information of the content and encryption key information of the content. In this case, the content distribution management server 102 can check what content is uploaded through content identification information included in the content upload information. The content distribution management server 102 may share the content upload information (ie, content identification information and encryption key information) with the content distribution provider server 106 and the DRM management server 108.

도 3은 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템에서 소비자가 콘텐츠를 다운로드하여 실행하는 과정을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.3 is a flowchart illustrating a process in which a consumer downloads and executes content in a content distribution service system according to an embodiment of the present invention. In the illustrated flow chart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed by reversing the order, combined with other steps, omitted, or divided into detailed steps, or not shown. One or more steps can be performed in addition.

도 3을 참조하면, 제2 사용자 단말기(114)는 콘텐츠 유통 사업자 서버(106)로 회원 가입 요청을 전송한다(S 201). 그러면, 콘텐츠 유통 사업자 서버(106)는 상기 회원 가입 요청에 따라 해당 사용자를 회원 가입시킬 수 있다. Referring to FIG. 3, the second user terminal 114 transmits a member subscription request to the content distribution provider server 106 (S 201). Then, the content distribution provider server 106 may register the user as a member according to the member subscription request.

다음으로, 제2 사용자 단말기(114)는 인증서 관리 서버(104)로부터 회원 가입에 따른 인증서를 발급 받는다(S 203). 이때, 인증서 발급 요청은 제2 사용자 단말기(114)의 회원 가입 요청 시 콘텐츠 유통 사업자 서버(106)가 인증서 관리 서버(104)로 요청할 수도 있고, 제2 사용자 단말기(114)가 인증서 관리 서버(104)로 직접 요청할 수도 있다.Next, the second user terminal 114 receives a certificate according to membership registration from the certificate management server 104 (S 203). At this time, the request for issuing a certificate may be requested by the content distribution provider server 106 to the certificate management server 104 when the second user terminal 114 requests membership registration, and the second user terminal 114 may request the certificate management server 104. ).

다음으로, 제2 사용자 단말기(114)는 소비자의 입력에 따라 소정 콘텐츠의 구매 요청(콘텐츠 구매 요청)을 콘텐츠 유통 사업자 서버(106)로 전송한다(S 205). 즉, 소비자는 콘텐츠 유통 사업자 서버(106)가 제공하는 웹 페이지에서 구매하고자 하는 콘텐츠를 조회 및 검색할 수 있으며, 구매하고자 하는 콘텐츠에 대해 콘텐츠 구매 요청을 콘텐츠 유통 사업자 서버(106)로 전송할 수 있다. Next, the second user terminal 114 transmits a purchase request (content purchase request) of a predetermined content to the content distribution provider server 106 according to the input of the consumer (S 205). That is, the consumer can search and search the content to be purchased from the web page provided by the content distribution provider server 106, and transmit a content purchase request to the content distribution provider server 106 for the content to be purchased. .

다음으로, 제2 사용자 단말기(114)는 콘텐츠 유통 사업자 서버(106)로부터 해당 콘텐츠에 대한 P2P 고유키 정보를 수신하여 해당 콘텐츠를 P2P 방식으로 다운로드 한다(S 207). 이와 같이, 예시적인 실시예에서, 콘텐츠 유통 사업자 서버(106)는 해당 콘텐츠를 제2 사용자 단말기(114)로 직접 전송하는 것이 아니라, P2P 방식을 통해 제2 사용자 단말기(114)로 배포할 수 있다. Next, the second user terminal 114 receives P2P unique key information for the corresponding content from the content distribution provider server 106 and downloads the corresponding content in a P2P manner (S 207). As such, in the exemplary embodiment, the content distribution provider server 106 may distribute the content to the second user terminal 114 through the P2P method, rather than directly transmitting the content to the second user terminal 114. .

즉, 콘텐츠 유통 사업자 서버(106)는 콘텐츠 유통 사업자 서버(106)에 회원 가입 된 다른 소비자 및 저작자들의 단말기 또는 스토리지 서버(116) 등에 저장된 콘텐츠를 P2P 방식을 통해 제2 사용자 단말기(114)가 다운로드 받을 수 있도록 할 수 있다. 그러나, 이에 한정되는 것은 아니며 콘텐츠 유통 사업자 서버(106)가 콘텐츠를 제2 사용자 단말기(114)로 직접 송신할 수도 있다.That is, the content distribution provider server 106 downloads the content stored in the terminal or storage server 116 of other consumers and authors who are registered to the content distribution provider server 106 through the P2P method, and the second user terminal 114 downloads the content. I can make it available. However, the present invention is not limited thereto, and the content distribution provider server 106 may directly transmit the content to the second user terminal 114.

다음으로, 제2 사용자 단말기(114)는 해당 콘텐츠에 대한 콘텐츠 라이선스 요청을 콘텐츠 유통 사업자 서버(106)로 전송한다(S 209). 콘텐츠 라이선스 요청에는 해당 콘텐츠의 콘텐츠 식별 정보가 포함될 수 있다. 즉, 제2 사용자 단말기(114)가 다운로드 받은 콘텐츠는 암호화 된 콘텐츠인 바, 이를 복호화 하기 위해 콘텐츠 라이선스 요청을 콘텐츠 유통 사업자 서버(106)로 전송할 수 있다. Next, the second user terminal 114 transmits a content license request for the content to the content distribution provider server 106 (S209). The content license request may include content identification information of the corresponding content. That is, since the content downloaded by the second user terminal 114 is encrypted content, a content license request may be transmitted to the content distribution provider server 106 to decrypt it.

다음으로, 제2 사용자 단말기(114)는 콘텐츠 유통 사업자 서버(106)로부터 DRM 라이선스 정보를 수신하고(S 211), 수신한 DRM 라이선스 정보를 이용하여 암호화된 콘텐츠를 복호화 한다(S 213). 여기서, DRM 라이선스 정보에는 해당 DRM 모듈과 관련된 정책 및 해당 콘텐츠의 암호화 키 정보가 포함될 수 있다. Next, the second user terminal 114 receives the DRM license information from the content distribution provider server 106 (S 211), and decrypts the encrypted content using the received DRM license information (S 213). Here, the DRM license information may include policy related to the DRM module and encryption key information of the corresponding content.

도 4는 본 발명의 일 실시예에 따른 콘텐츠 유통 서비스 시스템에서 콘텐츠를 P2P 방식으로 배포하는 과정을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.4 is a flowchart illustrating a process of distributing content in a P2P manner in a content distribution service system according to an embodiment of the present invention. In the illustrated flow chart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed by reversing the order, combined with other steps, omitted, or divided into detailed steps, or not shown. One or more steps can be performed in addition.

여기서, 제1 사용자 단말기(112) 및 제2 사용자 단말기(114)는 피어투피어(Peer-to-Peer) 네트워크에 참여하는 단말기로서, 제1 사용자 단말기(112)는 콘텐츠를 다운로드 받기 위한 사용자의 단말기이고, 제2 사용자 단말기(114)는 상기 콘텐츠를 가지고 있는 사용자의 단말기 또는 서버 컴퓨팅 장치(예를 들어, 스토리지 서버(116) 등)일 수 있다. Here, the first user terminal 112 and the second user terminal 114 are terminals participating in a peer-to-peer network, and the first user terminal 112 is a user's terminal for downloading content. It is a terminal, and the second user terminal 114 may be a user's terminal or a server computing device (eg, a storage server 116, etc.) having the content.

도 4를 참조하면, 제1 사용자 단말기(112)는 콘텐츠 유통 사업자 서버(106)로 콘텐츠 구매 요청을 전송한다(S 301). 제1 사용자 단말기(112)의 사용자는 콘텐츠 유통 사업자 서버(106)가 제공하는 웹 페이지에서 구매하고자 하는 콘텐츠를 조회 및 검색할 수 있으며, 구매하고자 하는 콘텐츠에 대해 콘텐츠 구매 요청을 콘텐츠 유통 사업자 서버(106)로 전송할 수 있다. Referring to FIG. 4, the first user terminal 112 transmits a content purchase request to the content distribution provider server 106 (S301). The user of the first user terminal 112 can search and search the content to be purchased from the web page provided by the content distribution provider server 106, and request a content purchase request for the content to be purchased. 106).

다음으로, 콘텐츠 유통 사업자 서버(106)는 해당 콘텐츠를 가지고 있는 단말기들의 P2P 고유키 정보에 대한 리스트를 제1 사용자 단말기(112)로 전송한다(S 303). Next, the content distribution provider server 106 transmits a list of P2P unique key information of terminals having the corresponding content to the first user terminal 112 (S303).

다음으로, 제1 사용자 단말기(112)는 P2P 고유키 정보에 대한 리스트를 기반으로 해당 콘텐츠를 가지고 있는 제2 사용자 단말기(114)로 접속한다(S 305). 여기서, 제2 사용자 단말기(114)는 해당 콘텐츠를 가지고 있는 복수 개의 단말기들 중 하나의 단말기이며, 설명의 편의상 제2 사용자 단말기(114)로부터 P2P 방식을 통해 해당 콘텐츠를 다운로드 받는 경우에 대해 설명하기로 한다. 제1 사용자 단말기(112)는 제2 사용자 단말기(114)에 접속하면서 제1 사용자 단말기(112)의 인증서를 제2 사용자 단말기(114)로 송신할 수 있다. Next, the first user terminal 112 accesses the second user terminal 114 having the corresponding content based on the list of P2P unique key information (S305). Here, the second user terminal 114 is one of a plurality of terminals having the corresponding content, and for convenience of description, a case in which the corresponding content is downloaded from the second user terminal 114 through a P2P method will be described. Shall be The first user terminal 112 may transmit the certificate of the first user terminal 112 to the second user terminal 114 while accessing the second user terminal 114.

다음으로, 제2 사용자 단말기(114)는 제1 사용자 단말기(112)의 인증서에 대한 유효성 확인 요청을 인증서 관리 서버(104)로 전송한다(S 307). 즉, 제2 사용자 단말기(114)는 제1 사용자 단말기(112)의 인증서가 기간 만료되었는지 또는 강제 폐기되었는지 등을 인증서 관리 서버(104)로 문의할 수 있다. Next, the second user terminal 114 transmits a request for validating the certificate of the first user terminal 112 to the certificate management server 104 (S307). That is, the second user terminal 114 may query the certificate management server 104 whether the certificate of the first user terminal 112 has expired or forcibly revoked.

단계 S 307의 확인 결과, 제1 사용자 단말기(112)의 인증서가 유효한 경우, 제2 사용자 단말기(114)는 제2 사용자 단말기(114)의 인증서를 제1 사용자 단말기(112)로 전송한다(S 309). As a result of checking in step S307, when the certificate of the first user terminal 112 is valid, the second user terminal 114 transmits the certificate of the second user terminal 114 to the first user terminal 112 (S) 309).

그러면, 제1 사용자 단말기(112)는 제2 사용자 단말기(114)의 인증서에 대한 유효성 확인 요청을 인증서 관리 서버(104)로 전송한다(S 311). 이와 같이, 각 피어(Peer)들은 서로 상대방의 인증서를 주고 받아 그 유효성 여부를 확인할 수 있다. Then, the first user terminal 112 transmits a request for validating the certificate of the second user terminal 114 to the certificate management server 104 (S 311). In this way, each peer can exchange each other's certificate and check whether it is valid.

단계 S 311의 확인 결과, 제2 사용자 단말기(114)의 인증서가 유효하지 않은 경우, 제1 사용자 단말기(112)는 제2 사용자 단말기(114)와의 접속을 종료하고, 제2 사용자 단말기(114)의 인증서가 유효하지 않다는 인증서 비유효 신고를 콘텐츠 유통 사업자 서버(106)로 전송한다(S 313).As a result of checking in step S 311, when the certificate of the second user terminal 114 is not valid, the first user terminal 112 ends the connection with the second user terminal 114, and the second user terminal 114 A certificate invalid report that the certificate of is not valid is transmitted to the content distribution provider server 106 (S313).

마찬가지로, 단계 S 307의 확인 결과, 제1 사용자 단말기(112)의 인증서가 유효하지 않은 경우, 제2 사용자 단말기(114)는 제1 사용자 단말기(112)와의 접속을 종료하고, 제1 사용자 단말기(112)의 인증서가 유효하지 않다는 인증서 비유효 신고를 콘텐츠 유통 사업자 서버(106)로 전송할 수 있다. Similarly, as a result of checking in step S307, when the certificate of the first user terminal 112 is invalid, the second user terminal 114 ends the connection with the first user terminal 112, and the first user terminal ( The certificate invalid report that the certificate of 112) is not valid may be transmitted to the content distribution provider server 106.

여기서, 제1 사용자 단말기(112)는 콘텐츠 유통 사업자 서버(106)로 제2 사용자 단말기(114)를 대체할 수 있는 P2P 고유키 정보를 추가 요청할 수 있다. 즉, 제2 사용자 단말기(114)와의 접속을 종료시킨 상태이므로, 제2 사용자 단말기(114)를 대체하여 해당 콘텐츠를 다운로드 받기 위해, 해당 콘텐츠를 가지고 있는 단말기의 P2P 고유키 정보를 추가 요청할 수 있다. Here, the first user terminal 112 may additionally request P2P unique key information capable of replacing the second user terminal 114 with the content distribution provider server 106. That is, since the connection with the second user terminal 114 is terminated, the P2P unique key information of the terminal having the corresponding content may be additionally requested in order to replace the second user terminal 114 and download the corresponding content. .

단계 S 311의 확인 결과, 제2 사용자 단말기(114)의 인증서가 유효한 경우, 제1 사용자 단말기(112)는 해당 콘텐츠에 대해 제1 사용자 단말기(112)가 보유하고 있는 데이터 블록들의 리스트를 제2 사용자 단말기(114)로 전송한다(S 315).As a result of the check in step S 311, when the certificate of the second user terminal 114 is valid, the first user terminal 112 secondly lists the data blocks held by the first user terminal 112 for the corresponding content. It transmits to the user terminal 114 (S315).

다음으로, 제1 사용자 단말기(112)는 제2 사용자 단말기(114)로부터 해당 콘텐츠에 대해 제1 사용자 단말기(112)가 보유하고 있지 않은 데이터 블록들을 수신한다(S 317). 즉, 제2 사용자 단말기(114)는 제1 사용자 단말기(112)의 해당 콘텐츠에 대한 보유 데이터 블록 리스트를 기반으로 제1 사용자 단말기(112)가 보유하고 있지 않은 데이터 블록들 중 자신이 보유하고 있는 데이터 블록들을 제1 사용자 단말기(112)로 전송할 수 있다. Next, the first user terminal 112 receives data blocks that the first user terminal 112 does not have for the corresponding content from the second user terminal 114 (S317). That is, the second user terminal 114 is owned among data blocks that the first user terminal 112 does not have based on the list of data blocks retained for the corresponding content of the first user terminal 112 Data blocks may be transmitted to the first user terminal 112.

다음으로, 제1 사용자 단말기(112)는 다운로드 받은 해당 콘텐츠의 데이터 블록들을 검사한다(S 319). 예시적인 실시예에서, 제1 사용자 단말기(112)는 제2 사용자 단말기(114)로부터 수신한 데이터 블록들에 오류가 있는지 여부를 검사할 수 있다. Next, the first user terminal 112 checks the data blocks of the downloaded content (S 319). In an exemplary embodiment, the first user terminal 112 may check whether there are errors in data blocks received from the second user terminal 114.

단계 S 319의 검사 결과, 제2 사용자 단말기(114)로부터 수신한 데이터 블록에 오류가 있는 경우, 제1 사용자 단말기(112)는 데이터 블록 오류 신고를 콘텐츠 유통 사업자 서버(106)로 전송한다(S 321). 이 경우, 제2 사용자 단말기(114)의 인증서가 유효한 상태이어도 제2 사용자 단말기(114)의 P2P 프로그램 등이 악의적으로 변조 또는 위조 되었을 가능성이 있으므로 데이터 블록 오류 신고를 하게 된다. As a result of the check in step S319, when there is an error in the data block received from the second user terminal 114, the first user terminal 112 transmits a data block error report to the content distribution provider server 106 (S) 321). In this case, even if the certificate of the second user terminal 114 is valid, a P2P program or the like of the second user terminal 114 may be maliciously tampered with or falsified, thereby reporting a data block error.

다음으로, 콘텐츠 유통 사업자 서버(106)는 데이터 블록 오류 신고가 있는 제2 사용자 단말기(114)에 대해 인증서 폐기 요청을 인증서 관리 서버(104)로 전송한다(S 323). 그러면, 인증서 관리 서버(104)는 제2 사용자 단말기(114)의 인증서를 강제 폐기 시킬 수 있다. Next, the content distribution provider server 106 transmits a certificate revocation request to the certificate management server 104 for the second user terminal 114 having a data block error report (S323). Then, the certificate management server 104 may forcibly revoke the certificate of the second user terminal 114.

한편, 제1 사용자 단말기(112)는 제2 사용자 단말기(114)로부터 해당 콘텐츠의 데이터 블록을 수신하는 동안 기 설정된 횟수 이상 접속 끊김이 발생하는 경우, 접속 끊김 신고를 콘텐츠 유통 사업자 서버(106)로 전송할 수 있다. 콘텐츠 유통 사업자 서버(106)는 접속 끊김 신고 대상인 제2 사용자 단말기(114)에 대해 인증서 폐기 요청을 인증서 관리 서버(104)로 전송하여 제2 사용자 단말기(114)의 인증서가 폐기 되도록 할 수 있다. On the other hand, the first user terminal 112, if the connection disconnection occurs more than a predetermined number of times while receiving a data block of the corresponding content from the second user terminal 114, to report the disconnection to the content distribution provider server 106 Can transmit. The content distribution provider server 106 may transmit the certificate revocation request to the certificate management server 104 for the second user terminal 114, which is the target of reporting the loss of connection, so that the certificate of the second user terminal 114 is revoked.

개시되는 실시예에 의하면, P2P 방식으로 콘텐츠를 다운로드 받는 경우, 제1 사용자 단말기(112)와 제2 사용자 단말기(114)가 상호 인증서를 교환하여 인증서의 유효성을 확인한 후 다운로드를 진행함으로써, 불법적으로 해당 시스템에 참여하고 있는 단말기를 검출하여 해당 시스템에서 배제시킬 수 있게 된다.According to the disclosed embodiment, when downloading content in a P2P method, the first user terminal 112 and the second user terminal 114 exchange the mutual certificate to check the validity of the certificate, and then proceed with the download to illegally Terminals participating in the system can be detected and excluded from the system.

또한, P2P 방식으로 콘텐츠를 다운로드 받는 경우, 다운로드 받은 데이터 블록에 오류가 있거나 상대방 단말기가 기 설정된 횟수 이상 접속 끊김이 발생하는 경우, 콘텐츠 유통 사업자 서버(106)로 신고를 접수하고 해당 단말기의 인증서를 폐기하도록 함으로써, P2P 프로그램 등이 악의적으로 변조 또는 위조 된 피어 및 불량 피어를 해당 시스템에서 활동하지 못하도록 차단할 수 있게 된다.In addition, when downloading content in the P2P method, if there is an error in the downloaded data block or if the other party's terminal is disconnected for more than a preset number of times, a notification is received by the content distribution provider server 106 and the certificate of the corresponding terminal is received. By discarding, P2P programs, etc., can block maliciously tampered or forged peers and rogue peers from acting on the system.

도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.5 is a block diagram illustrating and illustrating a computing environment 10 including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 콘텐츠 유통을 위한 서버 컴퓨팅 장치(예를 들어, 콘텐츠 유통 관리 서버(102) 및 콘텐츠 유통 사업자 서버(106))일 수 있다. 또한, 컴퓨팅 장치(12)는 인증서 관리를 위한 서버 컴퓨팅 장치(예를 들어, 인증서 관리 서버(104))일 수 있다. 또한, 컴퓨팅 장치(12)는 DRM 서비스 제공을 위한 서버 컴퓨팅 장치(예를 들어, DRM 관리 서버(108) 및 DRM 사업자 서버(110))일 수 있다. 또한, 컴퓨팅 장치(12)는 콘텐츠를 등록 또는 소비하는 사용자의 단말기(예를 들어, 제1 사용자 단말기(112) 및 제2 사용자 단말기(114))일 수 있다. The illustrated computing environment 10 includes a computing device 12. In one embodiment, the computing device 12 may be a server computing device for content distribution (eg, a content distribution management server 102 and a content distribution provider server 106). Further, the computing device 12 may be a server computing device (eg, a certificate management server 104) for certificate management. Further, the computing device 12 may be a server computing device (eg, a DRM management server 108 and a DRM operator server 110) for providing DRM services. Further, the computing device 12 may be a terminal of a user who registers or consumes content (eg, the first user terminal 112 and the second user terminal 114).

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The computing device 12 includes at least one processor 14, a computer readable storage medium 16 and a communication bus 18. The processor 14 can cause the computing device 12 to operate in accordance with the exemplary embodiment mentioned above. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16. The one or more programs can include one or more computer-executable instructions, which, when executed by the processor 14, configure the computing device 12 to perform operations according to an exemplary embodiment. Can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and / or other suitable types of information. The program 20 stored on the computer readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, the computer-readable storage medium 16 is a memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, other types of storage media that can be accessed by the computing device 12 and store desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects various other components of the computing device 12, including a processor 14 and a computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more I / O interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more I / O devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 through the input / output interface 22. Exemplary input / output devices 24 include pointing devices (such as a mouse or trackpad), keyboards, touch input devices (such as touch pads or touch screens), voice or sound input devices, various types of sensor devices, and / or imaging devices. Input devices, and / or output devices such as display devices, printers, speakers, and / or network cards. The exemplary input / output device 24 is a component constituting the computing device 12 and may be included in the computing device 12 or connected to the computing device 12 as a separate device distinct from the computing device 12. It might be.

도 6은 본 발명의 일 실시예에 따른 컴퓨터 프로그램 전송 장치의 구성을 나타내는 블록도이다.6 is a block diagram showing the configuration of a computer program transmission device according to an embodiment of the present invention.

예시적인 실시예에서, 컴퓨터 프로그램 전송 장치(30)는 사용자 단말기에 컴퓨터 프로그램을 전송하기 위한 것으로, 컴퓨터 프로그램을 배포하는 서버에 포함된 일 구성으로 구현될 수 있다. 또한, 컴퓨터 프로그램 전송 장치(30)는 컴퓨터 프로그램을 배포하는 서버(배포 서버)로 컴퓨터 프로그램을 전송(즉, 업로드)하기 위한 컴퓨팅 장치일 수 있다. 상기 컴퓨터 프로그램은 본 발명에 개시된 실시예들을 수행하기 위한 명령어의 집합을 포함할 수 있다. In an exemplary embodiment, the computer program transmission device 30 is for transmitting a computer program to a user terminal, and may be implemented in one configuration included in a server for distributing computer programs. In addition, the computer program transmission device 30 may be a computing device for transmitting (ie uploading) a computer program to a server (distribution server) that distributes the computer program. The computer program may include a set of instructions for performing the embodiments disclosed in the present invention.

도 6을 참조하면, 컴퓨터 프로그램 전송 장치(30)는 컴퓨터 프로그램 저장부(32) 및 컴퓨터 프로그램 전송부(34)를 포함한다. 컴퓨터 프로그램 저장부(32)는 상기 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램 전송부(34)는 상기 컴퓨터 프로그램을 사용자 단말기 또는 배포 서버로 전송한다. Referring to FIG. 6, the computer program transmission device 30 includes a computer program storage unit 32 and a computer program transmission unit 34. The computer program storage unit 32 stores the computer program. The computer program transmission unit 34 transmits the computer program to a user terminal or a distribution server.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the exemplary embodiments of the present invention have been described in detail above, those skilled in the art to which the present invention pertains will understand that various modifications are possible within the limits without departing from the scope of the present invention. . Therefore, the scope of rights of the present invention should not be limited to the described embodiments, and should be determined not only by the claims to be described later, but also by the claims and equivalents.

100 : 콘텐츠 유통 서비스 시스템
102 : 콘텐츠 유통 관리 서버
104 : 인증서 관리 서버
106 : 콘텐츠 유통 사업자 서버
108 : DRM 관리 서버
110 : DRM 사업자 서버
112 : 제1 사용자 단말기
114 : 제2 사용자 단말기
116 : 스토리지 서버
100: content distribution service system
102: content distribution management server
104: certificate management server
106: content distribution provider server
108: DRM management server
110: DRM operator server
112: first user terminal
114: second user terminal
116: storage server

Claims (15)

P2P(Peet-to-Peer) 기반의 콘텐츠 유통 서비스 시스템으로서,
소정 콘텐츠에 대한 콘텐츠 관련 정보를 포함하는 콘텐츠 등록 요청을 송신하고, 상기 콘텐츠에 적용 가능한 DRM(Digital Rights Management) 서비스에 대한 DRM 서비스 조회 요청을 송신하며, 상기 DRM 서비스 조회 요청에 대응하여 DRM 서비스 리스트를 수신하는 제1 사용자 단말기; 및
상기 콘텐츠 등록 요청을 수신하고, 상기 콘텐츠에 고유한 콘텐츠 식별 정보를 생성하며, 상기 생성한 콘텐츠 식별 정보를 상기 제1 사용자 단말기로 송신하고, 상기 DRM 서비스 조회 요청을 수신하여 상기 콘텐츠에 적용할 수 있는 DRM 서비스 리스트를 상기 제1 사용자 단말기로 송신하는 콘텐츠 유통 관리 서버를 포함하고,
상기 콘텐츠 유통 관리 서버는,
상기 제1 사용자 단말기로부터 상기 DRM 서비스 리스트 중 사용자에 의해 선택된 DRM 서비스에 대한 DRM 서비스 요청을 수신하고, 상기 DRM 서비스를 제공하는 DRM 모듈을 다운로드 할 수 있는 P2P 고유키 정보를 상기 제1 사용자 단말기로 송신하며,
상기 제1 사용자 단말기는 상기 P2P 고유키 정보를 기반으로 상기 DRM 모듈을 P2P 방식으로 다운로드하고, 상기 DRM 모듈을 이용하여 상기 콘텐츠를 암호화 하며, 암호화 된 콘텐츠 및 상기 콘텐츠의 콘텐츠 식별 정보를 업로드하며, 상기 콘텐츠의 콘텐츠 식별 정보 및 암호화 키 정보를 포함하는 콘텐츠 업로드 정보를 상기 콘텐츠 유통 관리 서버로 송신하는, 콘텐츠 유통 서비스 시스템.
As a peer-to-peer (P2P) -based content distribution service system,
A content registration request including content-related information for a given content is transmitted, a DRM service inquiry request for a digital rights management (DRM) service applicable to the content is transmitted, and a DRM service list corresponding to the DRM service inquiry request A first user terminal for receiving; And
The content registration request is received, content identification information unique to the content is generated, the generated content identification information is transmitted to the first user terminal, and the DRM service inquiry request is received and applied to the content And a content distribution management server that transmits a list of DRM services to the first user terminal,
The content distribution management server,
The P2P unique key information for receiving the DRM service request for the DRM service selected by the user from the first user terminal from the DRM service list and downloading the DRM module providing the DRM service to the first user terminal Send,
The first user terminal downloads the DRM module in a P2P manner based on the P2P unique key information, encrypts the content using the DRM module, uploads encrypted content and content identification information of the content, A content distribution service system that transmits content upload information including content identification information and encryption key information of the content to the content distribution management server.
청구항 1에 있어서,
상기 콘텐츠 유통 서비스 시스템은,
상기 콘텐츠 유통 관리 서버에 등록된 콘텐츠를 조회 및 구매할 수 있도록 웹 페이지를 제공하는 하나 이상의 콘텐츠 유통 사업자 서버; 및
상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠의 구매를 위한 콘텐츠 구매 요청을 송신하고, 상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 다운로드 할 수 있는 P2P 고유키 정보를 수신하며, 상기 P2P 고유키 정보를 기반으로 상기 콘텐츠를 P2P 방식으로 다운로드하는 제2 사용자 단말기를 더 포함하는, 콘텐츠 유통 서비스 시스템.
The method according to claim 1,
The content distribution service system,
At least one content distribution service provider server that provides a web page to search and purchase content registered in the content distribution management server; And
Send a content purchase request for the purchase of predetermined content to the content distribution server, receive P2P unique key information for downloading the content from the content distribution server, and receive the content based on the P2P unique key information. Further comprising a second user terminal to download the P2P method, content distribution service system.
청구항 2에 있어서,
상기 콘텐츠 유통 사업자 서버는, 콘텐츠 판매 이력 정보를 블록체인망에 저장하고,
상기 제1 사용자 단말기는, 콘텐츠 저작 이력 정보를 상기 블록체인망에 저장하며,
상기 제2 사용자 단말기는, 콘텐츠 구매 이력 정보를 상기 블록체인망에 저장하는, 콘텐츠 유통 서비스 시스템.
The method according to claim 2,
The content distribution provider server stores content sales history information in a blockchain network,
The first user terminal stores content history information in the blockchain network,
The second user terminal stores content purchase history information in the blockchain network, a content distribution service system.
청구항 3에 있어서,
상기 콘텐츠 유통 서비스 시스템은,
상기 콘텐츠 유통 관리 서버에 등록된 콘텐츠들의 DRM 관리를 위한 DRM 관리 서버; 및
상기 콘텐츠 유통 관리 서버에 등록된 콘텐츠에 대해 DRM 서비스를 제공하고, 자신이 제공하는 DRM 서비스 목록을 상기 DRM 관리 서버로 송신하고, 자신이 제공하는 DRM 서비스에 대한 DRM 라이선스 정보를 상기 DRM 관리 서버로 송신하는 하나 이상의 DRM 사업자 서버를 더 포함하는, 콘텐츠 유통 서비스 시스템.
The method according to claim 3,
The content distribution service system,
A DRM management server for DRM management of contents registered in the content distribution management server; And
DRM service is provided for content registered in the content distribution management server, a list of DRM services provided by the user is transmitted to the DRM management server, and DRM license information for the DRM service provided by the user is transmitted to the DRM management server. A content distribution service system further comprising one or more DRM operator servers transmitting.
청구항 4에 있어서,
상기 제2 사용자 단말기는,
상기 다운로드 받은 콘텐츠에 대한 콘텐츠 라이선스 요청을 상기 콘텐츠 유통 사업자 서버로 송신하고,
상기 콘텐츠 유통 사업자 서버는,
상기 DRM 관리 서버 및 상기 DRM 사업자 서버 중 어느 하나로부터 상기 다운로드 받은 콘텐츠에 대응하는 DRM 라이선스 정보를 수신하여 상기 제2 사용자 단말기로 송신하는, 콘텐츠 유통 서비스 시스템.
The method according to claim 4,
The second user terminal,
Send a content license request for the downloaded content to the content distribution provider server,
The content distribution provider server,
A content distribution service system that receives DRM license information corresponding to the downloaded content from one of the DRM management server and the DRM operator server and transmits the DRM license information to the second user terminal.
청구항 5에 있어서,
상기 콘텐츠 유통 사업자 서버는,
상기 제2 사용자 단말기가 다운로드 받은 콘텐츠의 DRM 모듈을 제공한 DRM 사업자 서버로 상기 DRM 라이선스 정보를 1차 요청하고, 상기 1차 요청의 시점으로부터 기 설정된 시간 동안 상기 DRM 사업자 서버로부터 응답이 없는 경우, 상기 DRM 관리 서버로 상기 DRM 라이선스 정보를 2차 요청하는, 콘텐츠 유통 서비스 시스템.
The method according to claim 5,
The content distribution provider server,
When the second user terminal first requests the DRM license information to the DRM operator server that provided the DRM module of the downloaded content, and there is no response from the DRM operator server for a preset time from the time of the first request, A content distribution service system that requests the DRM license information to the DRM management server a second time.
청구항 4에 있어서,
상기 DRM 관리 서버 및 상기 DRM 사업자 서버는, DRM 서비스를 제공하기 위한 DRM 모듈을 P2P 방식으로 배포하고, DRM 모듈 배포 이력 정보를 블록체인망에 저장하는, 콘텐츠 유통 서비스 시스템.
The method according to claim 4,
The DRM management server and the DRM operator server distribute a DRM module for providing a DRM service in a P2P manner and store DRM module distribution history information in a blockchain network, a content distribution service system.
하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
사용자 단말기로부터 소정 콘텐츠에 대한 콘텐츠 관련 정보를 포함하는 콘텐츠 등록 요청을 수신하기 위한 명령;
상기 콘텐츠에 고유한 콘텐츠 식별 정보를 생성하고, 상기 생성한 콘텐츠 식별 정보를 상기 사용자 단말기로 송신하기 위한 명령;
상기 사용자 단말기로부터 상기 콘텐츠에 대한 DRM 서비스 조회 요청을 수신하여 상기 콘텐츠에 적용할 수 있는 DRM 서비스 리스트를 상기 사용자 단말기로 송신하기 위한 명령;
상기 사용자 단말기로부터 DRM 서비스 요청을 수신하고, 해당 DRM 서비스를 제공하는 DRM 모듈을 다운로드 할 수 있는 P2P 고유키 정보를 상기 사용자 단말기로 송신하기 위한 명령; 및
상기 사용자 단말기로부터 상기 콘텐츠의 콘텐츠 식별 정보 및 암호화 키 정보를 포함하는 콘텐츠 업로드 정보를 수신하기 위한 명령을 포함하는, 컴퓨팅 장치.
One or more processors;
Memory; And
Contains one or more programs,
The one or more programs are stored in the memory and configured to be executed by the one or more processors,
The one or more programs,
An instruction for receiving a content registration request including content-related information for a given content from a user terminal;
Instructions for generating content identification information unique to the content and transmitting the generated content identification information to the user terminal;
A command for receiving a DRM service inquiry request for the content from the user terminal and transmitting a list of DRM services applicable to the content to the user terminal;
A command for receiving a DRM service request from the user terminal, and transmitting P2P unique key information capable of downloading a DRM module providing the corresponding DRM service to the user terminal; And
And instructions for receiving content upload information including content identification information and encryption key information of the content from the user terminal.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 P2P(Peet-to-Peer) 기반의 콘텐츠 유통 방법으로서,
콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계;
인증서 관리 서버로부터 상기 회원 가입 요청에 따른 인증서를 발급받는 단계;
상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계;
상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계;
상기 P2P 고유키 정보 리스트를 기반으로 상기 콘텐츠 보유 단말기로 접속하고, 상기 컴퓨팅 장치의 인증서를 상기 콘텐츠 보유 단말기로 송신하는 단계;
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠 보유 단말기의 인증서를 수신하는 단계;
상기 인증서 관리 서버로 상기 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계;
상기 콘텐츠 보유 단말기의 인증서가 유효한 경우, 상기 콘텐츠에 대해 상기 컴퓨팅 장치가 보유하고 있는 데이터 블록 리스트를 상기 콘텐츠 보유 단말기로 송신하는 단계;
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠에 대해 상기 컴퓨팅 장치가 보유하고 있지 않은 데이터 블록을 수신하는 단계; 및
상기 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 포함하는, 콘텐츠 유통 방법.
One or more processors, and
A peer-to-peer (P2P) -based content distribution method performed on a computing device having a memory storing one or more programs executed by the one or more processors,
Transmitting a member subscription request to a content distribution provider server;
Receiving a certificate according to the member subscription request from a certificate management server;
Transmitting a content purchase request for a predetermined content to the content distribution provider server;
Receiving a P2P unique key information list for content holding terminals having the content from the content distribution provider server;
Connecting to the content holding terminal based on the P2P unique key information list, and transmitting a certificate of the computing device to the content holding terminal;
Receiving a certificate of the content holding terminal from the content holding terminal;
Requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server;
If the certificate of the content holding terminal is valid, transmitting a list of data blocks held by the computing device for the content to the content holding terminal;
Receiving a block of data not held by the computing device for the content from the content holding terminal; And
And checking whether there is an error in the received data block.
청구항 9에 있어서,
상기 콘텐츠 유통 방법은,
상기 콘텐츠 보유 단말기의 인증서가 유효하지 않은 경우, 상기 콘텐츠 유통 사업자 서버로 인증서 비유효 신고를 송신하는 단계를 더 포함하는, 콘텐츠 유통 방법.
The method according to claim 9,
The content distribution method,
And if the certificate of the content holding terminal is invalid, transmitting a certificate invalid report to the content distribution provider server.
청구항 10에 있어서,
상기 인증서 비유효 신고를 송신하는 단계 이후에,
상기 콘텐츠 유통 사업자 서버로 상기 콘텐츠 보유 단말기를 대체하여 상기 콘텐츠를 다운로드 할 수 있도록 P2P 고유키 정보를 추가 요청하는 단계를 더 포함하는, 콘텐츠 유통 방법.
The method according to claim 10,
After the step of sending the certificate invalid report,
The content distribution method further comprising the step of requesting P2P unique key information to download the content by replacing the content retention terminal with the content distribution server.
청구항 9에 있어서,
상기 콘텐츠 유통 방법은,
상기 수신한 데이터 블록에 오류가 있는 경우, 데이터 블록 오류 신고를 상기 콘텐츠 유통 사업자 서버로 송신하여 상기 콘텐츠 보유 단말기에 대해 인증서 폐기 요청을 상기 인증서 관리 서버로 송신하도록 하는 단계를 더 포함하는, 콘텐츠 유통 방법.
The method according to claim 9,
The content distribution method,
If there is an error in the received data block, further comprising the step of sending a data block error report to the content distribution provider server to send a certificate revocation request to the certificate management server for the content holding terminal, content distribution Way.
청구항 9에 있어서,
상기 콘텐츠 유통 방법은,
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠의 데이터 블록을 수신하는 동안 접속 끊김이 발생하는지 여부를 확인하는 단계;
상기 콘텐츠의 데이터 블록을 수신하는 동안 기 설정된 횟수 이상 접속 끊김이 발생하는 경우, 접속 끊김 신고를 상기 콘텐츠 유통 사업자 서버로 송신하여 상기 콘텐츠 보유 단말기에 대해 인증서 폐기 요청을 상기 인증서 관리 서버로 송신하도록 하는 단계를 더 포함하는, 콘텐츠 유통 방법.
The method according to claim 9,
The content distribution method,
Checking whether disconnection occurs while receiving a data block of the content from the content holding terminal;
If a connection disconnection occurs more than a preset number of times while receiving the data block of the content, a disconnection notification is sent to the content distribution provider server to transmit a certificate revocation request to the certificate management server for the content holding terminal. A method of distributing content, further comprising a step.
컴퓨터 프로그램을 저장하는 저장부; 및
상기 컴퓨터 프로그램을 배포 서버로 전송하는 전송부를 포함하는 업로드 단말기로서,
상기 컴퓨터 프로그램은,
사용자 단말기로 하여금,
콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계;
인증서 관리 서버로부터 상기 회원 가입 요청에 따른 인증서를 발급받는 단계;
상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계;
상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계;
상기 P2P 고유키 정보 리스트를 기반으로 상기 콘텐츠 보유 단말기로 접속하고, 상기 사용자 단말기의 인증서를 상기 콘텐츠 보유 단말기로 송신하는 단계;
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠 보유 단말기의 인증서를 수신하는 단계;
상기 인증서 관리 서버로 상기 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계;
상기 콘텐츠 보유 단말기의 인증서가 유효한 경우, 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있는 데이터 블록 리스트를 상기 콘텐츠 보유 단말기로 송신하는 단계;
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있지 않은 데이터 블록을 수신하는 단계; 및
상기 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 수행하도록 하는 컴퓨터 프로그램인, 컴퓨팅 장치.
A storage unit for storing computer programs; And
An upload terminal comprising a transmission unit for transmitting the computer program to the distribution server,
The computer program,
Let the user terminal,
Transmitting a member subscription request to a content distribution provider server;
Receiving a certificate according to the member subscription request from a certificate management server;
Transmitting a content purchase request for a predetermined content to the content distribution provider server;
Receiving a P2P unique key information list for content holding terminals having the content from the content distribution provider server;
Connecting to the content holding terminal based on the P2P unique key information list, and transmitting a certificate of the user terminal to the content holding terminal;
Receiving a certificate of the content holding terminal from the content holding terminal;
Requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server;
If the certificate of the content holding terminal is valid, transmitting a list of data blocks held by the user terminal for the content to the content holding terminal;
Receiving a block of data not held by the user terminal for the content from the content holding terminal; And
And a computer program to perform a step of checking whether there is an error in the received data block.
컴퓨터 프로그램을 저장하는 저장부; 및
상기 컴퓨터 프로그램을 사용자 단말기로 전송하는 전송부를 포함하는 배포 서버로서,
상기 컴퓨터 프로그램은,
사용자 단말기로 하여금,
콘텐츠 유통 사업자 서버로 회원 가입 요청을 송신하는 단계;
인증서 관리 서버로부터 상기 회원 가입 요청에 따른 인증서를 발급받는 단계;
상기 콘텐츠 유통 사업자 서버로 소정 콘텐츠에 대한 콘텐츠 구매 요청을 송신하는 단계;
상기 콘텐츠 유통 사업자 서버로부터 상기 콘텐츠를 가지고 있는 콘텐츠 보유 단말기들에 대한 P2P 고유키 정보 리스트를 수신하는 단계;
상기 P2P 고유키 정보 리스트를 기반으로 상기 콘텐츠 보유 단말기로 접속하고, 상기 사용자 단말기의 인증서를 상기 콘텐츠 보유 단말기로 송신하는 단계;
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠 보유 단말기의 인증서를 수신하는 단계;
상기 인증서 관리 서버로 상기 콘텐츠 보유 단말기의 인증서에 대한 인증서 유효성 확인을 요청하는 단계;
상기 콘텐츠 보유 단말기의 인증서가 유효한 경우, 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있는 데이터 블록 리스트를 상기 콘텐츠 보유 단말기로 송신하는 단계;
상기 콘텐츠 보유 단말기로부터 상기 콘텐츠에 대해 상기 사용자 단말기가 보유하고 있지 않은 데이터 블록을 수신하는 단계; 및
상기 수신한 데이터 블록에 오류가 있는지 여부를 검사하는 단계를 수행하도록 하는 컴퓨터 프로그램인, 컴퓨팅 장치.

A storage unit for storing computer programs; And
A distribution server comprising a transmission unit for transmitting the computer program to the user terminal,
The computer program,
Let the user terminal,
Transmitting a member subscription request to a content distribution provider server;
Receiving a certificate according to the member subscription request from a certificate management server;
Transmitting a content purchase request for a predetermined content to the content distribution provider server;
Receiving a P2P unique key information list for content holding terminals having the content from the content distribution provider server;
Connecting to the content holding terminal based on the P2P unique key information list, and transmitting a certificate of the user terminal to the content holding terminal;
Receiving a certificate of the content holding terminal from the content holding terminal;
Requesting a certificate validity check for the certificate of the content holding terminal to the certificate management server;
If the certificate of the content holding terminal is valid, transmitting a list of data blocks held by the user terminal for the content to the content holding terminal;
Receiving a block of data not held by the user terminal for the content from the content holding terminal; And
And a computer program to perform a step of checking whether there is an error in the received data block.

KR1020180127621A 2018-10-24 2018-10-24 Method for contents distribution based peer to peer, apparatus and system for executing the method Active KR102120929B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180127621A KR102120929B1 (en) 2018-10-24 2018-10-24 Method for contents distribution based peer to peer, apparatus and system for executing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180127621A KR102120929B1 (en) 2018-10-24 2018-10-24 Method for contents distribution based peer to peer, apparatus and system for executing the method

Publications (2)

Publication Number Publication Date
KR20200046451A true KR20200046451A (en) 2020-05-07
KR102120929B1 KR102120929B1 (en) 2020-06-17

Family

ID=70733693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127621A Active KR102120929B1 (en) 2018-10-24 2018-10-24 Method for contents distribution based peer to peer, apparatus and system for executing the method

Country Status (1)

Country Link
KR (1) KR102120929B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418734B1 (en) * 2020-12-02 2022-07-07 이화여자대학교 산학협력단 Method for trading digital content using blockchain, recording medium and system for performing the method
WO2025018641A1 (en) * 2023-07-19 2025-01-23 삼성전자 주식회사 Electronic device and method for sharing file

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050109065A (en) * 2005-10-05 2005-11-17 문종섭 A peer to peer system which provides benefit to all of content provider, operator of the network and distributor and provides securities in the network
KR20080093313A (en) * 2007-04-16 2008-10-21 삼성전자주식회사 Method and apparatus for data transmission in P2P communication environment
KR20120010164A (en) * 2010-07-19 2012-02-02 삼성전자주식회사 DRM service providing method and apparatus
KR20120076978A (en) * 2010-12-30 2012-07-10 주식회사 케이티 Method and apparatus for managing contents using identification code
KR20140129671A (en) * 2013-04-30 2014-11-07 (주)잉카엔트웍스 Apparatus and method for providing drm service based on cloud
KR20170043960A (en) * 2015-10-14 2017-04-24 케이아이에스정보통신 주식회사 Device Injection Key managing apparatus
KR101888866B1 (en) 2017-10-27 2018-08-16 디자인정글(주) Method and apparatus for distributing contents using copyright protection
KR101897032B1 (en) * 2018-04-26 2018-09-10 이준엽 Apparatus and method for digital rights management using block chain

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050109065A (en) * 2005-10-05 2005-11-17 문종섭 A peer to peer system which provides benefit to all of content provider, operator of the network and distributor and provides securities in the network
KR20080093313A (en) * 2007-04-16 2008-10-21 삼성전자주식회사 Method and apparatus for data transmission in P2P communication environment
KR20120010164A (en) * 2010-07-19 2012-02-02 삼성전자주식회사 DRM service providing method and apparatus
KR20120076978A (en) * 2010-12-30 2012-07-10 주식회사 케이티 Method and apparatus for managing contents using identification code
KR20140129671A (en) * 2013-04-30 2014-11-07 (주)잉카엔트웍스 Apparatus and method for providing drm service based on cloud
KR20170043960A (en) * 2015-10-14 2017-04-24 케이아이에스정보통신 주식회사 Device Injection Key managing apparatus
KR101888866B1 (en) 2017-10-27 2018-08-16 디자인정글(주) Method and apparatus for distributing contents using copyright protection
KR101897032B1 (en) * 2018-04-26 2018-09-10 이준엽 Apparatus and method for digital rights management using block chain

Also Published As

Publication number Publication date
KR102120929B1 (en) 2020-06-17

Similar Documents

Publication Publication Date Title
CN107770115B (en) Method and system for distributing digital content in a peer-to-peer network
JP6961818B2 (en) Data sharing methods, clients, servers, computing devices, and storage media
KR101143228B1 (en) Enrolling/sub-enrolling a digital rights management drm server into a dram architecture
CN103154956B (en) For the method and apparatus of downloading digital copyright management module
US20190050854A1 (en) Blockchain-based digital data exchange
JP5036187B2 (en) Flexible licensing architecture for content rights management systems
US11038894B2 (en) Providing selective access to resources
US8539233B2 (en) Binding content licenses to portable storage devices
US20130132232A1 (en) System And Method For Digital Rights Management With Delegated Authorization For Content Access
US8972726B1 (en) System and method for digital rights management using a secure end-to-end protocol with embedded encryption keys
EP2124163A2 (en) Revocation status checking for digital rights management
JP2015181010A (en) System and method for protecting user privacy in multimedia uploaded to an internet site
US12093349B2 (en) Method for distributing certificate of right to use digital content, and computer program stored in medium in order to carry out method
CN110611657A (en) A method, device and system for file stream processing based on blockchain
KR102474863B1 (en) user terminal, method of distributing digital content, and computer program
KR102447797B1 (en) System for managing document based on IPFS and method thereof
CN105893792A (en) Digital copyright management method, device and system
Zhang et al. A novel approach to rights sharing-enabling digital rights management for mobile multimedia
KR102120929B1 (en) Method for contents distribution based peer to peer, apparatus and system for executing the method
JP6542401B2 (en) Key chain management method and system for end-to-message encryption
KR102094938B1 (en) Contents distribution method based block chain and apparatus for executing the same
CN100472549C (en) Digital rights management method and system
KR101047047B1 (en) Digital rights management method and system using QR and DNS server
KR100867583B1 (en) How to set up domain of digital rights management system
CN112329037A (en) Data acquisition method and device

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20181024

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20191223

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20200522

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200603

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200603

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20230330

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20240418

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20250602

Start annual number: 6

End annual number: 6