Control server, data sharing system, and control program

The proposed control server and data sharing system address the challenge of managing access control for file updates by using a distributed ledger to manage viewing permissions for different file versions, ensuring secure and accurate access.

JP7657731B2Active Publication Date: 2025-04-07NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021565294
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2019-12-20
Publication Date
2025-04-07
Estimated Expiration
2039-12-20

AI Technical Summary

Technical Problem

Existing systems fail to implement access control for files in distributed storage systems, particularly in managing viewing permissions before and after file updates.

Method used

A control server and data sharing system that utilize a distributed ledger system to store permission information, allowing separate management of viewing permissions for different file versions by using a combination of file identifiers and version identifiers.

Benefits of technology

Enables effective management of viewing permissions for files before and after updates, ensuring that users can only access the intended file versions, thereby enhancing data security and integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007657731000001
    Figure 0007657731000001
  • Figure 0007657731000002
    Figure 0007657731000002
  • Figure 0007657731000003
    Figure 0007657731000003
Patent Text Reader

Abstract

Upon receiving a usage request including a file identifier and a version identifier from a user terminal 20, a control server 10 transmits a file request based on the usage request to a file management system, and transmits an authority information request based on the usage request to a distributed ledger system. Upon receiving the file request, the file management system acquires a file corresponding to a combination of the file identifier and the version identifier, and transmits the file to the control server 10. Upon receiving the authority information request, the distributed ledger system acquires authority information corresponding to the combination of the file identifier and the version identifier from the distributed ledger, and transmits the authority information to the control server 10. The control server 10 transmits a file to the user terminal 20, when the user of the user terminal can view the file, on the basis of the authority information.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The technology disclosed herein relates to a control server, a data sharing system, and a control program. [Background technology]

