Method of operating a data processing system having a dynamic software update facility
First Claim
1. The method of dynamically updating an old operating system program (hereinafter "old program") stored in a main memory of a data processing system (DPS) while said DPS is running and executing at least one task that accesses said old program from time to time in a multitasking mode, said method comprising:
- (A) storing in said memory a new program that is an updated version of said old program;
(B) establishing an executable safety point in said DPS which produces a machine observable safety point condition;
(C) storing in said memory a selectively settable first marker for indicating whether said one task is safe or unsafe for executing said new program, said first marker being initially set to indicate said one task is unsafe;
(D) executing said one task and entering said old program through an entry point therein;
(E) in response to entering said entry point, examining said first marker and in response to noting said one task is unsafe, passing control to said old program for execution thereof;
(F) executing said safety point to produce said safety point condition;
(G) in response to observing said safety point condition, setting said first marker to safe;
and (H) after said marker has been set to safe, executing said new program each time said first task enters said old program.
1 Assignment
0 Petitions
Accused Products
Abstract
A dynamic software update facility (DSUF) is installed in a data processing system for the purpose of non-disruptively replacing old operating system programs or modules with new updated versions thereof while providing continuous availability and operation of the system. The new versions are loaded into the system along with change instructions providing information controlling the update. Task or process control blocks contain markers indicating the corresponding tasks are safe or unsafe to run the new programs. The markers are set initially to unsafe. A change descriptor table is stored and contains control information derived from the change instructions. When the DSUF is activated, an interrupt handler is installed and traps are stored in the old programs at entry points and safety points therein. Entry point traps are tripped when a task or process enters the old program and interrupts are generated that are handled by the interrupt handler to route tasks which are unsafe to the old program and tasks which are safe to a new program. When all tasks are safe, the new programs replace the old programs. When safety point traps are tripped, a task or process may change its state from unsafe to safe when predetermined conditions are met.
-
Citations
19 Claims
-
1. The method of dynamically updating an old operating system program (hereinafter "old program") stored in a main memory of a data processing system (DPS) while said DPS is running and executing at least one task that accesses said old program from time to time in a multitasking mode, said method comprising:
-
(A) storing in said memory a new program that is an updated version of said old program; (B) establishing an executable safety point in said DPS which produces a machine observable safety point condition; (C) storing in said memory a selectively settable first marker for indicating whether said one task is safe or unsafe for executing said new program, said first marker being initially set to indicate said one task is unsafe; (D) executing said one task and entering said old program through an entry point therein; (E) in response to entering said entry point, examining said first marker and in response to noting said one task is unsafe, passing control to said old program for execution thereof; (F) executing said safety point to produce said safety point condition; (G) in response to observing said safety point condition, setting said first marker to safe; and (H) after said marker has been set to safe, executing said new program each time said first task enters said old program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. The method of dynamically updating an old operating system program (hereinafter "old program") stored in a main memory of a data processing system (DPS) while said DPS is running and executing at least one task that accesses said old program from time to time, said method comprising:
-
(A) installing in said DPS a selectively activated dynamic software update facility (DSUF) having a trap processing routine; (B) storing in said memory prior to activation of said DSUF a new program and a status marker for said one task, said new program being an updated version of said old program, each status marker being selectively settable to indicate that said one task is safe or unsafe to execute said new program, said status marker being initially set to unsafe; (C) activating said DSUF by (C1) storing an entry point trap at each entry point into said old program, each entry point trap generating an entry point interrupt when such each trap is tripped, (C2) establishing a safety point in said DPS which safety point includes safety point code effective when executed to signify said one task is eligible to be marked safe and execute said new program, and (C3) installing in said DPS an interrupt handler for intercepting said entry point interrupt and executing said trap processing routine; (D), after activation of said DSUF, running said DPS to execute said one task and, in response to said one task entering said old program, performing steps comprising (D1) tripping said entry point trap to generate said entry point interrupt, and (D2) executing said trap processing routine in response to said entry point interrupt from step (D1) to examine said status marker and in response to noting said status is unsafe, branching to said old program for execution thereof; (E) further operating said system until said safety point code is executed and, in response thereto, setting said status marker safe; and (F) thereafter executing said new program each time said one task enters said old program and trips one of said entry point traps. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification