In-situ data verification for the cloud
US-2018260583-A1 · Sep 13, 2018 · US
US10554753B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10554753-B2 |
| Application number | US-201715642479-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 6, 2017 |
| Priority date | Jul 6, 2017 |
| Publication date | Feb 4, 2020 |
| Grant date | Feb 4, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method is provided for service level agreement (SLA) based data storage and verification. According to one exemplary aspect, a method includes storing in electronic memory SLAs associated with a user of client devices and receiving from one of the user a request to verify data previously stored on a remote storage device. Furthermore, the method includes receiving from the client device, for example, a hash value of the data relating to the file and also receiving from a remote storage computer, a hash value created by the remote storage computer for the data that was previously stored on the remote storage computer. Moreover, a processor compares the received hash value and the hash value created by the remote storage computer and transmits a confirmation signal to the client device verifying integrity of the file if the processor determines that the respective hash values match.
Opening claim text (preview).
What is claimed: 1. A method for service level agreement (SLA) based data verification, the method comprising: receiving a request to perform a data verification of data relating to at least one file from a client device and stored on at least one remote storage computer; accessing at least one SLA to determine a procedure for the data verification, wherein the SLA indicates: timing of the verification, acceptable fault tolerance of the data, location of the data and whether a blockchain network verification is enabled; obtaining a hash value of the data, relating to the at least one file, that is created when the at least one file is stored on the at least one remote storage computer; requesting the at least one remote storage computer to create a hash value of the data relating to the at least one file previously stored on the at least one remote storage computer; comparing, by a processor, the received hash value created when the at least one file is stored, with the hash value created by the at least one remote storage computer; responsive to determining that the SLA indicates that the blockchain network verification is enabled, verifying using the blockchain network a transaction signed by a client device or a verifying server and being associated with at least one of a file ID, a bucket ID, a file version and the hash value of the at least one file previously stored on the at least one remote storage computer; and responsive to determining that the compared hash values match and the transaction is verified by the blockchain network, transmitting a confirmation signal to the client device verifying integrity of the at least one file previously stored on the at least one remote storage computer. 2. The method according to claim 1 , wherein the accessed at least one SLA indicates the at least one remote storage computer is trusted, and the method further comprises: instructing the at least one remote storage computer to recalculate a hash value of the data relating to the at least one file previously stored on the at least one remote storage computer; transmitting the recalculated hash value to the processor; and comparing, by the processor, the hash value received from the client device and the recalculated hash value received from the at least one remote storage computer. 3. The method according to claim 1 , wherein the requesting the at least one remote storage computer to create a hash value of the data relating to the at least one file previously stored on the at least one remote storage comprises: requesting, by the processor, the data relating to the at least one file previously stored on the at least one remote storage computer; calculating, by the processor, the hash value of the data relating to the at least one file previously stored on the at least one remote storage computer; and comparing, by the processor, the hash value received from the client device and the calculated hash value. 4. The method according to claim 1 , further comprising: calculating a number of times that the processor cannot determine whether the respective hash values match; and responsive to determining that the number of times over a predetermined period is greater than a predetermined threshold, transmitting a notification to the client device that the at least one file previously stored on the at least one remote storage computer may be corrupted or deleted. 5. The method according to claim 1 , further comprising: obtaining, by the client device, at least one of a file ID, a bucket ID, a file version, and a hash value of the at least one file previously stored on the at least one remote storage computer; formulating, by the client device, the transaction from the at least one of a file ID, a bucket ID, a file version, and a hash value of the at least one file; receiving, by the processor, the transaction from the client device; providing the transaction to a transaction collection module; writing, by the transaction collection module, the transaction to the blockchain network. 6. The method according to claim 5 , further comprising modifying, by the processor, the received transaction to include a transaction signed by the processor before providing the received transaction to the transaction collection module. 7. The method according to claim 6 , further comprising modifying, by the at least one remote storage computer, the transaction to include a transaction signed by the at least one remote storage computer before providing the received transaction to the transaction collection module. 8. The method according to claim 1 , further comprising generating an on-demand request as the request to perform the data verification of the data relating to the at least one file stored on the at least one remote storage computer. 9. A system for service level agreement (SLA) based data verification, the system comprising: electronic memory configured to store at least one SLA associated with a user of a client device; and a verifying server communicatively coupled to the electronic memory and including a processor configured to: receive a request to perform a data verification of data relating to at least one file from the client device and stored on at least one remote storage computer, access at least one SLA to determine a procedure for the data verification, wherein the SLA indicates; timing of the verification, acceptable fault tolerance of the data, location of the data and whether a blockchain network verification is enabled; obtain a hash value of the data relating to the at least one file that is created when the at least one file is stored on the at least one remote storage computer, request the at least one remote storage computer to create a hash value of the data relating to the at least one file previously stored on the at least one remote storage computer, compare the received hash value created when the at least one file is stored with the hash value created by the at least one remote storage computer; responsive to determining that the SLA indicates that the blockchain network verification is enabled, verify using the blockchain network a transaction signed by a client device or the verifying server and being associated with at least one of a file ID, a bucket ID, a file version and the hash value of the at least one file previously stored on the at least one remote storage computer; and responsive to determining that the compared hash values match and the transaction is verified by the blockchain network, transmit a confirmation signal to the client device verifying integrity of the at least one file previously stored on the at least one remote storage computer. 10. The system according to claim 9 , wherein the accessed at least one SLA indicates the at least one remote storage computer is trusted, and the processor is further configured to: instruct the at least one remote storage computer to recalculate a hash value of the data relating to the at least one file previously stored on the at least one remote storage computer, receive the recalculated hash value from the at least one remote storage compute, and compare the hash value received from the client device and the recalculated hash value received from the at least one remote storage computer. 11. The system according to claim 9 , wherein the processor is further configured to request a corresponding hash value by requesting the data relating to the at least one file previously stored on the at least one remote storage computer, and wherein the processor is further configured to calculate the hash value of the data relating to the at least one file previously stored on the at least one remote storage c
received data contents, e.g. message integrity · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Ensuring fulfilment of SLA · CPC title
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.