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

Virtual software machine for enabling CICS application software to run on UNIX based computer systems

Assignee: BEA Systems Inc
•
Filing: 1996-01-26
•
Granted: 1999-12-21
•
Expires: 2016-01-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention relates to a virtual software machine for providing a virtual execution environment in a target computer for an application software program having one or more execution dependencies that are incompatible with a software execution environment on the target computer. The machine comprises a plurality of independent processes, and a virtual control mechanism having a virtual management interface (VMI) for generating requests for execution to the plurality of independent processes and receiving results of such processing. The requests for execution and the results are communicated via a message exchange mechanism. The machine also includes a pre-processor for generating a pre-processed application program in which the execution dependencies are masked. A compiler/linker receives the pre-processed application program and the virtual control mechanism and generates executable code for the operating system of the target computer. A run-time module of the machine is run by the operating system of the target computer for executing the application software program in the target computer despite the execution dependency that is incompatible with the target computer system software execution environment.

Inventors

  • 👤 Kiritkumar Talati
  • 👤 C. Willard Lackie

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 22:32
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 384 words
A virtual software machine having a management interface for providing a virtual execution environment in a target computer system for an application software program written to execute in a CICS execution environment and having one or more execution dependencies that are incompatible with a UNIX-based software execution environment on the target computer system, comprising: a plurality of independent processes; a management interface for generating requests for execution to the plurality of independent processes and for receiving results of such processing; a message exchange mechanism comprising send and receive messages for communicating the requests for execution to the plurality of independent processes and for communicating the results of such processing back to the management interface via a plurality of message passing locations each unique to and dedicated to one of the plurality of independent processes; pre-processing means for identifying at least one CICS execution dependency of the application software program and in response thereto generating a pre-processed application software program that isolates the identified CICS execution dependency from the application software program; means connected to the pre-processing means for converting the pre-processed application software program and the management interface into executable code for the target computer; and run-time means run by the operating system of the target computer system for executing the application software program in the target computer system despite the CICS execution dependency that is incompatible with the target computer system UNIX-based software execution environment, wherein the run-time means comprises: means for generating a request for execution when the CICS execution dependency is encountered as the executable code is running in the target computer system; means connected to the generating means for evaluating the request for execution to identify which of the plurality of independent processes is required to execute the request for execution; means connected to the evaluating means for delivering the request for execution to the identified independent process via a message to one of the plurality of message passing locations that is unique to and dedicated to the identified independent process; means connected to the delivering means for processing the request for execution using the identified independent process to thereby execute the request; and means for returning results of the executed request back to the management interface via a message to the one of the plurality of message passing locations.
Claim 2
Dependent Claim 384 words
A virtual software machine having a management interface for providing a virtual execution environment in a target computer system for an application software program written to execute in a CICS execution environment and having one or more execution dependencies that are incompatible with a UNIX-based software execution environment on the target computer system, comprising: a plurality of independent processes; a management interface for generating requests for execution to the plurality of independent processes and for receiving results of such processing; a message exchange mechanism comprising send and receive messages for communicating the requests for execution to the plurality of independent processes and for communicating the results of such processing back to the management interface via a plurality of message passing locations each unique to and dedicated to one of the plurality of independent processes; pre-processing means for identifying at least one CICS execution dependency of the application software program and in response thereto generating a pre-processed application software program that isolates the identified CICS execution dependency from the application software program; means connected to the pre-processing means for converting the pre-processed application software program and the management interface into executable code for the target computer; and run-time means run by the operating system of the target computer system for executing the application software program in the target computer system despite the CICS execution dependency that is incompatible with the target computer system UNIX-based software execution environment, wherein the run-time means comprises: means for generating a request for execution when the CICS execution dependency is encountered as the executable code is running in the target computer system; means connected to the generating means for evaluating the request for execution to identify which of the plurality of independent processes is required to execute the request for execution; means connected to the evaluating means for delivering the request for execution to the identified independent process via a message to one of the plurality of message passing locations that is unique to and dedicated to the identified independent process; means connected to the delivering means for processing the request for execution using the identified independent process to thereby execute the request; and means for returning results of the executed request back to the management interface via a message to the one of the plurality of message passing locations.
Claim 3
Dependent Claim 30 words
The virtual software machine as described in claim 1, wherein the plurality of independent processes include a database interface process for storing and retrieving data from a database management system.
Claim 4
Dependent Claim 31 words
The virtual software machine as described in claim 2, wherein the plurality of independent processes include a data access interface process for managing data to and from the database management system.
Claim 5
Dependent Claim 32 words
The virtual software machine as described in claim 1, wherein the plurality of independent processes include a presentation interface process for controlling data presentation on input/output devices of the target computer system.
Claim 6
Dependent Claim 20 words
The virtual software machine as described in claim 1, wherein the plurality of independent processes include a journal interface process.
Claim 7
Dependent Claim 21 words
The virtual software machine as described in claim 1, wherein the plurality of independent processes include a task storage interface process.
Claim 8
Dependent Claim 307 words
A virtual software machine, comprising: a plurality of independent processes; a management interface for generating requests for execution to the plurality of independent processes and for receiving the results of such processing; a message exchange mechanism for communicating the requests for execution to the plurality of independent processes and for communicating the results of such processing back to the management interface, the message exchange mechanism comprising a plurality of message passing locations each unique to and dedicated to one of the plurality of independent processes; pre-processing means for identifying at least one CICS execution dependency of an application software program and in response thereto generating a pre-processed application software program that isolates the identified CICS execution dependency from the application software program; means for converting the pre-processed application software program and the management interface into code executable by a target computer; and means for executing the application software program in a UNIX-based software execution environment on the target computer, comprising; means for generating a request for execution when a CICS execution dependency is encountered as the executable code is running in the target computer; means connected to the generating means for evaluating the request for execution to identify which of the plurality of independent processes is required to execute the request for execution; means connected to the evaluating means for delivering the request for execution to the identified independent process via one of the plurality of message passing locations in the message exchange mechanism that is unique to and dedicated to the identified independent process; means connected to the delivering means for processing the request for execution using the identified independent process to thereby execute the request; and means for returning results of the executed request back to the management interface via the one of the plurality of identified message passing locations in the message exchange mechanism.
Claim 9
Dependent Claim 307 words
A virtual software machine, comprising: a plurality of independent processes; a management interface for generating requests for execution to the plurality of independent processes and for receiving the results of such processing; a message exchange mechanism for communicating the requests for execution to the plurality of independent processes and for communicating the results of such processing back to the management interface, the message exchange mechanism comprising a plurality of message passing locations each unique to and dedicated to one of the plurality of independent processes; pre-processing means for identifying at least one CICS execution dependency of an application software program and in response thereto generating a pre-processed application software program that isolates the identified CICS execution dependency from the application software program; means for converting the pre-processed application software program and the management interface into code executable by a target computer; and means for executing the application software program in a UNIX-based software execution environment on the target computer, comprising; means for generating a request for execution when a CICS execution dependency is encountered as the executable code is running in the target computer; means connected to the generating means for evaluating the request for execution to identify which of the plurality of independent processes is required to execute the request for execution; means connected to the evaluating means for delivering the request for execution to the identified independent process via one of the plurality of message passing locations in the message exchange mechanism that is unique to and dedicated to the identified independent process; means connected to the delivering means for processing the request for execution using the identified independent process to thereby execute the request; and means for returning results of the executed request back to the management interface via the one of the plurality of identified message passing locations in the message exchange mechanism.
Claim 10
Independent Claim 280 words
A method for providing a virtual execution environment in a target computer, comprising: a. identifying, by a pre-processing means, at least one CICS execution dependency of an application software program and in response thereto generating a pre-processed application software program which isolates the identified CICS execution dependency from the application software program; b. converting, by a compiler means, the pre-processed application software program and a management interface into object codes; c. creating executable code where the management interface is substituted for the identified CICS execution dependency of the application software program; d. generating a message exchange mechanism means employing a storage area in the target computer, the storage area comprising a plurality of messaae passing locations each unique to and dedicated to one of the plurality of independent processes; e. generating a request for execution when the CICS execution dependency is encountered as the executable code is running in a UNIX-based software execution environment on the target computer; f. evaluating the request for execution to identify which of the plurality of independent processes is required to execute the request for execution; g. delivering the request for execution to the identified independent process via one of the plurality of message passing locations in the storage area that is unique to and dedicated to the identified independent process; h. processing the request for execution using the identified independent process to thereby execute the request; and i. returning results of the executed request back to the management interface via the one of the plurality of messaae passing locations such that the application software program is executed despite the CICS execution dependency that is in compatible with the target computer's UNIX-based software execution environment.
Claim 11
Independent Claim 280 words
A method for providing a virtual execution environment in a target computer, comprising: a. identifying, by a pre-processing means, at least one CICS execution dependency of an application software program and in response thereto generating a pre-processed application software program which isolates the identified CICS execution dependency from the application software program; b. converting, by a compiler means, the pre-processed application software program and a management interface into object codes; c. creating executable code where the management interface is substituted for the identified CICS execution dependency of the application software program; d. generating a message exchange mechanism means employing a storage area in the target computer, the storage area comprising a plurality of messaae passing locations each unique to and dedicated to one of the plurality of independent processes; e. generating a request for execution when the CICS execution dependency is encountered as the executable code is running in a UNIX-based software execution environment on the target computer; f. evaluating the request for execution to identify which of the plurality of independent processes is required to execute the request for execution; g. delivering the request for execution to the identified independent process via one of the plurality of message passing locations in the storage area that is unique to and dedicated to the identified independent process; h. processing the request for execution using the identified independent process to thereby execute the request; and i. returning results of the executed request back to the management interface via the one of the plurality of messaae passing locations such that the application software program is executed despite the CICS execution dependency that is in compatible with the target computer's UNIX-based software execution environment.
Claim 12
Dependent Claim 30 words
The method as described in claim 8, further comprising: assigning each independent process a unique address in the storage area prior to running the executable code in the target computer.

References Cited (Backward Citations)

US4205371A Cited
US4525780A Cited
US4727480A Cited
US4792895A Cited
US4714995A Cited
US4875186A Cited
US4827404A Cited
US4961133A Cited
US5067072A Cited
US5261090A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-20 2003-06-21 2003-12-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-20 2007-06-21 2007-12-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-20 2011-06-21 2011-12-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag