IP Library Granted Patent US 7,978,730
Granted Patent B2
US 7,978,730 · App. 12/610,436 · Granted Jul 12, 2011

Controlling software distribution or file transfer

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,978,730
App. No.
12/610,436
Granted
Jul 12, 2011
Kind
B2
Abstract

An example of a solution provided here comprises automatically measuring bandwidth of a network connection; comparing results of the measuring, with bandwidth parameters; preventing a transfer of a file via the network connection, if measured bandwidth is less than a minimum acceptable value; providing to an end user an option of transferring a file via the network connection, if measured bandwidth is not less than a minimum acceptable value, but is less than an optimal value; and automatically transferring a file via the network connection, if measured bandwidth is greater than or equal to an optimal value.

Claims (53)

1. A computer system for controlling file transfer, the computer system comprising:

one or more processors, one or more computer-readable memories, and one or more computer-readable, tangible storage devices;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to automatically measure bandwidth of a network connection;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to compare results of the measuring with bandwidth parameters;

program instructions, stored on at least one of the one or more storage devices for execution b at least one of the one or more processors via at least one of the one or more memories, to prevent a transfer of a file between a source device and a destination device in response to the measured bandwidth being less than a minimum acceptable value based on results of the comparing;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to provide, to an end user, a displayed message regarding the measured bandwidth and having an option of accepting or rejecting the transferring of the file via the network connection, in response to the measured bandwidth being not less than the minimum acceptable value, but being less than an optimal value based on results of the comparing; and

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to automatically transfer the file via the network connection, in response to the measured bandwidth being greater than or equal to the optimal value based on results of the comparing.

2. The computer system of claim 1 , wherein further comprising:

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive from the end user a request that the file be transferred

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to automatically measure bandwidth of the network connection;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to compare results of the measuring;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to prevent the transfer of the file;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to provide a displayed message; and

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to automatically transfer the file as part of a pull operation in response to the end user's request that the file be transferred.

3. The computer system of claim 1 , further comprising:

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to automatically measure bandwidth of the network connection;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to compare results of the measuring;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to prevent the transfer of the file;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to provide a displayed message; and

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to automatically transfer the file as part of a push operation for pushing the file to the destination device from the source device.

4. The computer system of claim 1 , further comprising program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the bandwidth parameters, for a software package, from a database.

5. The computer system of claim 1 , further comprising program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to transfer the file as part of at least one of software distribution, digital movie distribution, transfer of system management data, transfer of audio content, or transfer of video content.

6. The computer system of claim 1 , wherein the source device is a server and wherein the destination device is a client computing device.

7. The computer system of claim 1 , wherein the file comprises at least one of information to be used for debugging, information to be used for advertising, or retail point-of-sale data.

8. The computer system of claim 1 , further comprising:

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, via at least one of the one or more memories, to log information in a log file indicating an inability to transfer the file in response to the end user rejecting the transfer of the file.

9. The computer system of claim 8 , wherein the information in the log file comprises a name of the file that was not transferred, whether the attempted file transfer was part of a push operation or a pull operation, the bandwidth measurement of the network connection, and a reason that the attempted file transfer failed.

10. A computer program product for controlling a file transfer, the computer program product comprising:

one or more computer-readable, tangible storage devices;

program instructions, stored on at least one of the one or more storage devices, to automatically measure bandwidth of a network connection;

program instructions, stored on at least one of the one or more storage devices, to compare results of the measuring with bandwidth parameters;

program instructions, stored on at least one of the one or more storage devices, to prevent a transfer of a file between a source device and a destination device in response to the measured bandwidth being less than a minimum acceptable value based on results of the comparing;

program instructions, stored on at least one of the one or more storage devices, to provide, to an end user, a displayed message regarding the measured bandwidth and having an option of accepting or rejecting the transferring of the file via the network connection, in response to the measured bandwidth being not less than the minimum acceptable value, but being less than an optimal value based on results of the comparing; and

program instructions, stored on at least one of the one or more storage devices, to automatically transfer the file via the network connection, in response to the measured bandwidth being greater than or equal to the optimal value based on results of the comparing.

11. The computer program product of claim 10 , further comprising:

program instructions, stored on at least one of the one or more storage devices, to receive from the end user a request that the file be transferred;

program instructions, stored on at least one of the one or more storage devices, to automatically measure bandwidth of the network connection;

program instructions, stored on at least one of the one or more storage devices, to compare results of the measuring;

program instructions stored on at least one of the one or more storage devices, to prevent the transfer of the file;

program instructions, stored on at least one of the one or more storage devices, to provide a displayed message; and

program instructions, stored on at least one of the one or more storage devices, to automatically transfer the file as part of a pull operation in response to the end user's request that the file be transferred.

12. The computer program product of claim 10 , further comprising:

program instructions, stored on at least one of the one or more storage devices, to automatically measure bandwidth of the network connection;

program instructions, stored on at least one of the one or more storage devices, to compare results of the measuring;

program instructions, stored on at least one of the one or more storage devices, to prevent the transfer of the file;

program instructions, stored on at least one of the one or more storage devices, to provide a displayed message; and

program instructions, stored on at least one of the one or more storage devices, to automatically transfer the file as part of a push operation for pushing the file to the destination device from the source device.

13. The computer program product of claim 10 , further comprising program instructions, stored on at least one of the one or more storage devices, to retrieve the bandwidth parameters, for a software package, from a database.

14. The computer program product of claim 10 , further comprising program instructions, stored on at least one of the one or more storage devices, to transfer the file as part of at least one of software distribution, digital movie distribution, transfer of system management data, transfer of audio content, or transfer of video content.

15. The computer program product of claim 10 , wherein the source device is a server and wherein the destination device is a client computing device.

16. The computer program product of claim 10 , wherein the file comprises at least one of information to be used for debugging, information to be used for advertising, or retail point-of-sale data.

17. The computer program product of claim 10 , further comprising program instructions, stored on at least one of the one or more storage devices, to log information in a log file indicating an inability to transfer the file in response to the end user rejecting the transfer of the file.

18. The computer program product of claim 17 , wherein the information in the log file comprises a name of the file that was not transferred, whether the attempted file transfer was part of a push operation or a pull operation, the bandwidth measurement of the network connection, and a reason that the attempted file transfer failed.

Assignments (2)
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044142/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 027463/0594 →