Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1995-10-27
2002-07-16
Jung, David (Department: 2175)
Data processing: database and file management or data structures
Database design
Data structure types
C709S241000, C709S241000, C707S793000
Reexamination Certificate
active
06421679
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a method of applying patches to computer program code concurrently with its execution on a machine and, more particularly, to a method of applying such concurrent patches to the logical partition manager of a logically partitioned system.
2. Description of the Related Art
Logically partitioned computer systems are well known in the art. Examples of such logically partitioned systems are described in U.S. Pat. No. 4,564,903 issued to Guyette et al. and U.S. Pat. No. 4,843,541 issued to Bean et al., as well as in the copending application of applicant Jeffrey P. Kubala, Ser. No. 08/335,609, now U.S. Pat. No. 5,564,040 filed Nov. 8, 1994, entitled “Apparatus and Method for Establishing Server Mode Partitions in a Logically Partitioned Data Processing System”, the specifications of which are incorporated herein by reference. Commercial embodiments of logically partitioned systems include those sold by the assignee of this application under the trademarks Processor Resource/Systems Manager and PR/SM.
Logical partitioning allows the establishment of a plurality of system images within a single physical computer system. Each system image, in turn, is capable of operating as if it were a separate and independent computer system. That is, each logical partition can be independently reset, initially loaded with an operating system that is potentially different for each logical partition, and operate with different software programs using different input/output (I/O) devices. Logical partitioning is in common use today because it provides its users with flexibility to change the number of logical partitions in use and the amount of physical system resources assigned to each partition, in some cases while the entire system continues to operate.
Computer users have long had a need for continuous non-disrupted operation. Activation of logical partition manager patches has, until now, required a power-on reset (POR), thereby disrupting system operation. It would be desirable, however, to have a means for applying program patches to logical partition manager code concurrently with its execution.
Concurrent patches have been previously applied to various types of computer system code. However, the conditions under which they are applied cannot be readily extended to the logical partition manager. Thus, central processor microcode patch is implemented by varying off one central processor at a time, updating the microcode for that central processor and varying it back on. A logical partition manager cannot do this because there is only one instantiation of logical partition manager microcode, not one per central processor. Also, central processor microcode cannot be patched on a uniprocessor without causing disruption of existent work load.
Channel and input/output (I/O) processor (IOP) microcode both maintain a second copy of their code which is updated during a concurrent patch. This is expensive in terms of storage. Also, the logical partition manager is unable to use this method because of its work queues and tables, which would have to be rebuilt in their entirety before switching to another copy of logical partition manager.
SUMMARY OF THE INVENTION
The present invention contemplates a method of replacing a current version of a program module with a replacement version of the module concurrently with the execution of the program on a computer system. For each entry point within the current version of said module to which the program may make address reference, a corresponding entry point within the replacement version of the module is determined. While execution of the program is suspended, each address reference in the program to an entry point within the current version of the module is replaced with an address reference to the corresponding entry point within the replacement version of the module. Execution of the program is resumed when each address reference to the current module has been replaced with one to the replacement module.
The present invention thus allows currently executing tasks to continue execution. Although the present invention is generally useful for applying concurrent patches to program code, it is especially useful for applying concurrent patches to the code of a logical partition manager, which exists in only one instantiation and does not have a backup copy. There is no disruption of tasks being executed by either the logical partitions or the logical partition manager. While a multiprocessor environment is described, logical partition manager or other program code concurrently patchable on a uniprocessor.
REFERENCES:
patent: 4028679 (1977-06-01), Divine
patent: 4028683 (1977-06-01), Divine et al.
patent: 4028684 (1977-06-01), Divine et al.
patent: 4141068 (1979-02-01), Mager et al.
patent: 4319343 (1982-03-01), Powell
patent: 4542453 (1985-09-01), Patrick et al.
patent: 4564903 (1986-01-01), Guyette et al.
patent: 4603399 (1986-07-01), Cheek et al.
patent: 4843541 (1989-06-01), Bean et al.
patent: 5204960 (1993-04-01), Smith et al.
patent: 5339430 (1994-08-01), Lundin et al.
patent: 5359730 (1994-10-01), Marron et al.
patent: 5367683 (1994-11-01), Brett
patent: 5379429 (1995-01-01), Hirasawa et al.
patent: 5410703 (1995-04-01), Nilsson et al.
patent: 5421017 (1995-05-01), Scholz et al.
patent: 5481713 (1996-01-01), Wetmore et al.
patent: 5537598 (1996-07-01), Kukula et al.
patent: 5594857 (1997-01-01), King et al.
patent: 2 043 308 (1979-08-01), None
patent: 3-192947 (1991-08-01), None
patent: 7-152575 (1995-06-01), None
patent: WO 94/27219 (1994-11-01), None
“A Compiler for Program Patches” by A. Marron, Research Disclosure, Nov. 1992, No. 343, Kenneth Mason Publications Ltd., England.
“Attributed Transformational Code Generation for Dynamic Compilers” by Boyland et al., Code Generation-Concepts, Tool, Techniques, Proceedings of The International Workshop-1992, pp. 227-254.
Chang Karen Udy
Hough Roger Eldred
Kubala Jeffrey Paul
Messinger Steven
Phillips Michael Burrill
Jung David
Kinnaman, Jr. William A.
LandOfFree
Concurrent patch to logical partition manager of a logically... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Concurrent patch to logical partition manager of a logically..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Concurrent patch to logical partition manager of a logically... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2825051