Data management method and cloud system

The cloud system uses a dual-server architecture with blockchain validation to ensure data integrity by storing primary and secondary data with corresponding blockchains and executing multiple approval processes, effectively preventing unauthorized data tampering.

JP2026015920APending Publication Date: 2026-02-03KYOCERA DOCUMENT SOLUTIONS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024116837
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-22
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

Existing cloud systems face challenges in preventing data tampering due to unauthorized access, as both the stored data and corresponding blockchain can be compromised, leading to potential data integrity issues.

Method used

A data management method involving a primary server and a secondary server, where data is stored as primary and secondary data with respective blockchains, and a blockchain approval process is executed to ensure consistency across both servers before processing, including first, second, and third approval processes to validate the integrity of the data.

Benefits of technology

This approach enhances the reliability of preventing data tampering by ensuring that data integrity is maintained through multiple layers of validation, thereby securing the cloud system against unauthorized access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026015920000001_ABST
    Figure 2026015920000001_ABST
Patent Text Reader

Abstract

To more surely prevent data alteration on a cloud by unauthorized access by using a blockchain.SOLUTION: The cloud system 10 executes first approval processing for determining consistency of a primary transaction history indicated by a primary block chain B1 corresponding to the primary date. The cloud system 10 executes a second approval process of determining consistency of a secondary transaction history represented by a secondary blockchain corresponding to secondary data that is replicated data of the primary data. The cloud system 10 executes a third approval process for determining consistency between the primary transaction history and the secondary transaction history. The cloud system 10 outputs a result of success in approval for the primary data on condition that results of success in approval are obtained in all of the first approval process, the second approval process, and the third approval process.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a data management method and a cloud system that manages data using a blockchain. [Background technology]

[0002] It is known that a server in a cloud system manages data acquired from a client via a network using a blockchain (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Special Publication No. 2023-501788 Summary of the Invention [Problem to be solved by the invention]

[0004] However, in the cloud system, if both the data stored on the server and the corresponding blockchain are tampered with through unauthorized access, there is a risk that data tampering cannot be prevented.

[0005] The object of the present invention is to provide a data management method and a cloud system that can more reliably prevent data tampering on the cloud due to unauthorized access using a blockchain. [Means for solving the problem]

[0006] A data management method according to one aspect of the present invention includes a cloud system storing data acquired from a client via a network as primary data in storage at a first website. The data management method further includes the cloud system generating a primary blockchain representing a transaction history for the primary data and storing the primary blockchain in storage at the first website. The data management method further includes the cloud system backing up secondary data, which is a replica of the primary data, to storage at a second website. The data management method further includes the cloud system generating a secondary blockchain representing a transaction history for the secondary data and storing the secondary blockchain in storage at the second website. The data management method further includes, when the cloud system receives a request for designated processing on the primary data from the client, executing a blockchain approval process for approving the primary data. The data management method further includes, when the blockchain approval process results in a successful approval, the cloud system executing the designated processing on the primary data at the first website, a process of updating the secondary data at the second website to replica data of the processed primary data, and a process of updating the primary blockchain and the secondary blockchain according to the content of the designated processing. The blockchain approval process includes the cloud system executing a first approval process to determine whether approval is successful by determining the consistency of a primary transaction history represented by the primary blockchain, the cloud system executing a second approval process to determine whether approval is successful by determining the consistency of a secondary transaction history represented by the secondary blockchain, and the cloud system executing a third approval process to determine whether approval is successful by determining the consistency of the primary transaction history and the secondary transaction history.Furthermore, the blockchain approval process includes the cloud system outputting the successful approval result for the primary data, on the condition that a successful approval result is obtained in all of the first approval process, the second approval process, and the third approval process.

[0007] A cloud system according to another aspect of the present invention includes a primary server located on a first website and capable of communicating with a client via a network, and a secondary server located on a second website and capable of communicating with the primary server, and realizes the data management method. [Effects of the Invention]

[0008] According to the present invention, it is possible to provide a data management method and a cloud system that can more reliably prevent data tampering on the cloud due to unauthorized access using a blockchain. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a configuration diagram of a cloud system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing the configuration of a primary server in the cloud system according to the embodiment. [Figure 3] FIG. 3 is a block diagram showing the configuration of a secondary server in the cloud system according to the embodiment. [Figure 4] FIG. 4 is a block diagram showing the configuration of a management server in a cloud system according to an embodiment. [Figure 5] FIG. 5 is a flowchart illustrating an example of a procedure for new backup processing in the cloud system according to the embodiment. [Figure 6] FIG. 6 is a flowchart illustrating an example of a procedure for request response processing in the cloud system according to the embodiment. [Figure 7] FIG. 7 is a flowchart illustrating an example of a procedure for a blockchain approval process in the cloud system according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Note that the following embodiment is an example of the present invention, and does not limit the technical scope of the present invention.

[0011] [Cloud System 10 Configuration] The cloud system 10 according to the embodiment is a cloud computing system that provides a data backup service to a plurality of clients 8 via a network 80.

[0012] The network 80 is a wide area communication network such as the Internet. Each of the clients 8 is an information terminal that can access the cloud system 10 through the network 80.

[0013] For example, the multiple clients 8 include image forming devices such as a printer, a copier, or a multifunction peripheral. The multiple clients 8 may also include information processing devices such as a personal computer or a smartphone.

[0014] As shown in FIG. 1, the cloud system 10 includes a primary server 1, a secondary server 2, and a management server 3.

[0015] The primary server 1 is located on a first website 101 and is capable of communicating with clients 8 via a network 80. The primary server 1 is made up of one or more computers.

[0016] The primary server 1 has access to a first data storage 1x and a first management storage 1y in a first website 101 .

[0017] Secondary server 2 is located on second website 102 and is capable of communicating with primary server 1. For example, secondary server 2 is capable of communicating with primary server 1 through a virtual private network 81 formed within network 80. Secondary server 2 is configured by one or more computers.

[0018] The secondary server 2 has access to a second data storage 2x and a second management storage 2y in the second website 102.

[0019] Each of the first data storage 1x, the first management storage 1y, the second data storage 2x, and the second management storage 2y is a computer-readable nonvolatile storage device, and may be, for example, a solid state drive (SSD) or a hard disk drive, or both.

[0020] The first data storage 1x may also serve as the first management storage 1y, and similarly, the second data storage 2x may also serve as the second management storage 2y.

[0021] The management server 3 is capable of communicating with the primary server 1 and the secondary server 2. For example, the management server 3 is located within a third website different from the first website 101 and the second website 102, or within the second website 102.

[0022] For example, management server 3 can communicate with primary server 1 and secondary server 2 through a virtual private network 81 formed within network 80 .

[0023] The management server 3 is configured by one or more computers. The secondary server 2 may also function as the management server 3.

[0024] As shown in FIG. 2, the primary server 1 includes a central processing unit (CPU) 11, a random access memory (RAM) 12, a storage 13, a communication device 14, and the like.

[0025] The CPU 11 is a processor that executes computer programs to perform various calculations and data processing in the primary server 1. The CPU 11 includes a plurality of processing modules that are realized by executing the computer programs.

[0026] The plurality of processing modules in the CPU 11 include a first data management unit 1a and an API (Application Programming Interface) 1b.

[0027] The first data management unit 1a executes processing related to the services provided to each of the clients 8. The API (1b) is an interface for the services that the primary server 1 provides to each of the clients 8.

[0028] The first data management unit 1a receives data or processing requests from each of the clients 8 through the API (1b). Furthermore, the first data management unit 1a transmits data or responses to each of the clients 8 through the API (1b).

[0029] The RAM 12 is a computer-readable volatile storage device that temporarily stores the computer programs executed by the CPU 11 and data that is output and referenced by the CPU 11 during the execution of the computer programs.

[0030] The storage 13 is a computer-readable non-volatile storage device. The storage 13 stores the computer programs executed by the CPU 11 and various data referenced by the CPU 11. For example, one or both of an SSD and a hard disk drive may be employed as the storage 13.

[0031] The storage 13 may also serve as either or both of the first data storage 1x and the first management storage 1y.

[0032] The communication device 14 is a communication interface device that communicates with each of the clients 8 via the network 80. The CPU 11 performs all transmission and reception of data to and from each of the clients 8 via the communication device 14 and the API (1b).

[0033] As shown in FIG. 3, the secondary server 2, like the primary server 1, includes a CPU 21, a RAM 22, a storage 23, a communication device 24, and the like.

[0034] The CPU 21 is a processor that executes computer programs to perform various calculations and data processing in the secondary server 2. The CPU 21 includes a plurality of processing modules that are realized by executing the computer programs.

[0035] The plurality of processing modules in the CPU 21 include a second data management unit 2a.

[0036] The second data management unit 2a receives various data from the primary server 1 and executes various processes on the received data.

[0037] The RAM 22 is a computer-readable volatile storage device that temporarily stores the computer programs executed by the CPU 21 and data output and referenced during the execution of the computer programs by the CPU 21.

[0038] The storage 23 is a computer-readable non-volatile storage device. The storage 23 stores the computer programs executed by the CPU 21 and various data referenced by the CPU 21. For example, one or both of an SSD and a hard disk drive may be employed as the storage 23.

[0039] The storage 23 may also serve as either or both of the second data storage 2x and the second management storage 2y.

[0040] The communication device 24 is a communication interface device that communicates with the primary server 1 through a communication line such as the virtual private network 81. The CPU 21 performs all transmission and reception of data to and from the primary server 1 through the communication device 24.

[0041] As shown in FIG. 4, the management server 3, like the primary server 1 and the secondary server 2, includes a CPU 31, a RAM 32, a storage 33, a communication device 34, and the like.

[0042] The CPU 31 is a processor that executes computer programs to perform various calculations and data processing in the management server 3. The CPU 31 includes a plurality of processing modules that are realized by the execution of the computer programs.

[0043] The plurality of processing modules in the CPU 31 include a third data management unit 3a.

[0044] The third data management unit 3a receives various data from the primary server 1 and the secondary server 2, and executes various processes on the received data.

[0045] The RAM 32 is a computer-readable volatile storage device that temporarily stores the computer program executed by the CPU 31 and data output and referenced during the execution of the computer program by the CPU 31.

[0046] The storage 33 is a computer-readable non-volatile storage device. The storage 33 stores the computer programs executed by the CPU 31 and various data referenced by the CPU 31. For example, one or both of an SSD and a hard disk drive may be employed as the storage 33.

[0047] The communication device 34 is a communication interface device that communicates with the primary server 1 and the secondary server 2 through a communication line such as the virtual private network 81. The CPU 31 performs all transmission and reception of data between the primary server 1 and the secondary server 2 through the communication device 34.

[0048] The cloud system 10 acquires data from each client 8 via the network 80 and manages the acquired data using a blockchain.

[0049] However, in the cloud system 10, if both the data stored in the first data storage 1x in the first website 101 and the corresponding blockchain are tampered with through unauthorized access, there is a risk that the data tampering cannot be prevented.

[0050] The cloud system 10 executes new backup processing and request response processing, which will be described later (see FIGS. 5 and 6).

[0051] The new backup process is a process of receiving data from any one of the multiple clients 8 and saving the received data in the first data storage 1x in the first website 101 (see FIG. 5).

[0052] The request response process is a process that is executed when a processing request, which is a request for processing data stored in the first data storage 1x, is received from any one of the multiple clients 8 in response to the processing request.

[0053] The new backup process and the request response process are examples of processes that realize a data management method that manages data using a blockchain.

[0054] The new backup process and the request response process include processes that use blockchain to more reliably prevent data tampering on the cloud due to unauthorized access.

[0055] In the following description, the processing executed by the primary server 1 is processing executed by the first data management unit 1a of the CPU 11 in the primary server 1. Furthermore, the processing of data transfer between the primary server 1 and one of the multiple clients 8 is processing executed by the first data management unit 1a with one of the multiple clients 8 via the API (1b).

[0056] In the following description, the processing executed by the secondary server 2 is processing executed by the second data management unit 2a of the CPU 21 in the secondary server 2. Similarly, the processing executed by the management server 3 is processing executed by the third data management unit 3a of the CPU 31 in the management server 3.

[0057] [New backup process] An example of the procedure for the new backup process will be described below with reference to the flowchart shown in FIG.

[0058] The primary server 1 starts the new backup process when it receives a data backup request from one of the multiple clients 8 .

[0059] In the following description, steps S101, S102, ... are identification codes of a plurality of steps in the new backup process. In the new backup process, the process of step S101 is executed first.

[0060] <Process S101> In step S101, the primary server 1 performs authentication processing for the target client that is the sender of the data backup request.

[0061] For example, the primary server 1 executes, as the authentication process, a process of determining whether or not an access token that permits the data backup request is included in the data backup request.

[0062] Before sending the data backup request, the target client obtains the access token from an authentication server (not shown) on a network 80 by sending authentication data to the authentication server. The target client then sends the data backup request, including the access token, to the primary server 1.

[0063] The primary server 1 or the management server 3 may also function as the authentication server.

[0064] If the authentication process is successful, the primary server 1 shifts the process to step S102, and if the authentication process is unsuccessful, the primary server 1 shifts the process to step S107.

[0065] <Process S102> In step S102, the primary server 1 acquires the target data from the target client through the network 80. The target data is the data that is the target of the data backup request.

[0066] For example, when the target client is the image forming apparatus, the target client transmits various control parameters related to image formation or data of registered users to the primary server 1 as the target data.

[0067] After executing the process of step S102, the primary server 1 shifts the process to step S103.

[0068] <Process S103> In step S103, the primary server 1 stores the target data acquired in step S102 as primary data D1 in the first data storage 1x of the first website 101 (see FIG. 1).

[0069] For example, the primary server 1 encrypts the target data using a known encryption method and stores the encrypted data as primary data D1 in the first data storage 1x. After performing the process of step S103, the primary server 1 proceeds to step S104.

[0070] <Process S104> In step S104, the primary server 1 generates a primary blockchain B1 representing the transaction history for the primary data D1 and stores the generated primary blockchain B1 in the first management storage 1y of the first website 101 (see Figure 1).

[0071] After executing the process of step S104, the primary server 1 shifts the process to step S105.

[0072] <Process S105> In step S105, the primary server 1 and the secondary server 2 execute a process of backing up the secondary data D2, which is the replicated data of the primary data D1, to the second data storage 2x of the second website 102.

[0073] Specifically, the primary server 1 sends replicated data of the primary data D1 to the secondary server 2, and the secondary server 2 receives the data from the primary server 1. The secondary server 2 then stores the received data as secondary data D2 in the second data storage 2x.

[0074] After executing the process of step S105, the secondary server 2 shifts the process to step S106.

[0075] <Process S106> In step S106, the secondary server 2 generates a secondary blockchain B2 representing the transaction history for the secondary data D2 and stores the generated secondary blockchain B2 in the second management storage 2y of the second website 102 (see Figure 1).

[0076] By executing the processing of step S106, the secondary blockchain B2 that is consistent with the primary blockchain B1 is stored in the second management storage 2y.

[0077] After executing the process of step S106, the secondary server 2 ends the new backup process.

[0078] <Process S107> In step S107, the primary server 1 notifies the target client of an authentication error.

[0079] After executing the process of step S107, the primary server 1 ends the new backup process.

[0080] [Request handling process] Next, an example of the procedure for the request response process will be described with reference to the flowchart shown in FIG.

[0081] The primary server 1 starts the request response process when it receives a processing request from the target client. The processing request is a request for processing the primary data D1. Hereinafter, the processing requested by the processing request will be referred to as the "specified process."

[0082] For example, the specified process is downloading the primary data D1, updating the primary data D1, or deleting the primary data D1.

[0083] In the following description, steps S201, S202, ... are identification codes of a plurality of steps in the request response processing. In the request response processing, the processing of step S201 is executed first.

[0084] <Process S201> In step S201, the primary server 1 executes authentication processing for the target client that is the sender of the request response processing. The authentication processing in step S201 is the same as the authentication processing in step S101.

[0085] If the authentication process is successful, the primary server 1 shifts the process to step S202, and if the authentication process is unsuccessful, the primary server 1 shifts the process to step S207.

[0086] <Process S202> In step S202, the primary server 1, the secondary server 2, and the management server 3 execute a blockchain approval process for approving the primary data D1.

[0087] The blockchain approval process is a process that determines whether the specified process for the primary data D1 is permitted or not permitted based on the primary blockchain B1 and the secondary blockchain B2. The details of the blockchain approval process will be described later (see FIG. 7).

[0088] If the blockchain approval process results in a successful authentication, the primary server 1 proceeds to step S203. On the other hand, if the blockchain approval process results in a failed authentication, the primary server 1 proceeds to step S208.

[0089] <Process S203> In step S203, the primary server 1 executes the specified process on the primary data D1 stored in the first data storage 1x of the first website 101, and then proceeds to step S204.

[0090] <Process S204> In step S204, the primary server 1 updates the primary blockchain B1 stored in the first management storage 1y of the first website 101 according to the content of the specified process.

[0091] Specifically, the primary server 1 adds a block representing the transaction of the specified process to the existing primary blockchain B1.

[0092] After executing the process of step S204, the primary server 1 shifts the process to step S205.

[0093] <Process S205> In step S205, the primary server 1 and the secondary server 2 execute a backup update process, which updates the secondary data D2 stored in the second data storage 2x of the second website 102 to the replicated data of the primary data D1 that has undergone the specified process.

[0094] Specifically, the primary server 1 sends replicated data of the processed primary data D1 to the secondary server 2, and the secondary server 2 receives the data from the primary server 1. Furthermore, the secondary server 2 updates the secondary data D2 stored in the second data storage 2x to the received data.

[0095] After executing the process of step S205, the secondary server 2 moves the process to step S206.

[0096] <Process S206> In step S206, the secondary server 2 updates the secondary blockchain B2 stored in the second management storage 2y of the second website 102 according to the content of the specified process.

[0097] Specifically, the secondary server 2 obtains information representing the content of the specified process from the primary server 1 and adds a block representing the transaction of the specified process to the existing secondary blockchain B2.

[0098] By executing the processing of step S206, the secondary blockchain B2 stored in the second management storage 2y is updated so as to be consistent with the updated primary blockchain B1.

[0099] After executing the process of step S206, the primary server 1 ends the request handling process.

[0100] <Process S207> In step S207, the primary server 1 notifies the target client of an authentication error. The process of step S207 is the same as the process of step S107.

[0101] After executing the process of step S207, the primary server 1 ends the request response process.

[0102] <Process S207> In step S207, the primary server 1 notifies the target client of an authentication error. The process of step S207 is the same as the process of step S107.

[0103] After executing the process of step S207, the primary server 1 ends the request response process.

[0104] <Process S208> In step S208, the primary server 1 sends an approval error notification to the destination previously associated with the primary data D1 for the result of the approval failure in the blockchain approval process.

[0105] Address registration data indicating the communication destination corresponding to each client 8 is pre-recorded in storage within the first website 101. The primary server 1 identifies the destination of the authorization error notification by referencing the address registration data.

[0106] In this embodiment, the primary server 1 includes access block information indicating that access to the primary data D1 is blocked in the authorization error notification.

[0107] In step S208, the primary server 1 may execute a process of inquiring the target client as to whether or not to delete one or both of the primary data D1 and the secondary data D2.

[0108] After executing the process of step S208, the primary server 1 shifts the process to step S209.

[0109] <Process S209> In step S209, the primary server 1 executes an access blocking process to block access to the primary data D1.

[0110] After the process of step S209 is executed, the primary server 1 prohibits all access to the primary data D1 and the corresponding secondary data D2 that are the targets of the access block process.

[0111] Also, in step S208, if a response instructing the deletion of one or both of the primary data D1 and the secondary data D2 is received from the target client, the primary server 1 deletes the data to be deleted corresponding to the response.

[0112] The data to be deleted includes deletion-designated data, which is either or both of primary data D1 and secondary data D2, and either or both of the primary blockchain B1 and secondary blockchain B2 that correspond to the deletion-designated data.

[0113] In step S209, the primary server 1 may automatically delete the predetermined data to be deleted without making an inquiry to the target client.

[0114] When the primary data D1 and the secondary data D2 are deleted in step S209, the cloud system 10 may automatically request the target client to send the data backup request, which causes the new backup process to be executed again.

[0115] [Blockchain approval processing] Next, an example of the procedure of the blockchain approval process will be described with reference to the flowchart shown in FIG.

[0116] In the following description, steps S301, S302, ... are identification codes of multiple steps in the blockchain approval process. In the blockchain approval process, the process of step S301 is executed first.

[0117] <Process S301> In step S301, the primary server 1 executes a first approval process that determines the success or failure of approval by determining the consistency of the primary transaction history represented by the primary blockchain B1 stored in the first management storage 1y.

[0118] In the first approval process, the primary server 1 determines whether approval is successful by checking the consistency of the hash values ​​recorded in each block in the primary blockchain B1. Well-known processes related to blockchain approval are adopted in the first approval process.

[0119] If the first approval process results in successful approval, the primary server 1 shifts the process to step S302. On the other hand, if the first approval process results in unsuccessful approval, the primary server 1 shifts the process to step S308.

[0120] <Process S302> In step S302, the primary server 1 notifies the secondary server 2 and the management server 3 of a first approval result indicating that the first approval process has resulted in successful approval.

[0121] When the secondary server 2 receives the first approval result from the primary server 1, it executes the process of step S303.

[0122] <Process S303> In step S303, the secondary server 2 executes a second approval process to determine whether approval is successful by determining the consistency of the secondary transaction history represented by the secondary blockchain B2 stored in the second management storage 2y.

[0123] In the second approval process, the secondary server 2 determines whether approval is successful by checking the consistency of the hash values ​​recorded in each block in the secondary blockchain B2. Well-known processes related to blockchain approval are adopted in the second approval process.

[0124] If the second approval process results in successful approval, the secondary server 2 shifts the process to step S304. On the other hand, if the second approval process results in unsuccessful approval, the secondary server 2 shifts the process to step S308.

[0125] <Process S304> In step S304, the secondary server 2 notifies the management server 3 of a second approval result indicating that approval has been successfully obtained in the second approval process.

[0126] When the management server 3 receives notification of the first approval result from the primary server 1 and further receives notification of the second approval result from the secondary server 2, it executes the process of step S305.

[0127] <Process S305> In step S305, the management server 3 obtains the primary blockchain B1 and the secondary blockchain B2 from the primary server 1 and the secondary server 2.

[0128] For example, the primary server 1 notifies the management server 3 of the first approval result including the primary blockchain B1 in step S302, and the secondary server 2 notifies the management server 3 of the second approval result including the secondary blockchain B2 in step S304.

[0129] In the above case, the process in which the management server 3 acquires the first approval result and the second approval result in steps S302 and S304 is the process in step S305.

[0130] After executing the process of step S305, the management server 3 shifts the process to step S306.

[0131] <Process S306> In step S306, the management server 3 executes a third approval process. The third approval process is a process for determining whether approval is successful or not by determining the consistency between the primary transaction history represented by the primary blockchain B1 and the secondary transaction history represented by the secondary blockchain B2.

[0132] The management server 3 determines whether the authorization is successful by determining the consistency between the hash values ​​recorded in each block in the primary blockchain B1 and the hash values ​​recorded in each block in the secondary blockchain B2.

[0133] If the third approval process results in successful approval, the management server 3 shifts the process to step S307. On the other hand, if the third approval process results in unsuccessful approval, the management server 3 shifts the process to step S308.

[0134] <Process S307> In step S307, the management server 3 outputs the successful approval of the blockchain approval process to the primary server 1.

[0135] After executing the processing of step S307, the management server 3 ends the blockchain approval processing.

[0136] <Process S308> Meanwhile, in step S308, the primary server 1, the secondary server 2 or the management server 3 outputs an approval failure of the blockchain approval process.

[0137] Specifically, if the result of the first approval process in step S301 is failure, the primary server 1 outputs approval failure of the blockchain approval process on its own device.

[0138] Also, if the result of the second approval process in step S303 is failure, the secondary server 2 outputs to the primary server 1 a notification of approval failure of the blockchain approval process.

[0139] Also, if the result of the third approval process in step S306 is failure, the management server 3 outputs to the primary server 1 a notification of approval failure of the blockchain approval process.

[0140] After the primary server 1, secondary server 2 or management server 3 executes the processing of step S308, it ends the blockchain approval processing.

[0141] As described above, the blockchain approval process includes the first approval process by the primary server 1, the second approval process by the secondary server 2, and the third approval process by the management server 3 (see steps S301, S303, S306).

[0142] The cloud system 10 outputs the result of successful approval for the primary data D1 on the condition that successful approval results are obtained in all of the first approval process, the second approval process, and the third approval process (see step S307).

[0143] In the cloud system 10, if the primary data D1 and the primary blockchain B1 are tampered with due to unauthorized access, at least the third approval process will fail. Similarly, if the secondary data D2 and the secondary blockchain B2 are tampered with due to unauthorized access, at least the third approval process will fail.

[0144] By adopting the cloud system 10, it is possible to more reliably prevent data tampering on the cloud due to unauthorized access using a blockchain.

[0145] [Notes on the Invention] The following is a summary of the invention extracted from the above-described embodiment. Note that the configurations and processing functions described in the following supplementary notes can be selected and combined as desired.

[0146] <Appendix 1> The cloud system stores the data acquired from the client via the network in a storage of the first website as primary data; The cloud system generates a primary blockchain representing a transaction history of the primary data and stores the primary blockchain in a storage of the first website; The cloud system backs up secondary data, which is replica data of the primary data, to a storage of a second website; The cloud system generates a secondary blockchain representing a transaction history of the secondary data and stores the secondary blockchain in a storage of the second website; When the cloud system receives a request for designated processing on the primary data from the client, the cloud system executes a blockchain approval process for approving the primary data; When a successful approval result is obtained by the blockchain approval process, the cloud system executes the designation process to the primary data of the first website, a process of updating the secondary data of the second website to replicated data of the processed primary data, and a process of updating the primary blockchain and the secondary blockchain according to the content of the designation process; The blockchain approval process is The cloud system executes a first approval process that determines whether approval is successful by determining the consistency of the primary transaction history represented by the primary blockchain; The cloud system executes a second approval process to determine whether approval is successful by determining the consistency of the secondary transaction history represented by the secondary blockchain; The cloud system executes a third approval process to determine whether approval is successful by determining consistency between the primary transaction history and the secondary transaction history; The cloud system outputs the result of successful approval for the primary data on condition that successful approval is obtained in all of the first approval process, the second approval process, and the third approval process.

[0147] <Appendix 2> The data management method described in Appendix 1, including, when an approval failure result is obtained in the blockchain approval process, the cloud system sending an error notification to a destination previously associated with the primary data for the approval failure result.

[0148] <Appendix 3> 1. A cloud system that includes a primary server located on a first website and capable of communicating with a client via a network, and a secondary server located on a second website and capable of communicating with the primary server, and that realizes the data management method described in Appendix 1 or Appendix 2. [Explanation of symbols]

[0149] 1: Primary server 1x: Primary data storage 1y: Primary management storage 2: Secondary server 2x: Secondary data storage 2y: Secondary management storage 3: Management Server 8: Client 10: Cloud system 80: Network 81: Virtual Private Network 101: First website 102: Second website B1: Primary Blockchain B2: Secondary Blockchain D1: Primary data D2: Secondary data

Claims

1. The cloud system stores data acquired from the client via the network in a storage of the first website as primary data; The cloud system generates a primary blockchain representing a transaction history of the primary data and stores the primary blockchain in a storage of the first website; The cloud system backs up secondary data, which is a replica of the primary data, to a storage of a second website; The cloud system generates a secondary blockchain representing a transaction history of the secondary data and stores the secondary blockchain in a storage of the second website; When the cloud system receives a request for designated processing on the primary data from the client, the cloud system executes a blockchain approval process for approving the primary data; When a successful approval result is obtained by the blockchain approval process, the cloud system executes the designation process to the primary data of the first website, a process of updating the secondary data of the second website to replicated data of the processed primary data, and a process of updating the primary blockchain and the secondary blockchain according to the content of the designation process; The blockchain approval process is The cloud system executes a first approval process to determine whether approval is successful by determining the consistency of the primary transaction history represented by the primary blockchain; The cloud system executes a second approval process to determine whether approval is successful by determining the consistency of the secondary transaction history represented by the secondary blockchain; and The cloud system executes a third approval process to determine whether approval is successful by determining consistency between the primary transaction history and the secondary transaction history; The cloud system outputs the successful approval result for the primary data on condition that successful approval results are obtained in all of the first approval process, the second approval process, and the third approval process.

2. 2. The data management method of claim 1, further comprising: when an approval failure is obtained in the blockchain approval process, the cloud system sending an error notification to a destination associated in advance with the primary data for the approval failure result.

3. A cloud system that implements the data management method described in claim 1 or claim 2, including a primary server located on a first website and capable of communicating with a client via a network, and a secondary server located on a second website and capable of communicating with the primary server.

Citation Information

Patent Citations

  • Systems and methods for blockchain-based backup and recovery

    JP2023501788A