IP Library Granted Patent US 8,782,638
Granted Patent B2
US 8,782,638 · App. 13/300,026 · Granted Jul 15, 2014

Execution pathway for interfacing with legacy programs in a mainframe environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,782,638
App. No.
13/300,026
Granted
Jul 15, 2014
Kind
B2
Abstract

A computer-implemented method is provided for creating an execution path for interfacing with legacy programs in a mainframe computing environment. The method includes: creating a run-time environment for programs on a mainframe computer by an initiator program; initiating execution of a configuration program in the run-time environment by the initiator program, where the configuration program is written in the high level programming language; specifying user-defined parameters for a Java Virtual Machine to the configuration program; and creating a Java Virtual Machine in another run-time environment of the mainframe computer, where the JVM is created by the configuration program using the user-defined parameters.

Claims (34)

1. A computer-implemented method for creating an execution path for interfacing with a legacy program that is unable to create a Java Virtual Machine in a mainframe computing environment, comprising:

initiating execution of an initiator program using a script program executed by a z/OS operating system of a mainframe computer;

creating, by the initiator program, a first run-time environment for programs on the mainframe computer, where the creation of the runtime environment uses pre-initialization (PIPI) services of a Language Environment component of the z/OS operating system;

initiating execution of a configuration program in the first run-time environment by the initiator program, where the configuration program is written in a high level programming language that differs from the programming language of the legacy program;

specifying user-defined parameters for a Java Virtual Machine to the configuration program;

creating, by the configuration program, a Java Virtual Machine (JVM) in second run-time environment of the mainframe computer, where the JVM is created by the configuration program using the user-defined parameters and the second run-time environment differs from the first run-time environment; and

executing the legacy program in the first run-time environment, where the legacy program passes data to the configuration program which in turn invokes a Java method.

2. The computer-implemented method of claim 1 wherein creating a run-time environment further comprises initializing a Language Environment supported by the z/OS operating system.

3. The computer-implemented method of claim 1 further comprises disabling error handling by the run-time environment for the legacy program.

4. The computer-implemented method of claim 1 further comprises allocating a memory space by the initiator program; receiving by the initiator program an instruction from the legacy program; and storing a portion of the instruction in the memory space for subsequent retrieval.

5. The computer-implemented method of claim 1 wherein specifying user-defined parameters further comprises specifying a first path to Java itself, specifying a second path to executables for Java; and creating the Java Virtual Machine using the first and second paths.

6. The computer-implemented method of claim 1 wherein specifying user-defined parameters further comprises reading the user-defined parameters by the configuration program from a text file.

7. The computer-implemented method of claim 1 wherein the configuration program uses a Java Native Interface (JNI) to invoke Java methods.

8. The computer-implemented method of claim 1 further comprises initiating execution of the initiator program using a script program executed by an operating system of the mainframe computer, detecting by the configuration program an error as reported by the JNI, and outputting the detected error to a data file defined by the script program.

9. The computer-implemented method of claim 1 wherein the another run-time environment is further defined as a UNIX System Services component of the z/OS operating system.

10. A computer-implemented method for creating an execution path for interfacing with legacy programs in a mainframe computing environment, comprising:

initiating execution of an initiator program using Job Control Language executed by a z/OS operating system of the mainframe computer;

creating, by the initiator program, a run-time environment on a mainframe computer executing the z\OS operating system;

initiating, by the initiator program, execution of a configuration program in the run-time environment of the mainframe computer, where the configuration program is written in the high level programming language that differs from the programming language of the legacy program;

specifying user-defined parameters for a Java Virtual Machine to the configuration program;

creating, by the configuration program, a Java Virtual Machine (JVM) in another run-time environment of the mainframe computer, where the JVM is created by the configuration program using the user-defined parameters;

invoking Java methods by the configuration program via a Java Native Interface (JNI) associated with the JVM; and

detecting an error reported by the JNI and outputting the detected error by the configuration program to a data file defined by the Job Control Language.

11. The computer-implemented method of claim 10 further comprises creating the run-time environment using pre-initialization (PIPI) services of a Language Environment component of a z/OS operating system to create the run-time environment.

12. The computer-implemented method of claim 11 further comprises disabling error handling by the Language Environment for the legacy program.

13. The computer-implemented method of claim 10 further comprises allocating a memory space by the initiator program; receiving by the initiator program an instruction from the legacy program; and storing a portion of the instruction in the memory space for subsequent retrieval.

14. The computer-implemented method of claim 10 wherein specifying user-defined parameters further comprises specifying a first path to Java itself, specifying a second path to executables for Java; and creating the Java Virtual Machine using the first and second paths.

15. The computer-implemented method of claim 14 wherein specifying user-defined parameters further comprises reading the user-defined parameters by the configuration program from a text file.

16. A computer-implemented method for creating an execution path for interfacing secondary application programs with a legacy program in a mainframe computing environment, comprising:

creating, by an initiator program, a run-time environment for programs on a mainframe computer executing a z/OS operating system, where the creation of the run-time environment uses pre-initialization (PIPI) services of a Language Environment component of the z/OS operating system;

initiating execution of a configuration program in the run-time environment by the initiator program, where the configuration program is written in the high level programming language;

specifying user-defined parameters for a virtual machine to the configuration program; and

creating a virtual machine to support execution of the secondary application programs in another run-time environment of the mainframe computer, where the virtual machine is created by the configuration program using the user-defined parameters and the secondary application programs are written in a programming language that is different than the high level programming language of the configuration program.

17. The computer-implemented method of claim 16 wherein specifying user-defined parameters further comprises specifying a first path to the virtual machine itself, specifying a second path to executables associated with the virtual machine; and creating the virtual machine using the first and second paths.

Assignments (18)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052842/0166) Recorded Aug 5, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC. (AS SUCCESSOR-BY-MERGER TO COMPUWARE CORPORATION)
Reel/Frame 068316/0566 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052842/0277) Recorded Aug 5, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC. (AS SUCCESSOR-BY-MERGER TO COMPUWARE CORPORATION)
Reel/Frame 068316/0868 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
MERGER Recorded Apr 13, 2021
From: COMPUWARE CORPORATION
To: BMC SOFTWARE, INC.
Reel/Frame 055906/0332 →
SECURITY INTEREST Recorded Jun 4, 2020
From: COMPUWARE CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052842/0166 →
SECURITY INTEREST Recorded Jun 4, 2020
From: COMPUWARE CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052842/0277 →
SECURITY INTEREST Recorded Jun 4, 2020
From: COMPUWARE CORPORATION; BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 053467/0434 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT R/F 46690/0954 Recorded Jun 2, 2020
From: JEFFERIES FINANCE LLC
To: COMPUWARE CORPORATION
Reel/Frame 052806/0847 →
SECURITY INTEREST Recorded Aug 24, 2018
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046690/0954 →
RELEASE OF FIRST LIEN PATENT SECURITY AGREEMENT RECORDED AT REEL\FRAME 035200\0973 AND 035200\0955 Recorded Aug 23, 2018
From: JEFFERIES FINANCE LLC
To: DYNATRACE LLC; COMPUWARE CORPORATION
Reel/Frame 046922/0886 →
TERMINATION OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 035201/0065 Recorded Feb 14, 2018
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: COMPUWARE CORPORATION
Reel/Frame 045325/0384 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2015
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE, LLC
Reel/Frame 035200/0973 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2015
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE, LLC
Reel/Frame 035201/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2011
From: FALBY, WALTER; MICHALEK, GARY J.
To: COMPUWARE CORPORATION
Reel/Frame 027254/0511 →