Reducing Latency and Cost in Resilient Cloud File Systems
First Claim
1. A method of storing a file in a cloud system including a plurality of data centers, the method comprising:
- receiving, at a first data center, a file block from a client;
generating a plurality of chunks from the file block, wherein each chunk is smaller than the file and the file block may be reconstructed from a subset of the chunks;
distributing the plurality of chunks to at least two of the plurality of data centers;
wherein at least a first chunk and a second chunk of the plurality of chunks are distributed to different ones of the plurality of data centers; and
storing the file block in a cache at the first data center.
11 Assignments
0 Petitions
Accused Products
Abstract
Various exemplary embodiments relate to a method of storing a file block in a cloud system including a plurality of data centers. The method may include; receiving the file block from a client; generating a plurality of chunks from the file block, wherein each chunk is smaller than the file block and the file block may be reconstructed from a subset of the chunks; distributing each chunk to one of the plurality of data centers; and storing the file block in a cache. Various exemplary embodiments relate to a cloud system for storing files. The system may include a plurality of data centers including a primary data center. The primary data center may include: a cache configured to store at least one complete file block; a chunk storage configured to store a chunk for each of a plurality of file blocks; a file encoder; and a file decoder.
24 Citations
25 Claims
-
1. A method of storing a file in a cloud system including a plurality of data centers, the method comprising:
-
receiving, at a first data center, a file block from a client; generating a plurality of chunks from the file block, wherein each chunk is smaller than the file and the file block may be reconstructed from a subset of the chunks; distributing the plurality of chunks to at least two of the plurality of data centers;
wherein at least a first chunk and a second chunk of the plurality of chunks are distributed to different ones of the plurality of data centers; andstoring the file block in a cache at the first data center. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A cloud system for storing a file, the system comprising:
a plurality of data centers including a primary data center, the primary data center comprising; a cache configured to store at least one complete file block; a chunk storage configured to store a chunk for each of a plurality of file blocks; a file encoder configured to generate a plurality of chunks from the file block, wherein each chunk is smaller than the file and the file block may be reconstructed from a subset of the chunks; and a file decoder configured to reconstruct a complete file block from a subset of the chunks. - View Dependent Claims (13, 14, 15, 16, 17, 19, 20, 21, 22)
-
18. A tangible and non-transitory machine-readable storage medium encoded with instructions thereon for execution by a data center, the tangible and non-transitory machine-readable storage medium comprising:
-
instructions for receiving, at a first data center, a file block of a file from a client; instructions for generating a plurality of chunks from the file block, wherein each chunk is smaller than the file and the file block may be reconstructed from a subset of the chunks; instructions for distributing the plurality of chunks to at least two of the plurality of data centers;
wherein at least a first chunk and a second chunk of the plurality of chunks are distributed to different ones of the plurality of data centers; andinstructions for storing the file block in a cache at the first data center.
-
-
23. An apparatus for storing a file, the apparatus comprising:
-
a cache configured to store at least one complete file block; a chunk storage configured to store a chunk for each of a plurality of file blocks; a file encoder configured to generate a plurality of chunks from the file block, wherein each chunk is smaller than the file and the file block may be reconstructed from a subset of the chunks; and a file decoder configured to reconstruct a complete file block from a subset of the chunks. - View Dependent Claims (24, 25)
-
Specification