US11409892B2ActiveUtilityA1

Enhancing security during access and retrieval of data with multi-cloud storage

70
Assignee: IBMPriority: Aug 30, 2018Filed: Aug 30, 2018Granted: Aug 9, 2022
Est. expiryAug 30, 2038(~12.1 yrs left)· nominal 20-yr term from priority
G06F 16/1744G06F 16/137G06F 21/602G06F 16/178G06F 21/6218
70
PatentIndex Score
2
Cited by
41
References
20
Claims

Abstract

Systems and methods for enhancing security during access and retrieval of data with multi-cloud storage are disclosed. A method includes: receiving, by a computing device, data to be stored in a distributed computing environment; compressing, by the computing device, the received data; shredding, by the computing device, the compressed data into a plurality of data chunks; storing, by the computing device, the plurality of data chunks in a plurality of locations in the distributed computing environment; generating, by the computing device, a metadata file including a mapping of each of the plurality of data chunks and a corresponding location of the plurality of locations in the distributed computing environment in which the data chunk is stored; shredding, by the computing device, the metadata file into a plurality of file chunks; and storing, by the computing device, the plurality of file chunks in the distributed computing environment.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 receiving, by a computing device, data to be stored in a distributed computing environment; 
 compressing, by the computing device, the received data; 
 shredding, by the computing device, the compressed data into a plurality of data chunks; 
 storing, by the computing device, the plurality of data chunks in a plurality of locations in the distributed computing environment; 
 generating, by the computing device, a metadata file including a mapping of each of the plurality of data chunks and a corresponding location of the plurality of locations in the distributed computing environment in which each of the plurality of data chunks is stored; 
 shredding, by the computing device, the metadata file into a plurality of file chunks; and 
 storing, by the computing device, the plurality of file chunks in the distributed computing environment, wherein the shredding of the metadata file and the storing of the plurality of file chunks is separate from the shredding of the compressed data and the storing of the plurality of data chunks, and wherein the plurality of file chunks may be retrieved to regenerate the metadata file, and the regenerated metadata file may be utilized to locate and retrieve the plurality of data chunks. 
 
     
     
       2. The method according to  claim 1 , further comprising receiving the data to be stored in the distributed computing environment as encrypted data. 
     
     
       3. The method according to  claim 1 , wherein the shredding the compressed data into a plurality of data chunks comprises using a binary shredding method. 
     
     
       4. The method according to  claim 1 , wherein the storing the plurality of data chunks in the plurality of locations in the distributed computing environment comprises, for each data chunk:
 using a hashing algorithm on the data chunk to generate a numeric value in a range that corresponds to a number of storage locations available in the distributed computing environment; and 
 storing the data chunk in a storage location in the distributed computing environment that corresponds to the generated numeric value. 
 
     
     
       5. The method according to  claim 1 , wherein the generating the metadata file further comprises encrypting the metadata file. 
     
     
       6. The method according to  claim 1 , further comprising:
 generating, by the computing device, a metadata of the metadata file, wherein the metadata of the metadata file includes information for reconstructing the metadata file from the plurality of file chunks; 
 encoding, by the computing device, path information indicating a storage location of the metadata of the metadata file to generate an encoded value of a user; and 
 storing, by the computing device, the encoded value of the user in a database, wherein the user may retrieve the encoded value of the user to retrieve the metadata of the metadata file. 
 
     
     
       7. The method according to  claim 6 , further comprising encrypting the metadata of the metadata file. 
     
     
       8. The method of  claim 1 , further comprising replicating each of the plurality of stored data chunks and each of the plurality of stored file chunks to at least one other storage location in the distributed computing environment. 
     
     
       9. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to:
 receive data to be stored in a distributed computing environment; 
 shred the received data into a plurality of data chunks; 
 determine a first plurality of locations to utilize in the distributed computing environment, wherein each of the first plurality of locations is associated with a different cloud service provider; 
 store each of the plurality of data chunks in corresponding ones of the first plurality of locations in the distributed computing environment; 
 generate a metadata file including a mapping of each of the plurality of data chunks to the corresponding ones of the first plurality of locations in the distributed computing environment in which each of the plurality of data chunks is stored; 
 shred the metadata file into a plurality of file chunks; 
 store each of the plurality of file chunks in a corresponding one of a second plurality of locations in the distributed computing environment; 
 generate a metadata of the metadata file, wherein the metadata of the metadata file includes a mapping of each of the plurality of file chunks to the corresponding location of the second plurality of locations in which the file chunks are stored; 
 encode the metadata; and 
 store the encoded metadata in a database, 
 wherein the shredding of the metadata file and the storing of the plurality of file chunks is separate from the shredding of the compressed data and the storing of the plurality of data chunks, 
 wherein the plurality of file chunks may be retrieved to regenerate the metadata file by retrieving the encoded metadata from the database and using the mapping within the metadata to locate the plurality of file chunks; and 
 wherein the regenerated metadata file may be utilized to locate and retrieve the plurality of data chunks to regenerate the data. 
 
     
     
       10. The computer program product according to  claim 9 , wherein the data to be stored in the distributed computing environment is received as encrypted data. 
     
     
       11. The computer program product according to  claim 9 , wherein the shredding the compressed data into the plurality of data chunks comprises using a binary shredding method. 
     
     
       12. The computer program product according to  claim 9 , wherein the storing the plurality of data chunks in the first plurality of locations in the distributed computing environment comprises, for each data chunk:
 using a hashing algorithm on the data chunk to generate a numeric value in a range that corresponds to a number of storage locations available in the distributed computing environment; and 
 storing the data chunk in a storage location in the distributed computing environment that corresponds to the generated numeric value. 
 
     
     
       13. The computer program product according to  claim 9 , wherein the generating the metadata file further comprises encrypting the metadata file. 
     
     
       14. The computer program product according to  claim 13 , wherein the encoding the metadata of the metadata file comprises encrypting the metadata of the metadata file. 
     
     
       15. The computer program product of  claim 9 , the program instructions further being executable by the computing device to cause the computing device to replicate each of the plurality of stored data chunks and each of the plurality of stored file chunks to at least one other storage location in the distributed computing environment. 
     
     
       16. A system comprising:
 a hardware processor, a computer readable memory, and a computer readable storage medium associated with a computing device; 
 program instructions configured to receive data to be stored in a distributed computing environment; 
 program instructions configured to compress the received data; 
 program instructions configured to shred the compressed data into a plurality of data chunks; 
 program instructions configured to store the plurality of data chunks in a plurality of locations in the distributed computing environment; 
 program instructions configured to generate a metadata file including a mapping of each of the plurality of data chunks and a corresponding location of the plurality of locations in the distributed computing environment in which each of the plurality of data chunks is stored; 
 program instructions configured to shred the metadata file into a plurality of file chunks; and 
 program instructions configured to store the plurality of file chunks in the plurality of locations in the distributed computing environment, wherein the shredding of the metadata file and the storing of the plurality of file chunks is separate from the shredding of the compressed data and the storing of the plurality of data chunks, and wherein the plurality of file chunks may be retrieved to regenerate the metadata file, and the regenerated metadata file may be utilized to locate and retrieve the plurality of data chunks, 
 wherein the program instructions are stored on the computer readable storage medium for execution by the hardware processor via the computer readable memory. 
 
     
     
       17. The system according to  claim 16 , wherein the data to be stored in the distributed computing environment is received as encrypted data. 
     
     
       18. The system according to  claim 16 , wherein the storing the plurality of data chunks in a plurality of locations in the distributed computing environment comprises, for each data chunk:
 using a hashing algorithm on the data chunk to generate a numeric value in a range that corresponds to a number of storage locations available in the distributed computing environment; and 
 storing the data chunk in a storage location in the distributed computing environment that corresponds to the generated numeric value. 
 
     
     
       19. The system according to  claim 16 , wherein the generating the metadata file further comprises encrypting the metadata file. 
     
     
       20. The system according to  claim 16 , further comprising program instructions configured to generate a metadata of the metadata file, wherein the metadata of the metadata file includes information used to reconstruct the metadata file from the plurality of file chunks.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.