Nonconsecutive file downloading
First Claim
1. A method implemented in a computing device, the method comprising:
- communicating, with a service, to retrieve a file from the service via a network;
receiving, from a program on the computing device, a request for a particular portion of the file in nonconsecutive order;
retrieving, from the service, the requested particular portion of the file;
storing the retrieved particular portion of the file;
making the stored particular portion of the file available to the program prior to the entirety of the file being retrieved from the service;
receiving a request from an additional program to nonconsecutively download the file;
determining that at least a threshold amount of the file has been nonconsecutively downloaded; and
waiting for the downloading of the file to be completed rather than beginning an additional nonconsecutive download of the file for the additional program.
1 Assignment
0 Petitions
Accused Products
Abstract
A data transfer module on a device receives a request from a program to download a file, and accesses a remote service to begin downloading the file. The data transfer module receives bytes of the file from the service and stores those bytes in a temporary file. The program can also make read requests including an offset into the file. In response to such a request, the data transfer module requests from the service the portion of the file beginning at the specified offset into the file. The data transfer module receives the requested portion of the file from the service and stores those bytes in the temporary file. The program can then read and use the bytes from the file that were downloaded based on the offset prior to the entire desired file being downloaded. Meanwhile, the data transfer module continues downloading the remaining portions of the file.
-
Citations
20 Claims
-
1. A method implemented in a computing device, the method comprising:
-
communicating, with a service, to retrieve a file from the service via a network; receiving, from a program on the computing device, a request for a particular portion of the file in nonconsecutive order; retrieving, from the service, the requested particular portion of the file; storing the retrieved particular portion of the file; making the stored particular portion of the file available to the program prior to the entirety of the file being retrieved from the service; receiving a request from an additional program to nonconsecutively download the file; determining that at least a threshold amount of the file has been nonconsecutively downloaded; and waiting for the downloading of the file to be completed rather than beginning an additional nonconsecutive download of the file for the additional program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device comprising:
-
a processor; and a computer-readable storage medium having stored thereon multiple instructions that, responsive to execution by the processor, cause the processor to perform acts comprising; communicating, with a service, to retrieve a file from the service via a network; receiving, from a program on the computing device, a request for data beginning at a particular offset into the file; retrieving, from the service, data from the file beginning at the particular offset; storing the retrieved data in a temporary file; making the stored data in the temporary file available to the program prior to the entirety of the file being retrieved from the service; receiving a request from an additional program to nonconsecutively download the file; determining that at least a threshold amount of the file has been nonconsecutively downloaded; and waiting for the downloading of the file to be completed rather than beginning an additional nonconsecutive download of the file for the additional program. - View Dependent Claims (13, 14, 15)
-
-
16. A method implemented in a computing device, the method comprising:
-
communicating, to a nonconsecutive data transfer module in the computing device, a request for a file to be retrieved from a service, the file comprising data; receiving, from the nonconsecutive data transfer module, an indication of a temporary file that includes at least some of the data of the file; communicating, from a client program on the computing device, to the nonconsecutive data transfer module, a request for a particular byte range of the file in nonconsecutive order; reading by the client program, from the temporary file, the data of the file stored in the temporary file corresponding to the particular byte range; and using, by the client program, the data read from the temporary file prior to the downloading of the file being completed. - View Dependent Claims (17, 18, 19, 20)
-
Specification