Method and apparatus for managing software in a network system
First Claim
1. A method for verifying a software subsystem stored on a network system (NS) device coupled to a server computer over a network, the method comprising the steps of:
- initiating a load of the software subsystem from a storage device associated with the NS device;
invoking, in response to initiating a load of the software subsystem, a software manager that verifies the software subsystem;
verifying whether the software subsystem has been altered since the software subsystem was originally stored on the NS device using the software manager; and
regenerating the software subsystem on the NS device using a software subsystem generator (SSG) if the software subsystem has been altered, and if the software subsystem has not been altered, continuing the load of the software subsystem.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and system for verifying and updating a software subsystem stored on a network system (NS) device is provided. A technique is provided, which verifies and corrects an altered or corrupt software subsystem in flash memory. The verification technique checks to verify that the software subsystem has not been altered since the software subsystem was originally stored on the network system (NS) device. If it has been altered, a software system generator regenerates the software system. Another technique is provided which ensures that the software subsystem in the NS device is updated properly. The latest versions of the software subsystem and corresponding software system generator are stored on a server coupled to the NS device over a network. The updated software system generator stored on the server is downloaded onto the NS device. The software subsystem is updated by invoking the updated software system generator. The software system generator generates an updated software subsystem, which replaces the software subsystem on the NS device.
172 Citations
27 Claims
-
1. A method for verifying a software subsystem stored on a network system (NS) device coupled to a server computer over a network, the method comprising the steps of:
-
initiating a load of the software subsystem from a storage device associated with the NS device;
invoking, in response to initiating a load of the software subsystem, a software manager that verifies the software subsystem;
verifying whether the software subsystem has been altered since the software subsystem was originally stored on the NS device using the software manager; and
regenerating the software subsystem on the NS device using a software subsystem generator (SSG) if the software subsystem has been altered, and if the software subsystem has not been altered, continuing the load of the software subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
generating a current check value from a set of numeric values associated with the software subsystem;
extracting an original check value generated from an original set of numeric values associated with the software subsystem when it was originally stored on the network system; and
comparing the current check value with the original check value to determine if the software subsystem was altered after the original check value was generated.
-
-
7. The method of claim 6 wherein the generating step includes the substep of generating the current check value utilizing a cyclic-redundancy check (CRC) technique.
-
8. The method of claim 6 wherein the extracting step includes the substep of extracting the original check value generated using a cyclic-redundancy check (CRC) technique.
-
9. The method of claim 1 wherein the regenerating step further includes the substeps of:
-
generating a new software subsystem to replace the altered software subsystem, wherein the new software subsystem is the software subsystem before it was altered; and
replacing the altered software subsystem with the new software subsystem.
-
-
10. The method of claim 1 further including the step of updating the software subsystem with the most recent version of the software subsystem, wherein the updating step further includes the steps of:
-
determining if the SSG on the network systems is the most recent version and has not been altered since it was created;
updating the SSG stored on the network system with the most recent version of the SSG when the SSG on the network systems has been altered or a more recent version of the SSG exists;
determining if the software subsystem loaded on the network system is the most recent version of the software subsystem compared with the software subsystem version the SSG is capable of generating; and
updating the software subsystem with the most recent version using the updated SSG when the software subsystem is not the most recent version of the software subsystem.
-
-
11. The method of claim 10 wherein the updating step further includes the substeps of:
-
obtaining the updated version of the SSG from the server; and
replacing the SSG on the network system with the updated version of the SSG.
-
-
12. A method for updating a software subsystem on a network system (NS) device, wherein the updated software subsystem is stored on a server computer coupled to the NS device over a network, including the steps of:
-
invoking a software manager on the NS device;
determining if a SSG on the network system is the most recent version and has not been altered since it was created using the software manager;
updating the SSG stored on the network system with the most recent version when a more recent version of the SSG exists or the SSG has been altered;
determining if the software subsystem on the network system is the most recent version of the software subsystem compared with the software subsystem version the updated SSG is capable of generating; and
loading the software subsystem when the software subsystem is the most recent version, and if the software subsystem is not the most recent version of the software subsystem, updating the software subsystem using the SSG. - View Dependent Claims (13)
obtaining the most recent version of the SSG from the server; and
replacing the SSG on the network system with the most recent version of the SSG.
-
-
14. An apparatus for verifying a software subsystem stored on a network system (NS) device which is coupled to a server computer over a network comprising:
-
an initiating module configured to initiate a load of the software subsystem from a storage device associated with the network system;
an invoking module configured to invoke a software manager that verifies the software subsystem in response to initiating a load of the software subsystem;
a verifying module configured to verify the software subsystem has not been altered since the software subsystem was originally stored on the network system using the software manager; and
a regenerating module configured to regenerate the software subsystem on the NS device using a SSG when the software subsystem has been altered, and if the software subsystem has not been altered, continuing the load of the software subsystem. - View Dependent Claims (15, 16, 17, 18, 19)
a generating module configured to generate a current check value from a set of numeric values associated with the software subsystem;
an extracting module configured to extract an original check value which was generated from an original set of numeric values associated with the software subsystem when it was originally stored on the network system; and
a comparing module configured to compare the current check value with the original check value to determine if the software subsystem was altered after the original check value was generated.
-
-
20. An apparatus for updating a software subsystem performed on a network system (NS) device wherein the updated software subsystem is stored on a server computer coupled to the NS device over a network, comprising:
-
an invoking module configured to invoke a software manager on the NS device;
a determining module configured to determine if a software subsystem generator (SSG) on the NS device is the most recent version and has not been altered since it was created using the software manager;
an updating module configured to update the SSG stored on the network system with the most recent version when a more recent version of the SSG exists or the SSG has been altered;
a determining module configured to determine if the software subsystem on the network system is the most recent version of the software subsystem compared with the software subsystem version the updated SSG is capable of generating; and
, an updating module configured to load the software subsystem when the software subsystem is the most recent version, and if the software subsystem is not the most recent version of the software subsystem, configured to update the software subsystem using the SSG.- View Dependent Claims (21)
an obtaining module configured to obtain the most recent version of the SSG from the server; and
a replacing module configured to replace the SSG on the network system with the most recent version of the SSG.
-
-
22. A computer program product capable of configuring a data processor to verify a software subsystem stored on a network system (NS) device coupled to a server computer over a network, the computer program product comprising program code to cause the data processor to perform the steps of:
-
initiating a load of the software subsystem from a storage device associated with the network system;
invoking a software manager that verifies the software subsystem in response to initiating a load of the software subsystem;
verifying the software subsystem has been altered since the software subsystem was originally stored on the network system using the software manager; and
regenerating the software subsystem using a software subsystem generator on the NS device if when the software subsystem has been altered, and if the software subsystem has not been altered, continuing the load of the software subsystem. - View Dependent Claims (23, 24, 25, 26, 27)
generating a current check value from a set of numeric values associated with the software subsystem;
extracting an original check value which was generated from an original set of numeric values associated with the software subsystem when it was originally stored on the network system; and
comparing the current check value with the original check value to determine if the software subsystem was corrupted after the original check value was generated.
-
-
25. The computer program product of claim 22 wherein the regenerating step further includes:
-
generating a new software subsystem to replace the software subsystem that was in existence before the software subsystem was altered; and
replacing the altered software subsystem with the new software subsystem.
-
-
26. The computer program product of claim 25 wherein the step of updating the SSG further includes the substeps of:
-
obtaining the updated version of the SSG from the server; and
replacing the SSG on the NS device with the updated version of the SSG.
-
-
27. The computer program product of claim 22 further including the step of updating the software subsystem with the most recent version of the software subsystem, wherein the updating step includes the substeps of:
-
determining if the software subsystem generator (SSG) on the network systems is the most recent version and has not been altered since it was created;
updating the SSG stored on the network system with the more recent version of the SSG when the SSG on the network systems has been altered or a more recent version of the SSG exists;
determining if the software subsystem loaded on the network system is the most recent version of the software subsystem compared with the software subsystem version the updated SSG is capable of generating; and
updating the software subsystem with the most recent version using the updated SSG when the software subsystem is not the most recent version of the software subsystem.
-
Specification