[0002] There is a system that shares files by linking distributed storage and a distributed ledger (Patent Document 1). In addition, since it is inconvenient to handle large files, lightweight storage methods and methods that link with storage have also been proposed (Non-Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2018-112827 A [Non-patent literature]

[0004] [Non-Patent Document 1] Yongle Chen,et al, “An improved P2P File System Scheme based on IPFS and Blockchain”, 2017 IEEE International Conference on Big Data (BIGDATA), pp.2652-2657. Summary of the Invention [Problem to be solved by the invention]

[0005] However, with conventional technology, it is not possible to realize access control that takes into account the time axis for files registered in storage.

[0006] For example, suppose that user B has permission to view file A in distributed storage at some point, and then user B loses permission to view file A. Then, when file A is updated, it is preferable that user B be able to view the version of file A before the update, but not be able to view the version of file A after the update. Such control of viewing permission is necessary.

[0007] The disclosed technology has been developed in consideration of the above points, and aims to provide a control server, a data sharing system, and a control program that can manage viewing rights separately before and after updating a file managed by a file management system. [Means for solving the problem]

[0008] A first aspect of the present disclosure is a control server in a data sharing system including a file management system, a distributed ledger system having a distributed ledger including authority information indicating whether at least one user can view a combination of a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, and a control server, the control server including: an authority information requesting unit that, when a usage request including the file identifier and the version identifier is received from a user terminal, sends an authority information request based on the usage request to the distributed ledger system and obtains from the distributed ledger the authority information corresponding to the combination of the file identifier and the version identifier; a file requesting unit that sends a file request based on the usage request to the file management system and obtains from the file management system the file corresponding to the combination of the file identifier and the version identifier; and an authority information verification unit that, when viewing by a user of the user terminal is possible based on the authority information obtained by the authority information requesting unit, sends the file obtained by the file requesting unit to the user terminal.

[0009] A second aspect of the present disclosure is a data sharing system comprising a distributed ledger system having a distributed ledger, a file management system, and a control server, wherein when the control server receives a usage request from a user terminal including a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, the control server sends an authority information request based on the usage request to the distributed ledger system, and also sends a file request based on the usage request to the file management system, and upon receiving the file request, the file management system obtains the file corresponding to the combination of the file identifier and the version identifier and sends it to the control server, and the distributed ledger includes authority information indicating whether or not at least one user can view the combination of the file identifier and the version identifier, and upon receiving the authority information request, the distributed ledger system obtains the authority information corresponding to the combination of the file identifier and the version identifier from the distributed ledger and sends it to the control server, and the control server transmits the file to the user terminal if the user of the user terminal can view the file based on the authority information.

[0010] A third aspect of the present disclosure is a control program that causes a computer that is a control server in a data sharing system that includes a file management system, a distributed ledger system having a distributed ledger including authority information indicating whether at least one user can view a combination of a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, and a control server, to execute the following when a usage request including the file identifier and the version identifier is received from a user terminal: send an authority information request based on the usage request to the distributed ledger system, obtain from the distributed ledger the authority information corresponding to the combination of the file identifier and the version identifier, send a file request based on the usage request to the file management system, obtain from the file management system the file corresponding to the combination of the file identifier and the version identifier, and if viewing by the user of the user terminal is possible based on the obtained authority information, send the obtained file to the user terminal. Effect of the Invention

[0011] According to the disclosed technique, viewing authority can be managed separately before and after an update of a file managed in a file management system. [Brief description of the drawings]

[0012] [Figure 1] 1 is a block diagram showing a configuration of a data sharing system according to an embodiment of the present invention. [Diagram 2] A schematic block diagram of an example of a computer that functions as a control server, a user terminal, a distributed storage node, and a blockchain node in this embodiment. [Diagram 3] FIG. 2 is a block diagram showing a configuration of a control server according to the present embodiment. [Figure 4] FIG. 2 illustrates an example of a transaction. [Diagram 5] FIG. 2 is a sequence diagram showing a processing flow of the data sharing system according to the present embodiment. [Figure 6] FIG. 2 is a sequence diagram showing a processing flow of the data sharing system according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Hereinafter, an example of an embodiment of the disclosed technology will be described with reference to the drawings. In each drawing, the same or equivalent components and parts are given the same reference numerals. In addition, the dimensional ratios of the drawings are exaggerated for the convenience of explanation and may differ from the actual ratios.

[0014] <Outline of this embodiment> In this embodiment, in addition to an identifier that uniquely identifies a file, an identifier for version management is prepared. That is, when a file is registered, an identifier that uniquely identifies the file (called a document ID) and an identifier for identifying the version of this file (called a document version ID) are prepared. When a file is updated, the document ID is carried over to the new file after the update, while a new document version ID is generated. This makes it possible to distinguish between "the same file before and after the update". Transactions including the document ID and document version ID are stored in the distributed ledger. In addition, permission information indicating whether each user can view the file corresponding to the combination of the document ID and document version ID is stored together with the transaction.

[0015] When user B requests file FileA of version oldA from the distributed storage node via the control server, the file request includes a document version ID indicating that it is version oldA.

[0016] The control server obtains file FileA of version oldA from the distributed storage node using the document ID and document version ID indicating that it is file FileA of version oldA. The control server also checks the permission information of user B written in the transaction stored in the distributed ledger using the document ID of file FileA and the document version ID of version oldA. At this time, it checks whether user B has permission to view file FileA of version oldA.

[0017] As a result, even if the file FileA has been updated, the user B can view the file FileA before the update in accordance with the previous authority.

[0018] <Configuration of the data sharing system according to this embodiment> In this embodiment, a data sharing system will be described.

[0019] FIG. 1 is a block diagram showing an example of the functional configuration of a data sharing system 100 according to this embodiment.

[0020] 1, a data sharing system 100 according to this embodiment includes a control server 10, multiple user terminals 20, a file management system 300, and a distributed ledger system 400. The control server 10, the multiple user terminals 20, the file management system 300, and the distributed ledger system 400 are connected via a network 50.

[0021] <Configuration of the control server according to this embodiment> FIG. 2 is a block diagram showing the hardware configuration of the control server 10 of this embodiment.

[0022] 2, the control server 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.

[0023] The CPU 11 is a central processing unit, and executes various programs and controls each part. That is, the CPU 11 reads a program from the ROM 12 or the storage 14, and executes the program using the RAM 13 as a working area. The CPU 11 controls each of the above components and performs various arithmetic processing according to the program stored in the ROM 12 or the storage 14. In this embodiment, a control program is stored in the ROM 12 or the storage 14. The control program may be one program, or may be a group of programs composed of multiple programs or modules.

[0024] The ROM 12 stores various programs and various data. The RAM 13 temporarily stores programs or data as a working area. The storage 14 is configured with a hard disk drive (HDD) or a solid state drive (SSD) and stores various programs including an operating system and various data.

[0025] The input unit 15 includes a pointing device such as a mouse, and a keyboard, and is used to perform various input operations.

[0026] The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may function as the input unit 15 by adopting a touch panel system.

[0027] The communication interface 17 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).

