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

Program execution management using process enclaves which define the scope of high-level language semantics and threads improving cooperation between processes written in multiple languages

Assignee: International Business Machines Corp
•
Filing: 1994-02-28
•
Granted: 1997-09-09
•
Expires: 2014-02-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for managing computer program execution is implemented in a set of callable run-time support services which allow processes written in single or multiple languages to cooperate and behave in a predictable and orderly manner. Three key program execution constructs are defined: process, enclave, and thread. The process is the highest level construct of the program execution. It consists of one or more enclaves. The enclave defines the scope of execution semantics defined by the high level languages. This includes the scope of application termination and the scope of name resolution for shared data, files and procedures. The enclave consists of one or more threads. The thread is the basic program execution unit with its own state of execution. A thread may execute concurrently with other threads. A thread may consist of a series of call invocations of procedures. These procedures may be written in different high level languages. The callable services provide means For creating and terminating these constructs. A request to terminate a process results in termination of all the enclaves (including threads) in the process. Terminating an enclave terminates all threads in the enclave. The termination request may be combined with signaling a termination condition allowing execution of registered condition handling exit routines.

Inventors

  • 👤 Tsuneo Horiguchi
  • 👤 Stephen Sherman Miller
  • 👤 Alfred William Shannon
  • 👤 William David Wallace

