Systems and methods for providing and installing software
First Claim
1. A method for installing a software component on a recipient computing device on a network connected to a donor computing device comprising the software component, the method comprising:
- monitoring resource usage by software applications running on the recipient computing device, wherein the monitored resource usage comprises usage of the network by the software applications;
determining a need of the recipient computing device for a software component;
detecting a switch of the recipient computing device from a low-speed network connection to a high-speed network connection;
initiating, responsive to detecting the switch, a transfer of the software component from the donor computing device to the recipient computing device via the network during a time period when the monitored resource usage indicates that sufficient network bandwidth is available to not adversely impact usage of the network by the software applications; and
initiating an installation of the software component on the recipient computing device during a time period selected based on the determined need and the monitored resource usage that does not adversely impact the software applications.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention comprises systems and methods, and computer readable media comprising the methods, for installing software components. A user'"'"'s need for a software component may be determined prior to installation. The systems and methods of the present invention provide automation and flexibility to the installation process. In an embodiment, processor usage and network usage are monitored and software installation are initiated and/or continued during periods where processor and/or network usage are low. The installation process may be halted when the processor and/or network connection are called upon for other uses. Processor and/or network usage may also be throttled, for example limiting the bandwidth available for the installation to maintain sufficient processor share and/or bandwidth for other tasks. Adverse impact on a computer user is minimized.
-
Citations
25 Claims
-
1. A method for installing a software component on a recipient computing device on a network connected to a donor computing device comprising the software component, the method comprising:
-
monitoring resource usage by software applications running on the recipient computing device, wherein the monitored resource usage comprises usage of the network by the software applications; determining a need of the recipient computing device for a software component; detecting a switch of the recipient computing device from a low-speed network connection to a high-speed network connection; initiating, responsive to detecting the switch, a transfer of the software component from the donor computing device to the recipient computing device via the network during a time period when the monitored resource usage indicates that sufficient network bandwidth is available to not adversely impact usage of the network by the software applications; and initiating an installation of the software component on the recipient computing device during a time period selected based on the determined need and the monitored resource usage that does not adversely impact the software applications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-readable storage medium on which is encoded executable program code for performing a method comprising:
-
monitoring resource usage by software applications running on a recipient computing device, wherein the monitored resource usage comprises usage of the network by the software applications; determining a need of the recipient computing device for a software component; detecting a switch of the recipient computing device from a low-speed network connection to a high-speed network connection; initiating, responsive to detecting the switch, a transfer of the software component from a donor computing device to the recipient computing device via the network during a time period when the monitored resource usage indicates that sufficient network bandwidth is available to not adversely impact usage of the network by the software applications; and initiating an installation of the software component on the recipient computing device during a time period selected based on the determined need and the monitored resource usage that does not adversely impact the software applications. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computing device, comprising:
-
a computer processor; software applications running on the computer processor; a capture processor running on the computer processor and configured to (1) monitor resource usage by the software applications, wherein the monitored resource usage comprises usage of the network by the software applications, (2) determine a need of the computing device for a software component, and (3) detect a switch of the computing device from a low-speed network connection to a high-speed network connection; and an install processor running on the computer processor and configured to (1) initiate, responsive to detecting the switch, a transfer of the software component from a donor computing device to the computing device via the network during a time period when the monitored resource usage indicates that sufficient network bandwidth is available to not adversely impact usage of the network by the software applications, and (2) initiate an installation of the software component on the computing device at a time selected based on the determined need and the monitored resource usage that does not adversely impact the resource usage by the software applications. - View Dependent Claims (24, 25)
-
Specification