WO2020100855A1 - 権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造 - Google Patents
権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造 Download PDFInfo
- Publication number
- WO2020100855A1 WO2020100855A1 PCT/JP2019/044246 JP2019044246W WO2020100855A1 WO 2020100855 A1 WO2020100855 A1 WO 2020100855A1 JP 2019044246 W JP2019044246 W JP 2019044246W WO 2020100855 A1 WO2020100855 A1 WO 2020100855A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- identifier
- right holder
- control target
- hash value
- Prior art date
Links
- 238000012546 transfer Methods 0.000 claims description 59
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 40
- 238000000034 method Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 13
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- MKIMSXGUTQTKJU-UHFFFAOYSA-N Propamocarb hydrochloride Chemical compound [Cl-].CCCOC(=O)NCCC[NH+](C)C MKIMSXGUTQTKJU-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/108—Transfer of content, software, digital rights or licenses
- G06F21/1086—Superdistribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present invention is used by a right holder of a content, and a right holder terminal that transmits content permission data to a content user, and use by a content user that transmits content permission request data to a content right holder.
- the present invention relates to a data structure of a right holder terminal, a new right holder terminal used by a new right holder who has transferred a right from a content right holder, a right holder program, a user program, a new right holder program, a content use system, and root object data.
- Blockchain which is a kind of decentralized ledger, is used for transactions of digital virtual currencies.
- information on transactions of virtual currencies among participants is collected in units called blocks to form a block chain.
- the block chain is recorded in a form in which a block is linked with a block immediately before, as the word "chain" is. Specifically, each block is linked by including the hash value of the immediately preceding block in the block.
- Program code which is also called a contract
- Program code is registered in advance in the block chain.
- the program code of the transaction is executed when the transaction is included in the block.
- the execution result is stored in the state data of the block chain.
- IPFS InterPlanetary File System
- IPFS InterPlanetary File System
- a file is divided into blocks of a specific size and managed by terminals belonging to IPFS.
- the file is recognized by the identifier generated from the hash value, and the file cannot be tampered with.
- IPFS can ensure transparency and reliability due to its dispersive and ID structure.
- Non-Patent Document 2 There is also a system that combines a distributed file management system and a blockchain, focusing on the fact that it is an extremely robust mechanism against tampering with the blockchain (see Non-Patent Document 2).
- the file is divided into chunks. Each chunk is summarized by a DAG (Directed Acyclic Graph), and the chunk describes the information of the linked chunk.
- DAG Directed Acyclic Graph
- the identifiers of all the chunks forming the DAG are registered in the block chain.
- Non-Patent Document 2 since the identifiers of all chunks are aggregated in the blockchain state data, a bug in the contract or an attack on the contract may affect the entire distributed file system.
- Non-patent Document 2 the identifier of each chunk is registered, which causes the block chain to grow. The cost of processing transactions associated with larger files can result in lower transaction throughput on the blockchain.
- an object of the present invention is to provide a right holder terminal, a user terminal, a new right holder terminal, a right holder program, a user program, in which information of contents registered in a distributed file management system can be distributed and registered in a distributed ledger. It is to provide a data structure of a new right holder program, a content utilization system and root object data.
- the first feature of the present invention relates to a distributed ledger system that is used by a right holder of content and has a distributed ledger, and a right holder terminal connected to a file management system.
- a right holder terminal according to the first aspect of the present invention stores content data and also an identifier of a contract executed in a distributed ledger system, a hash value of control target file data for specifying content data managed by the contract,
- a storage device that stores state data in which the identifier of the right holder and the identifier of the user of the content data in the file management system are stored, and the reference destination data including the contract identifier is generated, and the reference destination data and the control target file data are generated.
- the root object generation unit that generates the root object data including the link name and the hash value of the file and sends the transaction to be stored in the storage device, and the hash value of the root object data and the hash value of the control target file data, And a file management control unit that notifies the identifier in association with the identifier of the right holder.
- the reference data corresponding to the hash value of the control target file data in the state data If the contract identifier and the user identifier associated with the hash value of the control target file data match the sender user identifier, the content specified by the control target file data via the file management system. You may further provide the sharing part which transmits data to a user terminal.
- the state data corresponds to the hash value of the control target file data. If the identifier of the right holder associated with the reference data contract identifier and the hash value of the control target file data matches the identifier of the new right holder of the transmission source, it is controlled via the file management system.
- the transfer unit further deletes the content data from the storage device. You may prepare.
- the root object data may include the link name and hash value of the reference data instead of including the reference data.
- the second feature of the present invention relates to a user terminal used by a content user and connected to a distributed ledger system having a distributed ledger and a file management system.
- the user terminal according to the second aspect of the present invention includes an identifier of a contract executed in the distributed ledger system, a hash value of control target file data that specifies content data managed by the contract, and content data in the file management system.
- State data in which a right holder's identifier and a user's identifier are associated with each other, reference destination data including a contract identifier, root object data including a link name and hash value of control target file data, and a storage device that stores state data.
- the right holder who acquires the identifier of the right holder associated with the hash value of the control target file data and the contract identifier of the reference data corresponding to the hash value of the control target file data from the data
- a usage unit that sends a usage request including the hash value of the control target file data to the terminal via the file management system and receives the content data via the file management system.
- the storage device may store the root object data including the link name and hash value of the reference destination data and the reference destination data instead of not including the reference destination data.
- the third feature of the present invention relates to a new right holder terminal that is used by a new right holder who has transferred the right from the content right holder and is connected to a distributed ledger system having a distributed ledger and a file management system.
- the new right holder terminal according to the third aspect of the present invention is an identifier of a contract executed in the distributed ledger system, a hash value of control target file data for specifying content data managed by the contract, content data in the file management system.
- a storage device that stores state data in which the identifier of the right holder and the identifier of the user are associated with each other, reference destination data that includes the contract identifier, and root object data that includes the link name and hash value of the control target file data, From the state data, the identifier of the contract of the reference data corresponding to the hash value of the control target file data and the identifier of the right holder associated with the hash value of the control target file data are obtained, and the hash of the control target file data is obtained.
- a transfer request unit that transmits a transfer request including a hash value of control target file data to the right holder terminal used by the person and receives the content data via the file management system, and a new right holder.
- the terminal includes a file management control unit that transmits a notification that the terminal has content data.
- the storage device may store the root object data including the link name and hash value of the reference destination data and the reference destination data instead of not including the reference destination data.
- a fourth feature of the present invention relates to a right holder program for causing a computer to function as the right holder terminal described in the first feature of the present invention.
- the fifth feature of the present invention relates to a user program for causing a computer to function as the user terminal described in the second feature of the present invention.
- the sixth feature of the present invention relates to a new right holder program for causing a computer to function as the new right holder terminal described in the third feature of the present invention.
- a seventh feature of the present invention is that a distributed ledger system used by a content right holder and having a distributed ledger, a right holder terminal connected to a file management system, a distributed ledger system and a file used by a content user.
- the present invention relates to a content usage system including a user terminal connected to a management system.
- the right holder terminal stores the content data, and the control target file data that specifies the contract identifier executed in the distributed ledger system and the content data managed by the contract.
- a storage device that stores state data in which the hash value of, the identifier of the right holder of the content data and the identifier of the user in the file management system are stored, and reference destination data including the contract identifier is generated, and the reference destination data
- a root object generation unit that generates root object data including the link name and hash value of the control target file data and sends the transaction to be stored in the storage device, and the hash value of the root object data and the hash value of the control target file data.
- a file management control unit that notifies the identifier of the right holder in the file management system and the user terminal used by the user sends a usage request including the hash value of the control target file data through the file management system.
- the contract identifier of the reference destination data corresponding to the hash value of the control target file data and the user identifier associated with the hash value of the control target file data are If the identifier matches the identifier of, the sharing unit that transmits the content data specified by the control target file data to the user terminal via the file management system is provided, and the user terminal stores the state data and the root object data. From the device and the state data, the contract identifier of the reference data corresponding to the hash value of the control target file data and the identifier of the right holder associated with the hash value of the control target file data are acquired.
- An eighth feature of the present invention is that a distributed ledger system used by a content right holder and having a distributed ledger, a right holder terminal connected to a file management system, and a new right holder who has transferred the right from the content right holder.
- the present invention relates to a content utilization system including a new ledger terminal that is used and connected to a distributed ledger system and a file management system.
- the right holder terminal stores the content data, and is a control target file that specifies the identifier of the contract executed in the distributed ledger system and the content data managed by the contract.
- a storage device that stores state data in which the hash value of the data, the identifier of the right holder of the content data in the file management system, and the identifier of the user are associated with each other, and the reference destination data including the identifier of the contract is generated to obtain the reference destination data.
- a root object generation unit that generates root object data including a link name and a hash value of control target file data and stores the root object data in a storage device, and a hash value of the root object data and a hash value of the control target file data From the file management control unit that notifies the identifier of the rights holder in the system and the new right holder terminal used by the new right holder of the content, a transfer request including the hash value of the control target file data is sent via the file management system.
- the identifier of the contractor of the reference data corresponding to the hash value of the control target file data and the identifier of the right holder associated with the hash value of the control target file data are If the new right holder's identifier matches, the content data specified by the control target file data is transmitted to the new right holder's terminal via the file management system, and the new right holder's terminal indicates that the new right holder's terminal has the content data.
- the new right holder terminal includes a transfer unit that deletes the content data from the storage device, and the new right holder terminal stores the state data and the root object data in the storage device and the hash value of the control target file data from the state data.
- a transfer request unit that transmits a transfer request including a hash value of control target file data via the system and receives content data via the file management system, and a new right holder end.
- a file management control unit for transmitting a notification that the end has content data is provided.
- the root object data may include the link name and hash value of the reference data instead of not including the reference data.
- a ninth feature of the present invention relates to a data structure of root object data used for content management data having a distributed ledger system having a distributed ledger and a content use system having a file management system.
- the distributed ledger is an identifier of a contract executed in the distributed ledger system, a hash value of control target file data that specifies content data managed by the contract, a right holder of the content data in the file management system.
- the root object data may include the link name and hash value of the reference data instead of including the reference data.
- the information of the content registered into a distributed file management system can be distributed and registered into a distributed ledger, the right holder terminal, user terminal, new right holder terminal, right holder program, user program, new It is possible to provide a data structure of a rights holder program, a content utilization system, and root object data.
- FIG. 11 is a sequence diagram illustrating a process in which the right holder terminal generates root object data and registers it in the file management system in the content use system according to the embodiment of the present invention.
- FIG. 6 is a sequence diagram (part 1) illustrating a process in which the user terminal requests the right holder terminal to share the content data in the content use system according to the embodiment of the present invention.
- FIG. 11 is a sequence diagram (part 2) explaining a process in which the user terminal requests the right holder terminal to share the content data in the content use system according to the embodiment of the present invention.
- FIG. 11 is a sequence diagram illustrating a process in which the user terminal requests the right holder terminal to share the content data in the content use system according to the embodiment of the present invention.
- FIG. 9 is a sequence diagram (1) explaining a process in which the new right holder terminal requests the right holder terminal to transfer the content data in the content use system according to the embodiment of the present invention.
- FIG. 11 is a sequence diagram (2) explaining a process in which the new right holder terminal requests the right holder terminal to transfer the content data in the content use system according to the embodiment of the present invention. It is a figure explaining the content management data used for the content use system which concerns on a modification. It is a figure explaining an example of the data structure of root object data used for the contents use system concerning a modification. In the content use system which concerns on a modification, a user terminal is a sequence diagram explaining the process which requests a right holder terminal to share content data (the 1).
- the content utilization system 10 includes a block chain system (distributed ledger system) 6 and a file management system 9.
- the blockchain system 6 shares blockchain data (distributed ledger) B among terminals belonging to the system.
- the block chain data B is data in which blocks including transactions issued by terminals belonging to the system are connected.
- the block chain system 6 includes a right holder terminal 1, a user terminal 2, and a new right holder terminal 3.
- the block chain system 6 may further include a plurality of block chain control terminals 4.
- Each terminal belonging to the block chain system 6 is P2P (Peer to Peer) connected via the block chain network 5.
- Each terminal belonging to the block chain system 6 includes a block chain data B and a block chain controller for synchronizing the block chain data B, as shown in FIGS. 5, 7, and 8.
- the block chain data B registers control information of content data distributed in the content use system 10.
- the control information is an identifier of a right holder and a user of content data in the file management system 9.
- the file management system 9 includes a right holder terminal 1, a user terminal 2, and a new right holder terminal 3.
- the file management system 9 may further include a plurality of file management control terminals 7.
- the file management system 9 is a decentralized distributed file management system in which terminals belonging to the file management system 9 such as IPFS manage files in a distributed manner.
- Each terminal belonging to the file management system 9 is P2P connected via the file management network 8.
- the right holder terminal 1 is used by the right holder of the content and is connected to the block chain system 6 and the file management system 9.
- the user terminal 2 is used by a content user and is connected to the block chain system 6 and the file management system 9.
- the new right holder terminal 3 is used by the new right holder who has transferred the right from the content right holder, and is connected to the block chain system 6 and the file management system 9.
- the block chain control terminal 4 is used by those who use the block chain system 6 and are other than the content right holder, the user, and the new right holder.
- the file management control terminal 7 is used by those who use the file management system 9 other than the content right holder, the user, and the new right holder.
- the number of block chain control terminals 4 and file management control terminals 7 does not matter.
- the block chain control terminal 4 and the file management control terminal 7 may be terminals different from each other, or the function of the block chain control terminal 4 and the function of the file management control terminal 7 may be implemented by one terminal. ..
- an example of the distributed ledger is a block chain, and a case of registering content right holder and user information in the block chain will be described, but the present invention is not limited to this.
- other distributed ledgers may be used to register the information of the right holder and the user of the content.
- the content management data M according to the embodiment of the present invention will be described with reference to FIG.
- the content management data M is created by the right holder terminal 1.
- the content management data M manages content data registered in the file management system 9.
- the content management data M is provided in response to a request from another terminal.
- Content management data M is data for managing content data.
- the content management data M does not include the substance of the content data, as shown in FIG.
- the content data is divided into chunks of a predetermined size and collected in the DAG.
- the content management data M has a plurality of control target file data and non-control target file data that specify each content data, and root object data Obj.
- the control target file data itself becomes the content data, and the content management data M includes the substance of the content data.
- the content management data M includes A control target file data F1, B control target file data F2, and C non-control target file data F3.
- the control target file data is data that specifies the content data corresponding to the control information registered in the block chain data B.
- the non-control target file data is data that specifies content data whose control information is not registered in the block chain data B.
- the control target file data specifies video data and music contents provided to the user.
- the non-control target file specifies data associated with the control target file, such as a fingerprint for probabilistically specifying the content data, and is arbitrarily set.
- the A control target file data F1 has information such as the link name and hash value of the chunk linked to the A control target file data F1 among the chunks divided from the A content data.
- the A control target file data F1 has information such as the link name of each chunk such as the chunk of the hash value ChunkA1, the chunk of the hash value ChunkA2, the hash value, and the size.
- the B control target file data F2 has information such as the link name and hash value of the chunk linked to the B control target file data F2 among the chunks divided from the B content data.
- the C non-control target file data F3 has information such as a link name and a hash value of a chunk linked to the C non-control target file data F3 among the chunks divided from the C content data.
- the hash value FileA of the A control target file data F1 is calculated from the data of the A control target file data F1, and FileA is used as the identifier of the A control target file data F1.
- the hash value FileB of the B control target file data F2 is calculated from the data of the B control target file data F2, and FileB is used as the identifier of the B control target file data F2.
- the hash value FileC of the C non-control target file data F3 is calculated from the data of the C non-control target file data F3, and FileC is used as the identifier of the C non-control target file data F3.
- the identifier of each control target file or non-control target file also functions as an identifier of subordinate content data.
- the root object data Obj has data such as hash values, link names and sizes of the control target file data and the non-control target file data linked to the root object data Obj, and the reference data R.
- the root object data Obj associates the link name LinkA and the hash value FileA with the A control target file data F1, and the link name LinkB and the hash value FileB with the B control target file data F2.
- the link name LinkC and the hash value FileC are associated with the C non-control target file data F3.
- the block chain data B holds the identifiers of the right holder and the user in the file management system 9 as the control information of the content data specified by the control target file data. Further, in the embodiment of the present invention, the block chain data B divides the control information of each content data used in the content use system 10 into a plurality of contracts and holds them. Therefore, the reference destination data R is used to specify the contract of the block chain data B to be updated when the setting, change or deletion of the identifier of the right holder or the user occurs.
- the reference destination data R includes a contract identifier, call information for calling this contract, and information for specifying control target file data.
- the contract identifier specifies the position in the block chain data B where the control information of the content data managed by the content management data M is registered.
- the contract identifier is also a contract identifier that performs processing related to information related to content data managed by the content management data M.
- the contract invocation information is set with information such as a function name and arguments when performing processing related to the content data managed by the content management data M.
- the reference destination data R further has a hash value of the control target file data managed by the content management data M as information for identifying the control target file data.
- the reference destination data R has a hash value FileA of the A control target file and a hash value FileB of the B control target file.
- the information specifying the control target file data is the hash value of the control target file data as a so-called white list. May be.
- the identifier of the contract that manages this control target file is specified from the hash value of the control target file according to the information set as the information that specifies the control target file data. For example, when the hash value of the control target file data managed by this contract is designated as the contract identifier in the reference data R, the contract identifier corresponding to the hash value of the control target file data is specified. When the hash value of the non-controlled file data that is not managed by this contract is specified as the contract identifier in the referenced data R, first, the root object data Obj including the hash value of the controlled file data is specified and specified. The identifier of the contract is specified from the reference destination data R corresponding to the root object data Obj.
- the reference target data R includes information specifying the control target file data
- the control target file data to be processed is determined based on the information specifying the control target file data of the reference data R.
- a case of specifying the identifier of the contract to be managed will be described, but not limited to this. Even if the reference destination data R does not include information that identifies the control target file data, the root object data Obj that includes the hash value of the control target file data that is the processing target is identified, and the reference destination data that the identified root object data Obj includes The identifier of the contract may be specified from R.
- a hash value is calculated from such data of the root object data Obj, and the calculated hash value is used as an identifier of the root object data Obj.
- the hash value of the root object data Obj is associated with the identifier of the right holder or user of the content data managed by the content management data M in the state data Bs of the block chain data B.
- the content management data M is the control target file data or the non-control target file data that holds the identifier of the chunk divided from the content data, and the control target file data or the non-control target file data. It has root object data Obj including a hash value of. As a result, the content management data M can be made difficult to be tampered with. Further, since the root object data Obj holds the reference destination data R used for processing the information registered in the block chain data B, the content data to be managed and the information registered in the block chain data B are linked. It is possible to attach.
- the state data Bs has a plurality of contract identifiers, and the root object data Obj is generated for each contract identifier.
- the right holder terminal 1 may also have a plurality of root object data Obj. In this case, a plurality of content data held by the right holder terminal 1 is assigned to any of the root object data Obj.
- the right holder terminal 1 is a general computer including a storage device 110, a processing device 120, and a communication control device 130.
- a general computer executes the right holder program to realize the functions shown in FIG.
- the storage device 110 is a ROM (Read Only Memory), a RAM (Random access memory), a hard disk, or the like, and stores various data such as input data, output data, and intermediate data for the processing device 120 to execute processing. ..
- the processing device 120 is a CPU (Central Processing Unit), reads and writes data stored in the storage device 110, inputs and outputs data to and from the communication control device 130, and executes processing in the right holder terminal 1. To do.
- the communication control device 130 is an interface for communicatively connecting the right holder terminal 1 to a terminal belonging to the block chain network 5 or the file management network 8.
- the storage device 110 stores the right holder program and the content data held by the right holder terminal 1, and also stores the block chain data B, the routing data 111, and the content management data M.
- the blockchain data B is blockchain data synchronized with each terminal of the blockchain system 6 shown in FIG.
- the block chain data B is updated by the block chain control unit 121.
- the block chain data B performs right processing of the content data according to Ethereum.
- the block chain data B includes block chain body data Bb and state data Bs.
- the block chain body data Bb is formed by connecting a plurality of blocks in a chain. Each block includes a plurality of transactions, and a contract may be set in the transaction or execution of the contract may be designated.
- the state data Bs is provided with a data area for each contract, and the data area of the contract is updated as the contract is executed.
- the state data Bs associates a contract identifier for identifying a contract executed in the block chain system 6, a hash value of the root object data Obj, and control information of content data managed by the contract.
- the root object data Obj has data relating to content data generated in the right holder terminal 1 and managed by the contract as described with reference to FIG.
- the control information of the content data is a hash value of control target file data that identifies the content data managed by the contract, an identifier of the right holder in the block chain system 6, an identifier of the right holder of the content data in the file management system 9, and a user. Identifier, etc.
- the control information of the content data may further include conditions such as a price associated with the use or transfer of the content, an identifier of the user in the block chain system 6, and the like.
- the present invention is not limited to this.
- the blockchain system 6 presents information about this root object data Obj.
- the blockchain system 6 6 may be appropriately referred to such as presenting control information regarding this root object data Obj.
- the present invention is not limited to this.
- the identifiers of a plurality of right holders and users may be set in the hash value of one control target file data.
- identifiers of the right holder and the user may be set for various rights such as distribution rights and secondary usage rights generated from the content data. Before the user is registered, the user identifier is blank.
- the contract associated with the root object data Obj to be created is deployed.
- the contract is deployed and the contract identifier is issued, the root object data Obj is generated.
- the identifier of the deployed contract, the hash value of the root object data Obj, and the control information are set in association with the state data Bs.
- the state data Bs or the like may store table data that associates the contract name with the contract identifier.
- the right holder terminal 1 generates the root object Obj including the name of the contract, deploys the contract in association with the name of the contract, and in the table data, the identifier of the deployed contract is associated with the name of the contract. Apply.
- the routing data 111 is data in which an identifier of a file in the file management system 9 is associated with an identifier of a terminal having the file.
- Each terminal belonging to the file management system 9 has routing data 111.
- the identifiers of the files managed by the file management system 9 and the identifiers of the terminals having the files are distributed and held in each terminal.
- the content management data M is data for managing content data registered in the file management system 9 as described with reference to FIG.
- the storage device 110 stores data necessary for connecting to the block chain system 6 and the file management system 9. Specifically, the storage device 110 stores the private key and the public key for the digital signature of the right holder.
- the block chain system 6 and the file management system 9 may use different private keys and public keys, or may use common private keys and public keys.
- the processing device 120 includes a block chain control unit 121, a file management control unit 122, a root object generation unit 123, a sharing unit 124, and a transfer unit 125.
- the blockchain control unit 121 gently synchronizes the blockchain data B with the blockchain data of another terminal, and controls the blockchain data B to be the latest data in a form close to real time.
- the block chain data B is updated after verifying whether or not a block in which the plurality of transactions are combined can be added to the current block chain body data Bb.
- the file management control unit 122 registers contents in the file management system 9 and manages the routing data 111 held by the right holder terminal 1.
- the root object generation unit 123 generates the root object data Obj of the content management data M shown in FIG.
- the root object generation unit 123 deploys the contract holding the control information of the content data to be managed in the block chain data B, and generates the reference destination data R including the identifier of the contract.
- the reference destination data R also includes information specifying the control target file data managed by the root object data Obj.
- the root object generating unit 123 further generates the reference object data R and the root object data Obj including the link name and hash value of the control target file data and the non-control target file data.
- the root object generation unit 123 stores the generated root object data Obj in the storage device 110 and registers the hash value of the root object data Obj in the state data Bs in association with the identifier of the deployed contract. More specifically, the root object generation unit 123 sends a transaction in which the hash value of the root object data Obj is associated with the contract identifier to the block chain system 6, and the terminal that processes this transaction uses the state data Bs in the state data Bs. ,
- the root object data Obj is updated by associating the hash value with the contract identifier.
- the file management control unit 122 causes the terminal belonging to the file management system 9 to store the hash value of the root object data Obj, the control target file data, and the non-control target file data.
- the hash value is notified in association with the identifier of the right holder in the file management system 9.
- the terminal belonging to the file management system 9 is notified that the right holder has the root object data Obj and the control target file data and the non-control target file data managed by the root object.
- the sharing unit 124 receives a request for using content data from the user, confirms that the user is a valid user, and transmits the content data to the user.
- the user terminal 2 grasps that the right holder terminal 1 has the root object data Obj by the notification accompanying the root object generation unit 123.
- the user terminal 2 specifies the hash value of the root object data Obj and acquires the root object data Obj from the right holder terminal 1.
- the sharing unit 124 corresponds to the hash value of the control target file data from the state data Bs.
- the identifier of the user in the file management system 9 that is associated with the contract identifier of the reference data R and the hash value of the control target file data is acquired.
- the sharing unit 124 refers to the reference destination data R,
- the identifier of the contract corresponding to the A control target file data F1 is specified from the information specifying the control target file data.
- the sharing unit 124 specifies the root object data Obj that includes the hash value of the A control target file data F1, and the specified root object data Obj includes the root object data Obj.
- the identifier of the contract included in the reference data R is specified.
- the sharing unit 124 acquires the identifier of the specified contract and the identifier of the user associated with the hash value of the A-controlled file data F1 from the state data Bs.
- the sharing unit 124 When the identifier of the user acquired from the state data Bs matches the identifier of the user who is the transmission source, the sharing unit 124 further sets the content data specified by the control target file data via the file management system 9 to the user terminal. Send to 2.
- the sharing unit 124 transmits each divided chunk to the user terminal 2. Thereby, the sharing unit 124 can provide the content data to the legitimate user registered in the state data Bs.
- the right holder terminal 1 confirms whether or not the identifier of the user registered in the state data Bs and the identifier of the user of the transmission source match will be described, but the present invention is not limited to this.
- the right holder terminal 1 may transmit the identifier of the user of the transmission source and the identifier of the contract to the block chain data B.
- the contract of the block chain data B confirms whether the user identifier registered in the state data Bs and the user identifier transmitted from the right holder terminal 1 match, and the result is confirmed. It is returned to the right holder terminal 1.
- the transfer unit 125 receives the request for transferring the content data from the new right holder, confirms that the right holder is the right holder, transmits the content data to the right holder, and confirms that the right holder has acquired the content data. After confirmation, delete the content data.
- the right holder's identifier is set in the right holder's identifier column of the control target file data of the state data Bs, and the right holder (old right holder) Content data to the new right holder.
- the new right holder terminal 3 recognizes that the right holder terminal 1 has the root object data Obj by the notification accompanying the root object generation unit 123, and specifies the hash value of the root object data Obj to specify the right holder terminal Obj.
- the root object data Obj is acquired from 1.
- the transfer unit 125 When the transfer request is transmitted from the new right holder terminal 3 via the file management system 9, the transfer unit 125 responds to the hash value of the control target file data from the state data Bs.
- the identifier of the right holder in the file management system 9 that is associated with the contract identifier of the reference data R and the hash value of the control target file data is acquired.
- the sharing unit 124 refers to the reference destination data R,
- the identifier of the contract corresponding to the A control target file data F1 is specified from the information specifying the control target file data.
- the transfer unit 125 specifies the root object data Obj that includes the hash value of the A control target file data F1, and the specified root object data Obj includes it.
- the identifier of the contract included in the reference data R is specified.
- the transfer unit 125 acquires, from the state data Bs, the identifier of the specified contract and the identifier of the right holder associated with the hash value of the A-controlled file data F1.
- the transfer unit 125 When the identifier of the right holder acquired from the state data Bs matches the identifier of the new right holder of the transmission source, the transfer unit 125 further sets the new right to the content data specified by the control target file data via the file management system 9. It is transmitted to the person terminal 3. Here, since the content data is divided into chunks, the transfer unit 125 transmits each divided chunk to the new right holder terminal 3. Thus, the sharing unit can provide the content data to the legitimate user registered in the state data Bs.
- the new right holder terminal 3 Upon receiving the content data from the right holder terminal 1, the new right holder terminal 3 sends a notification to the terminals belonging to the file management system 9 that the new right holder terminal 3 has the content data. Upon receiving the notification from the new right holder terminal 3 that the new right holder terminal 3 has the content data, the transfer unit 125 deletes the content data from the storage device 110. It is possible to avoid a situation in which an old right holder who does not have the right to the content data holds the content data.
- the right holder terminal 1 checks whether the identifier of the right holder registered in the state data Bs and the identifier of the new right holder of the transmission source match, but the present invention is not limited to this. ..
- the right holder terminal 1 may transmit the identifier of the new right holder of the transmission source and the contract identifier to the block chain data B.
- the contract of the block chain data B confirms whether the identifier of the right holder registered in the state data Bs and the identifier of the new right holder transmitted from the right holder terminal 1 match, and as a result, Is returned to the right holder terminal 1.
- the identifier of the chunk of the content data specified by the control target file managed by the generated root object data Obj is also the right holder identifier in the file management system 9. You may correlate and notify.
- the right holder terminal 1 receives the acquisition request in which the chunk identifier is specified, it identifies the control target file data associated with the chunk identifier, and identifies the user of the identified control target file data from the block chain data B. Check. The right-holder terminal 1 sends the chunk specified by the acquisition request if the request is from a valid user.
- the chunk identifier specified in the acquisition request may not be included in the control target file data. Even in this case, the chunk including the identifier of the chunk designated by the acquisition request can be searched from among the chunks in which the control target file data of the root root object data Obj of the right holder terminal 1 includes the identifier. Alternatively, the right holder terminal 1 associates the hash value of each control target file data and non-control target file data managed by the root object data Obj with the identifier of each chunk of each control target file data and non-control target file data. You may keep the attached table.
- the right-holder terminal 1 easily identifies the hash value of the control target file data corresponding to the chunk from the chunk identifier, and further identifies the hash value in the state data Bs. The identifier of the user of the controlled file can be confirmed.
- the user terminal 2 is a general computer including a storage device 210, a processing device 220, and a communication control device 230.
- a general computer executes the right holder program, the functions shown in FIG. 7 are realized.
- the storage device 210 is a ROM (Read Only Memory), a RAM (Random access memory), a hard disk, etc., and stores various data such as input data, output data, and intermediate data for the processing device 220 to execute processing. ..
- the processing device 220 is a CPU (Central Processing Unit), reads and writes data stored in the storage device 210, inputs and outputs data to and from the communication control device 230, and executes processing in the user terminal 2. To do.
- the communication control device 230 is an interface for allowing the user terminal 2 to communicatively connect to a terminal belonging to the block chain network 5 or the file management network 8.
- the storage device 210 stores the user program and also stores the block chain data B and the routing data 211.
- the block chain data B and the routing data 211 are the same as the block chain data B and the routing data 111 described with reference to FIG.
- the storage device 210 stores data necessary for connecting to the block chain system 6 and the file management system 9. Specifically, the storage device 210 stores a private key and a public key for a user's digital signature.
- the block chain system 6 and the file management system 9 may use different private keys and public keys, or may use common private keys and public keys.
- the processing device 220 includes a block chain control unit 221, a file management control unit 222, and a usage unit 223.
- the block chain control unit 221 and the file management control unit 222 function similarly to the block chain control unit 121 and the file management control unit 122 described with reference to FIG.
- the usage unit 223 registers the user in the state data Bs, acquires the content data from the right holder terminal 1, and uses the content data.
- the right holder terminal 1 After the right holder terminal 1 registers the hash value of the root object data Obj in the state data Bs, the hash value of the root object data Obj, the hash of the control target file data, and the non-control target file data is displayed in the terminal belonging to the file management system 9. The value is notified in association with the identifier of the right holder in the file management system 9. As a result, the user terminal 2 recognizes that the right holder terminal 1 has the root object data Obj, specifies the hash value of the root object data Obj, and acquires the root object data Obj from the right holder terminal 1.
- the usage unit 223 When the usage unit 223 becomes a user of the content data specified by the control target file data, the usage unit 223 obtains the contract identifier of the reference data R corresponding to the hash value of the control target file data and the hash value of the control target file data. By designating, a transaction for setting the user identifier is transmitted to the block chain system 6. At this time, a transaction is generated based on the call information of the contract of the reference destination data R. As a result, the user identifier of the control target file in the state data Bs is set.
- the usage unit 223 acquires the contract identifier corresponding to the hash value of the control target file data to be used in the reference destination data R.
- the usage unit 223 sets the contract identifier of the reference destination data R included in the root object data Obj that includes the hash value of the control target file data to be used. get.
- the usage unit 223 acquires from the state data Bs the identifier of the contractor of the reference destination data R corresponding to the hash value of the control target file data and the identifier of the right holder associated with the hash value of the control target file data. .. Thereby, the utilization unit 223 grasps the identifier of the right holder in the file management system 9 of the content data specified by the control target file data.
- the utilization unit 223 further transmits a utilization request including the hash value of the control target file data to the right holder terminal 1 via the file management system 9.
- the utilization unit 223 receives the content data via the file management system 9.
- the utilization unit 223 receives each divided chunk from the right holder terminal 1.
- the utilization unit 223 can acquire the content data from the authorized right holder registered in the state data Bs.
- the new right holder terminal 3 is a general computer including a storage device 310, a processing device 320, and a communication control device 330.
- a general computer executes the new right holder program, the functions shown in FIG. 8 are realized.
- the storage device 310 is a ROM (Read Only Memory), a RAM (Random access memory), a hard disk, or the like, and stores various data such as input data, output data, and intermediate data for the processing device 320 to execute processing. ..
- the processing device 320 which is a CPU (Central Processing Unit), reads and writes data stored in the storage device 310, inputs and outputs data to and from the communication control device 330, and performs processing in the new right holder terminal 3. Run.
- the communication control device 330 is an interface for communicatively connecting the new right holder terminal 3 to a terminal belonging to the block chain network 5 or the file management network 8.
- the storage device 310 stores the new right holder program as well as the block chain data B and the routing data 311.
- the block chain data B and the routing data 311 are the same as the block chain data B and the routing data 311 described with reference to FIG.
- the storage device 310 stores data necessary for connecting to the block chain system 6 and the file management system 9. Specifically, the storage device 310 stores a private key and a public key for a user's digital signature.
- the block chain system 6 and the file management system 9 may use different secret keys and public keys, or may use common secret keys and public keys.
- the processing device 320 includes a block chain control unit 321, a file management control unit 322, and a transfer request unit 323.
- the block chain control unit 321 and the file management control unit 322 function similarly to the block chain control unit 121 and the file management control unit 122 described with reference to FIG.
- the transfer request unit 323 registers in the state data Bs that the right of the content data owned by the right holder (old right holder) is transferred from the right holder to the new right holder, and acquires the content data from the right holder terminal 1. ..
- the right holder terminal 1 After the right holder terminal 1 registers the hash value of the root object data Obj in the state data Bs, the hash value of the root object data Obj, the hash of the control target file data, and the non-control target file data is displayed in the terminal belonging to the file management system 9. The value is notified in association with the identifier of the right holder in the file management system 9. Thereby, the new right holder terminal 3 recognizes that the right holder terminal 1 has the root object data Obj, specifies the hash value of the root object data Obj, and acquires the root object data Obj from the right holder terminal 1.
- the transfer request unit 323 When the transfer request unit 323 becomes the right holder of the content data specified by the control target file data, the transfer request unit 323 identifies the contract identifier of the reference data R corresponding to the hash value of the control target file data from the state data Bs and the control target file. The identifier of the right holder (old right holder) associated with the hash value of the data is acquired. Thereby, the utilization unit 223 grasps the identifier of the old right holder in the file management system 9 of the content data specified by the control target file data.
- the transfer requesting unit 323 acquires the contract identifier corresponding to the hash value of the transfer target control target file data in the reference target data R.
- the usage unit 223 determines the contract identifier of the reference destination data R included in the root object data Obj that includes the hash value of the transfer target control target file data. get.
- the transfer request unit 323 further transmits a transaction for changing the identifier of the right holder of the control target file data to the identifier of the new right holder to the block chain system 6.
- the contract identifier of the reference data R corresponding to the hash value of the control target file data and the hash value of the control target file data are designated.
- a transaction is generated based on the call information of the contract of the reference destination data R.
- the identifier of the right holder of the control target file in the state data Bs is changed from the identifier of the old right holder to the identifier of the new right holder.
- the transfer request unit 323 further transmits a transfer request including the hash value of the control target file data to the right holder terminal 1 via the file management system 9, and receives the content data via the file management system 9.
- the transfer request unit 323 receives each divided chunk from the right holder terminal 1.
- the usage unit 223 can acquire the content data from the authorized right holder registered in the state data Bs.
- the file management control unit 322 transmits a notification that the new right holder terminal 3 has content data.
- the content data is deleted from the right-holder terminal 1. It is possible to prevent an old right holder who has no right to the content data from holding the content data.
- the processing according to the embodiment of the present invention will be described with reference to FIGS. 9 to 11B.
- the order of the processes shown in FIGS. 9 to 11B is an example, and the order is not limited to this.
- the processing on the block chain data B is executed by any terminal in the block chain system 6.
- the process of the block chain data B is a process performed by a terminal belonging to the block chain system 6.
- the process of the file management system 9 is a process performed by a terminal belonging to the file management system 9.
- step S101 the right holder terminal 1 issues a transaction for registering a contract for managing the control information of the content data together with the hash value of the control target file data for specifying the content data and the identifier of the right holder in the file management system 9.
- the block chain data B registers the contract and issues the contract identifier. Further, the block chain data B is stored in the state data Bs in association with the contract identifier, the hash value of the control target file data, and the identifier of the right holder in the file management system 9.
- step S102 the block chain data B transmits the contract identifier registered in the block chain data B to the right holder terminal 1.
- the right holder terminal 1 generates the content management data M in step S103.
- the right holder terminal 1 generates the reference destination data R in which the contract identifier is set.
- the right holder terminal 1 further generates the root object data Obj including the generated reference destination data and the link names and hash values of the control target file data and the non-control target file data managed by the root object data Obj.
- the right holder terminal 1 issues a transaction for registering the hash value of the root object data Obj in association with the contract identifier.
- step S105 the right holder terminal 1 notifies the file management system 9 that it has a root object data Obj and a chunk of content data. This notification reaches the user terminal 2 in step S106.
- step S107 the user terminal 2 updates the routing data 211 based on the notified content if there is routing information that the user terminal 2 should hold.
- step S201 the user terminal 2 searches the owner of the root object data Obj from the hash value of the root object data Obj corresponding to the control target file data to be used. Since the terminals belonging to the file management system 9 have a list of data held by each terminal, the user terminal 2 inquires the terminal of the file management system 9 about the terminal holding the root object data Obj. Since the right holder terminal 1 has the root object data Obj, the user terminal 2 sends to the file management system 9 an acquisition request for the root object data Obj that specifies the hash value of the root object data Obj in step S202. .. The request for obtaining the root object data Obj in step S203 is transmitted to the right holder terminal 1.
- step S204 the right holder terminal 1 identifies the root object data Obj of the acquisition request target.
- the right holder terminal 1 confirms that the hash value calculated from the root object data Obj corresponds to the hash value of the root object data Obj included in the acquisition request.
- step S205 the user terminal 2 transmits the root object data Obj to the file management system 9.
- step S206 the root object data Obj is transmitted to the user terminal 2.
- step S207 the user terminal 2 confirms that the received root object data Obj is the desired root object data Obj and receives it. For example, it is confirmed that the hash value of the root object data Obj included in the acquisition request is the hash value calculated from the received root object data Obj.
- the user terminal 2 registers its own identifier in the block chain data B as a user of the control target file data. Specifically, the user terminal 2 specifies the contract identifier corresponding to the control target file data from the root object data Obj. In step S208, the user terminal 2 specifies the contract identifier, the hash value of the control target file data, and the user identifier in the file management system 9, and transmits the transaction requesting the user setting. In step S209, the identifier of the user of the block chain data B is set.
- step S210 the user terminal 2 inquires the right holder of the control target file data by specifying the contract identifier and the hash value of the control target file data in the block chain data B.
- step S211 the user terminal 2 acquires the right holder's identifier in the file management system 9 for the control target file data.
- step S212 the user terminal 2 specifies the hash value of the control target file data and sends a usage request to the file management system 9.
- the usage request is transmitted to the right holder terminal 1 in step S213.
- the hash value of the root object data Obj may be set in the usage request so that the right holder terminal 1 can easily identify the content identifier.
- the right holder terminal 1 identifies the contract identifier associated with the hash value of the control target file data specified in the usage request from the root object data Obj that it owns.
- the right holder terminal 1 specifies the identifier of the specified contract and the hash value of the control target file data included in the usage request for the block chain data B to identify the user of the control target file data. Query the identifier.
- the right holder terminal 1 acquires the identifier of the user.
- the right-holder terminal 1 determines the chunk of the content data specified by the control target file data in step S216. , To the file management system 9. The chunk of content data specified by the control target file data is transmitted to the user terminal 2 in step S217.
- step S218 the user terminal 2 notifies the file management system 9 that the control target file data specified in the usage request in step S212 has a chunk of content data specified.
- the new right holder terminal 3 acquires the root object data Obj related to the control target file data corresponding to the transfer target content data. This process is similar to steps S201 to S207 in FIG. 10A.
- the new right holder terminal 3 registers its own identifier in the block chain data B as the right holder of the control target file data. Specifically, the new right holder terminal 3 identifies the identifier of the contract corresponding to the control target data from the root object data Obj. In step S308, the new right holder terminal 3 specifies the contract identifier, the hash value of the control target file data, and the new right identifier in the file management system 9, and transmits a transaction requesting the setting of the right holder. In step S309, the new right holder's identifier is set as the right holder's identifier of the block chain data B. When the transfer of the right to the new right holder is registered in the block chain data B, the new right holder terminal 3 receives a notification to that effect in step S310.
- the new right holder terminal 3 may acquire the identifier of the old right holder of the control target file data.
- various processing can be considered depending on the contract specifications.
- the block chain data B also inquires the right holder terminal 1 as to whether or not the right can be transferred, and when the right holder terminal 1 responds that the right can be transferred, it also sets the identifier of the new right holder. Conceivable.
- step S311 the new right holder terminal 3 specifies the hash value of the control target file data and sends a transfer request to the file management system 9.
- the transfer request is transmitted to the right holder terminal 1 in step S312.
- the hash value of the root object data Obj may be set in the transfer request so that the identifier of the content can be easily specified in the right holder terminal 1.
- the right holder terminal 1 identifies the contract identifier associated with the hash value of the control target file data specified by the transfer request.
- the right holder terminal 1 specifies the specified contract identifier and the hash value of the control target file data included in the transfer request with respect to the block chain data B, to determine the right holder of the control target file data. Query the identifier.
- the right holder terminal 1 acquires the identifier of the right holder.
- the right holder terminal 1 determines the chunk of the content data specified by the control target file data in step S315. , To the file management system 9. The chunk of the content data specified by the control target file data is transmitted to the new right holder terminal 3 in step S316.
- the new right holder terminal 3 notifies the file management system 9 that the new right holder terminal 3 has the chunk of the content data specified by the control target file data specified by the transfer request in step S317.
- step S318 When the right holder terminal 1 receives this notification in step S318, the content data specified by the control target file data is deleted from the storage device 110 in step S319.
- the content data is divided and managed in units of root object data, and the contract in the block chain data B is assigned to each root object data.
- the content data managed by another contract is not affected.
- the chunk identifier is stored in the right holder terminal 1 without being registered in the block chain data B, and is distributed as necessary. As a result, it is possible to prevent the blockchain data B from being enlarged and to improve the cost and throughput of transaction processing.
- the chunk identifier is not registered in the block chain data B, it is possible to provide the chunk data to the right holder by referring to the control information registered in the block chain data B for the request for each chunk. it can. Specifically, it is possible to trace from the root object data Obj to the identifier of the chunk of the content data specified by the control target file data. Therefore, even when a request is made by designating the chunk identifier, it is possible to identify the identifier of the user of the content data identified by the control target file data from the chunk identifier.
- control target file data to be controlled can be specified. In this way, chunks can be distributed to appropriate users.
- the content use system 10 can disperse and register the information of the content registered in the file management system 9 in the block chain.
- the reference object data R is included in the root object data Obj, but it is not limited to this.
- the root object data Obj ′ does not include the reference destination data R ′.
- the root object data Obj includes link names and hash values of the control target file data and non-control target file data managed by the root object data Obj, as well as the link name LinkX and hash of the reference data R ′. Contains the value FileX.
- the root object data Obj ′ and the reference destination data R ′ are acquired.
- the storage device of the user terminal 2 or the new right holder terminal 3 does not include the reference data R ′, but instead of the root object data Obj ′ including the link name and hash value of the reference data R ′, and the reference data R.
- step S251 the user terminal 2 searches the owner of the root object data Obj 'from the hash value of the root object data Obj' corresponding to the control target file data to be used. Since the terminals belonging to the file management system 9 have a list of data that each terminal has, the user terminal 2 inquires the terminals of the file management system 9 about the terminals holding the root object data Obj '. Since the root object data Obj ′ is possessed by the right holder terminal 1, the user terminal 2 designates the hash value of the root object data Obj ′ toward the file management system 9 in step S252 to obtain the root object data Obj ′. An acquisition request for the reference data R ′ is transmitted. The acquisition request for the root object data Obj in step S ⁇ b> 253 is transmitted to the right holder terminal 1.
- step S254 the right holder terminal 1 identifies the root object data Obj of the acquisition request target.
- the right holder terminal 1 confirms that the hash value of the root object data Obj 'corresponds to the hash value calculated from the root object data Obj included in the acquisition request.
- step S255 the user terminal 2 transmits the root object data Obj 'and the reference destination data R'to the file management system 9.
- step S256 the root object data Obj ′ and the reference destination data R ′ are transmitted to the user terminal 2.
- step S257 the user terminal 2 confirms that the received root object data Obj 'and reference destination data R'are the desired route object data and reference destination data, and then receives them. For example, it is confirmed that the hash value of the root object data Obj 'included in the acquisition request matches the hash value calculated from the received root object data Obj'.
- step S258 is the same as the processing after S208 in FIG. 10A.
- the new right holder terminal 3 acquires the root object data Obj 'and the reference destination data R' regarding the control target file data corresponding to the transfer target content data. This process is similar to steps S251 to S257 in FIG. 14A.
- step S358 is the same as the processing after S308 of FIG. 11A.
- the content use system 10 according to the modified example can disperse and register the content information registered in the file management system 9 in the block chain.
- each terminal device such as the right holder terminal described in the embodiment of the present invention may be configured on one piece of hardware as shown in FIG. 5 or the like, or a plurality of terminals may be provided according to the function or the number of processes. May be configured on the above hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
権利者端末1は、ブロックチェーンシステム6において実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システム9におけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータBsを記憶し、コントラクトの識別子を含む参照先データRを生成し、参照先データRと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータObjを生成するルートオブジェクト生成部123を備える。
Description
本発明は、コンテンツの権利者が利用し、コンテンツの利用者にコンテンツの許諾データを送信する権利者端末、コンテンツの利用者が利用し、コンテンツの権利者にコンテンツの許諾要求データを送信する利用者端末、コンテンツの権利者から権利を移転した新権利者が利用する新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造に関する。
デジタル仮想通貨の取引において、非中央集権型の分散台帳の一種であるブロックチェーンが用いられる。ブロックチェーンでは、参加者間の仮想通貨の取引の情報がブロックという単位でまとめられ、ブロックチェーンを形成する。ブロックチェーンの構造に関し、ブロックチェーンは、チェーンという言葉のとおり、ブロックが直前のブロックと紐付けが行われる形で記録される。具体的には、直前のブロックのハッシュ値をブロックの中に含むことで、各ブロックが紐付けされる。
ある時点のブロックの中に含まれた取引情報を改竄するには、ブロックのハッシュ値が変わる。これにより、改竄されたブロック以降の全てのブロックの改竄が必要となる。また、ブロックを追加する際、それを追加することによってブロックのハッシュ値が特定条件と合致するような付加情報(ナンス)を発見する計算量の非常に大きな処理(マイニング)を実行する必要がある。これらが相まって、ブロックチェーンは、改竄に対して極めて強固な仕組みにより形成される。
またEthereum(イーサリアム)において、プログラマブルブロックチェーンが提案されている。コントラクトとも称されるプログラムコードが、予めブロックチェーンに登録される。コントラクトの実行を指定したトランザクションが入力されると、トランザクションがブロックに含まれる際、そのプログラムコードが実行される。実行結果は、ブロックチェーンのステートデータに格納される。
一方特権的なノードを仮定しない分散ファイル管理システムとして、IPFS(InterPlanetary File System)がある(非特許文献1参照)。IPFSにおいて、ファイルは特定サイズのブロックに分割されて、IPFSに属する端末において管理される。ファイルは、ハッシュ値から生成される識別子により認識され、ファイルの改竄はできない。IPFSは、分散性およびID構造により、透明性および信頼性を確保できる。
またブロックチェーンの改竄に対して極めて強固な仕組みである点に着目し、分散ファイル管理システムと、ブロックチェーンとを融合したシステムがある(非特許文献2参照)。非特許文献2において、ファイルは、チャンクに分割される。各チャンクは、DAG(Directed Acyclic Graph:向非巡回グラフ)でまとめられ、チャンクには、リンク先のチャンクの情報が記載される。非特許文献2においてDAGを形成する全てのチャンクの識別子が、それぞれブロックチェーンに登録される。
Juan Banet、"IPFS - Content Addressed, Versioned, P2P File System (DRAFT 3)"、[online]、[平成30年10月30日検索]、インターネット〈URL:https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf〉
Mathis Steichen, 他、"Blockchain-Based, Decentralized Access Control for IPFS"、[online]、[平成30年10月15日検索]、インターネット〈URL:https://www.researchgate.net/publication/327034734_Blockchain-Based_Decentralized_Access_Control_for_IPFS〉
非特許文献2では、全てのチャンクの識別子がブロックチェーンのステートデータに集約されるので、コントラクトのバグまたはコントラクトへの攻撃に起因して、分散ファイルシステムの全体に影響が及ぶ可能性がある。
また分散ファイル管理システムにおいて、ファイルのサイズが大きくなるにつれ、チャンクの数が増えるところ、非特許文献2は、各チャンクの識別子を登録するので、ブロッチェーンの肥大化を招く。さらにサイズが大きいファイルに関連するトランザクションの処理にコストがかかる結果、ブロックチェーンにおけるトランザクションのスループットを下げる可能性がある。
従って本発明の目的は、分散ファイル管理システムに登録されるコンテンツの情報を、分散台帳に分散して登録可能な権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造を提供することである。
上記課題を解決するために、本発明の第1の特徴は、コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末に関する。本発明の第1の特徴に係る権利者端末は、コンテンツデータを記憶するとともに、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、コントラクトの識別子を含む参照先データを生成し、参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、記憶装置に記憶するトランザクションを送信するルートオブジェクト生成部と、ルートオブジェクトデータのハッシュ値と制御対象ファイルデータのハッシュ値を、ファイル管理システムにおける権利者の識別子と対応づけて通知するファイル管理制御部を備える。
利用者が利用する利用者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値に対応づけられた利用者の識別子が、送信元の利用者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを利用者端末に送信する共有部をさらに備えても良い。
コンテンツの新権利者が利用する新権利者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子が、送信元の新権利者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを新権利者端末に送信し、新権利者端末から、新権利者端末がコンテンツデータを有する旨の通知を受信すると、記憶装置からコンテンツデータを削除する移転部をさらに備えても良い。
ルートオブジェクトデータは、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含んでも良い。
本発明の第2の特徴は、コンテンツの利用者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する利用者端末に関する。本発明の第2の特徴に係る利用者端末は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータと、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する利用部を備える。
記憶装置は、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、参照先データを記憶しても良い。
本発明の第3の特徴は、コンテンツの権利者から権利を移転した新権利者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する新権利者端末に関する。本発明の第3の特徴に係る新権利者端末は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータと、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、分散台帳システムに権利者の識別子を、新権利者の識別子に変更するトランザクションを送信し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する移転要求部と、新権利者端末がコンテンツデータを有する旨の通知を送信するファイル管理制御部を備える。
記憶装置は、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、参照先データを記憶しても良い。
本発明の第4の特徴は、コンピュータを、本発明の第1の特徴に記載の権利者端末として機能させるための権利者プログラムに関する。
本発明の第5の特徴は、コンピュータを、本発明の第2の特徴に記載の利用者端末として機能させるための利用者プログラムに関する。
本発明の第6の特徴は、コンピュータを、本発明の第3の特徴に記載の新権利者端末として機能させるための新権利者プログラムに関する。
本発明の第7の特徴は、コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、コンテンツの利用者が利用し、分散台帳システムとファイル管理システムに接続する利用者端末とを備えるコンテンツ利用システムに関する。本発明の第7の特徴に係るコンテンツ利用システムにおいて権利者端末は、コンテンツデータを記憶するとともに、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、コントラクトの識別子を含む参照先データを生成し、参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、記憶装置に記憶するトランザクションを送信するルートオブジェクト生成部と、ルートオブジェクトデータのハッシュ値と制御対象ファイルデータのハッシュ値を、ファイル管理システムにおける権利者の識別子と対応づけて通知するファイル管理制御部と、利用者が利用する利用者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値に対応づけられた利用者の識別子が、送信元の利用者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを利用者端末に送信する共有部を備え、利用者端末は、ステートデータと、ルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する利用部を備える。
本発明の第8の特徴は、コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、コンテンツの権利者から権利を移転した新権利者が利用し、分散台帳システムとファイル管理システムに接続する新権利者端末とを備えるコンテンツ利用システムに関する。本発明の第8の特徴に係るコンテンツ利用システムにおいて、権利者端末は、コンテンツデータを記憶するとともに、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、コントラクトの識別子を含む参照先データを生成し、参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、記憶装置に記憶するルートオブジェクト生成部と、ルートオブジェクトデータのハッシュ値と制御対象ファイルデータのハッシュ値を、ファイル管理システムにおける権利者の識別子と対応づけて通知するファイル管理制御部と、コンテンツの新権利者が利用する新権利者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子が、送信元の新権利者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを新権利者端末に送信し、新権利者端末から、新権利者端末がコンテンツデータを有する旨の通知を受信すると、記憶装置からコンテンツデータを削除する移転部を備え、新権利者端末は、ステートデータと、ルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、分散台帳システムに権利者の識別子を、新権利者の識別子に変更するトランザクションを送信し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する移転要求部と、新権利者端末がコンテンツデータを有する旨の通知を送信するファイル管理制御部を備える。
本発明の第7または第8の特徴においてルートオブジェクトデータは、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含んでも良い。
本発明の第9の特徴は、分散台帳を有する分散台帳システムと、ファイル管理システムを有するコンテンツ利用システムを有するコンテンツ管理データに用いられるルートオブジェクトデータのデータ構造に関する。本発明の第9の特徴において分散台帳は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを含み、分散台帳システムとファイル管理システムに接続する端末は、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを有し、制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子に基づいて、分散台帳から、制御対象ファイルデータが特定するコンテンツデータの権利者の識別子または利用者の識別子を取得する。
ルートオブジェクトデータは、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含んでも良い。
本発明によれば、分散ファイル管理システムに登録されるコンテンツの情報を、分散台帳に分散して登録可能な権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造を提供することができる。
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
(コンテンツ利用システム)
本発明の実施の形態に係る権利者端末1、利用者端末2および新権利者端末3が用いられるコンテンツ利用システム10を説明する。コンテンツ利用システム10は、ブロックチェーンシステム(分散台帳システム)6およびファイル管理システム9を備える。
本発明の実施の形態に係る権利者端末1、利用者端末2および新権利者端末3が用いられるコンテンツ利用システム10を説明する。コンテンツ利用システム10は、ブロックチェーンシステム(分散台帳システム)6およびファイル管理システム9を備える。
ブロックチェーンシステム6は、ブロックチェーンデータ(分散台帳)Bを、システムに属する端末間で共有する。ブロックチェーンデータBは、システムに属する端末が発行したトランザクションを含むブロックが繋がったデータである。ブロックチェーンシステム6は、権利者端末1、利用者端末2および新権利者端末3を備える。ブロックチェーンシステム6は、さらに、複数のブロックチェーン制御端末4を備えても良い。ブロックチェーンシステム6に属する各端末は、ブロックチェーンネットワーク5を介してP2P(Peer to Peer)接続する。ブロックチェーンシステム6に属する各端末は、図5、図7および図8に示すように、それぞれブロックチェーンデータBと、そのブロックチェーンデータBを同期するためのブロックチェーン制御部を備える。
ブロックチェーンデータBは、コンテンツ利用システム10において流通されるコンテンツデータの制御情報を登録する。制御情報は、ファイル管理システム9におけるコンテンツデータの権利者および利用者の識別子等である。
ファイル管理システム9は、権利者端末1、利用者端末2および新権利者端末3を備える。ファイル管理システム9は、さらに、複数のファイル管理制御端末7を備えても良い。本発明の実施の形態においてファイル管理システム9は、IPFS等のファイル管理システム9に属する各端末が分散してファイルを管理する非中央集権型の分散ファイル管理システムである。ファイル管理システム9に属する各端末は、ファイル管理ネットワーク8を介してP2P接続する。
権利者端末1は、コンテンツの権利者が利用し、ブロックチェーンシステム6と、ファイル管理システム9に接続する。利用者端末2は、コンテンツの利用者が利用し、ブロックチェーンシステム6と、ファイル管理システム9に接続する。新権利者端末3は、コンテンツの権利者から権利を移転した新権利者が利用し、ブロックチェーンシステム6と、ファイル管理システム9に接続する。ブロックチェーン制御端末4は、ブロックチェーンシステム6を利用する者のうち、コンテンツの権利者、利用者および新権利者以外の者が利用する。ファイル管理制御端末7は、ファイル管理システム9を利用する者のうち、コンテンツの権利者、利用者および新権利者以外の者が利用する。
図1に示す例において、ブロックチェーン制御端末4およびファイル管理制御端末7の数は問わない。ブロックチェーン制御端末4およびファイル管理制御端末7は、互いに異なる端末であっても良いし、一つの端末で、ブロックチェーン制御端末4の機能と、ファイル管理制御端末7の機能を実装しても良い。
なお本発明の実施の形態において、分散台帳の一例がブロックチェーンであって、ブロックチェーンにコンテンツの権利者および利用者の情報を登録する場合を説明するが、これに限らない。例えば、ブロックチェーンではなく、他の分散台帳を用いて、コンテンツの権利者および利用者の情報を登録しても良い。
(コンテンツ管理データ)
図2を参照して、本発明の実施の形態に係るコンテンツ管理データMを説明する。コンテンツ管理データMは、権利者端末1によって作成される。コンテンツ管理データMは、ファイル管理システム9に登録するコンテンツデータを、管理する。コンテンツ管理データMは、他の端末からの要請に応じて提供される。
図2を参照して、本発明の実施の形態に係るコンテンツ管理データMを説明する。コンテンツ管理データMは、権利者端末1によって作成される。コンテンツ管理データMは、ファイル管理システム9に登録するコンテンツデータを、管理する。コンテンツ管理データMは、他の端末からの要請に応じて提供される。
コンテンツ管理データMは、コンテンツデータを管理するデータである。コンテンツデータのデータサイズが、1つのチャンクのデータサイズよりも大きい場合、図2に示すように、コンテンツ管理データMは、コンテンツデータの実体を含まない。コンテンツデータは、所定サイズのチャンクに分割され、DAGに纏められる。コンテンツ管理データMは、各コンテンツデータを特定する複数の制御対象ファイルデータおよび非制御対象ファイルデータと、ルートオブジェクトデータObjを有する。コンテンツデータのデータサイズが、1つのチャンクのデータサイズよりも小さい場合、制御対象ファイルデータ自体がコンテンツデータとなり、コンテンツ管理データMは、コンテンツデータの実体を含む。
図2に示す例においてコンテンツ管理データMは、A制御対象ファイルデータF1、B制御対象ファイルデータF2およびC非制御対象ファイルデータF3を備える。制御対象ファイルデータは、ブロックチェーンデータBに登録される制御情報に対応するコンテンツデータを特定するデータである。非制御対象ファイルデータは、制御情報がブロックチェーンデータBに登録されないコンテンツデータを特定するデータである。例えば、制御対象ファイルデータは、利用者に提供される映像データおよび音楽のコンテンツを特定する。非制御対象ファイルは、確率的にコンテンツデータを特定するためのフィンガープリントなど、制御対象ファイルに付随するデータを特定し、任意に設定される。
A制御対象ファイルデータF1は、Aコンテンツデータから分割されたチャンクのうちA制御対象ファイルデータF1にリンクするチャンクのリンク名およびハッシュ値等の情報を有する。図2に示す例においてA制御対象ファイルデータF1は、ハッシュ値ChunkA1のチャンク、ハッシュ値ChunkA2のチャンク等の各チャンクのリンク名およびハッシュ値、サイズ等の情報を有する。
同様に、B制御対象ファイルデータF2は、Bコンテンツデータから分割されたチャンクのうちB制御対象ファイルデータF2にリンクするチャンクのリンク名およびハッシュ値等の情報を有する。C非制御対象ファイルデータF3は、Cコンテンツデータから分割されたチャンクのうちC非制御対象ファイルデータF3にリンクするチャンクのリンク名およびハッシュ値等の情報を有する。
A制御対象ファイルデータF1のデータから、A制御対象ファイルデータF1のハッシュ値FileAが算出され、A制御対象ファイルデータF1の識別子としてFileAが用いられる。同様に、B制御対象ファイルデータF2のデータから、B制御対象ファイルデータF2のハッシュ値FileBが算出され、B制御対象ファイルデータF2の識別子としてFileBが用いられる。C非制御対象ファイルデータF3のデータから、C非制御対象ファイルデータF3のハッシュ値FileCが算出され、C非制御対象ファイルデータF3の識別子としてFileCが用いられる。各制御対象ファイルまたは非制御対象ファイルの識別子は、配下のコンテンツデータの識別子としても機能する。
ルートオブジェクトデータObjは、図3に示すように、ルートオブジェクトデータObjにリンクする制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値、リンク名、サイズ等のデータと、参照先データRを有する。図2に示すコンテンツ管理データMにおいて、ルートオブジェクトデータObjは、A制御対象ファイルデータF1について、リンク名LinkAおよびハッシュ値FileAを対応付け、B制御対象ファイルデータF2について、リンク名LinkBおよびハッシュ値FileBを対応付け、C非制御対象ファイルデータF3について、リンク名LinkCおよびハッシュ値FileCを対応づける。
本発明の実施の形態において、ブロックチェーンデータBは、制御対象ファイルデータが特定するコンテンツデータの制御情報として、ファイル管理システム9における権利者および利用者の識別子を保持する。また本発明の実施の形態においてブロックチェーンデータBは、コンテンツ利用システム10において利用される各コンテンツデータの制御情報を、複数のコントラクトに分割して保持する。そこで参照先データRは、権利者または利用者の識別子の設定、変更または削除等が生じた際、更新対象となるブロックチェーンデータBのコントラクトを特定するために用いられる。
参照先データRは、図4に示すように、コントラクトの識別子、このコントラクトを呼び出す際の呼出情報、制御対象ファイルデータを特定する情報を含む。コントラクトの識別子は、ブロックチェーンデータBのうち、コンテンツ管理データMが管理するコンテンツデータの制御情報が登録される位置を特定する。コントラクトの識別子は、コンテンツ管理データMが管理するコンテンツデータに関する情報に関する処理を行うコントラクトの識別子でもある。コントラクトの呼出情報は、コンテンツ管理データMが管理するコンテンツデータに関する処理を行う際の関数名および引数等の情報が設定される。
参照先データRはさらに、制御対象ファイルデータを特定する情報として、コンテンツ管理データMが管理する制御対象ファイルデータのハッシュ値を有する。図2に示す例において、参照先データRは、A制御対象ファイルのハッシュ値FileAおよびB制御対象ファイルのハッシュ値FileBを有する。本発明の実施の形態において、制御対象ファイルデータを特定する情報は、いわゆるホワイトリストとして制御対象ファイルデータのハッシュ値である場合を説明するが、ブラックリストとして非制御対象ファイルデータのハッシュ値であっても良い。
なお、制御対象ファイルデータを特定する情報として設定された情報に従って、制御対象ファイルのハッシュ値から、この制御対象ファイルを管理するコントラクトの識別子が特定される。例えば、参照先データRにおいてコントラクトの識別子に、このコントラクトで管理される制御対象ファイルデータのハッシュ値が指定される場合、制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子が特定される。参照先データRにおいてコントラクトの識別子に、このコントラクトで管理されない非制御対象ファイルデータのハッシュ値が指定される場合、まず制御対象ファイルデータのハッシュ値が含まれるルートオブジェクトデータObjが特定され、特定されたルートオブジェクトデータObjに対応する参照先データRからコントラクトの識別子が特定される。
また本発明の実施の形態において、参照先データRが制御対象ファイルデータを特定する情報を含み、参照先データRの制御対象ファイルデータを特定する情報に基づいて、処理対象の制御対象ファイルデータを管理するコントラクトの識別子を特定する場合を説明するが、これに限らない。参照先データRが制御対象ファイルデータを特定する情報を含まない場合でも、処理対象の制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータObjを特定し、特定したルートオブジェクトデータObjが含む参照先データRから、コントラクトの識別子を特定しても良い。
またこのようなルートオブジェクトデータObjのデータから、ハッシュ値が算出され、算出されたハッシュ値は、ルートオブジェクトデータObjの識別子として用いられる。ルートオブジェクトデータObjのハッシュ値は、ブロックチェーンデータBのステートデータBsにおいて、コンテンツ管理データMが管理するコンテンツデータの権利者または利用者の識別子に対応づけられる。
このように本発明の実施の形態においてコンテンツ管理データMは、コンテンツデータから分割されたチャンクの識別子を保持する制御対象ファイルデータまたは非制御対象ファイルデータと、制御対象ファイルデータまたは非制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータObjを有する。これによりコンテンツ管理データMは、改竄されにくくすることができる。またルートオブジェクトデータObjは、ブロックチェーンデータBに登録された情報を処理するために用いられる参照先データRを保持するので、管理対象のコンテンツデータとブロックチェーンデータBに登録された情報とを紐付けることを可能にする。
本発明の実施の形態においてステートデータBsは、複数のコントラクトの識別子を有し、各コントラクトの識別子に対して、ルートオブジェクトデータObjが生成される。また権利者端末1は、複数のルートオブジェクトデータObjを有しても良い。この場合、権利者端末1が有する複数のコンテンツデータが、ルートオブジェクトデータObjのいずれかに割り当てられる。
(権利者端末)
図5を参照して、本発明の実施の形態に係る権利者端末1を説明する。権利者端末1は、記憶装置110、処理装置120、通信制御装置130を備える一般的なコンピュータである。一般的なコンピュータが権利者プログラムを実行することにより、図5に示す機能を実現する。
図5を参照して、本発明の実施の形態に係る権利者端末1を説明する。権利者端末1は、記憶装置110、処理装置120、通信制御装置130を備える一般的なコンピュータである。一般的なコンピュータが権利者プログラムを実行することにより、図5に示す機能を実現する。
記憶装置110は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置120が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置120は、CPU(Central Processing Unit)であって、記憶装置110に記憶されたデータを読み書きしたり、通信制御装置130とデータを入出力したりして、権利者端末1における処理を実行する。通信制御装置130は、権利者端末1が、ブロックチェーンネットワーク5またはファイル管理ネットワーク8に属する端末と通信可能に接続するためのインタフェースである。
記憶装置110は、権利者プログラムおよび権利者端末1が有するコンテンツデータを記憶するとともに、ブロックチェーンデータB、ルーティングデータ111およびコンテンツ管理データMを記憶する。
ブロックチェーンデータBは、図1に示すブロックチェーンシステム6の各端末と同期されるブロックチェーンのデータである。ブロックチェーンデータBは、ブロックチェーン制御部121によって更新される。
本発明の実施の形態においてブロックチェーンデータBは、イーサリアム(Ethereum)に従い、コンテンツデータの権利処理を行う。ブロックチェーンデータBは、ブロックチェーン本体データBbおよびステートデータBsを備える。ブロックチェーン本体データBbは、複数のブロックがチェーン状に連結して形成される。各ブロックは、複数のトランザクションを含み、トランザクションに、コントラクトが設定されたり、コントラクトの実行が指定されたりする場合がある。ステートデータBsは、コントラクト毎にデータ領域が設けられ、コントラクトの実行に伴ってそのコントラクトのデータ領域が更新される。
ステートデータBsは、図6に示すように、ブロックチェーンシステム6において実行されるコントラクトを識別するコントラクトの識別子、ルートオブジェクトデータObjのハッシュ値、コントラクトによって管理されるコンテンツデータの制御情報を対応づける。ルートオブジェクトデータObjは、図2を参照して説明したように権利者端末1において生成され、コントラクトによって管理されるコンテンツデータに関するデータを有する。コンテンツデータの制御情報は、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ブロックチェーンシステム6における権利者の識別子、ファイル管理システム9におけるコンテンツデータの権利者の識別子および利用者の識別子等である。コンテンツデータの制御情報はさらに、コンテンツの利用または移転に伴う代金等の条件、ブロックチェーンシステム6における利用者の識別子等を含んでも良い。
また本発明の実施の形態において、ステートデータBsが、コントラクトの識別子に対応するルートオブジェクトデータObjのハッシュ値を保持する場合を説明するが、これに限らない。例えば、ルートオブジェクトデータObjのハッシュ値を提示した場合、ブロックチェーンシステム6がこのルートオブジェクトデータObjに関する情報を提示する、コントラクトの識別子とルートオブジェクトデータObjのハッシュ値を正しく提示した場合、ブロックチェーンシステム6がこのルートオブジェクトデータObjに関する制御情報を提示するなど、適宜参照されても良い。
なお、図6に示す例では、一つの制御対象ファイルデータのハッシュ値に、一つの権利者および利用者の識別子が設定される場合を説明するが、これに限られない。例えば、一つの制御対象ファイルデータのハッシュ値に、複数の権利者および利用者の識別子が設定されても良い。また、権利および利用に関し、コンテンツデータから生じる配信権や二次利用権などの各種権利について、権利者および利用者の識別子が設定されても良い。利用者が登録される前において、利用者の識別子は空欄となる。
権利者端末1においてルートオブジェクトデータObjを生成する際、まず、ブロックチェーンデータBにおいて、生成対象のルートオブジェクトデータObjに紐付くコントラクトがデプロイされる。コントラクトがデプロイされ、コントラクトの識別子が発行されると、ルートオブジェクトデータObjが生成される。ステートデータBsに、デプロイされたコントラクトの識別子、ルートオブジェクトデータObjのハッシュ値および制御情報が、対応づけられて設定される。他の方法として、ステートデータBs等が、コントラクトの名称と、コントラクトの識別子を対応づけるテーブルデータを記憶しても良い。この場合、権利者端末1がコントラクトの名称を含むルートオブジェクトObjを生成するとともに、コントラクトの名称に対応づけてコントラクトをデプロイし、テーブルデータにおいて、デプロイされたコントラクトの識別子を、コントラクトの名称に対応づける。
ルーティングデータ111は、ファイル管理システム9におけるファイルの識別子と、ファイルを有する端末の識別子を対応づけたデータである。ファイル管理システム9に属する各端末は、ルーティングデータ111を有する。ファイル管理システム9において管理されるファイルの識別子と、ファイルを有する端末の識別子は、各端末に分散して保持される。各端末のルーティングデータ111を統合することで、ファイル管理システム9において管理される全てのファイルの識別子と、ファイルを有する端末の識別子を特定することができる。
コンテンツ管理データMは、図2を参照して説明したように、ファイル管理システム9に登録するコンテンツデータを管理するデータである。
また図5には示さないが、記憶装置110は、ブロックチェーンシステム6およびファイル管理システム9に接続するために必要なデータを記憶する。具体的には、記憶装置110は、権利者の電子署名用の秘密鍵および公開鍵を記憶する。ブロックチェーンシステム6とファイル管理システム9とで、それぞれ異なる秘密鍵および公開鍵を用いても良いし、共通の秘密鍵および公開鍵を用いても良い。
処理装置120は、ブロックチェーン制御部121、ファイル管理制御部122、ルートオブジェクト生成部123、共有部124および移転部125を備える。
ブロックチェーン制御部121は、ブロックチェーンデータBを、他の端末が有するブロックチェーンデータと緩やかに同期し、ブロックチェーンデータBがリアルタイムに近い形で最新のデータとなるように制御する。複数のトランザクションが発生すると、複数のトランザクションをまとめたブロックを、現在のブロックチェーン本体データBbに追加して良いか否かの検証を行った上で、ブロックチェーンデータBは更新される。
ファイル管理制御部122は、ファイル管理システム9にコンテンツを登録したり、権利者端末1が保持するルーティングデータ111を管理したりする。
ルートオブジェクト生成部123は、図2に示すコンテンツ管理データMのルートオブジェクトデータObjを生成する。ルートオブジェクト生成部123は、管理対象のコンテンツデータの制御情報を保持するコントラクトを、ブロックチェーンデータBにデプロイし、そのコントラクトの識別子を含む参照先データRを生成する。参照先データRは、ルートオブジェクトデータObjが管理する制御対象ファイルデータを特定する情報も含む。
ルートオブジェクト生成部123は、さらに、参照先データRと、制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値等を含むルートオブジェクトデータObjを生成する。ルートオブジェクト生成部123は、生成したルートオブジェクトデータObjを、記憶装置110に記憶するとともに、ルートオブジェクトデータObjのハッシュ値を、デプロイしたコントラクトの識別子に対応づけてステートデータBsに登録する。より具体的には、ルートオブジェクト生成部123は、ルートオブジェクトデータObjのハッシュ値を、コントラクトの識別子に対応づけるトランザクションをブロックチェーンシステム6に送信し、このトランザクションを処理する端末が、ステートデータBsにおいて、ルートオブジェクトデータObjのハッシュ値を、コントラクトの識別子に対応づける更新を行う。
ルートオブジェクト生成部123が、ルートオブジェクトデータObjを生成すると、ファイル管理制御部122は、ファイル管理システム9に属する端末に、ルートオブジェクトデータObjのハッシュ値、制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値を、ファイル管理システム9における権利者の識別子と対応づけて通知する。これによりファイル管理システム9に属する端末に、権利者が、ルートオブジェクトデータObjと、ルートオブジェクトが管理する制御対象ファイルデータおよび非制御対象ファイルデータを有することが通知される。
共有部124は、利用者からコンテンツデータの利用のリクエストを受信し、正当な利用者であることを確認して、コンテンツデータを利用者に送信する。ここで利用者端末2は、ルートオブジェクト生成部123に伴う通知によって、権利者端末1がルートオブジェクトデータObjを有することを把握する。利用者端末2は、ルートオブジェクトデータObjのハッシュ値を指定して、権利者端末1からルートオブジェクトデータObjを取得する。
共有部124は、利用者端末2から、ファイル管理システム9を介して制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、ステートデータBsから、制御対象ファイルデータのハッシュ値に対応する参照先データRのコントラクトの識別子と、制御対象ファイルデータのハッシュ値に対応づけられた、ファイル管理システム9における利用者の識別子を取得する。例えば、利用要求において、A制御対象ファイルデータF1のハッシュ値が指定され、参照先データRが制御対象ファイルデータを特定する情報を有する場合、共有部124は、参照先データRを参照して、制御対象ファイルデータを特定する情報から、A制御対象ファイルデータF1に対応するコントラクトの識別子を特定する。参照先データRが制御対象ファイルデータを特定する情報を含まない場合、共有部124は、A制御対象ファイルデータF1のハッシュ値を含むルートオブジェクトデータObjを特定し、特定したルートオブジェクトデータObjが含む参照先データRが含むコントラクトの識別子を特定する。共有部124は、ステートデータBsから、特定されたコントラクトの識別子と、A制御対象ファイルデータF1のハッシュ値に対応づけられた利用者の識別子を取得する。
共有部124はさらに、ステートデータBsから取得した利用者の識別子が、送信元の利用者の識別子に一致する場合、ファイル管理システム9を介して制御対象ファイルデータが特定するコンテンツデータを利用者端末2に送信する。ここでコンテンツデータは、チャンクに分割されるので、共有部124は、分割された各チャンクを、利用者端末2に送信する。これにより共有部124は、ステートデータBsに登録された正当な利用者に、コンテンツデータを提供することができる。
ここでは、権利者端末1が、ステートデータBsで登録される利用者の識別子と、送信元の利用者の識別子が一致するか否かを確認する場合を説明するが、これに限られない。例えば、権利者端末1が、送信元の利用者の識別子とコントラクトの識別子をブロックチェーンデータBに送信しても良い。この場合、ブロックチェーンデータBのコントラクトが、ステートデータBsに登録される利用者の識別子と、権利者端末1から送信された利用者の識別子が、一致するか否かを確認し、その結果を権利者端末1に返す。
移転部125は、新権利者からコンテンツデータの移転のリクエストを受信し、正当な権利者であることを確認して、コンテンツデータを権利者に送信し、権利者がコンテンツデータを取得したことを確認後、コンテンツデータを削除する。新権利者からコンテンツデータの移転のリクエストを受信するタイミングでは、ステートデータBsの制御対象ファイルデータの権利者の識別子欄に、新権利者の識別子が設定されており、権利者(旧権利者)から新権利者に、コンテンツデータを移転する。ここで新権利者端末3は、ルートオブジェクト生成部123に伴う通知によって、権利者端末1がルートオブジェクトデータObjを有することを把握し、ルートオブジェクトデータObjのハッシュ値を指定して、権利者端末1からルートオブジェクトデータObjを取得する。
移転部125は、新権利者端末3から、ファイル管理システム9を介して制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、ステートデータBsから、制御対象ファイルデータのハッシュ値に対応する参照先データRのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた、ファイル管理システム9における権利者の識別子を取得する。例えば、移転要求において、A制御対象ファイルデータF1のハッシュ値が指定され、参照先データRが制御対象ファイルデータを特定する情報を有する場合、共有部124は、参照先データRを参照して、制御対象ファイルデータを特定する情報から、A制御対象ファイルデータF1に対応するコントラクトの識別子を特定する。参照先データRが制御対象ファイルデータを特定する情報を含まない場合、移転部125は、A制御対象ファイルデータF1のハッシュ値を含むルートオブジェクトデータObjを特定し、特定したルートオブジェクトデータObjが含む参照先データRが含むコントラクトの識別子を特定する。移転部125は、ステートデータBsから、特定されたコントラクトの識別子と、A制御対象ファイルデータF1のハッシュ値に対応づけられた権利者の識別子を取得する。
移転部125はさらに、ステートデータBsから取得した権利者の識別子が、送信元の新権利者の識別子に一致する場合、ファイル管理システム9を介して制御対象ファイルデータが特定するコンテンツデータを新権利者端末3に送信する。ここでコンテンツデータは、チャンクに分割されるので、移転部125は、分割された各チャンクを、新権利者端末3に送信する。これにより共有部は、ステートデータBsに登録された正当な利用者に、コンテンツデータを提供することができる。
新権利者端末3は、権利者端末1からコンテンツデータを受信すると、ファイル管理システム9に属する端末に、新権利者端末3がコンテンツデータを有する旨の通知を送信する。移転部125は、新権利者端末3から、新権利者端末3がコンテンツデータを有する旨の通知を受信すると、記憶装置110からコンテンツデータを削除する。コンテンツデータに対して権利を有さない旧権利者がコンテンツデータを保持する状態を、回避することができる。
ここでは、権利者端末1が、ステートデータBsで登録される権利者の識別子と、送信元の新権利者の識別子が一致するか否かを確認する場合を説明するが、これに限られない。例えば、権利者端末1が、送信元の新権利者の識別子とコントラクトの識別子をブロックチェーンデータBに送信しても良い。この場合、ブロックチェーンデータBのコントラクトが、ステートデータBsに登録される権利者の識別子と、権利者端末1から送信された新権利者の識別子が、一致するか否かを確認し、その結果を権利者端末1に返す。
権利者端末1は、ルートオブジェクトデータObjを生成した際、さらに、生成したルートオブジェクトデータObjが管理する制御対象ファイルが特定するコンテンツデータのチャンクの識別子も、ファイル管理システム9における権利者の識別子と対応づけて通知しても良い。権利者端末1は、チャンクの識別子が指定された取得要求を受信すると、チャンクの識別子に紐づけられた制御対象ファイルデータを特定し、ブロックチェーンデータBから特定した制御対象ファイルデータの利用者を確認する。権利者端末1は、正当な利用者からの要求であれば、取得要求で指定されたチャンクを送信する。
またチャンクの識別子は、DAGに纏められるので、取得要求で指定されたチャンクの識別子を、制御対象ファイルデータが有さない場合がある。この場合でも、権利者端末1が有するルートルートオブジェクトデータObjの制御対象ファイルデータが識別子を含む各チャンクのうち、取得要求で指定されたチャンクの識別子を含むチャンクを探索することができる。或いは、権利者端末1は、ルートオブジェクトデータObjが管理する各制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値と、各制御対象ファイルデータおよび非制御対象ファイルデータの各チャンクの識別子とを対応づけたテーブルを保持しても良い。これにより権利者端末1は、チャンクの取得要求が送信された場合でも、チャンクの識別子から、そのチャンクに対応する制御対象ファイルデータのハッシュ値を容易に特定し、さらに、ステートデータBsに、特定した制御対象ファイルの利用者の識別子を確認することができる。
(利用者端末)
図7を参照して、本発明の実施の形態に係る利用者端末2を説明する。利用者端末2は、記憶装置210、処理装置220、通信制御装置230を備える一般的なコンピュータである。一般的なコンピュータが権利者プログラムを実行することにより、図7に示す機能を実現する。
図7を参照して、本発明の実施の形態に係る利用者端末2を説明する。利用者端末2は、記憶装置210、処理装置220、通信制御装置230を備える一般的なコンピュータである。一般的なコンピュータが権利者プログラムを実行することにより、図7に示す機能を実現する。
記憶装置210は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置220が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置220は、CPU(Central Processing Unit)であって、記憶装置210に記憶されたデータを読み書きしたり、通信制御装置230とデータを入出力したりして、利用者端末2における処理を実行する。通信制御装置230は、利用者端末2が、ブロックチェーンネットワーク5またはファイル管理ネットワーク8に属する端末と通信可能に接続するためのインタフェースである。
記憶装置210は、利用者プログラムを記憶するとともに、ブロックチェーンデータBおよびルーティングデータ211を記憶する。
ブロックチェーンデータBおよびルーティングデータ211は、図5を参照して説明したブロックチェーンデータBおよびルーティングデータ111と同様である。
また図7には示さないが、記憶装置210は、ブロックチェーンシステム6およびファイル管理システム9に接続するために必要なデータを記憶する。具体的には、記憶装置210は、利用者の電子署名用の秘密鍵および公開鍵を記憶する。ブロックチェーンシステム6とファイル管理システム9とで、それぞれ異なる秘密鍵および公開鍵を用いても良いし、共通の秘密鍵および公開鍵を用いても良い。
処理装置220は、ブロックチェーン制御部221、ファイル管理制御部222および利用部223を備える。
ブロックチェーン制御部221およびファイル管理制御部222は、図5を参照して説明したブロックチェーン制御部121およびファイル管理制御部122と同様に機能する。
利用部223は、権利者が有するコンテンツデータの利用に際し、利用者であることをステートデータBsに登録するとともに、権利者端末1から、コンテンツデータを取得し、コンテンツデータを利用する。
権利者端末1が、ルートオブジェクトデータObjのハッシュ値をステートデータBsに登録後、ファイル管理システム9に属する端末に、ルートオブジェクトデータObjのハッシュ値、制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値を、ファイル管理システム9における権利者の識別子と対応づけて通知する。これにより利用者端末2は、権利者端末1がルートオブジェクトデータObjを有することを把握し、ルートオブジェクトデータObjのハッシュ値を指定して、権利者端末1からルートオブジェクトデータObjを取得する。
利用部223は、制御対象ファイルデータが特定するコンテンツデータの利用者になる際、制御対象ファイルデータのハッシュ値に対応する参照先データRのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、ブロックチェーンシステム6に、利用者の識別子を設定するトランザクションを送信する。このとき、参照先データRのコントラクトの呼出情報に基づいてトランザクションが生成される。これにより、ステートデータBsにおける制御対象ファイルの利用者の識別子が設定される。なお、参照先データRが制御対象ファイルデータを特定する情報を含む場合、利用部223は、参照先データRにおいて利用対象の制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子を取得する。参照先データRが制御対象ファイルデータを特定する情報を含まない場合、利用部223は、利用対象の制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータObjが含む参照先データRのコントラクトの識別子を取得する。
利用部223は、ステートデータBsから、制御対象ファイルデータのハッシュ値に対応する参照先データRのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得する。これにより利用部223は、制御対象ファイルデータが特定するコンテンツデータの、ファイル管理システム9における権利者の識別子を把握する。
利用部223はさらに、権利者端末1に、ファイル管理システム9を介して制御対象ファイルデータのハッシュ値を含む利用要求を送信する。利用部223は、ファイル管理システム9を介して、コンテンツデータを受信する。ここでコンテンツデータは、チャンクに分割されるので、利用部223は、分割された各チャンクを、権利者端末1から受信する。利用部223は、ステートデータBsに登録された正当な権利者から、コンテンツデータを取得することができる。
(新権利者端末)
図8を参照して、本発明の実施の形態に係る新権利者端末3を説明する。新権利者端末3は、記憶装置310、処理装置320、通信制御装置330を備える一般的なコンピュータである。一般的なコンピュータが新権利者プログラムを実行することにより、図8に示す機能を実現する。
図8を参照して、本発明の実施の形態に係る新権利者端末3を説明する。新権利者端末3は、記憶装置310、処理装置320、通信制御装置330を備える一般的なコンピュータである。一般的なコンピュータが新権利者プログラムを実行することにより、図8に示す機能を実現する。
記憶装置310は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置320が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置320は、CPU(Central Processing Unit)であって、記憶装置310に記憶されたデータを読み書きしたり、通信制御装置330とデータを入出力したりして、新権利者端末3における処理を実行する。通信制御装置330は、新権利者端末3が、ブロックチェーンネットワーク5またはファイル管理ネットワーク8に属する端末と通信可能に接続するためのインタフェースである。
記憶装置310は、新権利者プログラムを記憶するとともに、ブロックチェーンデータBおよびルーティングデータ311を記憶する。
ブロックチェーンデータBおよびルーティングデータ311は、図5を参照して説明したブロックチェーンデータBおよびルーティングデータ311と同様である。
また図8には示さないが、記憶装置310は、ブロックチェーンシステム6およびファイル管理システム9に接続するために必要なデータを記憶する。具体的には、記憶装置310は、利用者の電子署名用の秘密鍵および公開鍵を記憶する。ブロックチェーンシステム6とファイル管理システム9とで、それぞれ異なる秘密鍵および公開鍵を用いても良いし、共通の秘密鍵および公開鍵を用いても良い。
処理装置320は、ブロックチェーン制御部321、ファイル管理制御部322および移転要求部323を備える。
ブロックチェーン制御部321およびファイル管理制御部322は、図5を参照して説明したブロックチェーン制御部121およびファイル管理制御部122と同様に機能する。
移転要求部323は、権利者(旧権利者)が有するコンテンツデータの権利を、権利者から新権利者に移転したことをステートデータBsに登録するとともに、権利者端末1からコンテンツデータを取得する。
権利者端末1が、ルートオブジェクトデータObjのハッシュ値をステートデータBsに登録後、ファイル管理システム9に属する端末に、ルートオブジェクトデータObjのハッシュ値、制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値を、ファイル管理システム9における権利者の識別子と対応づけて通知する。これにより新権利者端末3は、権利者端末1がルートオブジェクトデータObjを有することを把握し、ルートオブジェクトデータObjのハッシュ値を指定して、権利者端末1からルートオブジェクトデータObjを取得する。
移転要求部323は、制御対象ファイルデータが特定するコンテンツデータの権利者になる際、ステートデータBsから、制御対象ファイルデータのハッシュ値に対応する参照先データRのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者(旧権利者)の識別子を取得する。これにより利用部223は、制御対象ファイルデータが特定するコンテンツデータの、ファイル管理システム9における旧権利者の識別子を把握する。なお、参照先データRが制御対象ファイルデータを特定する情報を含む場合、移転要求部323は、参照先データRにおいて移転対象の制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子を取得する。参照先データRが制御対象ファイルデータを特定する情報を含まない場合、利用部223は、移転対象の制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータObjが含む参照先データRのコントラクトの識別子を取得する。
移転要求部323はさらに、制御対象ファイルデータの権利者の識別子を、新権利者の識別子に変更するトランザクションを、ブロックチェーンシステム6に送信する。このトランザクションにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データRのコントラクトの識別子と、制御対象ファイルデータのハッシュ値が、指定される。このとき、参照先データRのコントラクトの呼出情報に基づいてトランザクションが生成される。これにより、ステートデータBsにおける制御対象ファイルの権利者の識別子が、旧権利者の識別子から新権利者の識別子に変更される。
移転要求部323はさらに、権利者端末1に、ファイル管理システム9を介して制御対象ファイルデータのハッシュ値を含む移転要求を送信し、ファイル管理システム9を介して、コンテンツデータを受信する。ここでコンテンツデータは、チャンクに分割されるので、移転要求部323は、分割された各チャンクを、権利者端末1から受信する。これにより利用部223は、ステートデータBsに登録された正当な権利者から、コンテンツデータを取得することができる。
このときファイル管理制御部322は、新権利者端末3がコンテンツデータを有する旨の通知を送信する。権利者端末1がこの通知を受信すると、権利者端末1からコンテンツデータを削除する。コンテンツデータに対して権利を有さない旧権利者が、コンテンツデータを保持することを回避することができる。
図9ないし図11Bを参照して、本発明の実施の形態に係る処理を説明する。図9ないし図11Bに示す処理の順序は一例であって、これに限るものではない。またブロックチェーンデータBにおける処理は、ブロックチェーンシステム6におけるいずれかの端末によって実行される。ブロックチェーンデータBの処理は、ブロックチェーンシステム6に属する端末が行う処理である。ファイル管理システム9の処理は、ファイル管理システム9に属する端末が行う処理である。
(ルートオブジェクトデータの生成および登録)
図9を参照して、権利者端末1がルートオブジェクトデータObjを生成し、ファイル管理システム9に登録する処理を説明する。
図9を参照して、権利者端末1がルートオブジェクトデータObjを生成し、ファイル管理システム9に登録する処理を説明する。
ステップS101において権利者端末1は、コンテンツデータを特定する制御対象ファイルデータのハッシュ値と、ファイル管理システム9における権利者の識別子とともに、このコンテンツデータの制御情報を管理するコントラクトを登録するトランザクションを発行する。ブロックチェーンデータBは、コントラクトを登録するとともに、コントラクトの識別子を発行する。さらにブロックチェーンデータBは、コントラクトの識別子と、制御対象ファイルデータのハッシュ値と、ファイル管理システム9における権利者の識別子を対応づけて、ステートデータBsに記憶する。ステップS102においてブロックチェーンデータBは、ブロックチェーンデータBに登録したコントラクトの識別子を権利者端末1に送信する。
権利者端末1は、ステップS103において、コンテンツ管理データMを生成する。権利者端末1は、コントラクトの識別子が設定された参照先データRを生成する。権利者端末1はさらに、生成された参照先データと、ルートオブジェクトデータObjが管理する制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータObjを生成する。ステップS104において権利者端末1は、ルートオブジェクトデータObjのハッシュ値をコントラクトの識別子に対応づけて登録するトランザクションを発行する。
ステップS105において権利者端末1は、ファイル管理システム9に対して、ルートオブジェクトデータObjと、コンテンツデータのチャンクを有することを通知する。この通知は、ステップS106において利用者端末2に届く。ステップS107において利用者端末2は、通知された内容に基づいて、利用者端末2が保持すべきルーティング情報があれば、ルーティングデータ211を更新する。
(コンテンツデータの共有)
図10Aおよび図10Bを参照して、本発明の実施の形態において、利用者端末2が権利者端末1に、コンテンツデータの共有をリクエストする処理を説明する。
図10Aおよび図10Bを参照して、本発明の実施の形態において、利用者端末2が権利者端末1に、コンテンツデータの共有をリクエストする処理を説明する。
ステップS201において利用者端末2は、利用対象の制御対象ファイルデータに対応するルートオブジェクトデータObjのハッシュ値から、ルートオブジェクトデータObjの持ち主を検索する。ファイル管理システム9に属する端末は、各端末が保持するデータのリストを有するので、利用者端末2は、ファイル管理システム9の端末に、ルートオブジェクトデータObjを保持する端末を問い合わせる。ルートオブジェクトデータObjは権利者端末1が有するので、ステップS202において利用者端末2は、ルートオブジェクトデータObjのハッシュ値を指定したルートオブジェクトデータObjの取得要求を、ファイル管理システム9に向けて送信する。ステップS203においてルートオブジェクトデータObjの取得要求は、権利者端末1に送信される。
ステップS204において権利者端末1は、取得要求対象のルートオブジェクトデータObjを特定する。権利者端末1は、ルートオブジェクトデータObjから算出したハッシュ値が、取得要求に含まれるルートオブジェクトデータObjのハッシュ値に対応することを確認する。ステップS205において利用者端末2は、ファイル管理システム9に向けて、ルートオブジェクトデータObjを送信する。ステップS206においてルートオブジェクトデータObjは、利用者端末2に送信される。
ステップS207において利用者端末2は、受信したルートオブジェクトデータObjが所望のルートオブジェクトデータObjであることを確認して受信する。例えば取得要求に含ませたルートオブジェクトデータObjのハッシュ値が、受信したルートオブジェクトデータObjから算出されるハッシュ値であることを確認する。
ここで利用者端末2は、制御対象ファイルデータの利用者として、自身の識別子をブロックチェーンデータBに登録する。具体的には、利用者端末2は、ルートオブジェクトデータObjから、制御対象ファイルデータに対応するコントラクトの識別子を特定する。ステップS208において利用者端末2は、コントラクトの識別子、制御対象ファイルデータのハッシュ値およびファイル管理システム9における利用者の識別子を指定して、利用者の設定を要求するトランザクションを送信する。ステップS209においてブロックチェーンデータBの利用者の識別子が設定される。
ステップS210において利用者端末2は、ブロックチェーンデータBに、コントラクトの識別子および制御対象ファイルデータのハッシュ値を指定して、制御対象ファイルデータの権利者を問い合わせする。ステップS211において利用者端末2は、制御対象ファイルデータについて、ファイル管理システム9における権利者の識別子を取得する。
ステップS212において利用者端末2は、制御対象ファイルデータのハッシュ値を指定して、ファイル管理システム9に利用要求を送信する。利用要求は、ステップS213において権利者端末1に送信される。ここで権利者端末1においてコンテンツの識別子を特定しやすいように、利用要求にルートオブジェクトデータObjのハッシュ値が設定されても良い。
権利者端末1は、自身が有するルートオブジェクトデータObjから、利用要求で指定された制御対象ファイルデータのハッシュ値に対応づけられたコントラクトの識別子を特定する。ステップS214において権利者端末1は、ブロックチェーンデータBに対して、特定したコントラクトの識別子と、利用要求に含まれた制御対象ファイルデータのハッシュ値を指定して、制御対象ファイルデータの利用者の識別子を問い合わせる。ステップS215において権利者端末1は、利用者の識別子を取得する。
権利者端末1は、ステップS215において取得した利用者の識別子が、ステップS213において受信した利用要求の送信元の識別子と一致する場合、ステップS216において、制御対象ファイルデータが特定するコンテンツデータのチャンクを、ファイル管理システム9に送信する。制御対象ファイルデータが特定するコンテンツデータのチャンクは、ステップS217において利用者端末2に送信される。
ステップS218において利用者端末2は、ステップS212の利用要求で特定した制御対象ファイルデータが特定するコンテンツデータのチャンクを有することを、ファイル管理システム9に通知する。
(コンテンツデータの権利の移転)
図11Aおよび図11Bを参照して、本発明の実施の形態において、新権利者端末3が権利者端末1に、コンテンツデータの移転をリクエストする処理を説明する。
図11Aおよび図11Bを参照して、本発明の実施の形態において、新権利者端末3が権利者端末1に、コンテンツデータの移転をリクエストする処理を説明する。
ステップS301ないしステップS307の処理を経て、新権利者端末3は、移転対象のコンテンツデータに対応する制御対象ファイルデータに関するルートオブジェクトデータObjを取得する。この処理は、図10AのステップS201ないしステップS207と同様である。
ここで新権利者端末3は、制御対象ファイルデータの権利者として、自身の識別子をブロックチェーンデータBに登録する。具体的には、新権利者端末3は、ルートオブジェクトデータObjから、制御対象データに対応するコントラクトの識別子を特定する。ステップS308において新権利者端末3は、コントラクトの識別子、制御対象ファイルデータのハッシュ値およびファイル管理システム9における新権利の識別子を指定して、権利者の設定を要求するトランザクションを送信する。ステップS309においてブロックチェーンデータBの権利者の識別子として、新権利者の識別子が設定される。ブロックチェーンデータBにおいて新権利者への権利の移転が登録されると、ステップS310において新権利者端末3は、その旨の通知を受ける。
図示しないが、新権利者端末3は、制御対象ファイルデータの旧権利者の識別子を取得しても良い。また、権利を移転する際、コントラクトの仕様によって様々な処理が考えられる。例えば、ブロックチェーンデータBは、権利を移転して良いか否かを権利者端末1に問い合わせ、権利者端末1から移転可の応答があった場合に、新権利者の識別子を設定する処理も考えられる。
ステップS311において新権利者端末3は、制御対象ファイルデータのハッシュ値を指定して、ファイル管理システム9に移転要求を送信する。移転要求は、ステップS312において権利者端末1に送信される。ここで権利者端末1においてコンテンツの識別子を特定しやすいように、移転要求にルートオブジェクトデータObjのハッシュ値が設定されても良い。
権利者端末1は、移転要求で指定された制御対象ファイルデータのハッシュ値に対応づけられたコントラクトの識別子を特定する。ステップS313において権利者端末1は、ブロックチェーンデータBに対して、特定したコントラクトの識別子と、移転要求に含まれた制御対象ファイルデータのハッシュ値を指定して、制御対象ファイルデータの権利者の識別子を問い合わせる。ステップS314において権利者端末1は、権利者の識別子を取得する。
権利者端末1は、ステップS314において取得した権利者の識別子が、ステップS312において受信した移転要求の送信元の識別子と一致する場合、ステップS315において、制御対象ファイルデータが特定するコンテンツデータのチャンクを、ファイル管理システム9に送信する。制御対象ファイルデータが特定するコンテンツデータのチャンクは、ステップS316において新権利者端末3に送信される。
新権利者端末3は、新権利者端末3が、ステップS317の移転要求で特定した制御対象ファイルデータが特定するコンテンツデータのチャンクを有することを、ファイル管理システム9に通知する。
ステップS318において、権利者端末1がこの通知を受信すると、ステップS319において記憶装置110から制御対象ファイルデータが特定するコンテンツデータを削除する。
このような本発明の実施の形態に係るコンテンツ利用システム10において、コンテンツデータをルートオブジェクトデータの単位で分割して管理し、ルートオブジェクトデータ毎にブロックチェーンデータBにおけるコントラクトを割り当てる。これにより、コントラクトのバグまたはコントラクトへの攻撃が生じたとしても、他のコントラクトで管理されるコンテンツデータには影響が生じない。
また本発明の実施の形態においてチャンクの識別子は、ブロックチェーンデータBに登録されずに権利者端末1に保管され、必要に応じて配布される。これにより、ブロックチェーンデータBの肥大化を防ぎ、トランザクションの処理にかかるコストおよびスループットの改善が期待できる。
さらに、チャンクの識別子をブロックチェーンデータBに登録しなくとも、チャンク毎の要求について、ブロックチェーンデータBに登録された制御情報を参照して、正当な権利者にチャンクのデータを提供することができる。具体的には、ルートオブジェクトデータObjから、制御対象ファイルデータが特定するコンテンツデータのチャンクの識別子に辿ることができる。従って、チャンクの識別子を指定して要求がなされた場合でも、チャンクの識別子から制御対象ファイルデータが特定するコンテンツデータの利用者等の識別子を特定することができる。またチャンクの識別子と、そのチャンクが関連する制御対象ファイルデータのハッシュ値を対応づけたテーブルを保持すことにより、ルートオブジェクトデータObjから、所望のチャンクの識別子を辿らなくとも、チャンクの識別子に対応する制御対象ファイルデータを特定することができる。このように、適切な利用者に、チャンクを配布することができる。
このように本発明の実施の形態に係るコンテンツ利用システム10は、ファイル管理システム9に登録されるコンテンツの情報を、ブロックチェーンに分散して登録することができる。
(変形例)
本発明の実施の形態に係るコンテンツ管理データMは、図2に示すように、ルートオブジェクトデータObjに参照先データRが含まれるが、これに限らない。例えば図12に示すコンテンツ管理データM’のように、ルートオブジェクトデータObj’は参照先データR’を含まない。ルートオブジェクトデータObjは、図13に示すように、ルートオブジェクトデータObjが管理する制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値のほか、参照先データR’のリンク名LinkXおよびハッシュ値FileXを含む。
本発明の実施の形態に係るコンテンツ管理データMは、図2に示すように、ルートオブジェクトデータObjに参照先データRが含まれるが、これに限らない。例えば図12に示すコンテンツ管理データM’のように、ルートオブジェクトデータObj’は参照先データR’を含まない。ルートオブジェクトデータObjは、図13に示すように、ルートオブジェクトデータObjが管理する制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値のほか、参照先データR’のリンク名LinkXおよびハッシュ値FileXを含む。
本発明の実施の形態において、利用者端末2または新権利者端末3がルートオブジェクトデータObjを取得するところ、変形例では、ルートオブジェクトデータObj’および参照先データR’を取得する。利用者端末2または新権利者端末3の記憶装置は、参照先データR’を含まない代わりに、参照先データR’のリンク名およびハッシュ値を含むルートオブジェクトデータObj’と、参照先データR’を記憶する。
(コンテンツデータの共有)
図14Aおよび図14Bを参照して、変形例において、利用者端末2が権利者端末1に、コンテンツデータの共有をリクエストする処理を説明する。
図14Aおよび図14Bを参照して、変形例において、利用者端末2が権利者端末1に、コンテンツデータの共有をリクエストする処理を説明する。
ステップS251において利用者端末2は、利用対象の制御対象ファイルデータに対応するルートオブジェクトデータObj’のハッシュ値から、ルートオブジェクトデータObj’の持ち主を検索する。ファイル管理システム9に属する端末は、各端末が有するデータのリストを有するので、利用者端末2は、ファイル管理システム9の端末に、ルートオブジェクトデータObj’を保持する端末を問い合わせる。ルートオブジェクトデータObj’は権利者端末1が有するので、ステップS252において利用者端末2は、ファイル管理システム9に向けて、ルートオブジェクトデータObj’のハッシュ値を指定して、ルートオブジェクトデータObj’と参照先データR’の取得要求を送信する。ステップS253においてルートオブジェクトデータObjの取得要求は、権利者端末1に送信される。
ステップS254において権利者端末1は、取得要求対象のルートオブジェクトデータObjを特定する。権利者端末1は、ルートオブジェクトデータObj’のハッシュ値が、取得要求に含まれるルートオブジェクトデータObjから算出されるハッシュ値に対応することを確認する。ステップS255において利用者端末2は、ファイル管理システム9に向けて、ルートオブジェクトデータObj’と参照先データR’を送信する。ステップS256においてルートオブジェクトデータObj’と参照先データR’は、利用者端末2に送信される。
ステップS257において利用者端末2は、受信したルートオブジェクトデータObj’と参照先データR’が所望のルートオブジェクトデータと参照先データであることを確認して受信する。例えば取得要求に含ませたルートオブジェクトデータObj’のハッシュ値が、受信したルートオブジェクトデータObj’から算出されるハッシュ値と一致することを確認する。
ステップS258以降の処理は、図10AのS208以降の処理と同様である。
(コンテンツデータの権利の移転)
図15Aおよび図15Bを参照して、変形例において、新権利者端末3が権利者端末1に、コンテンツデータの移転をリクエストする処理を説明する。
図15Aおよび図15Bを参照して、変形例において、新権利者端末3が権利者端末1に、コンテンツデータの移転をリクエストする処理を説明する。
ステップS351ないしステップS357の処理を経て、新権利者端末3は、移転対象のコンテンツデータに対応する制御対象ファイルデータに関するルートオブジェクトデータObj’と参照先データR’を取得する。この処理は、図14AのステップS251ないしステップS257と同様である。
ステップS358以降の処理は、図11AのS308以降の処理と同様である。
変形例に係るコンテンツ利用システム10は、ファイル管理システム9に登録されるコンテンツの情報を、ブロックチェーンに分散して登録することができる。
(その他の実施の形態)
上記のように、本発明の実施の形態とその変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
上記のように、本発明の実施の形態とその変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
例えば、本発明の実施の形態に記載した権利者端末等の各端末装置は、図5等に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。
また本発明の実施の形態および変形例における処理の順序は一例であって、これに限るものではない。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な請求の範囲に係る発明特定事項によってのみ定められるものである。
1 権利者端末
2 利用者端末
3 新権利者端末
4 ブロックチェーン制御端末
5 ブロックチェーンネットワーク
6 ブロックチェーンシステム
7 ファイル管理制御端末
8 ファイル管理ネットワーク
9 ファイル管理システム
10 コンテンツ利用システム
110、210、310 記憶装置
111、211、311 ルーティングデータ
120、220、320 処理装置
121 ブロックチェーン制御部
122 ファイル管理制御部
123 ルートオブジェクト生成部
124 共有部
125 移転部
223 利用部
323 移転要求部
B ブロックチェーンデータ
Bb ブロックチェーン本体データ
Bs ステートデータ
Obj ルートオブジェクトデータ
M コンテンツ管理データ
R 参照先データ
2 利用者端末
3 新権利者端末
4 ブロックチェーン制御端末
5 ブロックチェーンネットワーク
6 ブロックチェーンシステム
7 ファイル管理制御端末
8 ファイル管理ネットワーク
9 ファイル管理システム
10 コンテンツ利用システム
110、210、310 記憶装置
111、211、311 ルーティングデータ
120、220、320 処理装置
121 ブロックチェーン制御部
122 ファイル管理制御部
123 ルートオブジェクト生成部
124 共有部
125 移転部
223 利用部
323 移転要求部
B ブロックチェーンデータ
Bb ブロックチェーン本体データ
Bs ステートデータ
Obj ルートオブジェクトデータ
M コンテンツ管理データ
R 参照先データ
Claims (16)
- コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末であって、
コンテンツデータを記憶するとともに、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの前記権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、
前記コントラクトの識別子を含む参照先データを生成し、前記参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成するトランザクションを送信するルートオブジェクト生成部と、
前記ルートオブジェクトデータのハッシュ値と前記制御対象ファイルデータのハッシュ値を、前記ファイル管理システムにおける前記権利者の識別子と対応づけて通知するファイル管理制御部
を備えることを特徴とする権利者端末。 - 前記利用者が利用する利用者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値に対応づけられた前記利用者の識別子が、送信元の利用者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記利用者端末に送信する共有部
をさらに備えることを特徴とする請求項1に記載の権利者端末。 - 前記コンテンツの新権利者が利用する新権利者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子が、送信元の新権利者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記新権利者端末に送信し、
前記新権利者端末から、前記新権利者端末が前記コンテンツデータを有する旨の通知を受信すると、前記記憶装置から前記コンテンツデータを削除する移転部
をさらに備えることを特徴とする請求項1に記載の権利者端末。 - 前記ルートオブジェクトデータは、参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含む
ことを特徴とする請求項1ないし3のいずれか1項に記載の権利者端末。 - コンテンツの利用者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する利用者端末であって、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの権利者の識別子および前記利用者の識別子を対応づけたステートデータと、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する利用部
を備えることを特徴とする利用者端末。 - 前記記憶装置は、前記参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、前記参照先データを記憶する
ことを特徴とする請求項5に記載の利用者端末。 - コンテンツの権利者から権利を移転した新権利者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する新権利者端末であって、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータと、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、前記分散台帳システムに前記権利者の識別子を、前記新権利者の識別子に変更するトランザクションを送信し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する移転要求部と、
前記新権利者端末が前記コンテンツデータを有する旨の通知を送信するファイル管理制御部
を備えることを特徴とする新権利者端末。 - 前記記憶装置は、前記参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、前記参照先データを記憶する
ことを特徴とする請求項7に記載の新権利者端末。 - コンピュータを、請求項1ないし請求項4のいずれか1項に記載の権利者端末として機能させるための権利者プログラム。
- コンピュータを、請求項5または請求項6に記載の利用者端末として機能させるための利用者プログラム。
- コンピュータを、請求項7または請求項8に記載の新権利者端末として機能させるための新権利者プログラム。
- コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、前記コンテンツの利用者が利用し、前記分散台帳システムと前記ファイル管理システムに接続する利用者端末とを備えるコンテンツ利用システムであって、
前記権利者端末は、
コンテンツデータを記憶するとともに、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの前記権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、
前記コントラクトの識別子を含む参照先データを生成し、前記参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、前記記憶装置に記憶するルートオブジェクト生成部と、
前記ルートオブジェクトデータのハッシュ値と前記制御対象ファイルデータのハッシュ値を、前記ファイル管理システムにおける前記権利者の識別子と対応づけて通知するファイル管理制御部と、
前記利用者が利用する利用者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値に対応づけられた前記利用者の識別子が、送信元の利用者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記利用者端末に送信する共有部を備え、
前記利用者端末は、
前記ステートデータと、前記ルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する利用部を備える
ことを特徴とするコンテンツ利用システム。 - コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、コンテンツの権利者から権利を移転した新権利者が利用し、前記分散台帳システムと前記ファイル管理システムに接続する新権利者端末とを備えるコンテンツ利用システムであって、
前記権利者端末は、
コンテンツデータを記憶するとともに、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの前記権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、
前記コントラクトの識別子を含む参照先データを生成し、前記参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、前記記憶装置に記憶するルートオブジェクト生成部と、
前記ルートオブジェクトデータのハッシュ値と前記制御対象ファイルデータのハッシュ値を、前記ファイル管理システムにおける前記権利者の識別子と対応づけて通知するファイル管理制御部と、
前記コンテンツの新権利者が利用する新権利者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子が、送信元の新権利者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記新権利者端末に送信し、
前記新権利者端末から、前記新権利者端末が前記コンテンツデータを有する旨の通知を受信すると、前記記憶装置から前記コンテンツデータを削除する移転部を備え、
前記新権利者端末は、
前記ステートデータと、前記ルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、前記分散台帳システムに前記権利者の識別子を、前記新権利者の識別子に変更するトランザクションを送信し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する移転要求部と、
前記新権利者端末が前記コンテンツデータを有する旨の通知を送信するファイル管理制御部を備える
ことを特徴とするコンテンツ利用システム。 - 前記ルートオブジェクトデータは、参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含む
ことを特徴とする請求項12または13に記載のコンテンツ利用システム。 - 分散台帳を有する分散台帳システムと、ファイル管理システムを有するコンテンツ利用システムを有するコンテンツ管理データに用いられるルートオブジェクトデータのデータ構造であって、
前記分散台帳は、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、前記ファイル管理システムにおける前記コンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを含み、
前記分散台帳システムと前記ファイル管理システムに接続する端末は、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを有し、
制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子に基づいて、前記分散台帳から、前記制御対象ファイルデータが特定する前記コンテンツデータの権利者の識別子または前記利用者の識別子を取得する
ことを特徴とするルートオブジェクトデータのデータ構造。 - 前記ルートオブジェクトデータは、参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含む
ことを特徴とする請求項15に記載のルートオブジェクトデータのデータ構造。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19883493.9A EP3882794A4 (en) | 2018-11-13 | 2019-11-12 | PROPRIETARY TERMINAL, USER TERMINAL, NEW PROPRIETARY TERMINAL, PROPRIETARY PROGRAM, USER PROGRAM, NEW PROPRIETARY PROGRAM, CONTENT USAGE SYSTEM AND DATA STRUCTURE FOR ROUTING OBJECT DATA |
JP2020555699A JP7239847B2 (ja) | 2018-11-13 | 2019-11-12 | 権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラムおよびコンテンツ利用システム |
US17/292,864 US20210399877A1 (en) | 2018-11-13 | 2019-11-12 | Proprietor terminal, user terminal, new proprietor terminal, proprietor program, user program, new priorietor program, content use system, and data structure of route object data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-213173 | 2018-11-13 | ||
JP2018213173 | 2018-11-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020100855A1 true WO2020100855A1 (ja) | 2020-05-22 |
Family
ID=70730259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/044246 WO2020100855A1 (ja) | 2018-11-13 | 2019-11-12 | 権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210399877A1 (ja) |
EP (1) | EP3882794A4 (ja) |
JP (1) | JP7239847B2 (ja) |
WO (1) | WO2020100855A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528342A (zh) * | 2020-12-29 | 2021-03-19 | 内蒙古工业大学 | 一种基于编译中间结果的软件保护方法 |
WO2022060149A1 (ko) * | 2020-09-18 | 2022-03-24 | 삼성전자 주식회사 | 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법 |
WO2022074771A1 (ja) * | 2020-10-07 | 2022-04-14 | 日本電信電話株式会社 | 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム |
CN115022110A (zh) * | 2022-08-08 | 2022-09-06 | 广州市千钧网络科技有限公司 | 消息分发方法、可读介质以及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017050763A (ja) * | 2015-09-03 | 2017-03-09 | 日本電信電話株式会社 | 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム |
JP2017220710A (ja) * | 2016-06-03 | 2017-12-14 | 日本電信電話株式会社 | 契約合意方法、合意検証方法、契約合意装置および合意検証装置 |
WO2018075129A1 (en) * | 2016-10-20 | 2018-04-26 | Sony Corporation | Blockchain-based digital rights management |
JP6389558B1 (ja) * | 2017-10-19 | 2018-09-12 | アビームコンサルティング株式会社 | コンテンツデータ管理システム、サーバ装置、制御方法及び制御プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60333303D1 (de) * | 2002-09-09 | 2010-08-19 | Sap Ag | Verfahren und vorrichtungen zur datenbewegung mittels sperren |
US9686302B2 (en) * | 2013-12-30 | 2017-06-20 | Anchorfree, Inc. | System and method for security and quality assessment of wireless access points |
JP6971019B2 (ja) * | 2016-09-26 | 2021-11-24 | Gmoインターネット株式会社 | データ管理システム、情報処理装置、プログラム、及び、データ管理方法 |
DE102016118724A1 (de) * | 2016-10-04 | 2018-04-05 | Prostep Ag | Verfahren zur elektronischen Dokumentation von Lizenzinformationen |
-
2019
- 2019-11-12 JP JP2020555699A patent/JP7239847B2/ja active Active
- 2019-11-12 EP EP19883493.9A patent/EP3882794A4/en active Pending
- 2019-11-12 WO PCT/JP2019/044246 patent/WO2020100855A1/ja unknown
- 2019-11-12 US US17/292,864 patent/US20210399877A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017050763A (ja) * | 2015-09-03 | 2017-03-09 | 日本電信電話株式会社 | 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム |
JP2017220710A (ja) * | 2016-06-03 | 2017-12-14 | 日本電信電話株式会社 | 契約合意方法、合意検証方法、契約合意装置および合意検証装置 |
WO2018075129A1 (en) * | 2016-10-20 | 2018-04-26 | Sony Corporation | Blockchain-based digital rights management |
JP6389558B1 (ja) * | 2017-10-19 | 2018-09-12 | アビームコンサルティング株式会社 | コンテンツデータ管理システム、サーバ装置、制御方法及び制御プログラム |
Non-Patent Citations (3)
Title |
---|
JUAN BANET, IPFS-CONTENT ADDRESSED, VERSIONED, P2P FILE SYSTEM (DRAFT 3, 30 October 2018 (2018-10-30), Retrieved from the Internet <URL:https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNdelFQv7uL6Xlo4k7zrJa3LX/ipfs.draft3.pdf> |
MATHIS STEICHEN ET AL., BLOCKCHAIN-BASED, DECENTRALIZED ACCESS CONTROL FOR IPFS, 15 October 2018 (2018-10-15), Retrieved from the Internet <URL:https://www.researchgate.net/publication/327034734> |
SATO YUYA; KANEKO KUNITAKE: "Media Content Management System using Blockchain Technology", IEICE TECHNICAL REPORT. IN, vol. 117, no. 397 (IN2017-75), 15 January 2018 (2018-01-15), pages 31 - 36, XP009527643 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022060149A1 (ko) * | 2020-09-18 | 2022-03-24 | 삼성전자 주식회사 | 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법 |
WO2022074771A1 (ja) * | 2020-10-07 | 2022-04-14 | 日本電信電話株式会社 | 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム |
JP7468682B2 (ja) | 2020-10-07 | 2024-04-16 | 日本電信電話株式会社 | 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム |
CN112528342A (zh) * | 2020-12-29 | 2021-03-19 | 内蒙古工业大学 | 一种基于编译中间结果的软件保护方法 |
CN115022110A (zh) * | 2022-08-08 | 2022-09-06 | 广州市千钧网络科技有限公司 | 消息分发方法、可读介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP7239847B2 (ja) | 2023-03-15 |
EP3882794A4 (en) | 2022-08-03 |
JPWO2020100855A1 (ja) | 2021-09-27 |
US20210399877A1 (en) | 2021-12-23 |
EP3882794A1 (en) | 2021-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020100855A1 (ja) | 権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造 | |
JP6877448B2 (ja) | 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム | |
JP7436568B2 (ja) | ブロックチェーンにより実現される方法及びシステム | |
CN106796688B (zh) | 区块链的权限控制方法、装置、***及节点设备 | |
US8417964B2 (en) | Software module management device and program | |
JP6586046B2 (ja) | 処理システムおよび処理方法 | |
US11729175B2 (en) | Blockchain folding | |
EP3537684B1 (en) | Apparatus, method, and program for managing data | |
JP6557177B2 (ja) | 処理システムおよび処理方法 | |
US20240054108A1 (en) | Content use system | |
CN111800410B (zh) | 基于区块链的数据访问控制方法、电子设备和存储介质 | |
JP2023524715A (ja) | ネットワーク間の識別情報プロビジョニング | |
KR102286016B1 (ko) | 블록체인 기반의 클라우드 서비스 제공 시스템 | |
JP7053031B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム | |
JP7280517B2 (ja) | 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法 | |
JP2023544518A (ja) | オペレーティングシステムを公開するためのブロックチェーンベースのシステムおよび方法 | |
JP7331714B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7174300B2 (ja) | コンテンツ利用システム、許諾端末、閲覧端末、配信端末、および、コンテンツ利用プログラム | |
CN113497762A (zh) | 数据报文的传输方法及装置 | |
CN112041834B (zh) | 使用分布式账本进行数据交换的***和方法 | |
Swamy et al. | Secure and decentralized academic transcript system based on blockchain technology | |
US12052259B2 (en) | Blockchain folding | |
CN117034370B (zh) | 基于区块链网络的数据处理方法及相关设备 | |
Posdorfer et al. | Toward EU-GDPR Compliant Blockchains with Intentional Forking | |
CN118350031A (zh) | 基于区块链的数据处理方法、装置、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19883493 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020555699 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019883493 Country of ref document: EP Effective date: 20210614 |