Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-05-27
2001-04-10
Amsbury, Wayne (Department: 2171)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000, C707S793000
Reexamination Certificate
active
06216126
ABSTRACT:
FIELD OF INVENTION
The present invention relates to a method intended for the optimization of the transaction protocol that is used in transactions between a plurality of nodes within a system of nodes in which information belonging to a distributed data base is stored. The information is divided up into tables.
The transaction originates from a transaction coordinator and affects at least one group of parts of at least one first table of the tables in the database. Such a group will include at least one first and one second table part and possibly one or more further parts.
The first part is stored within a first node and the second part is stored within a second node, this second node being separate from the first node. Possible other parts within the group are stored in intermediate nodes, these intermediate nodes being comprised of further nodes that are separate from each other and also from the first and the second nodes.
The transaction is comprised of a two-safe transaction, which means that the transaction is performed when all nodes affected by the transaction are able to perform the transaction, and that the transaction is aborted when any one of the nodes affected by the transaction is unable to carry out the transaction.
BACKGROUND OF THE INVENTION
It has long been known that what is referred to here as a “system” can constitute a part of a network and includes a plurality of different mutually coacting nodes, by forming the nodes in a distributed data base for instance. In such a system, different transactions constantly take place between two or more nodes. These transactions shall be carried out in a positive and time effective manner.
So-called distributed transactions means that a transaction shall be performed between a plurality of nodes or participants. A transaction may involve any commitment that concerns a plurality of nodes. Two methods are well known in connection with distributed transactions, these methods being traditional commit in two phases and linear commit. By commit is meant that a participant has undertaken to do something and also does it.
It is also known to utilize safety copying, or back-up copying, of information in a distributed data base. Thus, a primary copy of part of a table is stored within a first node and a second copy of the same part is stored within a second node.
A primary copy with associated secondary copy is called a fragment in this document. A transaction that affects a part of a table thus also affects a fragment of a table that includes both a primary copy and a secondary copy of this part of the table. When a distributed transaction can include a plurality of different tables, or a plurality of different parts of a table, a plurality of different fragment and associated copies will also affected.
Traditional commit in two phases and linear commit are beneficial in different ways in respect of a transaction that affects a plurality of fragments. This will be described in more detail below with reference to the accompanying drawings.
However, it will be mentioned briefly at this stage that
“traditional commit in two phases” requires a large number of messages to be sent, although this can be performed partly in parallel and therewith places high requirements on processor and transmission capacity, but affords relatively short response times, whereas
“linear commit” requires a smaller number of messages to be sent, although essentially serially, and therewith places less demand on available processor and transmission capacity, but gives relatively longer response times
in one and the same transaction.
It is also known to use so-called system redundancy with the intention of obtaining redundancy in a system, meaning that a parallel secondary copy of the complete system is found. A second copy is completely separate from the primary copy with regard to hardware.
Promotion of a secondary system to a primary system only takes place in the event of a total collapse of the primary system, i.e. a total crash.
So-called blocking of the system can occur should a transaction coordinator crash during a transaction. This means that the system must wait until the crashed transaction coordinator has re-started or until a secondary copy of the transaction coordinator is promoted to a primary copy and taken over the role of transaction coordinator.
It is known to create a so-called “non-blocking coordinator” in this context. One such coordinator is described in the publication “Location and Replication independent recovery in a highly available database”, Svein Erik Bratsberg, Svein-Olof Hvasshovel, Öysten Torbjörnsen. Telenor R&D.
In brief, this method involves the use of parallel transaction coordinators, which in turn entails very high performance costs.
Mention is also made here to the publication “D3 Dynamic Data Distribution Algorithm” by Chamberlain, published at the conference “Very Large Databases” in Vancouver, 1992, which also describes the handling of a crashing transaction coordinator during a transaction.
SUMMARY OF THE INVENTION
Technical Problems
When considering the earlier standpoint of techniques and with a starting point from a method of carrying out a transaction that affects a number of nodes within a system of nodes in which information belonging to a distributed data base is stored, wherein the information is divided up into tables, wherein the transaction originates from a transaction coordinator and affects at least one group of parts of at least a first of said tables, wherein the group includes at least one first and one second part and possibly one or more further parts, wherein the first part is stored within a first node and the second part is stored within a second node that is separate from the first node, and wherein possible other parts within the group are stored in intermediate nodes which are formed by further nodes that are separated from each other and from the first and the second node, and wherein the transaction is comprised of a two-safe transaction, it will be seen that a problem resides in enabling such a transaction to be performed quickly and safely when seen in relation to available processor and transmission capacity.
Another technical problem is one of being able to divide such a transaction into essentially two phases where only a few messages need be sent in relation to “traditional commit in two phases” and where a faster response time is obtained in relation to “linear commit”.
Another technical problem is one of being able to provide such a transaction when the transaction affects a plurality of groups where respective groups include two or more parts.
Another technical problem is one of being able to adapt a transaction protocol specifically to provide simple and effective handling of a transaction that affects a plurality of different fragments, where each fragment includes both a primary copy and one or more back-up copies, such as a secondary copy and a stand-by copy.
Another technical problem is one of being able to adapt a transaction protocol to provide simple handling of crashed nodes during a transaction, and also of a crashed transaction coordinator, without the system falling into a blocked state. Another technical problem is one of setting a lock in the correct manner and at the right time, and to remove the lock in the correct way and at the right time in conjunction with a transaction, so as to be able to provide a transaction in solely two phases that also affords safe handling of a transaction with respect to any nodes that crash during the transaction.
Another technical problem is one of being able to update a secondary system in conjunction with a transaction, without needing to introduce further phases into the transaction.
Another technical problem is one of being able to enable a secondary system to be updated in relation to the application and a lock applied to affected fragments to be released in a simple and effective manner.
Another technical problem is one of being able to enable updating of a secondary system to be effected in conjunction with a transac
Amsbury Wayne
Burns Doane , Swecker, Mathis LLP
Pardo Thuy
Telefonaktiebolaget LM Ericsson
LandOfFree
Method for transaction within a distributed database 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 transaction within a distributed database, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for transaction within a distributed database will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2553037