Distributive storage controller and method
First Claim
1. A distributive storage controller for providing a data storage service to a plurality of computer devices connected to a network, the controller comprising:
- (a) a storage controller that(1) receives a storage instruction of data to be stored from one of a plurality of connected computer devices,(2) checks an available data storage capacity of a storage unit of each of the computer devices,(3) divides and encrypts the data to be stored into a plurality of encrypted pieces, wherein during the division and encryption, the storage controller(i) removes a portion of each divided piece of data,(ii) generates the encrypted pieces from the segment remaining after the removal,(iii) stores each removed portion to a predetermined storage location on the network,(4) selects, for each of the plurality of encrypted pieces, one of the computer devices in which the storage unit has available data storage capacity for storing that encrypted piece based on the result of the checking,(5) transfers and stores each encrypted piece to the computer device selected for storing that encrypted piece, and(6) generates storage location information indicating which encrypted piece is stored in which computer device; and
(b) an extraction controller that(1) receives an extraction instruction of stored data from one of the plurality of connected computer devices,(2) identifies each computer device to which each encrypted piece of the stored data is stored referring to the storage location information,(3) retrieves and decrypts each encrypted piece from the computer device in which the encrypted piece is stored, wherein during the retrieval, the extraction controller(i) retrieves the removed portions from the predetermined storage location,(ii) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations,(iii) restores the original data,(4) restores the original data based on the retrieved and decrypted pieces, and(5) provides the restored original data to the one of the plurality of connected computer devices instructing the extraction.
2 Assignments
0 Petitions
Accused Products
Abstract
An inexpensive data storage technique utilizing available capacity in individual computer devices connected to a network is provided. When a backup client (BC) (14) of a user PC receives a backup instruction for a file from a user, the backup client (14) requests backup to a backup control server (20). The backup control server (20) divides and encrypts the file to be backed up into a plurality of encrypted pieces, transfers the encrypted pieces to user PCs (10), and stores the encrypted piece in the HDDs (12) of the user PCs (10). When the destributively backed up file is to be extracted, the user PC 10 obtains each encrypted piece from the user PCs 10 on which they are stored, and combines and decrypts the encrypted pieces to restore the original file.
63 Citations
22 Claims
-
1. A distributive storage controller for providing a data storage service to a plurality of computer devices connected to a network, the controller comprising:
-
(a) a storage controller that (1) receives a storage instruction of data to be stored from one of a plurality of connected computer devices, (2) checks an available data storage capacity of a storage unit of each of the computer devices, (3) divides and encrypts the data to be stored into a plurality of encrypted pieces, wherein during the division and encryption, the storage controller (i) removes a portion of each divided piece of data, (ii) generates the encrypted pieces from the segment remaining after the removal, (iii) stores each removed portion to a predetermined storage location on the network, (4) selects, for each of the plurality of encrypted pieces, one of the computer devices in which the storage unit has available data storage capacity for storing that encrypted piece based on the result of the checking, (5) transfers and stores each encrypted piece to the computer device selected for storing that encrypted piece, and (6) generates storage location information indicating which encrypted piece is stored in which computer device; and (b) an extraction controller that (1) receives an extraction instruction of stored data from one of the plurality of connected computer devices, (2) identifies each computer device to which each encrypted piece of the stored data is stored referring to the storage location information, (3) retrieves and decrypts each encrypted piece from the computer device in which the encrypted piece is stored, wherein during the retrieval, the extraction controller (i) retrieves the removed portions from the predetermined storage location, (ii) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, (iii) restores the original data, (4) restores the original data based on the retrieved and decrypted pieces, and (5) provides the restored original data to the one of the plurality of connected computer devices instructing the extraction. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer device connected to a network, the computer device comprising:
-
a response module for returning a response including information on available data storage capacity of a storage unit of the computer device in response to a status inquiry received from a requesting device via the network, the storage unit storing data transmitted from the requesting device via the network to the computer device; a data provider which, in response to a data extraction request sent from the requesting device via the network, reads data related to the extraction request from the storage unit and transmits the data to the requesting device; a storage monitor for monitoring the available capacity of the storage unit, determining whether or not the available capacity is sufficient to store an encrypted piece of data, and issuing a transfer request for the stored encrypted piece to the requesting device when determining that the available capacity of the storage unit is insufficient; and a storage controller that divides and encrypts the data to be stored into a plurality of encrypted pieces, wherein, during the division and encryption, the storage controller (1) removes a portion of each divided piece of data, (2) generates the encrypted pieces from the segment remaining after the removal, and (3) stores each removed portion to a predetermined storage location on the network; and an extraction controller that retrieves the removed portions from the predetermined storage location, wherein during the retrieval, the extraction controller (1) retrieves the removed portions from the predetermined storage location, (2) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, and (3) restores the original data.
-
-
8. A distributive storage system comprising:
-
a plurality of computer devices connected to a network, each computer device including a storage unit that has a predetermined data storage capacity; (a) a storage controller which is connected to the network and which, upon receiving a storage instruction of data from a client device (1) checks an available data storage of the predetermined data storage capacity of the storage unit of each of the computer devices, (2) divides and encrypts the data into a plurality of encrypted pieces, (3) removes a portion of each divided piece of data, (4) generates the encrypted pieces from the segment remaining after the removal, and (5) stores each removed portion to a predetermined storage location on the network; (6) selects, for each encrypted piece, a computer device having the available data storage capacity for storing that encrypted piece from among the plurality of computer devices based on the result of the checking, (7) transfers and stores each of the encrypted pieces to the selected corresponding computer device, and (8) generates storage location information indicating which encrypted piece is stored in which computer device; and (b) an extraction controller which is connected to the network and which, upon receiving an extraction instruction of data from a client device, (1) identifies computer devices to which the encrypted pieces of the data are stored by referring to the storage location information, (2) obtains each encrypted piece from the corresponding computer device, (3) retrieves the removed portions from the predetermined storage location, (4) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, (5) restores the original data based on the encrypted pieces, and (6) supplies the restored data to the client device. - View Dependent Claims (9, 10, 11)
-
-
12. A method for controlling a distributive storage which provides a data storage service to a plurality of computer devices connected to a network, each computer device including a storage unit that has a predetermined data storage capacity, the method comprising:
-
(a) upon reception of a storage instruction of data, (1) checking an available data storage of the predetermined data storage capacity of the storage unit of each of the computer devices, (2) dividing and encrypting the data into a plurality of encrypted pieces, (3) removing a portion of each divided piece of data, (4) generating the encrypted pieces from the segment remaining after the removal, (5) storing each removed portion to a predetermined storage location on the network; (6) selecting, for each encrypted piece, a computer device having the available data storage capacity for storing the selected encrypted piece from among the plurality of computer devices based on the result of the checking process, (7) transferring and storing each encrypted piece to the selected corresponding computer device, and (8) generating storage location information indicating which encrypted piece is stored in which computer device; and (b) upon reception of an extraction instruction of data, (1) identifying computer devices to which the encrypted pieces corresponding to the data are stored by referring to the storage location information, (2) retrieving the removed portions from each of the computer devices, (3) decrypting and integrating the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, and (4) restoring the original data based on the encrypted pieces. - View Dependent Claims (13, 14, 15)
-
-
16. A method for controlling a computer device which is connected to a network and provided for a distributive storage service of data, the method comprising:
-
returning a response including information of an available data storage capacity of a storage device in the computer device in response to a status inquiry sent from a requesting device via the network; storing data transmitted from the requesting device via the network to the storage device, wherein (a) during the division and encryption, the storage controller (1) removes a portion of each divided piece of data, (2) generates the encrypted pieces from the segment remaining after the removal, and (3) stores each removed portion to a predetermined storage location on the network; and in response to a data extraction request sent from the requesting device via the network, reading the data related to the extraction request from the storage device and transmitting the data to the requesting device, wherein (b) during the retrieval, the extraction controller (1) retrieves the removed portions from the predetermined storage location, (2) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, and (3) restores the original data. - View Dependent Claims (17)
-
-
18. A method for controlling a distributive storage system including a plurality of computer devices, a storage controller, and an extraction controller all of which are connected to a network, each of the plurality of computer devices including a storage unit that has a predetermined data storage capacity, the method comprising:
-
(a) when the storage controller receives a storage instruction of data from a client device, (1) checking an available data storage of the predetermined data storage capacity of the storage unit of each of the computer devices, (2) dividing and encrypting the data into a plurality of pieces, (3) removing a portion of each divided piece of data, (4) generating the encrypted pieces from the segment remaining after the removal, (5) selecting, for each removed portion, a computer device having the available data storage capacity for storing that removed portion from among the plurality of computer devices based on the result of the checking process, (6) transferring and storing each removed portion to the selected corresponding computer device, and (7) generating storage location information indicating which removed portion is stored in which computer device; and (b) when the extraction controller receives an extraction instruction of data from a client device, (1) identifying computer devices to which the encrypted pieces corresponding to the data are stored by referring to the storage location information, (2) obtaining each of the removed portions from each computer device, (3) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, (4) restores the original data, (5) supplying the restored data to the client device. - View Dependent Claims (19, 20)
-
-
21. A computer readable recording medium which records a program which, when executed, causes a computer system connected to a network to execute:
-
(a) controlling a storage when receiving a storage instruction of data, to (1) check an available data storage of a predetermined data storage capacity of a storage unit of each of a predetermined plurality of computer devices on the network, (2) divide and encrypt the data into a plurality of encrypted pieces, (3) remove a portion of each divided piece of data, (4) generate the encrypted pieces from the segment remaining after the removal, and (5) stores each removed portion to a predetermined storage location on the network; and (6) select, for each encrypted piece, a computer device having the available data storage of the predetermined data storage capacity for storing that encrypted piece from among the plurality of computer devices based on the result of the checking process, (7) transfer and store the encrypted piece to the selected corresponding computer device, and (8) generate storage location information indicating which encrypted piece is stored to which computer device; and (b) controlling an extraction when receiving an extraction instruction for data, to (1) identify computer devices to which the encrypted pieces for the data are stored by referring to the storage location information, (2) obtain the encrypted pieces from the computer devices, (3) retrieves the removed portions from the predetermined storage location, (4) decrypts and integrates the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, (5) restore the original data based on the encrypted pieces.
-
-
22. A computer readable recording medium which records a program which, when executed, causes a computer system connected to a network to execute:
-
returning a response including information on the available data storage capacity of a storage unit within its own device in response to a status inquiry sent from a requesting device via the network; dividing and encrypting data, comprising; (1) removing a portion of each divided piece of data, (2) generating the encrypted pieces from the segment remaining after the removal, and (3) storing each removed portion to a predetermined storage location on the network; and storing data transmitted from the requesting device via the network to the storage unit; in response to an extraction request of data sent from the requesting device via the network, reading the data related to the extraction request from the storage unit and transmitting the data to the requesting device, retrieving the data, comprising; (1) retrieving the removed portions from the predetermined storage location, (2) decrypting and integrating the group of encrypted pieces obtained from the computer devices with the removed portions from the predetermined storage locations, and (3) restoring the original data.
-
Specification