Patent ID: 9052962
Filing Date: 2015-06-09
Classification: G06F

Abstract:
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.