Patent ID: 7840646

Claim:
A method for providing a learned upload time estimate, comprising: reviewing, via a computing device, historical uploading information for more than one previous uploads, wherein for each previous upload the historical uploading information comprises a previous upload size and an upload start marker, and a number of files uploaded and a total time the previous upload actually took to complete, wherein the upload start marker is a timestamp; determining, via the computing device, if there is a match or likeness between uploading information, including a new upload start marker, which is a new timestamp, and an upload size, in total, of one or more files presently selected for uploading, and the historical uploading information for any of the previous uploads, wherein the one or more files presently selected for uploading have an average file size, the average file size being a ratio between the upload size and number of files presently selected for upload; if a match or likeness is found with a particular previous upload, obtaining the total time of the particular previous upload, using its historical uploading information, and using the total time as the upload time estimate for the files presently selected for uploading; and if a match or likeness is not found, computing an average transfer rate from the historical uploading information for the one or more previous uploads, and deriving from the average transfer rate and upload size an upload time estimate for the files presently selected for uploading and providing the upload time estimate to a user, wherein computing the average transfer rate includes computing a ratio between an aggregate of the previous upload sizes and an aggregate of the total times of the previous uploads, and setting a transfer rate equal to the average transfer rate unless the average file size is smaller than the average transfer rate multiplied by one second, in which case the average transfer rate equals the average file size per second.