IP Library Granted Patent US 7,539,762
Granted Patent B2
US 7,539,762 · App. 11/464,661 · Granted May 26, 2009

Method, system and program product for determining an initial number of connections for a multi-source file download

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,539,762
App. No.
11/464,661
Granted
May 26, 2009
Kind
B2
Abstract

A method of determining a number of connections to initially utilize for a download of a target data file from a set of one or more servers includes determining a maximum number of initial connections based at least in part upon a number of servers available to serve a target data file to be downloaded, determining a size of the target data file, and determining the number of initial connections to utilize for a download of the target data file. The later determination is based at least in part upon the maximum number of initial connections, the size of the target data file, and a chunk size of one or more chunks into which the target data file is to be decomposed.

Claims (38)

1. A method in data processing system of determining a number of connections to initially utilize for a download of a target data file from a set of plurality of servers, said method comprising:

determining a maximum number of initial connections based at least in part upon a number of servers available to serve a target data file to be downloaded;

determining a size of the target data file; and

determining the number of initial connections to utilize for a download of the target data file based at least in part upon the maximum number of initial connections, the size of the target data file, and a chunk size of one or more chunks into which the target data file is to be decomposed.

2. The method of claim 1 , wherein said determining a maximum number of initial connections comprises determining the maximum number of initial connections as a smaller of a pre-set maximum number of initial connections and the number of servers available to serve the target data file.

3. The method of claim 1 , wherein determining the number of initial connections comprises:

determining if the size of the target data file is at least as large as the maximum number of initial connections multiplied by the chunk size; and

in response to determining that the size of the target data file is at least as large as the maximum number of initial connections multiplied by the chunk size, setting the number of initial connections to the maximum number of initial connections.

4. The method of claim 3 , and further comprising:

in response to determining that the size of the target data file is not as large as the maximum number of initial connections multiplied by the chunk size, setting the number of initial connections to an integer obtained by dividing the size of the target data file by the chunk size.

5. The method of claim 1 , and further comprising: performing a multi-source download of the target data file from a set of plurality of servers utilizing the determined number of initial connections.

6. A data processing system, comprising:

a processor unit;

a network interface;

data storage including program code that, when processed by the processor unit, causes the data processing system to perform a method of determining a number of connections to initially utilize for a download of a target data file from a set of plurality of servers via the network interface, said method including:

determining a maximum number of initial connections based at least in part upon a number of servers available to serve a target data file to be downloaded;

determining a size of the target data file; and

determining the number of initial connections to utilize for a download of the target data file based at least in part upon the maximum number of initial connections, the size of the target data file, and a chunk size of one or more chunks into which the target data file is to be decomposed.

7. The data processing system of claim 6 , wherein said determining a maximum number of initial connections comprises determining the maximum number of initial connections as a smaller of a pre-set maximum number of initial connections and the number of servers available to serve the target data file.

8. The data processing system of claim 6 , wherein determining the number of initial connections comprises:

determining if the size of the target data file is at least as large as the maximum number of initial connections multiplied by the chunk size; and

in response to determining that the size of the target data file is at least as large as the maximum number of initial connections multiplied by the chunk size, setting the number of initial connections to the maximum number of initial connections.

9. The data processing system of claim 8 , wherein the method further comprises:

in response to determining that the size of the target data file is not as large as the maximum number of initial connections multiplied by the chunk size, setting the number of initial connections to an integer obtained by dividing the size of the target data file by the chunk size.

10. The data processing system of claim 6 , wherein the method further comprises: performing a multi-source download of the target data file from a set of plurality of servers utilizing the determined number of initial connections via the network interface.

11. A program product, comprising:

a computer storage medium; and

the computer storage medium encoded program code that causes a data processing system to perform a method of determining a number of connections to initially utilize for a download of a target data file from a set of plurality of servers via the network interface, said method including:

determining a maximum number of initial connections based at least in part upon a number of servers available to serve a target data file to be downloaded;

determining a size of the target data file; and

determining the number of initial connections to utilize for a download of the target data file based at least in part upon the maximum number of initial connections, the size of the target data file, and a chunk size of one or more chunks into which the target data file is to be decomposed.

12. The program product of claim 11 , wherein said determining a maximum number of initial connections comprises determining the maximum number of initial connections as a smaller of a pre-set maximum number of initial connections and the number of servers available to serve the target data file.

13. The program product of claim 11 , wherein determining the number of initial connections comprises:

determining if the size of the target data file is at least as large as the maximum number of initial connections multiplied by the chunk size; and

in response to determining that the size of the target data file is at least as large as the maximum number of initial connections multiplied by the chunk size, setting the number of initial connections to the maximum number of initial connections.

14. The program product of claim 13 , wherein the method further comprises:

in response to determining that the size of the target data file is not as large as the maximum number of initial connections multiplied by the chunk size, setting the number of initial connections to an integer obtained by dividing the size of the target data file by the chunk size.

15. The program product of claim 11 , wherein the method further comprises: performing a multi-source download of the target data file from a set of plurality of servers utilizing the determined number of initial connections via the network interface.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 027463/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2006
From: ACHTERMANN, JEFFREY M.; GERLACH, TODD J.; GUPTA, NIKHIL; OROZCO, LILIANA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018113/0688 →