Method and apparatus for updating software at remote locations
First Claim
1. A method of upgrading, from a central computer system, the executable code used in at least one remote computer system, comprising the steps of:
- storing in said central computer system a record of the executable code in use at said at least one remote computer system and executable code corresponding to the executable code used in said at least one remote computer system;
upgrading the corresponding executable code and recording the changes made to said corresponding executable code at said central computer system, wherein said changes are in the form of patches, each patch including at least one change to said corresponding executable code;
assigning first and second checksums to each said patch, said first checksum representing an image of the corresponding executable code before the patch is applied thereto and said second checksum representing an image of the corresponding executable code after the patch has been applied thereto;
establishing a communications link between said at least one remote computer system and said central computer system, said central computer system identifying said at least one remote computer system and examining said record to determine the executable code used therein;
examining said record to determine the changes that have been made to said corresponding executable code that have not been made to the executable code used at said at least one remote computer system;
transmitting the changes made to said corresponding executable code to said at least one remote computer system to upgrade the executable code therein; and
verifying transmission of the changes and examining the upgraded executable code used at said at least one remote computer system to ensure that the executable code used therein has been properly upgraded.
13 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for updating the software used in remote computer systems from a central computer system. The method includes storing in the central computer system, copies of the software executable used in each remote computer system. When the copies of the software in the central computer system are upgraded, for example, to correct the software, to add new facilities, to change user interfaces, to make cosmetic changes, to improve performance, etc., each change made to the software is monitored and stored. The remote computer systems are permitted access to the central computer system via communication links and the software in the remote computer systems and the corresponding software in the central computer system are compared. All of the changes that have been made to the software at the central computer system which have not been made to the corresponding software at the remote computer system accessing the central computer are detected. The detected changes are then transmitted to the remote computer system and applied to the software therein in order to upgrade the software in the remote computer system. The upgraded software in the remote computer system is examined to ensure that the software has been changed correctly. The method allows the software at the remote computer systems to be upgraded even while the software at the remote site is being used. The system and method also allow the software used in the remote computer systems to be upgraded when the remote computer systems use different versions of the software and allow the software to be upgraded in a variety of hardware environments and operating systems.
1131 Citations
32 Claims
-
1. A method of upgrading, from a central computer system, the executable code used in at least one remote computer system, comprising the steps of:
-
storing in said central computer system a record of the executable code in use at said at least one remote computer system and executable code corresponding to the executable code used in said at least one remote computer system; upgrading the corresponding executable code and recording the changes made to said corresponding executable code at said central computer system, wherein said changes are in the form of patches, each patch including at least one change to said corresponding executable code; assigning first and second checksums to each said patch, said first checksum representing an image of the corresponding executable code before the patch is applied thereto and said second checksum representing an image of the corresponding executable code after the patch has been applied thereto; establishing a communications link between said at least one remote computer system and said central computer system, said central computer system identifying said at least one remote computer system and examining said record to determine the executable code used therein; examining said record to determine the changes that have been made to said corresponding executable code that have not been made to the executable code used at said at least one remote computer system; transmitting the changes made to said corresponding executable code to said at least one remote computer system to upgrade the executable code therein; and verifying transmission of the changes and examining the upgraded executable code used at said at least one remote computer system to ensure that the executable code used therein has been properly upgraded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25)
-
-
21. A system for upgrading, from a central computer system, the executable code used in at least one remote computer system comprising:
-
storage means located in said central computer system for storing a record of the executable code in use at said at least one remote computer system and executable code corresponding to the executable code used in said at least one remote computer system; input means located at said central computer system for allowing the corresponding executable code stored therein to be upgraded; upgrade detection means located in said central computer system for detecting and recording automatically each change made to the corresponding executable code stored therein, wherein said changes are in the form of patches with each patch including at least one change to said corresponding executable code; checksum assignor means in said central computer system and said at least one remote computer system for assigning each patch a pair of checksums, said checksums representing an image of the corresponding executable code with and without the patch applied thereto; communication means for establishing a communication link between said at least one remote computer system and the central computer system; first identifying means located in said central computer system to identify said at least one remote computer system and to examine said record to determine the executable code used therein; second identifying means for examining said record to identify the changes that have been made to the corresponding executable code stored in said central computer system which have not been made tot he executable code in said at least one remote computer system; transmission means for transmitting the identified changes from said central computer system to said at least one remote computer system; and verification means at one of said central computer system and said at least one remote computer system for comparing the checksums assigned to said patch by said central computer system with those assigned by said at least one remote computer system thereby to ensure that each patch is received at said at least one computer system correctly. - View Dependent Claims (22, 23, 24, 26, 27, 28, 29, 30, 31, 32)
-
Specification