Method and apparatus for automatic software replacement
First Claim
1. A method for automatically updating software programs on a computer, comprising the steps, of:
- storing an updated version of a program at a designated location in a remote memory that is accessible to the computer;
launching a current version of the program that is stored in memory of the computer, wherein said current version carries out the following steps independent of functions performed by any resource external to said current version;
detecting whether a version of the program is stored in the designated location;
determining whether a detected version of the program stored at the designated location is more recent than the current version of the program which is running;
replacing the current version of the program with a more recent version that is stored at the designated location; and
subsequently executing the more recent version of the program on the computer.
2 Assignments
0 Petitions
Accused Products
Abstract
A software program running on a computer automatically replaces itself with a newer version in a completely automated fashion, without interruption of its primary function, and in a manner that is completely transparent to the user of the computer. This is achieved by means of a logic module that is incorporated into programs. The logic module performs the functions of locating and identifying other versions of its associated program, determining whether the other versions are older or newer than the currently running version, and replacing older versions of itself with a newer version. As part of this operation, the logic module can copy the newer version to its current location, move the older version to a secondary location, and remove older versions of itself that have been replaced by a newer version. The new version that is to replace an older version can reside on an individual computer, or can be present on a server to which a number of computers are connected via a network. With this arrangement, software upgrades can be effected in an efficient and automatic manner, without resort to any external resources.
396 Citations
30 Claims
-
1. A method for automatically updating software programs on a computer, comprising the steps, of:
-
storing an updated version of a program at a designated location in a remote memory that is accessible to the computer; launching a current version of the program that is stored in memory of the computer, wherein said current version carries out the following steps independent of functions performed by any resource external to said current version; detecting whether a version of the program is stored in the designated location; determining whether a detected version of the program stored at the designated location is more recent than the current version of the program which is running; replacing the current version of the program with a more recent version that is stored at the designated location; and subsequently executing the more recent version of the program on the computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for automatically updating software programs stored on a computer, comprising:
-
a first memory location that is accessible to the computer, for storing updated version of software programs, wherein said first memory is remotely located with respect to the computer; a second memory location for storing current versions of software programs to be executed on the computer; and a logic module incorporated in at least some of said software programs, said logic module including means for detecting whether an updated version of the program in which said module is incorporated is stored in said first memory location, and means for replacing the current version of the program with the updated version that is stored at said first memory location, wherein said means for replacing the current version of the program includes; i. means for copying the updated version of the program from said first memory location to said second memory location. ii. means for renaming the current version of the program to identify it as a stale version, and iii. means for moving the renamed version of the program to a third memory location. - View Dependent Claims (13, 14)
-
- 15. The system of claim l4 wherein said replacing means includes means for copying the updated version of the program from said first memory location to said second memory location, means for renaming the current version of the program to identify it as a stale version, and means for moving the renamed version of the program to a third memory location.
-
17. A computer-readable storage medium having stored therein a program which executes the steps of:
-
detecting whether another version of the program is present in a memory that is accessible to said program, wherein the accessible memory is remotely located with respect to the computer-readable storage medium; determining whether a detected version of the program is more recent than said program; and replacing itself with a more recent version of the program, wherein said replacing step includes the steps of; i. copying the more recent version of the program from said accessible memory to a predetermined storage area in which the current version of the program is stored. ii. renaming the currently executing version of the program to identify it as a stale version, and iii. moving the renamed version of the program to a storage area outside of the area where the more recent, copied version of the program is stored. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer network comprising:
-
a first computer; a first memory module containing a current version of a software application program; a second memory module, wherein said first computer includes means for downloading an updated version of the software application program into said second memory module; and a second computer having access to said first and said second memory modules, said second computer includes processing means for executing the current version of the software application program stored in said first memory module, wherein the current version of the software application program comprises; i. means for determining whether said second memory module contains an updated version of the software application program, and ii. means for replacing the current version of the software application program by the updated version if an updated version has been stored in said second memory module. - View Dependent Claims (28, 29, 30)
-
Specification