Cloud file transfers using cloud file descriptors
A method and system method for reading a file from a cloud storage service are provided. The method includes receiving, from a client device, a request to read at least a portion of a file from a cloud storage service, wherein the cloud storage service is associated with at least one object storage system; and sending a cloud file descriptor to the client device, wherein the cloud file descriptor includes a plurality of download tokens utilized to retrieve objects constituting the requested at least a portion of the file from the at least one object storage system.
1. A system for reading a file from a cloud storage service, comprising:
a processing circuitry; and
a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:
receive, from a client device, a request to read at least a portion of a file from a cloud storage service, wherein the cloud storage service is associated with at least one object storage system; and
send a cloud file descriptor to the client device, wherein the cloud file descriptor includes a plurality of download tokens utilizable by the client device to retrieve objects constituting the requested at least a portion of the file directly from the at least one object storage system;
wherein the request to read the at least a portion of the file includes a set of block identifiers (IDs) identifying the requested at least a portion of the file, wherein each block ID is computed using a hash function over contents of the respective block; and
wherein the plurality of download tokens each includes at least a uniform resource locator (URL) and at least one temporary credential, wherein the URL and the at least one temporary credential are used by the client device for retrieving the at least a portion of the file from the at least one object storage system without requiring any other authentication of the client device to the at least one object storage system.
2. The system of claim 1 , wherein the cloud file descriptor further includes at least one decryption key for deciphering the retrieved objects at the client device.
3. A method for reading a file from a cloud storage service, comprising:
receiving, from a client device, a request to read at least a portion of a file from a cloud storage service, wherein the cloud storage service is associated with at least one object storage system; and
sending a cloud file descriptor to the client device, wherein the cloud file descriptor includes a plurality of download tokens utilizable to retrieve objects constituting the requested at least a portion of the file from the at least one object storage system;
wherein the plurality of download tokens each includes at least a uniform resource locator (URL) and at least one temporary credential, wherein the URL and the at least one temporary credential are used by the client device for retrieving the at least a portion of the file from the at least one object storage system without requiring any other authentication of the client device to the at least one object storage system.
4. The method of claim 3 , wherein the request to read the at least a portion of the file includes a set of block identifiers (IDs) identifying the requested at least a portion of the file, wherein each block ID is computed using a hash function over contents of the respective block.
5. The method of claim 3 , wherein the cloud file descriptor further includes at least one decryption key for deciphering the retrieved objects at the client device.
6. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute the method of claim 3 .