IP Library Granted Patent US 7,188,111
Granted Patent B2
US 7,188,111 · App. 10/617,826 · Granted Mar 6, 2007

System and method for connectivity to structured query language database

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 7,188,111
App. No.
10/617,826
Granted
Mar 6, 2007
Kind
B2
Abstract

A system and method for conducting distributed transactions wherein a connect JDBC™ driver for a Microsoft™ SQL Server implements Java™ JTA distributed transactions. To conduct the JTA distributed transactions, JTA specific interfaces are engineered in the driver. The JDBC™ driver is a wire protocol driver in direct TCP communication with the SQL server. During communication, the JDBC™ driver sends packets of information back and forth to and from the database server. These packets may request information form the server, or instruct the server to perform a function, such as executing a stored procedure.

Claims (40)

1. A system for connecting an application to a database having a database management system in order to perform a transaction, said application residing on an application server and said database residing on a database server, said system comprising:

a software driver for connecting said application to said database, wherein a transaction request is made from said application to said database via said software driver;

a distributed transaction coordinator unit residing on said database server, said distributed transaction coordinator including a dynamic load library that provides distributed transaction management control, and being arranged for receiving said transaction request;

a software transaction switch residing on said database server, said transaction switch being arranged for routing said transaction request to the distributed transaction coordinator; and

a software library residing on said database server, said software library including at least one procedure for mapping said transaction request to said transaction switch, wherein said at least one procedure communicates with said transaction switch to start a transaction process in said database based upon said transaction request, and said database receives results of said transaction process and returns results to said distributed transaction coordinator, which returns said results to said application.

2. The system of claim 1 , wherein said software driver is a wire protocol driver that provides direct TCP communications sessions with the database server.

3. The system of claim 2 wherein said wire protocol driver includes interfaces to allow the database server to implement JTA distributed transactions.

4. The system of claim 1 , wherein said software driver is arranged to send request packets to said database to execute said at least one procedure.

5. The system of claim 1 , wherein said software transaction switch is arranged to make calls to said distributed transaction coordinator upon receipt of the transaction request.

6. A system for connecting an application to a database having a database management system in order to perform a transaction, said application and said database residing on a database server, said system comprising:

a software driver for connecting said application to said database, wherein a transaction request is made from said application to said database via said software driver;

a distributed transaction coordinator unit residing on said database server, said distributed transaction coordinator including a dynamic load library that provides distributed transaction management control, and being arranged for receiving said transaction request;

a software transaction switch residing on said database server, said software transaction switch being arranged for routing said transaction request to the distributed transaction coordinator; and

a software library residing on said database server, said software library including at least one procedure for mapping said transaction request to said transaction switch, wherein said at least one procedure communicates with said transaction switch to start a transaction process in said database based upon said transaction request, and said database receives results of said transaction process and returns results to said distributed transaction coordinator, which returns said results to said application.

7. A method for performing a distributed transaction by connecting an application to a database having a database management system, said application residing on an application server and said database residing on a database server, comprising:

making a transaction request, by sending a request packet from said application server to said database to execute at least one of a plurality of stored procedures on said database;

mapping said transaction request to a transaction switch residing on said database server using at least one of said stored procedures;

sending said transaction request, via said transaction switch, to a dynamic load library in a distributed transaction coordinator residing on said database server, wherein said dynamic load library provides distributed transaction management control, and said at least one procedure communicates with said transaction switch to start a transaction process in said database based upon said transaction request, and said database receives results of said transaction process and returns results to said distributed transaction coordinator;

returning said results to the application server; and

reporting said results of said transaction request to the application.

8. The method of claim 7 , further comprising: storing said stored procedures in a library residing on said database.

9. The method of claim 7 , wherein sending a request packet includes: sending said request packet via a wire protocol driver.

10. The method of claim 9 , further comprising: including interfaces in said wire protocol for implementing JTA distributed transactions.

11. The method of claim 9 , further comprising: allowing a transaction to enlist a distributed transaction with at least one of said stored procedures.

12. The method of claim 7 , wherein mapping said transaction request to said transaction switch includes making calls into a switch library residing on said database server to connect the application to the database.

13. A method for performing a distributed transaction by connecting an application to a database having a database management system, said application residing on an application server and said database residing on a database server, comprising:

transmitting a start request transmitted from said application to said database;

calling an extended stored procedure from a plurality of stored procedures stored in said database based on said start request, said extended stored procedure for mapping said start request to a transaction switch residing on said database server;

calling, by the extended stored procedure, a start function in a transaction switch library of said transaction switch residing on said database server;

obtaining, by the extended stored procedure, a transaction ID responsive to said start function from said database at a distributed transaction coordinator that includes a dynamic load library that provides distributed transaction management control;

returning said transaction ID to said application server; and

sending a data packet to said database along with the transaction ID instructing the database server to enlist a specified transaction in a distributed transaction.

14. The method of claim 13 , wherein returning said transaction ID includes: returning the transaction ID in the form of a transaction cookie.

15. The method of claim 13 wherein transmitting said start request includes: transmitting the start request via a driver on the application server.

16. The method of claim 13 , further comprising: storing said plurality of stored procedures in a library located on said database.

17. The method of claim 13 , wherein sending a data packet includes: sending said data packet via a wire protocol driver.

18. The method of claim 17 further comprising: including interfaces in said wire protocol driver for connecting to said database.

19. The method of claim 13 , further comprising: allowing a transaction to enlist a distributed transaction with one of said plurality of procedures.

20. The method of claim 13 , further including: at least one of said plurality of procedures making calls into said transaction switch library to connect the application to the database.

21. The method of claim 13 , further including: said transaction switch library making calls to said distributed transaction coordinator.

Assignments (8)
SECURITY INTEREST Recorded Jan 25, 2022
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058840/0099 →
SECURITY INTEREST Recorded Apr 30, 2019
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., ADMINISTRATIVE AGENT
Reel/Frame 049031/0684 →
SECURITY INTEREST Recorded Dec 2, 2014
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 034504/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2008
From: DATADIRECT TECHNOLOGIES CORP.
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 020649/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2004
From: DIAMOND ACQUISITION CORP.
To: DATADIRECT TECHNOLOGIES CORP.
Reel/Frame 015180/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2003
From: DATADIRECT TECHNOLOGIES (A CAYMAN ISLANDS COMPANY)
To: DIAMOND ACQUISITION CORP.
Reel/Frame 014229/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2003
From: DATADIRECT TECHNOLOGY, INC.
To: DATADIRECT TECHNOLOGIES
Reel/Frame 014813/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2003
From: CHEN, JUN; GOODSON, JOHN; COPPENS, PETER
To: DATADIRECT TECHNOLOGIES, INC.
Reel/Frame 014807/0356 →