Data transfer optimizations
First Claim
Patent Images
1. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more processors of a computer system, cause the computer system to:
- encrypt a plurality of data chunks of a data object with a cryptographic key, wherein the data object is a media file such that;
a first data chunk of the plurality of data chunks is encrypted so as to overlap with encryption of a second data chunk of the plurality of data chunks; and
a subset of the plurality of data chunks is encrypted by the cryptographic key using a first initialization vector that is different than a second initialization vector used to encrypt a different subset of the plurality of data chunks, the first and second initialization vectors forming a set of initialization vectors;
upload the first data chunk of the plurality of data chunks and the first initialization vector of the set of initialization vectors to an identified first server of a data storage service to at least;
store a concatenated data chunk comprising the first data chunk and the first initialization vector;
associate the concatenated data chunk with an identifier corresponding to the data object; and
associate the concatenated data chunk with a second data chunk, the second data chunk stored on a second server of the data storage service of the plurality of data chunks;
retrieve, in connection with a request to retrieve the data object from the data storage service, at least some of the plurality of data chunks in parallel, the request indicating a playback start time different from a beginning time of the media file; and
decrypt at least some of the retrieved plurality of data chunks in parallel, the retrieved data chunks of the plurality of data chunks corresponding to a portion of the media file that includes the playback start time and lacks the beginning time.
1 Assignment
0 Petitions
Accused Products
Abstract
Data transfer between a first computer system and a second computer system utilize parallel servers of the second computer system. A plurality of data chunks collectively comprise a data object. The data chunks may be encrypted and sent over parallel channels to the second computer system, which may be a data storage service of a computing resource service provider. The data object, or a portion thereof, may be downloaded from the data storage system in parallel.
19 Citations
20 Claims
-
1. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more processors of a computer system, cause the computer system to:
-
encrypt a plurality of data chunks of a data object with a cryptographic key, wherein the data object is a media file such that; a first data chunk of the plurality of data chunks is encrypted so as to overlap with encryption of a second data chunk of the plurality of data chunks; and a subset of the plurality of data chunks is encrypted by the cryptographic key using a first initialization vector that is different than a second initialization vector used to encrypt a different subset of the plurality of data chunks, the first and second initialization vectors forming a set of initialization vectors; upload the first data chunk of the plurality of data chunks and the first initialization vector of the set of initialization vectors to an identified first server of a data storage service to at least; store a concatenated data chunk comprising the first data chunk and the first initialization vector; associate the concatenated data chunk with an identifier corresponding to the data object; and associate the concatenated data chunk with a second data chunk, the second data chunk stored on a second server of the data storage service of the plurality of data chunks; retrieve, in connection with a request to retrieve the data object from the data storage service, at least some of the plurality of data chunks in parallel, the request indicating a playback start time different from a beginning time of the media file; and decrypt at least some of the retrieved plurality of data chunks in parallel, the retrieved data chunks of the plurality of data chunks corresponding to a portion of the media file that includes the playback start time and lacks the beginning time. - View Dependent Claims (2, 3)
-
-
4. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more processors of a computer system, cause the computer system to:
-
encrypt a plurality of data chunks of a data object, wherein the data object is a media file such that; a first data chunk of the plurality of data chunks is encrypted so as to overlap with encryption with a second data chunk of the plurality of data chunks; a subset of the plurality of data chunks is encrypted using a first initialization vector that is different than a second initialization vector used to encrypt a different subset of the plurality, the first and second initialization vectors forming a set of initialization vectors; and wherein each of the plurality of data chunks is encrypted using a same cryptographic key; transmit the first data chunk of the plurality of data chunks and the first initialization vector of the set of initialization vectors to an identified first server of a plurality of servers to at least; store a first concatenated data generated by combining the first data chunk of the plurality of data chunks with a corresponding first initialization vector of the set of the initialization vectors; associate the first concatenated data with an identifier corresponding to the data object; and associate the first concatenated data with the second data chunk, the second data chunk stored on a second server of a data storage service of the plurality of data chunks; retrieve, in connection with a request to retrieve the data object and from the data storage service, at least some of the plurality of data chunks in parallel, the request indicating a playback start time different from a beginning time of the media file; and decrypt at least some of the plurality of data chunks in parallel, the retrieved data chunks of the plurality of data chunks corresponding to a portion of the media file that includes the playback start time and lacks the beginning time. - View Dependent Claims (5, 6, 7)
-
-
8. A system, comprising:
-
memory to store instructions, as a result of being executed by at least one or more processors, cause the system to at least; process a plurality of data chunks of a media file that collectively comprise a data object by distributing, among the one or more processors, the plurality of data chunks for processing such that at least some data chunks of the plurality of chunks are encrypted in parallel using a cryptographic key and a different respective initialization vector, the respective initialization vectors for the plurality of data chunks forming a set of initialization vectors; upload a first data chunk of the plurality of processed data chunks and a respective first initialization vector of the set of initialization vectors to an identified first server of a data storage service to at least; couple, the first data chunk of the plurality of processed data chunks with the respective first initialization vector of the set of initialization vectors to generate a first concatenated data chunk of a plurality of concatenated data chunks; associate the first concatenated data chunk with an identifier corresponding with the data object; and associate the first concatenated data chunk with a second data chunk, the second data chunk stored on a second server of the data storage service of the plurality of data chunks; and retrieve and decrypt in parallel, in response to a request indicating a playback start time different from a beginning time of the media file, at least some of the plurality of data chunks in decrypted form, wherein the retrieved and decrypted data chunks of the plurality of data chunks correspond to a portion of the media file that includes the playback start time and lacks the beginning time. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method, comprising:
-
processing a data object into a first plurality of data chunks, wherein the data object is a media file; processing the first plurality of data chunks to generate a second plurality of data chunks such that each data chunk of the first plurality of data chunks is encrypted in parallel using a cryptographic key and a different initialization vector; uploading the first data chunk of the second plurality of data chunks and a first initialization vector of a set of corresponding initialization vectors to an identified first server of a data storage service to at least; couple a first data chunk of the second plurality of data chunks with the first initialization vector of the set of initialization vectors to generate a concatenated data chunk base; store, over at least a partially overlapping period of time, the concatenated data chunk and a second concatenated data chunk on the first server and a second server of the data storage service, respectively; associate the concatenated data chunk with an identifier corresponding to the data object; and associate the concatenated data chunk with a data chunk, the data chunk stored on the second server of the data storage service of the second plurality of data chunks; and retrieve and decrypt, in response to a request indicating a playback start time different from a beginning time of the media file to retrieve the data object in decrypted form, at least some of the plurality of data chunks in parallel, wherein the retrieved and decrypted data chunks of the plurality of data chunks correspond to a portion of the media file that includes the playback start time and lacks the beginning time. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification