Segmented cloud storage
First Claim
1. A computer system for optimizing bandwidth usage within a cloud storage system, comprising:
- one or more processors; and
one or more non-transitory computer-readable media having stored thereon executable instructions that when executed by the one or more processors configure the computer system to perform at least the following;
receive a request, through an application program interface (API), to store a digital file;
encode the digital file into a set of multiple distinct blocks of data, wherein the multiple distinct blocks of data each comprise a retrievable portion of the digital file and the set of multiple distinct blocks of data comprises parity information;
transmit the set of multiple distinct blocks of data to multiple remote storage nodes, wherein the multiple distinct blocks of data are divided among at least a portion of the remote storage nodes;
generate a log that comprises identification information associated with the digital file and an address for each respective block of data within each respective remote storage node; and
transmit the log to a remote directory server, wherein;
the remote directory server comprises multiple different logs that map multiple different digital files to the remote storage nodes, andthe remote directory server tracks outdated blocks of data that are stored at one or more remote storage nodes selected from the multiple storage nodes, wherein the outdated blocks are excluded from a request for a file that is associated with the outdated blocks.
7 Assignments
0 Petitions
Accused Products
Abstract
A computer system for optimizing bandwidth usage within a cloud storage system receives a request, through an application program interface (API), to store a digital file. The computer system then encodes the digital file into a set of multiple distinct blocks of data. The system also transmits the set of multiple distinct blocks of data to multiple remote storage nodes. The multiple distinct blocks of data are divided among at least a portion of the remote storage nodes. The system generates a log that comprises identification information associated with the digital file and an address for each respective block of data within each respective remote storage node. The system then transmits the log to a remote directory server. The directory server comprises multiple different logs that map multiple different digital files to the remote storage nodes.
-
Citations
9 Claims
-
1. A computer system for optimizing bandwidth usage within a cloud storage system, comprising:
-
one or more processors; and one or more non-transitory computer-readable media having stored thereon executable instructions that when executed by the one or more processors configure the computer system to perform at least the following; receive a request, through an application program interface (API), to store a digital file; encode the digital file into a set of multiple distinct blocks of data, wherein the multiple distinct blocks of data each comprise a retrievable portion of the digital file and the set of multiple distinct blocks of data comprises parity information; transmit the set of multiple distinct blocks of data to multiple remote storage nodes, wherein the multiple distinct blocks of data are divided among at least a portion of the remote storage nodes; generate a log that comprises identification information associated with the digital file and an address for each respective block of data within each respective remote storage node; and transmit the log to a remote directory server, wherein; the remote directory server comprises multiple different logs that map multiple different digital files to the remote storage nodes, and the remote directory server tracks outdated blocks of data that are stored at one or more remote storage nodes selected from the multiple storage nodes, wherein the outdated blocks are excluded from a request for a file that is associated with the outdated blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-based method for optimizing data integrity within a cloud storage system, comprising:
-
receiving a request, through an application program interface (API), to store a digital file; loading the digital file into local memory space; encoding the digital file into a set of multiple distinct blocks of data, wherein the multiple distinct blocks of data each comprise a retrievable portion of the digital file and the set of multiple distinct blocks of data comprises parity information; transmitting the set of multiple distinct blocks of data to multiple remote storage nodes, wherein; the multiple distinct blocks of data are divided among at least a portion of the remote storage nodes, and the multiple distinct blocks of data are divided among a particular subset of remote storage nodes selected from a larger set of remote storage nodes based upon a predetermined segregation of a first user'"'"'s data from a second user'"'"'s data, wherein the predetermined segregation is such that the particular subset of remote storage nodes, which is associated with the first user'"'"'s data, has fewer than a minimum recovery threshold of overlapping remote storage nodes, as defined by the parity information, with another subset of remote storage nodes that are associated with the second tier'"'"'s data; generating a log that comprises identification information associated with the digital file and an address for each respective block of data within each respective remote storage node; and transmitting the log to a remote directory server, wherein the remote directory server comprises multiple different logs that map multiple different digital files to the remote storage nodes.
-
Specification