IP Library Granted Patent US 9,218,401
Granted Patent B2
US 9,218,401 · App. 13/793,365 · Granted Dec 22, 2015

Systems and methods for remote access to DB2 databases

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 9,218,401
App. No.
13/793,365
Granted
Dec 22, 2015
Kind
B2
Abstract

Systems and methods are provided that allow client programs using APIs for accessing local DB2 databases to access DB2 systems on remote logical partitions and remote zSeries mainframes rather than from a local DB2 system. For example, a method may include intercepting a DB2 request using a documented API for accessing local DB2 databases from a client program executing on a source mainframe system. The method may also include selecting a destination mainframe system and sending a buffer including information from the request from the source mainframe system to the destination mainframe system and establishing, at the destination mainframe system, a DB2 connection with the DB2 system from the request. The method may further include receiving a response from the DB2 system, sending a buffer having information from the response from the destination mainframe system to the source mainframe system, and providing the information to the client program.

Claims (75)

1. A source mainframe computing system comprising:

at least one general processor;

at least one lower-cost processor;

a client program executing on the mainframe computing system, the client program configured to make a DB2 database request using a documented application program interface (API) for accessing local DB2 databases; and

a redirect subsystem configured to perform operations comprising:

intercepting the DB2 database request,

normalizing the DB2 database request using a lower-cost processor eligible service request block,

selecting a destination mainframe computing system to respond to the request, the selection being based on a map that associates remote DB2 database subsystems with corresponding destination mainframe computing systems,

scheduling a communication request directed to the destination mainframe computing system, the request including the normalized DB2 database request,

receiving a normalized response from the destination mainframe computing system,

resuming the lower-cost processor eligible service request block to convert the normalized response into a format appropriate for the documented API, and

providing the converted response to the client program.

2. The mainframe computing system of claim 1 , wherein the mainframe computing system is a first logical partition of a sysplex and the destination mainframe computing system is a second logical partition of the sysplex.

3. The mainframe computing system of claim 1 , wherein the DB2 database request specifies a first DB2 database subsystem and the response from the destination mainframe computing system is from a second DB2 database subsystem, the first DB2 database subsystem differing from the second DB2 database subsystem.

4. The mainframe computing system of claim 3 , wherein the first DB2 database subsystem has been relocated to a new LPAR as the second DB2 database subsystem to achieve load balancing.

5. The mainframe computing system of claim 1 , wherein the client program runs as a batch application.

6. The mainframe computing system of claim 5 , wherein intercepting the DB2 database request includes:

intercepting a load request made by an operating system to load the client program into memory;

detecting a call to the documented API; and

replacing the call to the documented API with a call to the redirect subsystem.

7. The mainframe computing system of claim 1 , wherein the client program runs on a Z/OS operating system.

8. The mainframe computing system of claim 1 , wherein the DB2 database request from the client is an implicit connection request and the redirect subsystem is further configured to perform operations comprising, prior to scheduling the communication request:

scheduling a communication request directed to the destination mainframe system, the communication request causing the destination mainframe system to open a connection with the particular DB2 database subsystem using a documented API; and

receiving a response from the destination mainframe system indicating the connection was opened.

9. A computer-implemented method comprising:

intercepting, at a source mainframe system, a DB2 database request from a client program executing on the source mainframe system, the request using a documented application program interface (API) for accessing a local DB2 database;

selecting a destination mainframe system to respond to the request, the selection being based on a particular DB2 database subsystem identified in the request and on a map that associates remote DB2 database subsystem with corresponding destination mainframe systems;

normalizing the DB2 database request using a lower-cost processor eligible service request block,

sending a buffer including the normalized request from the source mainframe system to the destination mainframe system;

establishing, at the destination mainframe system, a connection with the particular DB2 database subsystem;

sending the request to the particular DB2 database subsystem using the documented API;

receiving a response from the particular DB2 database subsystem;

normalizing the response;

sending a buffer having the normalized response from the destination mainframe system to the source mainframe system;

resuming the lower-cost processor eligible service request block to convert the normalized response into a format appropriate for the documented API; and

providing, at the source mainframe system, the converted response to the client program in a format appropriate for the documented API.

10. The method of claim 9 , wherein establishing a connection with the particular DB2 database subsystem occurs using the documented API.

11. The method of claim 9 , wherein the request from the client is an implicit connection request and the method further comprises, prior to sending the buffer from the source mainframe to the destination mainframe:

sending a buffer including information used to connect to the particular DB2 database subsystem from the source mainframe system to the destination mainframe system; and

opening, at the destination mainframe system, a connection with the particular DB2 database subsystem using a documented API.

12. The method of claim 9 , wherein the method further comprises:

determining, at the destination mainframe system, that the particular DB2 database subsystem cannot process the request; and

establishing, at the destination mainframe system, a DB2 database connection with another DB2 database subsystem that is in a data sharing group with the particular DB2 database subsystem.

13. The method of claim 9 , wherein the source mainframe system is a first logical partition (LPAR) of a sysplex and the destination mainframe system is a second LPAR of the sysplex.

14. The method of claim 9 , the method further comprising:

receiving an update to the map indicating the particular DB2 database subsystem has been relocated to a second destination mainframe system;

intercepting a second DB2 database request from the client program, the second DB2 database request being received after receiving the update and the second DB2 database request identifying the particular DB2 database subsystem;

selecting the second destination mainframe system to respond to the second DB2 database request;

sending a buffer including information from the second request from the source mainframe to the second destination mainframe;

receiving a buffer having information from a second response from the second destination mainframe; and

providing the information from the second response to the client program.

15. The method of claim 9 , wherein intercepting the DB2 database request includes:

intercepting a load request to load the client program into memory;

detecting a call to the documented API from the client program; and

replacing the call to the documented API with a call to libraries for a redirect subsystem that performs the selecting.

16. A destination mainframe system comprising:

at least one general processor;

at least one lower-cost processor;

a DB2 database subsystem including DB2 database executable code; and

a redirect subsystem configured to perform operations comprising:

notifying a source mainframe system of the existence of the DB2 database subsystem on the destination mainframe, the source mainframe lacking DB2 database executable code,

receiving a first buffer from the source mainframe system, the first buffer including information from a DB2 database request that identifies the DB2 database subsystem in a normalized format,

converting the information to a format used by a documented API for accessing a local DB2 database,

connecting to the DB2 database subsystem using the documented API,

making the request to the DB2 database subsystem using the documented API,

receiving a response from the DB2 database subsystem in a format appropriate for the documented API,

generating a second buffer having information from the response in the normalized format, and

sending the second buffer to the source mainframe system,

wherein the redirect subsystem is configured to perform at least generating the second buffer using a service request block eligible to run on the lower cost processor.

17. The mainframe system of claim 16 , wherein the request specifies a data sharing group and the mainframe system includes the data sharing group.

18. The mainframe system of claim 17 , wherein the DB2 database subsystem is one of a plurality of DB2 database subsystems in the data sharing group, and wherein the redirect subsystem is further configured to:

determine that the DB2 database subsystem is unavailable; and

queue the second buffer to a DB2 database connection task with another DB2 database subsystem from the plurality of DB2 database subsystems,

wherein the response is received from the another DB2 database subsystem.

19. The mainframe system of claim 16 , wherein converting the information includes adjusting pointers.

Assignments (13)
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 (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 →
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 →
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 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0189 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →