IP Library Granted Patent US 11,714,662
Granted Patent B2
US 11,714,662 · App. 17/241,568 · Granted Aug 1, 2023

Technique for reporting nested linking among applications in mainframe computing environment

Inventor: John Schmidt (White Lake, MI)
Assignee: BMC Software, Inc.
G06F9/44521G06F9/547
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 11,714,662
App. No.
17/241,568
Granted
Aug 1, 2023
Kind
B2
Abstract

A computer-implemented method is presented for reporting application programs linked to by an application running under an online transaction processor of a mainframe computing environment. An intercept program is implanted in an address space of the online transaction processor. A task executing outside of the address space of the online transaction processor identifies an address for a target domain gate program supported in a domain by the online transaction processor; identifies an address for an unused domain gate program supported in the domain by the online transaction processor; replaces the address for the unused domain gate program with the address for the target domain gate program; and replaces the address for the target domain gate program with an address for the intercept program.

Claims (58)

1. A computer-implemented method for reporting application programs linked to by an application running under an online transaction processor of a mainframe computing environment, comprising:

providing an intercept program in an address space of the on line transaction processor;

determining, using the intercept program, a program name for an application program linked to by the application;

storing, using the intercept program, the program name in a memory space accessible by tasks running in the address space of the online transaction processor;

identifying, using a task executing outside of the address space for the online transaction processor, an address for a target domain gate program supported in a domain of the online transaction processor;

identifying, using the task, an address for an unused domain gate program supported in the domain of the online transaction processor;

replacing, using the task, the address for the unused domain gate program with the address for the target domain gate program; and

replacing, using the task, the address for the target domain gate program with an address for the intercept program.

2. The method of claim 1 further comprises copying the intercept program into the address space of the online transaction processor by a performance monitor, where the task is executing in an address space assigned to the performance monitor.

3. The method of claim 1 wherein the target domain gate program includes a function that passes control to another application.

4. The method of claim 1 further comprises executing the intercept program during processing of the application by the online transaction processor.

5. The method of claim 4 further comprises the intercept program:

retrieving an identifier for an application task associated with execution of the application from a control block managed by the online transaction processor;

determining current time for linking to the application program;

determining a first accumulated central processing unit (CPU) time for the application task from a system call; and

storing in a work area for the intercept program the program name, along with the current time for linking to the application program, and the accumulated CPU time for the application task; and calling the target domain gate program.

6. The method of claim 5 further comprises executing the intercept program upon receiving control back from the target domain gate program.

7. The method of claim 6 further comprises the intercept program:

determining a current time;

calculating a difference between the current time and the current time for linking to the application program; and

using the identifier for the application task as an index, storing the program name, along with the difference, in the memory space.

8. The method of claim 6 further comprises the intercept program:

determining from a system call a second accumulated CPU time for the application task;

calculating a difference between the second accumulated CPU time and the first accumulated CPU time; and

using the identifier for the application task as an index, storing the program name, along with the difference, in the memory space.

9. A computer-implemented method for reporting application programs linked to by an application running under an online transaction processor of a mainframe computing environment, wherein the application is written in accordance with a given programming language, comprising:

providing an intercept program in an address space of the on line transaction processor;

determining, using the intercept program, a program name for an application program linked to by the application;

storing, using the intercept program, the program name in a memory space accessible by tasks running in the address space of the online transaction processor;

identifying, using a task executing outside of the address space of the online transaction processor, an address for a target library routine in an address table, where the target library routine is associated with the given programming language;

inserting, using the task, the address for the target library routine into the intercept program; and

replacing, using the task, the address for the target library routine in the address table with an address for the intercept program.

10. The method of claim 9 further comprises copying the intercept program into the address space of the online transaction processor by a performance monitor, where the task is executing in an address space assigned to the performance monitor.

11. The method of claim 9 further comprises identifying the address for the target library routine using an address table of pointers for subroutines associated with the given programming language.

12. The method of claim 9 wherein the given programming language is further defined as common business-oriented language (COBOL).

13. The method of claim 9 further comprises executing the intercept program during processing of the application by the online transaction processor.

14. The method of claim 13 further comprises the intercept program:

retrieving an identifier for an application task associated with execution of the application from a control block managed by the online transaction processor;

determining current time for linking to the application program;

determining a first accumulated central processing unit (CPU) time for the application task from a system call;

storing in a work area for the intercept program the program name, along with the current time for linking to the application program, and the accumulated CPU time for the application task; and

calling the target library routine.

15. The method of claim 13 further comprises executing the intercept program in response to a target domain gate program receiving control back from the target library routine.

16. The method of claim 15 further comprises the intercept program:

determining current time;

calculating a difference between the current time and the current time for linking to the application program; and

using the identifier for the task as an index, storing the program name, along with the difference, in the memory space.

17. The method of claim 15 further comprises the intercept program:

determining from a system call a second accumulated CPU time for the task;

calculating a difference between the second accumulated CPU time and a first accumulated CPU time; and

using the identifier for the application task as an index, storing the program name, along with the difference, in the memory space.

18. A computer-implemented system for reporting application programs linked to by an application running under an online transaction processor of a mainframe computing environment, comprising at least one processor and at least one memory storing instructions that are executable by the at least one processor, the instructions including:

an intercept program residing in an address space of the online transaction processor;

a domain table residing in the address space of the online transaction processor and storing addresses for domain gate programs supported in a domain of the online transaction processor; and

a performance monitor residing outside of the address space of the online transaction processor and configured, when executed by the at least one processor, to identify an address for a target domain gate program and an address for an unused domain gate program using the domain table,

wherein the performance monitor, when executed by the at least one processor, operates to replace the address for the unused domain gate program with the address for the target domain gate program and to replace the address of the target domain gate program with an address for the intercept program.

19. The computer-implemented system of claim 18 wherein, upon execution by the at least one processor, the intercept program determines a program name for an application program linked to by the application and stores the program name in a memory space accessible by tasks running in the address space of the online transaction processor.

20. The computer-implemented system of claim 18 further includes a memory copy routine residing in the address space of the online transaction processor which, when executed by the at least one processor, operates to copy a program name for the application program linked to by the application from the memory space accessible by tasks running in the address space of the on line transaction processor to a memory space assigned to the performance monitor.

Assignments (5)
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2021
From: SCHMIDT, JOHN
To: BMC SOFTWARE, INC.
Reel/Frame 056054/0717 →