[0028] Next, a description will be given of the functional configuration of the control server 10. Fig. 3 is a block diagram showing an example of the functional configuration of the control server 10.

[0029] Functionally, the control server 10 includes a file registration unit 102, an authority information registration unit 104, a file request acquisition unit 106, a file request unit 108, an authority information request unit 110, and an authority information verification unit 112, as shown in FIG.

[0030] When the file registration unit 102 receives a new file, for example, from the user terminal 20, it transmits the file to the file management system 300 and registers the file in the file management system 300. At this time, it generates a combination of a new document ID and a document version ID, and registers the file in the file management system 300 in association with the combination of the new document ID and the document version ID.

[0031] Furthermore, when the file registration unit 102 receives an updated file from the user terminal 20 for a file that is already managed in the file management system 300, it transmits the updated file to the file management system 300 and registers the updated file in the file management system 300. At this time, a new document version ID is generated, and the updated file is registered in the file management system 300 in association with a combination of the same document ID as the file before the update and the new document version ID.

[0032] When the file registration unit 102 registers a new file in the file management system 300, the authority information registration unit 104 receives authority information for the new file from the user terminal 20. The authority information registration unit 104 transmits the received authority information for the combination of a new document ID and document version ID generated for the new file by the file registration unit 102 to the distributed ledger system 400. As a result, the authority information for the combination of the document ID and document version ID is registered in the distributed ledger.

[0033] When updating a file already managed on the file management system 300 by the file registration unit 102, the authority information registration unit 104 receives authority information for the updated file from the user terminal 20. The authority information registration unit 104 transmits the received authority information for the combination of the document ID and document version ID generated by the file registration unit 102 for the updated file to the distributed ledger system 400. As a result, the authority information for the combination of the document ID and document version ID is registered in the distributed ledger.

[0034] Here, when registering authority information in the distributed ledger, a transaction with a data structure as shown in FIG. 4 is generated and sent to the distributed ledger system 400. Specifically, the data structure of the transaction has the following items: key, document ID, user authority, and document version ID. The key is a value for identifying the transaction. The document ID is a hash value of an identifier that uniquely identifies the document (e.g., "FileA"). Note that the document ID may be the plaintext of an identifier that uniquely identifies the document.

[0035] User permissions are a hash structure that indicates at least one user's ability to view each file and the owner of the file, as shown below.

[0036] {User A: Can view, User B: Can view, User C: Can view and owner}

[0037] The user authority may be a plain text indicating whether each user can view a file and the owner of the file.

[0038] The document version ID is a hash value of an identifier that uniquely identifies a document version (for example, "oldA", "newA"). Note that the document version ID may be a plain text of an identifier that uniquely identifies a document version.

[0039] Note that the transaction may include other information than the above.

[0040] The file request acquisition unit 106 acquires a usage request received from the user terminal 20, the usage request including a document ID for identifying a file managed on the file management system 300 and a document version ID for identifying the version of the file.

[0041] The file request unit 108 sends a file request based on the usage request acquired by the file request acquisition unit 106 to the file management system 300, and acquires from the file management system 300 a file corresponding to the combination of the document ID and document version ID included in the file request.