Bibliographic Details

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

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 151 words
A method, implemented in a computer system, of managing program execution, comprising the steps of: (1) initializing an activation of a high level language application program including creating a process, an initial enclave within the process and an initial thread of execution within the initial enclave, wherein said enclave is a logical run-time structure defining a scope of high level language semantics; (2) executing one or more requests from the initial thread to create an additional thread for concurrent execution with the initial thread in the initial enclave; (3) executing one or more requests from one of said threads to create an additional enclave in the process and to create a first thread of execution within said additional enclave; and (4) executing global high level language statements, in one of the threads, that are within the scope of high level language semantics of the enclave containing said one of the threads.
Claim 2
Independent Claim 151 words
A method, implemented in a computer system, of managing program execution, comprising the steps of: (1) initializing an activation of a high level language application program including creating a process, an initial enclave within the process and an initial thread of execution within the initial enclave, wherein said enclave is a logical run-time structure defining a scope of high level language semantics; (2) executing one or more requests from the initial thread to create an additional thread for concurrent execution with the initial thread in the initial enclave; (3) executing one or more requests from one of said threads to create an additional enclave in the process and to create a first thread of execution within said additional enclave; and (4) executing global high level language statements, in one of the threads, that are within the scope of high level language semantics of the enclave containing said one of the threads.
Claim 3
Dependent Claim 23 words
The method of claim 1 further comprising the step of executing one or more requests from said additional thread to create another thread.
Claim 4
Dependent Claim 31 words
The method of claim 1 further comprising the step of executing a request from one of the threads to create a second process with an associated enclave and thread of execution.
Claim 5
Dependent Claim 36 words
The method of claim 1 further comprising the step of executing a request from said high level language application program to terminate the process, thereby causing all enclaves and threads in the process to be terminated.
Claim 6
Dependent Claim 41 words
The method of claim 1 wherein step (3) further comprises the steps of: (1) suspending execution of the thread which created the additional enclave; and (2) transferring control to a main routine of the additional enclave making it the current enclave.
Claim 7
Dependent Claim 62 words
The method of claim 5 further comprising the steps of: (1) executing a request to terminate the current enclave, thereby causing all threads in the current enclave to be terminated; and (2) terminating the process if the current enclave is the only enclave of the process which has not been terminated, else resuming execution of the thread which created the additional enclave.
Claim 8
Dependent Claim 22 words
The method of claim 6 further comprising the step of signaling a termination condition for the current enclave before performing the termination.
Claim 9
Dependent Claim 82 words
The method of claim 1 further comprising the step of terminating the initial or additional enclave upon occurrence of any of the following events: (1) a request is made to terminate the initial or additional enclave; (2) execution of a high level language stop statement in the initial or additional enclave; (3) execution of a return from the main routine of the initial or additional enclave; or (4) termination of the associated initial or first thread of the initial or additional enclave.
Claim 10
Dependent Claim 18 words
The method of claim 1 wherein the enclaves contain procedures written in a plurality of high level languages.
Claim 11
Dependent Claim 13 words
The method of claim 1 wherein said process is an outermost run-time structure.
Claim 12
Independent Claim 155 words
A system for managing program execution in a computer system, comprising: (1) means for initializing an activation of a high level language application program including means for creating a process, an enclave within the process and an initial thread of execution within the initial enclave, wherein said enclave is a logical run-time structure defining a scope of high level language semantics; (2) means for executing one or more requests from the initial thread to create an additional thread for concurrent execution with the initial thread in the enclave; (3) means for executing one or more requests from one of said threads to create an additional enclave in the process and to create a first thread of execution within said additional enclave; and (4) means for executing global high level language statements, in one of the threads, that are within the scope of high level language semantics of the enclave containing said one of the threads.
Claim 13
Independent Claim 155 words
A system for managing program execution in a computer system, comprising: (1) means for initializing an activation of a high level language application program including means for creating a process, an enclave within the process and an initial thread of execution within the initial enclave, wherein said enclave is a logical run-time structure defining a scope of high level language semantics; (2) means for executing one or more requests from the initial thread to create an additional thread for concurrent execution with the initial thread in the enclave; (3) means for executing one or more requests from one of said threads to create an additional enclave in the process and to create a first thread of execution within said additional enclave; and (4) means for executing global high level language statements, in one of the threads, that are within the scope of high level language semantics of the enclave containing said one of the threads.
Claim 14
Dependent Claim 22 words
The system of claim 11 further comprising means for executing one or more requests from said additional thread to create other threads.
Claim 15
Dependent Claim 30 words
The system of claim 11 further comprising means for executing a request from one of said threads to create a second process with an associated enclave and thread of execution.
Claim 16
Dependent Claim 35 words
The system of claim 11 further comprising means for executing a request from said high level language application program to terminate the process, thereby causing all enclaves and threads in the process to be terminated.
Claim 17
Dependent Claim 42 words
The system of claim 11 wherein element (3) further comprises: (1) means for suspending execution of the thread which created the additional enclave; and (2) means for transferring control to a main routine of the additional enclave making it the current enclave.
Claim 18
Dependent Claim 63 words
The system of claim 15 further comprising: (1) means for executing a request to terminate the current enclave, thereby causing all threads in the current enclave to be terminated; and (2) means for terminating the process if the current enclave is the only enclave of the process which has not been terminated, else resuming execution of the thread which created the additional enclave.
Claim 19
Dependent Claim 21 words
The system of claim 16 further comprising means for signaling a termination condition for the current enclave before performing the termination.
Claim 20
Dependent Claim 80 words
The system of claim 11 further comprising means for terminating the initial or additional enclave upon occurrence any of the following events: (1) a request is made to terminate the initial or additional enclave; (2) execution of a high level language stop statement in the initial or additional enclave; (3) execution of a return from the main routine of the initial or additional enclave; or (4) termination of the associated initial or first thread of the initial or additional enclave.
Claim 21
Dependent Claim 18 words
The system of claim 11 wherein the enclaves contain procedures written in a plurality of high level languages.
Claim 22
Independent Claim 145 words
A method, implemented in a computer system, of managing program execution, comprising the steps of: (1) requesting by a high level language application program initialization of a program management construct which includes an initial process, an initial enclave within the process and an initial thread of execution within the initial enclave, wherein said enclave is a logical run-time structure defining a scope of high level language semantics; (2) requesting by the initial thread the initialization of one or more additional threads in the initial enclave; (3) requesting by an additional thread the initialization of one or more additional enclaves in the process to create a first thread of execution within each additional enclave; and (4) executing global high level language statements, in one of the threads, that are within the scope of high level language semantics of the enclave containing said one of the threads.
Claim 23
Independent Claim 145 words
A method, implemented in a computer system, of managing program execution, comprising the steps of: (1) requesting by a high level language application program initialization of a program management construct which includes an initial process, an initial enclave within the process and an initial thread of execution within the initial enclave, wherein said enclave is a logical run-time structure defining a scope of high level language semantics; (2) requesting by the initial thread the initialization of one or more additional threads in the initial enclave; (3) requesting by an additional thread the initialization of one or more additional enclaves in the process to create a first thread of execution within each additional enclave; and (4) executing global high level language statements, in one of the threads, that are within the scope of high level language semantics of the enclave containing said one of the threads.
Claim 24
Dependent Claim 24 words
The method of claim 20 wherein step (3) Further comprises calling an external service routine and passing in parameters which identify the additional enclave.

References Cited (Backward Citations)

US4685125A Cited
US4694396A Cited
US5014192A Cited
US5047925A Cited
US5060150A Cited
US5165018A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag