IP Library Granted Patent US 7,130,896
Granted Patent B2
US 7,130,896 · App. 10/028,225 · Granted Oct 31, 2006

Method and system for remote software distribution and installation

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,130,896
App. No.
10/028,225
Granted
Oct 31, 2006
Kind
B2
Abstract

A mechanism for the remote distribution/installation of computer programs from a source to a number of target computers. The computer programs are transferred as packages identified in a package list. Attempt numbers for retrying a push mode and a pull mode distribution are pre-specified. A next package is identified in the package list and it is checked if a target computer is available. If it is available then installation of the package on the target computer is started. Otherwise, if at least one push mode attempt is left, a next push mode is resumed and rescheduled and, if no push mode attempt is left, but at least one pull mode attempt is left, a next pull mode distribution is resumed and rescheduled. The mechanism particularly proposes a queue manager that activates a request, i.e., moves the request from a request queue into an active queue, and has implemented throttling that balances the load during a software distribution/installation.

Claims (24)

1. A method for remote distribution/installation of computer programs from a source data processing system to at least one target data processing system based on at least two distribution/installation modes, comprising:

checking if the at least one target data processing system is available;

performing distribution/installation according to one of the at least two distribution/installation modes, if the at least one target data processing system is available;

monitoring if the distribution/installation is successful;

switching the distribution/installation mode if the distribution/installation is not successful, wherein the computer programs are transferred as packages which are identified in a package list;

pre-specifying attempt numbers for retrying a push-mode distribution and a pull-mode distribution;

retrieving a next package identified in the package list; and

checking if the at least one target data processing system is available;

if the at least one target data processing system is available then starting installation of the package on the target data processing system;

otherwise, if at least one push-mode attempt is left, resuming and rescheduling a next push-mode distribution and, if no push-mode attempt is left, but at least one pull-mode attempt is left, resuming and rescheduling a next pull-mode distribution.

2. The method according to claim 1 , wherein if the target data processing system is not available after several retries, performing the further particular steps of:

if the number of push retries is greater than 0, moving a distribution/installation request into a hold queue and scheduling re-insertion of the request into a request queue;

if the number of push retries is equal 0 and the number of pull retries is greater than 0, moving the request into a pull queue and restarting when the target computer system logs in; and

if the number of push retries is equal 0 and the number of pull retries is equal 0, moving the request into an abort queue.

3. The method according to claim 2 , further comprising queuing a distribution/installation request in a request queue and setting the distribution/installation request into an active queue when a pre-specified time is exceeded.

4. The method according to claim 2 , further comprising detecting an active queue overload and checking if a currently selected target data processing system is already active.

5. A data processing program for execution in a data processing system comprising software code portions for performing a method according to claim 2 when said program is run on said computer.

6. A computer program product stored on a computer usable medium, comprising computer readable program means for causing a computer to perform a method according to claim 2 when said program is run on said computer.

7. The method according to claim 1 , further comprising queuing a distribution/installation request in a request queue and setting the distribution/installation request into an active queue when a pre-specified time is exceeded.

8. The method according to claim 1 , further comprising detecting an active queue overload and checking if a currently selected target data processing system is already active.

9. A data processing program for execution in a data processing system comprising software code portions for performing a method according to claim 1 when said program is run on said computer.

10. A computer program product stored on a computer usable medium, comprising computer readable program means for causing a computer to perform a method according to claim 1 when said program is run on said computer.

11. The method according to claim 1 , further comprising queuing a distribution/installation request in a request queue and setting the distribution/installation request into an active queue when a pre-specified time is exceeded.

12. The method according to claim 1 , further comprising detecting an active queue overload and checking if a currently selected target data processing system is already active.

Assignments (13)
SECURITY INTEREST Recorded Sep 19, 2022
From: GENERAC POWER SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061476/0745 →
AMALGAMATION Recorded Jul 25, 2022
From: 1339416 B.C. LTD.; ECOBEE TECHNOLOGIES INC.
To: 1339416 B.C. LTD.
Reel/Frame 060907/0090 →
CONTINUED - CHANGE OF JURISDICTION Recorded Apr 26, 2022
From: ECOBEE INC.
To: ECOBEE TECHNOLOGIES INC.
Reel/Frame 059805/0101 →
CHANGE OF NAME Recorded Apr 26, 2022
From: 1339416 B.C. LTD.
To: ECOBEE TECHNOLOGIES ULC
Reel/Frame 059825/0668 →
AMALGAMATION Recorded Apr 26, 2022
From: 1339416 B.C. LTD.; ECOBEE TECHNOLOGIES INC.
To: 1339416 B.C. LTD.
Reel/Frame 059825/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: ECOBEE TECHNOLOGIES ULC
To: GENERAC HOLDINGS INC.
Reel/Frame 059713/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: GENERAC HOLDINGS INC.
To: GENERAC POWER SYSTEMS, INC.
Reel/Frame 059713/0799 →
CHANGE OF NAME Recorded Jan 31, 2022
From: ECOBEE INC.
To: ECOBEE TECHNOLOGIES INC.
Reel/Frame 058905/0211 →
CHANGE OF NAME Recorded Jan 31, 2022
From: 1339416 B.C. LTD.
To: ECOBEE TECHNOLOGIES ULC
Reel/Frame 058907/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: ECOBEE TECHNOLOGIES ULC
To: GENERAC HOLDINGS INC.
Reel/Frame 058917/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: GENERAC HOLDINGS INC.
To: GENERAC POWER SYSTEMS, INC.
Reel/Frame 058917/0161 →
MERGER AND CHANGE OF NAME Recorded Jan 31, 2022
From: 1339416 B.C. LTD.; ECOBEE TECHNOLOGIES INC.
To: 1339416 B.C. LTD.
Reel/Frame 061001/0949 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ECOBEE INC.
Reel/Frame 048721/0768 →