[0042] The authority information requesting unit 110 sends an authority information request based on the usage request acquired by the file request acquisition unit 106 to the distributed ledger system 400, and acquires from the distributed ledger system 400 authority information corresponding to the combination of the document ID and document version ID included in the authority information request.

[0043] If the authority information obtained by the authority information requesting unit 110 indicates that the user of the user terminal 20 that sent the usage request can view the file, the authority information verification unit 112 transmits the file obtained by the file requesting unit 108 to the user terminal 20. On the other hand, if the authority information obtained by the authority information requesting unit 110 indicates that the user of the user terminal 20 that sent the usage request cannot view the file, the authority information verification unit 112 discards the file obtained by the file requesting unit 108 without transmitting it to the user terminal 20.

[0044] <Configuration of user terminal according to this embodiment> FIG. 2 is a block diagram showing the hardware configuration of the user terminal 20 of this embodiment.

[0045] As shown in FIG. 2, the user terminal 20, like the control server 10, includes a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17.

[0046] The input unit 15 accepts input of a new file or an updated file obtained by updating a file already managed in the file management system 300.

[0047] Furthermore, the input unit 15 accepts input of authority information indicating whether or not at least one user is permitted to view the input file.

[0048] The input unit 15 accepts an input of a combination of the document ID and document version ID of a file that the user wishes to view.

[0049] The user terminal 20 transmits the input new file or the updated file to the control server 10.

[0050] The user terminal 20 transmits to the control server 10 a usage request including the input document ID and document version ID.

[0051] The user terminal 20 displays the file transmitted from the control server 10 on the display unit 16 .

[0052] <Configuration of the file management system according to this embodiment> As shown in FIG. 1, the file management system 300 includes a plurality of distributed storage nodes 30 and a distributed file sharing network 60.

[0053] The hardware configuration of the distributed storage node 30 of this embodiment is similar to that of the control server 10, as shown in FIG.

[0054] The plurality of distributed storage nodes 30 stores the file transmitted from the control server 10 via the distributed file sharing network 60 in a distributed manner, in association with a combination of a document ID and a document version ID.

[0055] When a distributed storage node 30 receives a file request from the control server 10 via the distributed file sharing network 60, if the distributed storage node 30 stores a file corresponding to the combination of the document ID and document version ID included in the file request, the distributed storage node 30 transmits the file to the control server 10. On the other hand, if the distributed storage node 30 does not store a file corresponding to the combination of the document ID and document version ID included in the file request, the distributed storage node 30 transmits the file request to another distributed storage node 30.

[0056] <Configuration of the distributed ledger system according to this embodiment> As shown in FIG. 1 above, the distributed ledger system 400 includes multiple blockchain nodes 40 and a distributed ledger network 70.

[0057] The hardware configuration of the blockchain node 40 of this embodiment is similar to that of the control server 10, as shown in FIG. 2 above.

[0058] The multiple blockchain nodes 40 generate blocks that consolidate the transactions sent from the control server 10 via the distributed ledger network 70, connect them to the blockchain, and store them in the ledger data.

[0059] When the distributed storage node 30 receives a request for authority information from the control server 10 via the distributed ledger network 70, it searches the ledger data for authority information corresponding to the combination of document ID and document version ID included in the authority information request, and transmits the searched authority information to the control server 10.

[0060] <Operation of the data sharing system according to this embodiment> Next, the operation of the data sharing system 100 according to this embodiment will be described.

[0061] Fig. 5 is a sequence diagram showing an example of the overall process flow including the process of the control program according to this embodiment. Fig. 5 shows a case where user B can view file FileA of version oldA, and one distributed storage node 30 stores file FileA of version oldA. In this case, a case where user B obtains file FileA of version oldA via the control server 10 will be described as an example.

[0062] First, in step S500, the user terminal 20 of user B transmits to the control server 10 a usage request including a document ID, a user name, and a document version ID, as shown below.

[0063] Usage request [Document ID: FileA, User name: B, Document version ID: oldA]

[0064] In step S502, the control server 10 transmits to the blockchain node 40 an authority information request, as shown below, based on the usage request transmitted from the user terminal 20.

[0065] Request for authority information [Document ID: FileA, User name: B, Document version ID: oldA]

[0066] In step S504, the blockchain node 40 searches the ledger data for a transaction including the relevant authority information using the document ID and document version ID as keys.

[0067] In step S506, the blockchain node 40 searches for authority information indicating whether the user of the user terminal 20 is allowed to view the transaction from the authority information included in the transaction searched for in step S502 above, using the user name as a key.

[0068] In step S508, the blockchain node 40 transmits the authority information searched for in step S506 to the control server 10. Here, the authority information transmitted includes the following items: document ID, user viewing permission, and document version ID.

[0069] Permission information [Document ID: FileA, User B: Viewable, Document version ID: oldA]

[0070] In step S510, the control server 10 verifies whether the user of the user terminal 20 that sent the usage request can view the file corresponding to the combination of the document ID and document version ID included in the file request. In the example of Fig. 5, it is determined that user B can view file FileA of version oldA.

[0071] In step S512, the control server 10 transmits the following file request based on the usage request transmitted from the user terminal 20 to one of the distributed storage nodes 30:

[0072] File Request [Document ID: FileA, User Name: B, Document Version ID: oldA]

[0073] In step S514, the distributed storage node 30 checks whether or not it stores a file FileA of version oldA, based on the document ID and document version ID included in the file request received from the control server 10. In the example of Fig. 5, the distributed storage node 30 that has received the file request checks that it stores a file FileA of version oldA.

[0074] In step S516, the distributed storage node 30 transmits the stored file FileA of version oldA to the control server 10.

[0075] If the distributed storage node 30 that receives the file request does not store the file FileA of version oldA, the file request is transmitted to another distributed storage node 30.

[0076] In step S518, the control server 10 transmits the file FileA of version oldA acquired in step S516 above to the user terminal 20. As a result, the file FileA of version oldA is displayed on the display unit 16 of the user terminal 20, and User B views the file.

[0077] Note that, if the result of the processing of steps S502 to S510 above indicates that the user of user terminal 20 is not allowed to view the file, steps S512 to S516 may not be executed. Also, although the case where steps S512 to S516 are executed after the processing of steps S502 to S510 above has been described as an example, the present invention is not limited to this. For example, steps S502 to S510 may be executed after the processing of steps S512 to S516 above. Also, the processing of steps S502 to S510 above and steps S512 to S516 may be executed in parallel.

[0078] Next, an example of the overall flow of processing including the processing of the control program according to this embodiment will be described with reference to Fig. 6. Fig. 6 shows a case where user B cannot view file FileA of version newA, and one distributed storage node 30 stores file FileA of version newA. At this time, a case where user B requests file FileA of version newA via the control server 10 will be described as an example. That is, a case where user B initially has the right to view file FileA, file FileA is then updated, and user B loses the right to view file FileA after the update will be described as an example. Here, the version before the update is oldA, and the version after the update is newA.

[0079] First, in step S600, the user terminal 20 of user B transmits to the control server 10 a usage request including a document ID, a user name, and a document version ID, as shown below.

[0080] Usage request [Document ID: FileA, User name: B, Document version ID: newA]

[0081] In step S602, the control server 10 transmits to the blockchain node 40 an authority information request, as shown below, based on the usage request transmitted from the user terminal 20.

[0082] Request for authority information [Document ID: FileA, User name: B, Document version ID: newA]

[0083] In step S604, the blockchain node 40 uses the document ID and document version ID as keys to search the ledger data for a transaction that includes the relevant authority information.

[0084] In step S606, the blockchain node 40 searches for authority information indicating whether the user of the user terminal 20 is allowed to view the transaction from the authority information included in the transaction searched for in step S604 above, using the user name as a key.

