Method for distributed transaction support using JDBC 1.0...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06411956

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to transaction support in a distributed object computing environment and more particularly, to a method for distributed transaction support using JDBC 1.0 drivers.
2. Description of the Related Art
Java DataBase Connectivity or JDBC is a generic SQL database access applications program interface (API) for the Java programming language. This API provides a uniform interface to a variety of different database modules, allowing programmers to write a single database interface for accessing a variety of different databases. The original JDBC 1.0 specification has recently been updated by the release of a JDBC 2.0 core API specification, version 1.0, May 30, 1998 and a JDBC 2.0 Standard Extension API specification, version 1.0, Dec. 7, 1998, the disclosures of which are herein incorporated by reference.
As shown in
FIG. 1
, when a database connection is obtained from a JDBC 1.0 driver, all database accesses done through that connection will be performed by the transaction specific to that connection. For example, if there are three database connections C
1
, C
2
, C
3
the work done through the three connections will be isolated into three separate, independent transactions T
1
, T
2
, T
3
.
The JDBC 2.0 Standard Extension API defines support for distributed transactions using the standard two-phase commit protocol defined in the Java Transaction API (JTA). This feature allows multiple JDBC connections to multiple databases to be coordinated under the same global transaction. In other words, a series of work by individual components is grouped into one single unit of work, i.e. a single transaction. For example, as illustrated in
FIG. 2
, with a JDBC 2.0 Standard Extension driver it is possible to obtain multiple database connections C
4
, C
5
, C
6
such that they are all enlisted in the same global transaction T
4
. In other words, all the work done through these connections C
4
, C
5
, C
6
are part of the same global transaction T
4
.
Support for the JDBC 2.0 Standard Extension API, however, is optional and many databases only provide JDBC 1.0 drivers. The JDBC 1.0 drivers do not include distributed transaction support as defined in the JDBC 2.0 Standard Extension. It would thus be desirable to provide limited distributed transaction support using JDBC 1.0 drivers, without the need for a JDBC 2.0 Standard Extension compatible driver.
SUMMARY OF THE INVENTION
The present invention provides design and implementation of classes that allow the simulation of JDBC 2.0 Standard Extension driver behavior using standard JDBC 1.0 drivers. Instead of creating a new physical database connection for each connection request, an interface driver internally maintains a mapping in a table between a global transaction identifier and the physical database connection. Even if an application requests multiple connections to the same database, all database access through those connections are actually re-directed to the same physical database connection as maintained in the table. This allows all the work to be coordinated under the same transaction.
First, an adapter maintains a table of mappings between global transaction identifiers and associated physical connections. When a component requests a database connection, the component is assigned a virtual connection. When the component attempts to access the connection, the adapter determines whether a physical connection is associated with the component's transaction. If not, a new physical connection is created and the table is updated. The component's virtual connection is then dynamically wired to the physical connection associated with the component's transaction. Thus, the component's access is redirected to the physical connection. From the database point of view, only one physical connection is established and is associated with only one transaction. The work performed by the different components is thereby automatically grouped under the same transaction.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
FIG. 1
illustrates database connections made according to a JDBC 1.0 driver;
FIG. 2
illustrates database connections made according to a JDBC 2.0 driver;
FIG. 3
is a diagram of a typical J2EE RI implementation;
FIG. 4
is illustrating the relationship between a container, components, a JDBC driver and a database;
FIG. 5
(A) illustrates a container configured using a JDBC 2.0 driver;
FIG. 5
(B) illustrates a container configured according to the present invention;
FIG. 6
illustrates a preferred embodiment of the present invention; and
FIG. 7
is a flow chart of the operation of the present invention.


REFERENCES:
patent: 6167253 (2000-12-01), Farris et al.
patent: 6256637 (2001-07-01), Venkatesh et al.
Sun Microsystems, In. JDBC (TM) 2.0 API version 1.0 (May 30, 1998) pp. 1-57).*
Overview of the JSQL Architecture, JSQL User Guides Version 3.4 (pp. 1-3) (Internet) (1999).*
Empress JDBC Interface (Internet) by Sun Microsystems (pp. 1-3) no date published, internet Jul. 22, 2001).*
Hamilton et al., “JDBC™: A Java SQL API”, Version 1.20, JavaSoft, Inc., Jan. 10, 1997.
White et al., “JDBC™ 2.0 API”, Version 1.0, Sun Microsystems, Inc., May 30, 1998.
White et al., “JDBC 2.0 Standard Extension API”, Version 1.0, Sun Microsystems, Inc., Dec. 7, 1998.
Susan Cheung, “Java Transaction Service (JTS)”, Version 0.95, Sun Microsystems, Inc., Mar. 1, 1999.
Cheung et al., “Java Transaction API (JTA)”, Version 1.0.1, Sun Microsystems, Inc., Apr. 29, 1999.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for distributed transaction support using JDBC 1.0... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for distributed transaction support using JDBC 1.0..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for distributed transaction support using JDBC 1.0... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2905011

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.