IP Library › Granted Patent US 10,938,934
Granted Patent B2
US 10,938,934 · App. 16/509,770 · Granted Mar 2, 2021

Managing dynamic configuration-based database connections using a proxy datasource

Inventors: Phillip Carl Adams (Cedar Park, TX); John Thomas Edward Timm (San Jose, CA); Nathan Jon Rauh (Rochester, MN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L67/2804G06F9/545G06F12/0808H04L67/1021H04L67/1097H04L67/28H04L67/327H04L67/34
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 10,938,934
App. No.
16/509,770
Granted
Mar 2, 2021
Kind
B2
Abstract

Methods for managing dynamic configuration-based database connections using a proxy datasource are disclosed. In embodiments, a method includes: receiving, by a proxy datasource of a computing device, a connection request for a connection to a database from a software application of the computing device, wherein the software application is in an application container environment; obtaining, by the proxy datasource of the computing device, configuration data associated with the connection request; creating, by the proxy datasource of the computing device, a concrete datasource according to the configuration data; and returning, by the proxy datasource of the computing device, the connection to the database to the software application.

Claims (40)

1. A computer-implemented method, comprising:

receiving, by a proxy datasource of a computing device, a connection request for a connection to a database from a software application of the computing device, wherein the request includes a database identifier identifying the database and configuration data associated with the database, wherein the software application is in an application container environment, and wherein the proxy datasource acts as a proxy to multiple concrete data sources and stores configuration data associated with multiple databases;

obtaining, by the proxy datasource of the computing device, the configuration data from the connection request;

creating, by the proxy datasource of the computing device, a first concrete datasource according to the configuration data; and

returning, by the proxy datasource of the computing device, the connection to the database to the software application, whereby the proxy datasource acts as an intermediary between the software application and the first concrete datasource to establish a connection between the software application and the first concrete datasource.

2. The computer-implemented method of claim 1 , further comprising dynamically updating, by the computing device, stored configuration data of the proxy datasource to configure a new datasource without restarting one or both of the software application and the application container environment.

3. The computer-implemented method of claim 1 , further comprising:

identifying, by the proxy datasource of the computing device, a change to the configuration data; and

marking for disposal cached datasource instances affected by the change to the configuration data.

4. The computer-implemented method of claim 3 , further comprising:

receiving, by the proxy datasource of the computing device, a new request for a database connection, wherein the change to the configuration data affects the new request; and

instantiating, by the proxy datasource of the computing device, a new datasource by the proxy datasource in response to the new request.

5. The computer-implemented method of claim 1 , further comprising:

requesting, by the software application of the computing device, the handle to the proxy datasource from the application container of the computing device; and

providing, by the application container of the computing device, the handle to the software application.

6. The computer-implemented method of claim 1 , further comprising communicating, by the software application of the computing device, with the database via the connection.

7. The computer-implemented method of claim 1 , further comprising performing, by the computing device, eXtended Architecture (XA) recovery during a recovery phase, wherein the proxy datasource provides to a transaction manager of the computing device a single logical XA resource that supplies recoverable Xids for multiple XA resources, enabling the transaction manager to recover transactional operations across the first concrete datasource and a second concrete datasource, wherein the first and second concrete datasources are represented by the proxy datasource.

8. The computer-implemented method of claim 1 , further comprising:

determining, by the proxy datasource of the computing device, that the first concrete datasource has not been created; and

instantiate, by the proxy datasource of the computing device, the first concrete datasource for the first database according to the configuration data upon determining that the first concrete datasource has not been created.

9. The computer-implemented method of claim 1 , further comprising:

storing, by the proxy datasource of the computing device, the configuration data associated with the first database as stored configuration data;

instantiate, by the proxy datasource of the computing device, a new concrete datasource by the proxy datasource in response to the new request; and

update dynamically, by the proxy datasource of the computing device, the stored configuration data based on the new concrete datasource.

10. The computer-implemented method of claim 1 , wherein the handle is a reference based on the configuration data.

11. The computer-implemented method of claim 1 , further comprising:

identifying, by the proxy datasource of the computing device, a change to the configuration data associated with the first database;

marking for disposal, by the proxy datasource of the computing device, cached datasource instances affected by the change to the configuration data associated with the first database;

providing, by the proxy datasource of the computing device, a single logical eXtended Architecture (XA) resource the supplies recoverable Xids for multiple XA resources to a transaction manager of the application container, whereby the transaction manager is enabled to agnostically recover transactional operations across multiple concrete datasources.

12. The computer-implemented method of claim 1 , further comprising:

storing, by the proxy datasource of the computing device, the configuration data associated with the database as stored configuration data, wherein the proxy datasource is configured to manage changes to configuration data dynamically by changes or removing the stored configuration data.

13. The computer-implemented method of claim 12 , further comprising:

receiving, by the proxy datasource of the computing device, a new connection request for a connection to the database from the software application of the computing device, wherein the request includes a database identifier identifying the database and new configuration data associated with the database;

identifying, by the proxy datasource of the computing device, a change in the configuration data associated with the database; and

instantiating, by the proxy datasource of the computing device, a new datasource in response to the new request.

14. The computer-implemented method of claim 13 , further comprising dynamically updating, by the computing device, the stored configuration data associated with the database without restarting one or both of the software application and the application container environment.

15. The computer-implemented method of claim 14 , further comprising:

receiving, by the proxy datasource of the computing device, another connection request for a connection to another database from the software application of the computing device, wherein the request includes a database identifier identifying the other database and configuration data associated with the other database;

instantiating, by the proxy datasource of the computing device, a new datasource in response to the other connection request based on the configuration data associated with the other database; and

storing, by the proxy datasource of the computing device, the configuration data associated with the other database as stored configuration data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2019
From: ADAMS, PHILLIP CARL; TIMM, JOHN THOMAS EDWARD; RAUH, NATHAN JON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049735/0218 →
Continuity (2)
Continuation 16411873 · May 14, 2019
Related Publication 20200366753A1 · Nov 19, 2020