[0085] In step S608, the blockchain node 40 transmits the authority information searched for in step S606 to the control server 10. Here, the authority information transmitted includes the following items: document ID, user viewing prohibited, and document version ID.

[0086] Permission information [Document ID: FileA, User B: Not viewable, Document version ID: newA]

[0087] In step S610, the control server 10 verifies whether the user of the user terminal 20 that sent the usage request can view the file corresponding to the combination of the document ID and document version ID included in the file request. In the example of Fig. 6, it is determined that user B cannot view file FileA of version newA.

[0088] At this time, the control server 10 does not make a file request for the file FileA of the version newA.

[0089] As described above, the data sharing system according to the present embodiment can manage viewing authority separately before and after updating a file managed in a distributed manner in a file management system. In addition, since the authority information is stored in a distributed ledger system, it is possible to prevent tampering with the authority information.

[0090] The present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the spirit and scope of the present invention.

[0091] For example, various processes executed by the CPU after reading the software (program) in the above embodiment may be executed by various processors other than the CPU. Examples of processors in this case include PLDs (Programmable Logic Devices) whose circuit configuration can be changed after manufacture such as FPGAs (Field-Programmable Gate Arrays), and dedicated electric circuits such as ASICs (Application Specific Integrated Circuits) which are processors having a circuit configuration designed exclusively for executing specific processes. In addition, various processes may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, and a combination of a CPU and an FPGA). In addition, the hardware structure of these various processors is, more specifically, an electric circuit that combines circuit elements such as semiconductor elements.

[0092] In addition, in each of the above embodiments, the control program is described as being pre-stored (installed) in the storage 14, but the present invention is not limited to this. The program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.

[0093] The control server may also have the function of a distributed storage node or a blockchain node.

[0094] Furthermore, the case where the authority information indicates whether or not viewing is permitted has been described as an example, but the authority information may also indicate whether or not writing is permitted in addition to whether or not viewing is permitted.

[0095] The following supplementary notes are further disclosed regarding the above embodiment.

[0096] (Additional note 1) A control server in a data sharing system including a file management system, a distributed ledger system including a distributed ledger including authority information indicating whether at least one user can view a combination of a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, and a control server, Memory, at least one processor coupled to the memory; Including, The processor, When a usage request including the file identifier and the version identifier is received from a user terminal, a request for authority information based on the usage request is sent to the distributed ledger system, and the authority information corresponding to the combination of the file identifier and the version identifier is obtained from the distributed ledger; Transmitting a file request based on the use request to the file management system, and acquiring the file corresponding to the combination of the file identifier and the version identifier from the file management system; If the file is viewable by the user of the user terminal based on the acquired authority information, the file is transmitted to the user terminal. Control server.

[0097] (Additional note 2) A non-transitory storage medium storing a program executable by a computer to execute a control process in a data sharing system including a file management system, a distributed ledger system including a distributed ledger including authority information indicating whether or not at least one user can view a combination of a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, and a control server, The control process includes: When a usage request including the file identifier and the version identifier is received from a user terminal, a request for authority information based on the usage request is sent to the distributed ledger system, and the authority information corresponding to the combination of the file identifier and the version identifier is obtained from the distributed ledger; Transmitting a file request based on the use request to the file management system, and acquiring the file corresponding to the combination of the file identifier and the version identifier from the file management system; If the file is viewable by the user of the user terminal based on the acquired authority information, the file is transmitted to the user terminal. Non-transitory storage medium. [Explanation of symbols]

[0098] 10 Control Server 20 User terminal 30 Distributed Storage Nodes 40 Blockchain Nodes 50 Network 60 Distributed File Sharing Network 70 Distributed Ledger Network 100 Data Sharing System 102 File Registration Section 104 Authority information registration section 106 File Request Acquisition Unit 108 File Request Section 110 Authority information request section 112 Authority Information Verification Unit 300 File Management System 400 Distributed Ledger System

Claims

1. A control server in a data sharing system including a file management system, a distributed ledger system having a distributed ledger including authority information indicating whether at least one user can view a combination of a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, and a control server, a file registration unit that registers a new file in the file management system or updates a file managed on the file management system, and registers a combination of the file identifier and the version identifier of the file; an authority information registration unit that transmits a transaction including the file identifier, the version identifier, and the authority information of the file to the distributed ledger system when the file registration unit registers a new file in the file management system or when the file managed on the file management system is updated; an authority information requesting unit that, when receiving a usage request including the file identifier and the version identifier from a user terminal, transmits an authority information request based on the usage request to the distributed ledger system and obtains the authority information corresponding to the combination of the file identifier and the version identifier from the distributed ledger; a file request unit that transmits a file request based on the use request to the file management system and acquires the file corresponding to a combination of the file identifier and the version identifier from the file management system; an authority information verification unit that transmits the file acquired by the file request unit to the user terminal when the user of the user terminal is permitted to view the file based on the authority information acquired by the authority information request unit; Including, The file request unit is a control server that, when the version identifier included in the usage request is the version identifier of a file before an update, acquires the file before the update from the file management system.

2. A control server as described in claim 1, wherein, when the user of the user terminal is permitted to view the file based on the authority information acquired by the authority information request unit, the file request unit sends a file request based on the usage request to the file management system, and acquires from the file management system the file corresponding to the combination of the file identifier and the version identifier.

3. A data sharing system comprising a distributed ledger system having a distributed ledger, a file management system, and a control server, The control server includes: When a usage request including a file identifier for identifying a file managed on the file management system and a version identifier for identifying a version of the file is received from a user terminal, a request for authority information based on the usage request is sent to the distributed ledger system, and a file request based on the usage request is sent to the file management system; The file management system includes: Upon receiving the file request, obtain the file corresponding to the combination of the file identifier and the version identifier and send it to the control server; The distributed ledger comprises: including authority information indicating whether or not at least one user can view a combination of the file identifier and the version identifier; The distributed ledger system comprises: When the authority information request is received, the authority information corresponding to the combination of the file identifier and the version identifier is obtained from the distributed ledger, and transmitted to the control server; The control server includes: If the file is permitted to be viewed by the user of the user terminal based on the authority information, the file is transmitted to the user terminal; When the control server registers a new file in the file management system or updates a file managed on the file management system, the control server transmits a transaction including the file identifier, the version identifier, and the authority information of the file to the distributed ledger system; A data sharing system, wherein the control server, when the version identifier included in the usage request is the version identifier of a file before an update, acquires the file before the update from the file management system.

4. 4. The data sharing system according to claim 3, wherein the file management system manages the files in a distributed manner across a plurality of distributed storage nodes.

5. A computer that is a control server in a data sharing system including a file management system, a distributed ledger system having a distributed ledger including authority information indicating whether at least one user can view a combination of a file identifier that identifies a file managed on the file management system and a version identifier that identifies a version of the file, and a control server, When a usage request including the file identifier and the version identifier is received from a user terminal, a request for authority information based on the usage request is sent to the distributed ledger system, and the authority information corresponding to the combination of the file identifier and the version identifier is obtained from the distributed ledger; Transmitting a file request based on the use request to the file management system, and acquiring the file corresponding to the combination of the file identifier and the version identifier from the file management system; If the file is permitted to be viewed by the user of the user terminal based on the acquired authority information, the file is transmitted to the user terminal; When the control server registers a new file in the file management system or updates a file managed on the file management system, the control server transmits a transaction including the file identifier, the version identifier, and the authority information of the file to the distributed ledger system; When the version identifier included in the use request is a version identifier of a file before the update, the control server acquires the file before the update from the file management system. A control program for executing the above operations.

Citation Information

Patent Citations

  • Information processing system

    JP2018112827A

  • Digital rights management system implementing version control

    US20170220814A1

  • Method and apparatus for managing subject data based on block chain

    US20190354967A1

  • Blockchain-anchored smart documents

    WO2019226580A1