IP Library Granted Patent US 7,346,632
Granted Patent B2
US 7,346,632 · App. 10/055,208 · Granted Mar 18, 2008

Mechanism for executing nested transactions in an execution environment supporting flat transactions only

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,346,632
App. No.
10/055,208
Granted
Mar 18, 2008
Kind
B2
Abstract

Disclosed is a means and a method for executing a nested transaction in an execution environment supporting flat transactions only. To process a StartTransaction operation within a nested transaction it is suggested to check whether the StartTransaction operation is on the first nesting level of the nested transactions. An actual transaction within the execution environment by issuing a corresponding StartTransaction is started only in the affirmative case but not otherwise. To process a CommitTransaction operation within a nested transaction to successfully terminate a transaction it is suggested to check whether the CommitTransaction operation is on the first nesting level of the nested transaction. An actual transaction within the execution environment will be terminated only by issuing a corresponding CommitTransaction operation in the affirmative case but not otherwise. To process a RollbackTransaction operation within a nested transaction aborting a transaction as unsuccessful, it is suggested to issue a corresponding RollbackTransaction operation within the execution environment independent from the nesting level of said RollbackTransaction operation.

Claims (25)

1. A computerized method for executing a nested transaction for computing data in an execution environment supporting a flat transaction only, and wherein a nested transaction encapsulates between a first StartTransaction operation and a corresponding first EndTransaction operation on a first nesting level a hierarchy of one or more further StartTransaction operations and corresponding further EndTransaction operations on further nesting levels, wherein a StartTransaction operation starts a transaction; and wherein an EndTransaction operation ends a transaction; and said method further comprising performing a StartTransaction operation by,

checking whether said StartTransaction operation is on the first testing level of said nested transaction, and

issuing a corresponding StartTransaction operation within said execution environment only when said StartTransaction operation is on the first testing level of said nested transaction said method performing an EndTransaction

operation by:

checking, in case said EndTransaction operation is a CommitTransaction operation successfully terminating a transaction, whether said EndTransaction operation is on said first nesting level of said nested transaction, and

issuing a corresponding CommitTransaction operation within said execution environment only when said EndTransaction operation is on said first nesting level of said nested transaction;

said method performing an EndTransaction operation in case said EndTransaction operation is a RollbackTransaction operation aborting a transaction as unsuccessful, by issuing a corresponding RollbackTransaction operation within said execution environment independent from the nesting level of said RollbackTransaction operation;

said method performing, once a RollbackTransaction operation has been executed within said nested transaction, any further StartTransaction operation or any further EndTransaction operation within said nested transaction independent from its nesting level by rejecting it as being in error without issuing a corresponding StartTransaction operation or a corresponding EndTransaction operation to the execution environment, and

wherein said method:

checks the nesting level of any of said StartTransaction or EndTransaction operations by a depth counter,

increments said depth counter in the case of processing a StartTransaction operation, and

decrements said depth counter in the case of processing an EndTransaction operation which is a CommitTransaction operation, and

sets said depth counter to zero or an invalid value in the case of processing an EndTransaction operation which is a RollbackTransaction operation.

2. A computerized method for executing a nested transaction for computing data in an execution environment supporting a flat transaction only according to claim 1 , wherein:

said method is performed by a facade library separate from said execution environment, and said execution environment is a database system, and

said facade library provides access from an object oriented environment to said relational database system.

3. A computerized method for executing a nested transaction for computing data in an execution environment supporting a flat transaction only according to claim 2 , wherein said facade library comprises a STORE object class providing access to said database system and said STORE object class providing said StartTransaction operation as one of its methods.

4. A computerized method for executing a nested transaction for computing data in an execution environment supporting a flat transaction only according to claim 3 , said method performing said StartTransaction operation by creating a transaction object for further control of said nested transaction in case said StartTransaction operation is on the first nesting level.

5. A computerized method for executing a nested transaction for computing data in an execution environment supporting a flat transaction only according to claim 4 , wherein said transaction object comprises said depth counter, said CommitTransaction operation, and said RollbackTransaction operation as object methods.

6. A computerized method for executing a nested transaction in an execution environment supporting a flat transaction only according to claim 1 , wherein:

said method is performed by a facade library separate from said execution environment, and said execution environment is a database system, and

said facade library provides access from an object oriented environment to said relational database system;

said facade library comprises a STORE object class providing access to said database system and said STORE object class providing said StartTransaction operation as one of its methods;

said method performing said StartTransaction operation by creating a transaction object for further control of said nested transaction in case said StartTransaction operation is on the first nesting level; and

said transaction object comprises said depth counter, said CommitTransaction operation, and said RollbackTransaction operation as object methods.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0473 →