Method and apparatus for introducing program changes in program-controlled systems
First Claim
1. In a program-controlled processor system wherein processes are initiated and are executed by function calls to program functions stored in a program memory, a method of modifying said program functions during execution of said processes, said method comprising the steps of:
- generating a system sequence number;
assigning the present value of said system sequence number to each of said processes as a process sequence number at the time of initiation;
storing a modified version of a selected one of said program functions into said program memory while retaining a current version of said selected program function;
recording a decision function sequence number, the value of said decision function sequence number being beyond the present value of any process sequence number in a given direction;
changing said system sequence number in said given direction so that it reaches a value at least as far in said given direction as said decision function sequence number; and
in response to a function call by a calling process to execute said selected function, executing said current version if the process sequence number of said calling process is before said decision function sequence number in said given direction, and executing said modified version if the process sequence number of said calling process is at least as far as said decision function sequence number in said given direction.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement for introducing modifications in the program of a program-controlled system. Each time a modified version of a selected program function is stored in the system, it is tagged with a function sequence number; meanwhile, the original version of the program function is retained in the system. Each time a program process is initiated, it is tagged with a process sequence number. The two types of sequence numbers are assigned from a common source. Whenever the selected program function is called by a program process, a comparison is made between the process sequence number and the function sequence number. If the comparison indicates that the process was initiated before the modification was stored in the system, the original version of the selected program function is executed; otherwise, the modified version is executed. Thus, the original version or the modified version is used consistently throughout the active life of a process.
53 Citations
14 Claims
-
1. In a program-controlled processor system wherein processes are initiated and are executed by function calls to program functions stored in a program memory, a method of modifying said program functions during execution of said processes, said method comprising the steps of:
-
generating a system sequence number; assigning the present value of said system sequence number to each of said processes as a process sequence number at the time of initiation; storing a modified version of a selected one of said program functions into said program memory while retaining a current version of said selected program function; recording a decision function sequence number, the value of said decision function sequence number being beyond the present value of any process sequence number in a given direction; changing said system sequence number in said given direction so that it reaches a value at least as far in said given direction as said decision function sequence number; and in response to a function call by a calling process to execute said selected function, executing said current version if the process sequence number of said calling process is before said decision function sequence number in said given direction, and executing said modified version if the process sequence number of said calling process is at least as far as said decision function sequence number in said given direction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a program-controlled processor system wherein processes are initiated and executed by function calls to program functions stored in a program memory, means for modifying program functions during the execution of said processes, said means comprising:
-
means for storing a system sequence number; means associated with each process for storing a process sequence number; means for storing a current version of a selected one of said program functions; means for storing a modified version of said selected one of said program functions; means for storing a decision function sequence number associated with said modified version; processor means, operative under the control of instructions stored therein to store said current version in said means for storing said current version, to store said modified version in said means for storing said modified version, to generate and store a quantity in said means for storing a system sequence number, to copy said system sequence number into said means for storing a process sequence number when the associated process is initiated, at the time said modified version is stored, to store in said means for storing a decision function sequence number a quantity whose value exceeds at said time said modified version is stored the value of any process sequence number in a given direction, to change said system sequence number so that it reaches a value at least as far in said given direction as said decision function sequence number, to initiate execution of said current version of said selected function in response to a function call by a calling process to said selected function if the process sequence number of said calling process is before said decision function sequence number in said given direction and to initiate execution of said modified version of said selected function in response to a function call by said calling process to said selected function if the process sequence number of said calling process is at least as far as said decision function sequence number in said given direction. - View Dependent Claims (9, 10, 11)
-
-
12. In a program-controlled processor system, wherein task processes are initiated and are executed by function calls to program functions stored in a program memory,
means for modifying a selected program function during the execution of task processes said means comprising: -
first means for storing a current version of said selected program function; second means for storing a modified version of said selected program function; third means for storing data defining an activation time after which said modified version of said selected program function is to be used; and means for initiating execution of said current version if a process calling said program function was initiated before said activation time, and for initiating execution of said modified version if said process calling said selected program function was initiated after said activation time.
-
-
13. A program-controlled processor system in accordance with claim 15 further comprising:
-
system clock means for maintaining system date and time; process control means associated with each process for storing a process sequence number; in which said means for initiating execution comprise processor means, operative under the control of instructions stored therein, to store said system date and time as a process sequence number in said process control means whenever the associated process is initiated, to store data defining an activation time in said third means, to compare said activation time with the process sequence number of said process calling said selected program function prior to initiating execution of said selected program function, to initiate execution of said current version if said comparison indicates that the process sequence number of said process calling said selected program function is before said activation time, and to initiate execution of said modified version of said program function if said comparison does not indicate that the process sequence number of said process calling said selected function is before said activation time.
-
-
14. A program-controlled processor system in accordance with claim 16 in which said process control means comprise a memory location within a process control block associated with a process.
Specification