Method of recording, playback, and re-execution of concurrently running application program operational commands using global time stamps
First Claim
1. A method of operating a digital computer comprising the steps of:
- a) executing application programs, at least two of the application programs being executed concurrently, and while executing each application program, recording for said each application program operational commands which control execution of said each application program and are received from an operator, and recording in association with each operational command a time stamp indicating when said each operational command was received from the operator, and determining from the time stamps a global sequence in which the operator issued the operational commands to the application programs; and
b) re-executing the application programs, and controlling the re-execution of the application programs by issuing said each operational command recorded for said each application program to said each application program, the recorded operational commands being issued to the application programs in the determined global sequence in which the operator issued the operational commands to the application programs.
2 Assignments
0 Petitions
Accused Products
Abstract
An operator of a digital computer system issues a series of operational commands to respective concurrently executing application programs. Each application program includes a client executive routine that records the application program'"'"'s operational commands and an associated time stamp indicating when the operational command was received from the operator. The operational commands and the time stamps are transferred to a core executive program that records a script of the operational commands. The core executive determines from the time stamps a global sequence in which the operator issued the operational commands to the application programs. In a playback mode, the computer system re-executes the application programs by issuing the operational commands from the script memory to the application programs in the determined global sequence. In a preferred embodiment, the core executive determines a sequence identifier for each operational command. During the playback mode, the core executive transmits to a command cache for each application program the respective sequence numbers and operational commands having been issued to the application program, and each client executive consecutively issues the operational commands in its application program'"'"'s command cache until the sequence identifiers indicate that a next operational command in the global sequence is found in the command cache for another application program, at which time the client executive sends a synchronization message to the client executive of the other application program.
20 Citations
6 Claims
-
1. A method of operating a digital computer comprising the steps of:
-
a) executing application programs, at least two of the application programs being executed concurrently, and while executing each application program, recording for said each application program operational commands which control execution of said each application program and are received from an operator, and recording in association with each operational command a time stamp indicating when said each operational command was received from the operator, and determining from the time stamps a global sequence in which the operator issued the operational commands to the application programs; and b) re-executing the application programs, and controlling the re-execution of the application programs by issuing said each operational command recorded for said each application program to said each application program, the recorded operational commands being issued to the application programs in the determined global sequence in which the operator issued the operational commands to the application programs. - View Dependent Claims (2)
-
-
3. A method of operating a digital computer comprising the steps of:
-
a) executing application programs, at least two of the application programs being executed concurrently, and while executing each application program, recording operational commands which control execution of said each application program and are received from an operator; and
thenb) re-executing each application program, and controlling the re-execution of said each application program according to the operational commands recorded for said each application program during the execution of said each application program; wherein said step a) includes recording the operational commands for said each application program in a respective command cache for said each application program, recording time stamps in said command cache for said each application program, said time stamps including a time stamp for each of said operational commands for said each application program, said time stamp for said each of said operational commands indicating a time at which said each of said operational commands was received from said operator, transferring said operational commands for said each application program from said command cache for said each application program to a script memory, and determining from said time stamps a global sequence in which the operator issued the operational commands to the application programs, and wherein said step b) includes issuing each operational command recorded for said each application program to said each application program, the recorded operational commands being issued to the application programs in the determined global sequence in which the operator issued the operational commands to the application programs. - View Dependent Claims (4, 5)
-
-
6. A method of operating a digital computer in accordance with recorded operational commands, each of said operational commands controlling execution of a respective application program, said recorded operational commands each having an associated sequence identifier identifying each command as having a respective position in a predefined sequence of command execution beginning with a first position, the operational commands for each application program being stored in a respective command cache for said each application program, said method comprising the steps of:
-
a) executing said each application program by; (i) when the command cache for said each application program includes the operational command having a sequence identifier identifying said first position in said predefined sequence, executing said each application program under control of said operational command having a sequence identifier identifying said first position in said predefined sequence; (ii) after executing said each application program under control of one of said operational commands from said command cache for said each application program, checking whether said command cache for said each application program includes an operational command having a sequence identifier identifying a next operational command following said one of said operational commands in said predefined sequence, and when said command cache for said each application program includes an operational command having a sequence identifier identifying said next operational command following said one of said operational commands in said predefined sequence, executing said each application program under control of said next operational command following said one of said operational commands in said predefined sequence, and when said command cache for said each application program does not include said next operational command following said one of said operational commands in said predefined sequence, sending a synchronization message to another one of said application programs having in its cache said next operational command following said one of said operational commands in said predefined sequence, and (b) when said synchronization message is received by said another one of said application programs, executing said another one of said application programs under control of said next operational command following said one of said operational commands in said predefined sequence.
-
Specification