
transactions. Our model is then named as PP/T
model.
The remainder of the paper is organized as
follows. In Section 2, we discuss related work in this
area. In Section 3, we introduce the concept of the
PP/T model. In Section 4, we present and analyze
the simulation results. Finally, in Section 5, we
conclude the paper with a summary.
2 RELATED WORK
People have made a lot of research on the long
duration transaction and numerous transaction
models have been proposed. One of the most
influential models is the saga model (Garcia-Molina
and Salem, 1987). The basic idea of this model is to
decompose the long duration transaction into a set of
sub-transactions, which can be executed separately.
Each sub-transaction is a traditional transaction.
Compensating transactions are used when the long
duration transaction needs to be rolled back.
The saga model doesn’t provide the strict
atomicity property for long duration transactions, but
provide the relaxed atomicity. The saga model also
weakens the isolation property; the intermediate
results will be exposed to other transactions after the
execution of each sub-transaction. Therefore, when
we want to roll back a long duration transaction, we
should not only compensate its executed sub-
transactions, but also compensate all other
transactions that directly or indirectly used the
intermediate results of the long duration transaction.
Furthermore, since the set of transactions that used
the intermediate results of a long duration
transaction can’t be predicated in advance, the
compensating transactions can hardly be developed
beforehand, and the compensating process will have
to rely on the human’s participation in most cases.
To improve the atomicity and isolation for long
duration transactions, many other long duration
transaction model (Kim et al. 1984; Du and Ghanta
1987; Gaede and Taylor 1998) use a check-
out/check-in concurrency control mechanism. These
models are mainly used in the CAD, CASE, and SIS
areas. The basic idea of the check-out/check-in
mechanism is as follows: when a long duration
transaction want to operation certain data in
database, it first checks out the data from database
into its own local data space, and performs the
operation on the data in its local data space. When
the whole long duration transaction finishes, it
checks in all the data in its local data space into the
database. During the executing period of a long
duration transaction, other transactions may have
changed the data in the database, so when a long
duration transaction checks in its data, the data in its
local data space and the data in the database should
be integrated into an unified data version. The
responsibility of version integration mainly relies on
the human who is running the transaction. The main
disadvantage of the mechanism is that it lacks
formal definitions, so the correctness criteria cannot
be characterized mathematically. The users are
responsible for solving conflicts and correcting
errors, which may be too difficult for them.
Therefore, it is not suitable for many enterprise
applications.
The NT/PV model (Korth and Speegle, 1994)
combines the semantic knowledge of transactions
with multiple version and nested transaction
techniques to support the long duration transaction.
The model provides strong ability to express
complex interactions, and proposed a set of
correctness criteria for concurrency scheduling.
Since the model also uses the compensating
transaction to roll back a long duration transaction, it
requires each sub-transaction to have a
corresponding compensating transaction, which is
impracticable for many real-world applications.
The LRUOW model (Bennett et al., 2000) is one
of the newly proposed long duration transaction
models in recent years. It can supports two types of
concurrency control mechanisms, the most
noticeable one being the predicate/transform
mechanism. In the model, each long duration
transaction has its own data space, and the
processing of a long duration transaction can be
divided into two phases: the rehearsal phase and the
performance phase. The rehearsal phase spans from
the beginning of the transaction to the beginning of
commit. In this phase, when the user requests the
system to execute a sub-transaction, the system just
execute it on the local data space of the long
duration transaction, and the data in the database
remains unchanged. The performance phase spans
from the beginning of commit to the end of commit.
In this phase, the system actually executes all sub-
transactions on the database in a batch. Each sub-
transaction is a predicate/transform pair: the
predicate is the precondition of the sub-transaction,
and the transform is the actual operation of the sub-
transaction. When the system actually executes each
sub-transaction on the database, it first checks the
predicate of the sub-transaction on the current
database state. If the predicate is false, then the
whole long duration transaction will fail.
The key idea of the LRUOW model is to
postpone the execution of the actions in a long
duration transaction until the committing time of the
transaction, and then execute these actions in a
batch. Therefore, the long duration transaction can
be converted into a traditional short transaction, so it
ICEIS 2004 - DATABASES AND INFORMATION SYSTEMS INTEGRATION
268