← Back to Patent Explorer
US5261097A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer system and method for executing command scripts using multiple synchronized threads

Assignee: Hewlett Packard Development Co LP
•
Filing: 1991-03-11
•
Granted: 1993-11-09
•
Expires: 2011-03-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A shell program is used in conjunction with a computer that has a multitasking operating system. The shell program interprets sequences of commands, submitted as scripts, and passes the interpreted commands on to the operating system for execution. The shell program accepts scripts which define distinct sets of commands that are to be executed in parallel, and also accepts conditional commands that synchronize the execution of specified sets of commands with other specified sets of commands. Scripts are executed by the shell by creating a thread of execution for each set of commands that is to be executed in parallel with other sets of commands. All the threads created by the shell program share a common address space so that status information from the various threads, as well as computational results generated by these threads, can be used by other ones of the threads to synchronize the execution of such threads.

Inventors

  • 👤 Paul D. Saxon

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 08:35
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/52

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 228 words
A multitasking computer system, comprising: a multitasking central processor; memory means coupled to said multitasking central processor, said memory means storing an operating system and a command processing shell program which processes commands submitted thereto; said multitasking computer system including: means for receiving a script of commands for processing by a parent thread of execution, said script defining sets of commands to be executed by said computer system; thread generating means for generating new threads of execution, each sharing a common address space with said parent thread of execution; command processing means for processing a subset of said commands in said script in said parent thread of execution and for processing other subsets of said commands in said script in each of said generated threads of execution; and synchronization means for synchronizing execution of said parent thread of execution with completion of at least one of said generated threads of execution, and for receiving completion status information from said at least one generated thread of execution, said completion status information indicating whether or not said generated thread of execution has been executed; said command processing means including conditional command processing means for processing conditional commands, including commands for comparing said received completion status information with specified criteria, and for performing specified tasks if said comparison indicates that said at least one generated thread of execution has been completed.
Claim 2
Dependent Claim 228 words
A multitasking computer system, comprising: a multitasking central processor; memory means coupled to said multitasking central processor, said memory means storing an operating system and a command processing shell program which processes commands submitted thereto; said multitasking computer system including: means for receiving a script of commands for processing by a parent thread of execution, said script defining sets of commands to be executed by said computer system; thread generating means for generating new threads of execution, each sharing a common address space with said parent thread of execution; command processing means for processing a subset of said commands in said script in said parent thread of execution and for processing other subsets of said commands in said script in each of said generated threads of execution; and synchronization means for synchronizing execution of said parent thread of execution with completion of at least one of said generated threads of execution, and for receiving completion status information from said at least one generated thread of execution, said completion status information indicating whether or not said generated thread of execution has been executed; said command processing means including conditional command processing means for processing conditional commands, including commands for comparing said received completion status information with specified criteria, and for performing specified tasks if said comparison indicates that said at least one generated thread of execution has been completed.
Claim 3
Dependent Claim 54 words
The multitasking computer system set forth in claim 1, wherein said script contains at least one thread-generation command for generating at least one subset of commands to be executed in a separate thread of execution, each new thread of execution being generated by said thread generating means in response to a said thread-generation command.
Claim 4
Dependent Claim 121 words
The multitasking computer system set forth in claim 1, said thread generating means including means for specifying a set of global parameter variables, corresponding to each said generated thread of execution, wherein each said set of global parameter variables are accessible by both said parent thread of execution and the corresponding generated thread of execution; said command processing means including means for storing information in said specified set of global parameter variables corresponding to a first said generated thread of execution while processing commands in said first generated thread of execution; whereby said information stored in said specified sets of global parameter variables during processing of commands in said generated threads of execution is accessible by said parent thread of execution.
Claim 5
Dependent Claim 36 words
The multitasking computer system set forth in claim 3, wherein said information stored in said specified sets of global parameter variables during processing of commands in said generated threads of execution includes said completion status information.
Claim 6
Dependent Claim 84 words
The multitasking computer system set forth in claim 3, wherein at least one of said commands, processed by said command processing means in a first said generated thread of execution, performs a specified computation, generating at least one computed result which is then stored by said command processing means in specified ones of said global parameter variables corresponding to said first generated thread of execution; whereby computational results generated in said first generated thread of execution is accessible by said parent thread of execution.
Claim 7
Independent Claim 179 words
A method of processing commands submitted to a multitasking computer system, wherein the method is implemented by the multitasking computer system, executing the steps of: initiating execution of a parent thread of execution, said parent thread of execution for interpreting a script of commands, said script defining sets of commands to be executed by said computer system; generating additional, new threads of execution, each sharing a common address space with said parent thread of execution; processing a subset of said commands in said script in each of said generated threads of execution; and synchronizing execution of said parent thread of execution with completion of at least one said generated thread of execution, and for receiving completion status information from said at least one generated thread of execution, said completion status information indicating whether or not said generated thread of execution has been executed; processing conditional commands, including commands for comparing said received completion status information with specified criteria, and for performing specified tasks if said comparison indicates that said at least one generated thread of execution has been completed.
Claim 8
Independent Claim 179 words
A method of processing commands submitted to a multitasking computer system, wherein the method is implemented by the multitasking computer system, executing the steps of: initiating execution of a parent thread of execution, said parent thread of execution for interpreting a script of commands, said script defining sets of commands to be executed by said computer system; generating additional, new threads of execution, each sharing a common address space with said parent thread of execution; processing a subset of said commands in said script in each of said generated threads of execution; and synchronizing execution of said parent thread of execution with completion of at least one said generated thread of execution, and for receiving completion status information from said at least one generated thread of execution, said completion status information indicating whether or not said generated thread of execution has been executed; processing conditional commands, including commands for comparing said received completion status information with specified criteria, and for performing specified tasks if said comparison indicates that said at least one generated thread of execution has been completed.
Claim 9
Dependent Claim 49 words
The method of claim 6, wherein said script contains at least one thread-generation command for generating at least one subset of commands to be executed in a separate thread of execution, each new thread of execution being generated by said generating step in response to a said thread-generation command.
Claim 10
Dependent Claim 113 words
The method of claim 6, said thread generating step including specifying a set of global parameter variables, corresponding to each said generated thread of execution, wherein each said set of global parameter variables are accessible by both said parent thread of execution and the corresponding generated thread of execution; said command processing step including storing information in said specified set of global parameter variables corresponding to a first said generated thread of execution while processing commands in said first generated thread of execution; whereby said information stored in said specified sets of global parameter variables during processing of commands in said generated threads of execution is accessible by said parent thread of execution.
Claim 11
Dependent Claim 32 words
The method of claim 8, wherein said information stored in said specified sets of global parameter variables during processing of commands in said generated threads of execution includes said completion status information.
Claim 12
Dependent Claim 77 words
The method of claim 8, wherein at least one of said commands, processed by said command processing step in a first said generated thread of execution, performs a specified computation and generating at least one computed result; and storing said computed result in specified ones of said global parameter variables corresponding to said first generated thread of execution; whereby computational results generated in said first generated thread of execution is accessible by said parent thread of execution.

References Cited (Backward Citations)

US4800521A Cited
US4901230A Cited
US4901231A Cited
US4953078A Cited
US5050071A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-11-08 1997-05-10 1997-11-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-11-08 2001-05-10 2001-11-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-11-08 2005-05-10 2005-11-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag