Distributed storage of data in a cloud storage system
First Claim
Patent Images
1. A method for distributedly storing data in a plurality of data centers in a cloud storage system, the method comprising:
- receiving a storing request from a client;
dividing an object associated with the storing request into a plurality of sub-objects each having a fragmentation size, wherein the fragmentation size is determined by dividing an average object size by a sum of weights of the data centers, the average object size corresponding to an average size of objects stored in the cloud storage system and periodically calculated and updated;
assigning a correlation value to each one of the plurality of sub-objects;
creating a file name of each one of the plurality of sub-objects;
calculating a first hash value, as the correlation value, of each one of the plurality of sub-objects;
calculating a second hash value, as a representative value, of each one of the plurality of sub-objects;
deciding data centers among the plurality of data centers to store the plurality of sub-objects based on the representative value of each one of the plurality of sub-objects, wherein the decided data centers are selected from the plurality of data centers based on the second hash value of each one of the plurality of sub-objects;
determining a number of sub-objects to be stored in each one of the decided data centers based on a weight of each data center; and
distributedly storing the plurality of sub-objects in the decided data centers based on the determined number of sub-objects, wherein for the distributedly storing a corresponding weight of a data center is based on a ratio of a storage capacity of the data center to storage capacities of other data centers.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are apparatus and method for distributedly storing an object in a plurality of data centers included in a cloud storage system. In the method, an object may be divided into a plurality of sub-objects each having a fragmentation size. Then, the sub-objects may be distributedly stored in at least one data center based on weights of the plurality of data centers.
35 Citations
14 Claims
-
1. A method for distributedly storing data in a plurality of data centers in a cloud storage system, the method comprising:
-
receiving a storing request from a client; dividing an object associated with the storing request into a plurality of sub-objects each having a fragmentation size, wherein the fragmentation size is determined by dividing an average object size by a sum of weights of the data centers, the average object size corresponding to an average size of objects stored in the cloud storage system and periodically calculated and updated; assigning a correlation value to each one of the plurality of sub-objects; creating a file name of each one of the plurality of sub-objects; calculating a first hash value, as the correlation value, of each one of the plurality of sub-objects; calculating a second hash value, as a representative value, of each one of the plurality of sub-objects; deciding data centers among the plurality of data centers to store the plurality of sub-objects based on the representative value of each one of the plurality of sub-objects, wherein the decided data centers are selected from the plurality of data centers based on the second hash value of each one of the plurality of sub-objects; determining a number of sub-objects to be stored in each one of the decided data centers based on a weight of each data center; and distributedly storing the plurality of sub-objects in the decided data centers based on the determined number of sub-objects, wherein for the distributedly storing a corresponding weight of a data center is based on a ratio of a storage capacity of the data center to storage capacities of other data centers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for distributedly storing an object in a plurality of data centers included in a cloud storage system, the apparatus comprising:
-
a memory; a divider configured to receive a storing request from a client and divide an object associated with the storing request into a plurality of sub-objects each having a fragmentation size, wherein, the fragmentation size is determined based on a result of dividing an average object size by a sum of the weights of the data centers, the average object size corresponding to an average size of objects stored in the cloud storage system and periodically calculated and updated; a storage location decider configured to decide data centers among the plurality of data centers to store the plurality of sub-objects based on a representative value of each one of the plurality of sub-objects, wherein the storage location decider is configured to assign a correlation value to each one of the plurality of sub-objects, to create a file name of each one of the plurality of sub-objects, to calculate a first hash value, as the correlation value, of each one of the plurality of sub-objects, and to calculate a second hash value, as the representative value, of each one of the plurality of sub-objects, wherein the decided data centers are selected from the plurality of data centers based on the second hash value of each one of the plurality of sub-objects; a distributor configured to determining a number of sub-objects to be stored in each one of the decided data centers based on a weight of each data center and distributedly store the plurality of sub-objects in the decided data centers based on the determined number of sub-objects; and a weight of a data center is a ratio of a storage capacity of the data center to storage capacities of other data centers. - View Dependent Claims (13, 14)
-
Specification