Electrical computers and digital processing systems: support – Digital data processing system initialization or configuration – Loading initialization program
Reexamination Certificate
1999-08-30
2004-04-13
Lee, Thomas (Department: 2185)
Electrical computers and digital processing systems: support
Digital data processing system initialization or configuration
Loading initialization program
C713S001000
Reexamination Certificate
active
06721882
ABSTRACT:
BACKGROUND OF THE INVENTION
This invention relates to a method and apparatus for warm starting a system where the system includes region(s) of software code incapable of warm starting. More particularly, the invention is directed to a warm starting technique that includes determining in which of a plurality of regions of the software code that the code was being executed when an initiation of a warm start occurred. The determination is based, in a preferred embodiment, on the status of flags associated with the plurality of regions of the software code. Based on the results of the determination, the method of the present invention proceeds in a variety of defined manners to return the system to normal operation.
While the invention is particularly directed to the art of warm starting software in a particular environment to support redundancy in a communication system, and will be thus described with specific reference thereto, it will be appreciated that the invention may have usefulness in other fields and applications. For example, the invention may be used in any application where software advantageously uses warm starting techniques.
By way of background, computer systems—such as those used in the field of telecommunications—typically include a control processor for controlling the operation of the system. If the control processor fails, all of the systems that it supports necessarily fail. A known approach for dealing with this difficulty is to provide a second, or redundant, control processor to the system. In these circumstances, if the main or active control processor fails, the redundant control processor assumes control in such a way so that the system is not impacted by the change of control processors to any great extent. Using so called “redundancy” techniques, processes in the system that are running at the time of failure can be maintained.
One way to support redundancy is to use warm starting techniques to facilitate the changeover of processor control. Generally, during a warm start, only the operating system is started or restarted. The remaining portions of the software, which may require some recovery from failure errors, are nonetheless able to maintain information about the rest of the system. Hardware is generally not reinitialized during a warm start. This is all in contrast to a “cold” start which typically requires a total rebooting of the system (hardware and software) and loss of all information in the system.
Warm starts can occur at any point during execution of code that is running in the system, including the situation where processor control is being changed from a main control processor to a redundant control processor in a redundant system. It is to be further appreciated that warm starts can also occur in the main processor when no control changeover occurs, whether or not a redundant processor is available. This being the case, warm starts sometimes occur when critical regions of a code are being executed, thus necessitating special treatment of the data and/or code for recovery purposes. In addition, in circumstances where regions of the code were not written to support warm starting, the entire system becomes incapable of being warm started.
The present invention contemplates a new and improved method and apparatus for warm starting a system utilizing software incapable of warm starting that resolves the above-referenced difficulties and others.
SUMMARY OF THE INVENTION
A method and apparatus for warm starting a system where the system includes regions of software code incapable of warm starting are provided.
In one aspect of the invention, the method comprises steps of initiating a warm start routine, terminating connections to external devices, initializing the warm start of the system by determining in which of the plurality of regions the code was being executed when the initiating occurred and, if the code of the first region was being executed when the initiating occurred, executing the warm start routine, or, if the code of the second region was being executed when the initiating occurred, reinitializing the code of the second region, auditing the system to determine whether other regions of the plurality of regions of the code were dependent on the code of the second region when the initiating occurred and reinitializing the other regions if the code of the second region is reinitialized, and reestablishing the external connections.
In a more limited aspect of the invention, the determining in which of the plurality of regions the code was being executed comprises determining the status of flags associated with the first region and the second region, the flags being set while the code is being executed in each region and subsequently reset.
In a still more limited aspect of the invention, the code includes a third region and the initializing includes cold starting the system if the code is executing in the third region when the initiating occurred.
In a still more limited aspect of the invention, the determining in which of the plurality of regions the code was being executed comprises determining the status of flags associated with the first region, the second region and the third region, the flags being set while the code is being executed in each region and subsequently reset.
In a still more limited aspect of the invention, the code includes another region and the initializing includes executing the warm start routine and subsequently restructuring data being manipulated if the code is executing in that region when the initiating occurred.
In a still more limited aspect of the invention, the determining in which of the plurality of regions the code was being executed comprises determining the status of flags associated with the regions, the flags being set while the code is being executed in each region and subsequently reset.
In another aspect of the invention, a method comprises steps of executing the code, selectively setting flags associated with first and second regions of the code when the code is being executed therein such that a flag remains in a set state while the code is being executed in the associated region, resetting each set flag after the code is fully executed in the associated region, initiating a warm start routine, determining which flag was set when the initiating occurred, executing the warm start routine if the flag associated with the first region is set, reinitializing the code of the second region if the flag associated with the second region is set, auditing the system to determine whether other regions of the plurality of regions of the code were dependent on the code of the second region when the initiating occurred, reinitializing the other regions if the code of the second region is reinitialized, and reestablishing the external connections.
In a more limited aspect of the invention, the code includes a third region and the method further comprises steps of selectively setting a flag associated with the third region when the code is being executed therein such that the flag remains in a set state while the code is being executed in the third region and cold starting the system if the flag associated with the third region was set when the initiating occurred.
In a still more limited aspect of the invention, the code includes another region and the method further comprises steps of selectively setting a flag associated with that region when the code is being executed therein such that the flag remains in a set state while the code is being executed in that region and executing the warm start routine and subsequently restructuring data being manipulated if the flag associated with that region was set when the initiating occurred.
In a still more limited aspect of the invention, the code includes a fourth region and the method further comprises steps of selectively setting a flag associated with the fourth region when the code is being executed therein such that the flag remains in a set state while the code is being executed in the fourth region and executing the warm start routine and subsequent
Cao Chun
Lee Thomas
Lucent Technologies - Inc.
LandOfFree
Method and apparatus for warm starting a system where the... 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 warm starting a system where the..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for warm starting a system where the... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3275041