IP Library Granted Patent US 11,323,397
Granted Patent B2
US 11,323,397 · App. 16/705,545 · Granted May 3, 2022

Systems and methods for intercepting access to messaging systems

Inventors: Dale G. Wood (Spring Branch, TX); Michael L. Perry (Austin, TX)
Assignee: BMC Software, Inc.
H04L51/046G06F9/4401G06F9/4416G06F9/541G06F9/546H04L61/2023G06F2209/542
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,323,397
App. No.
16/705,545
Granted
May 3, 2022
Kind
B2
Abstract

Systems and methods are provided that intercept access to mainframe computing systems' messaging systems. For example, a method may include using a replacement messaging interface adapter to intercept a messaging request being directed from a client program to a messaging interface module of a messaging subsystem that is identified by a messaging stub interface module that implements a documented messaging interface. The method may also include performing an auxiliary function on the messaging request. The method may additionally include transmitting the messaging request to the messaging interface module of the messaging subsystem. The method may further include receiving a response from the messaging subsystem. Additionally, the method may include providing the response to the client program.

Claims (52)

1. A mainframe computing system comprising:

at least one processor;

at least one memory comprising instructions that, when executed, cause the at least one processor to implement a client program on the mainframe computing system and to implement an interception subsystem, the client program configured to make messaging requests via a messaging stub interface module that implements a messaging interface; and

the interception subsystem configured to perform operations including:

receiving a messaging request from the client program via a replacement messaging interface adapter, the messaging request being directed to a messaging interface adapter that is identified by the messaging stub interface module, the replacement messaging interface adapter configured to intercept messages directed to the messaging interface adapter, wherein the client program originates from a Customer Information Control System (CICS) subsystem and the interception subsystem includes an intercept bootstrap module, a server component, and an interceptor module, the CICS subsystem being configured to call the intercept bootstrap module during initialization, the intercept bootstrap module being configured to call the server component and the intercept bootstrap module being configured to modify an entry point address associated with the messaging interface adapter to point to the replacement messaging interface adapter,

performing an auxiliary function on the messaging request,

transmitting the messaging request to a messaging subsystem,

receiving a response from the messaging subsystem, and

providing the response to the client program.

2. The mainframe computing system of claim 1 , further comprising:

generating a first program call number associated with the intercept bootstrap module and a second program call number associated with a program call routine of the server component; and

installing the first program call number in a program list table of a transaction processing subsystem to cause the transaction processing subsystem to execute the intercept bootstrap module.

3. The mainframe computing system of claim 2 , wherein the intercept bootstrap module causes the server component to install the interceptor module and the first program call number, the server component being further triggered to initialize the second program call number for use with the intercept bootstrap module.

4. The mainframe computing system of claim 2 , wherein the first program call number is used for subsequent communication with the messaging subsystem.

5. The mainframe computing system of claim 1 , wherein the auxiliary function comprises compressing the messaging request.

6. The mainframe computing system of claim 1 , wherein the auxiliary function comprises:

monitoring performance, the monitoring including measuring a time between transmitting the messaging request to the messaging subsystem and receiving the response from the messaging subsystem; and

capturing information about resource utilization for the messaging request.

7. A computer program product being tangibly embodied on a non-transitory computer-readable medium and including executable code that, when executed, causes a mainframe computing system:

to implement a client program on the computing system and to implement an interception subsystem, the client program configured to make messaging requests via a messaging stub interface module that implements a messaging interface; and

the interception subsystem configured to perform operations including:

receiving a messaging request from the client program via a replacement messaging interface adapter, the messaging request being directed to a messaging interface adapter that is identified by the messaging stub interface module, the replacement messaging interface adapter configured to intercept messages directed to the messaging interface adapter, wherein the client program originates from a Customer Information Control System (CICS) subsystem and the interception subsystem includes an intercept bootstrap module, a server component, and an interceptor module, the CICS subsystem being configured to call the intercept bootstrap module during initialization, the intercept bootstrap module being configured to call the server component and the intercept bootstrap module being configured to modify an entry point address associated with the messaging interface adapter to point to the replacement messaging interface adapter,

performing an auxiliary function on the messaging request,

transmitting the messaging request to a messaging subsystem,

receiving a response from the messaging subsystem, and

providing the response to the client program.

8. The computer program product of claim 7 , further comprising executable code that, when executed, causes the mainframe computing system to:

generate a first program call number associated with the intercept bootstrap module and a second program call number associated with a program call routine of the server component; and

install the first program call number in a program list table of a transaction processing subsystem to cause the transaction processing subsystem to execute the intercept bootstrap module.

9. The computer program product of claim 8 , wherein the first program call number is used for subsequent communication with the messaging subsystem.

10. The computer program product of claim 7 , wherein the auxiliary function comprises compressing the messaging request.

11. The computer program product of claim 7 , wherein the auxiliary function comprises:

monitoring performance, the monitoring including measuring a time between transmitting the messaging request to the messaging subsystem and receiving the response from the messaging subsystem; and

capturing information about resource utilization for the messaging request.

12. A mainframe computing system comprising:

at least one processor;

at least one memory comprising instructions that, when executed, cause the at least one processor to implement a transaction processing subsystem, an interception subsystem, and a client program, the client program configured to execute within the transaction processing subsystem and to make messaging requests via a messaging stub interface module that implements a messaging interface; and

the interception subsystem that includes:

a server component that executes in a privileged mode and performs a server initialization routine prior to initialization of the transaction processing subsystem,

an intercept bootstrap module that is configured to execute during initialization of the transaction processing subsystem, and

a replacement messaging interface adapter configured to:

replace a messaging interface adapter that is identified by the messaging stub interface module, and

receive a messaging request from the client program via the replacement messaging interface adapter, the messaging request being directed to a messaging interface adapter that is identified by the messaging stub interface module, the replacement messaging interface adapter configured to intercept messages directed to the messaging interface adapter, wherein the client program originates from a Customer Information Control System (CICS) subsystem and the interception subsystem, the CICS subsystem being configured to call the intercept bootstrap module during initialization, the intercept bootstrap module being configured to call the server component and the intercept bootstrap module being configured to modify an entry point address associated with the messaging interface adapter to point to the replacement messaging interface adapter.

13. The mainframe computing system of claim 12 , further comprising:

generating a first program call number associated with the intercept bootstrap module and a second program call number associated with a program call routine of the server component; and

installing the first program call number in a program list table of the transaction processing subsystem to cause the transaction processing subsystem to execute the intercept bootstrap module.

14. The mainframe computing system of claim 13 , wherein the intercept bootstrap module causes the server component to install the interception subsystem and the first program call number, the server component being further triggered to initialize the second program call number for use with the intercept bootstrap module.

15. The mainframe computing system of claim 13 , wherein the first program call number is used for subsequent communication with the messaging subsystem.

16. The mainframe computing system of claim 12 , further comprising performing an auxiliary function on the messaging request, wherein the auxiliary function comprises compressing the messaging request.

17. The mainframe computing system of claim 12 , further comprising performing an auxiliary function on the messaging request, wherein the auxiliary function includes:

monitoring performance, the monitoring including measuring a time between transmitting the messaging request to the messaging subsystem and receiving a response; and

capturing information about resource utilization for the messaging request.

Assignments (11)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
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 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: WOOD, DALE G.; PERRY, MICHAEL L.
To: BMC SOFTWARE, INC.
Reel/Frame 051488/0630 →