Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-05-19
2001-12-11
Powell, Mark R. (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C714S004110, C714S038110, C709S241000, C709S221000
Reexamination Certificate
active
06330715
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention generally relates to network systems and more particularly, to a method and apparatus for managing software in a network system.
2. Description of the Related Art
An increasing reliance on computers has made them a necessity in the modem world. Computers and embedded systems are used in a wide range of environments from office desktops to manufacturing shop floors. Over the years, computer companies have competed over price and performance to fulfill the needs of computers in these marketplaces. Recently, there has also been a race to increase performance while reducing the “total cost of ownership”. Total cost of ownership is a term used to describe both the cost of purchasing the computer system as well as the cost of maintaining the system over its useful life.
Reducing the total cost of ownership, however, is typically not compromised with performance and features. High performance computer systems that are easy to use and inexpensive to maintain has become the mantra in the computer industry. Consequently, new computer systems, telephone switches, and other computer assisted devices must offer a lower purchase price, a lower cost of maintenance, and an increasing number of features.
Network system (NS) devices have reduced the total cost of ownership significantly by off-loading complex configuration information and software to a central server. NS devices are generally coupled to a larger computer server over a network to provide software configuration information, software updates, and processing capabilities. As a consequence, NS devices, such as Network Computers (NC) and Personal Digital Assistants (PDA), do not require large amounts of local disk drive storage and memory. Instead, NS devices are coupled to the central server over high speed networks, which deliver the latest software updates and configuration information on demand. This reduces maintenance costs because software updates are applied to a central server rather than each individual NS device.
NS devices are also less expensive to administer because users can't easily modify configuration information. Generally, critical configuration information is kept on the server where only the administrator can make changes. This prevents users from accidentally making configuration changes that could impact individual computer system performance or bring down an entire network. This aspect of NS devices protects the users as well as the integrity of the overall system.
To accommodate these various requirements, NS devices generally store a small operating system or core routines in fast access flash memory. Flash memory has lower maintenance costs than typical disk drives because it has no moving parts and a much lower likelihood of system failure. The operating system stored in flash memory can boot the NS device, connect the NS device to a network, download code from a server as needed, and provide a user interface to the various services provided on the server systems. For example, a “bootp” protocol stored in flash memory boots the device and connects the device to the network. A “tftp” (trivial file transfer protocol) service burned into flash memory enables the NS device to download files from the network to access the latest software applications. More sophisticated operating systems may include more advanced protocols to boot a device and download data.
A “burning” process is used to store the operating system instructions into flash memory. These instructions stored in flash memory are maintained even when the device is turned off. Flash memory, also known as flash erasable programmable read only memory, (FEPROM) is a type of nonvolatile storage similar to electrical erasable programmable read only memory (EEPROM). Flash memory is advantageous compared to EEPROMs because flash can be reprogrammed with the flash chip installed in the NS device. Consequently, an NS device with flash memory can typically be upgraded in the field without upgrading or swapping out hardware on the NS device.
Conventional NS devices, however, generally upgrade the software in flash memory as a single unit or in large blocks of flash memory. These upgrades, which are typically performed over a network, can overwrite crucial portions of the operating system that allow the device to boot and download files. If a network failure or system failure occurs part way through an update and corrupts the boot routine in the operating system, the NS device could be left inoperable. This could impact distributed telephone switches that distribute call processing tasks to NS devices having flash memory. For example, severe telephone outages could occur if the NS devices on a distributed telephone switching system were not upgraded properly.
Managing software in the flash memory of an NS device is also difficult because of protocol changes and version changes that might occur on the server machines. Typically, basic operating system routines burned in flash rely on certain protocols and versions of software existing on a server machine. For example, a conventional operating system for an NS device generally can only use the “bootp” protocol and the “tftp” protocol if they are compatible with the corresponding software versions and protocols on a server machine. The NS device will not boot if the “bootp” protocol on the server is upgraded to a new version of software that is incompatible with the NS device. Applications like “tftp” will also not work on the NS device if they are out of date compared to the software on the server.
Ideally, NS devices should be robust enough to continue operating even if several errors or subsystem failures occur. Currently, however, NS devices and the corresponding subsystems are not designed this way. A failure in an important subsystem within an existing NS device can cause overall system failure or severe performance degradation. This can require expensive and extensive repairs or upgrades before the NS device can resume operating. For example, it may be necessary to actually replace a flash memory device within a NS device if the executable image in flash memory is corrupted or contains an incompatible version. Diagnosing and solving these type of problems can require several hours of analysis and may be very expensive.
Accordingly, it is desirable to improve software management on NS devices.
SUMMARY OF THE INVENTION
A method and system for verifying a software subsystem stored on a network system (NS) device is provided. Typically, the NS device is coupled to a server computer over a network. Initially, the method and system initiates a load of the software subsystem from a storage device associated with the NS device. A check is made to verify that the software subsystem has not been altered since the software subsystem was originally stored on the NS device. When it is discovered that the software subsystem has been altered, the software subsystem is regenerated using a software subsystem generator.
In another aspect of the present invention, a method and system is provided for updating the software subsystem on the NS device. The latest version of the software subsystem can be stored on a server coupled to the NS device over a network. Initially, the method and system determines if the software subsystem generator on the NS device is the most recent version. When the software subsystem generator on the NS device is not the most recent version, the software subsystem generator stored on the NS device is updated with the more recent version of the software subsystem generator stored on the server. The method and system determines if the software subsystem loaded on the NS device is the most recent version of the software subsystem compared with the software subsystem version the updated software subsystem generator is capable of generating. When the software subsystem on the NS device is not the most recent version, the software subsystem is updated by invoking the updated software subsystem generator. The software subsystem genera
Das Chameli C.
Finnegan Henderson Farabow Garrett & Dunner L.L.P.
Nortel Networks Limited
Powell Mark R.
LandOfFree
Method and apparatus for managing software in a network system does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for managing software in a network system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for managing software in a network system will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2558555