This patent application is assigned to
The following quote was obtained by the news editors from the background information supplied by the inventors: "A distributed system includes a plurality of nodes that are interconnected with at least two networks, for example, an independent server, a computer, or database systems. The distributed system serves to distribute and execute a transaction that is a single work unit at several nodes interconnected with networks to seem as if a single work is executed. Therefore, contents or results of the transactions generated from each local resource in the distributed system are synchronized with other nodes interconnected with networks. Any one that integrates and manages all the transactions among several nodes plays the role of a coordinator or a master of the transaction and the remaining nodes play the role of a participant or a slave. In view of the transaction, any one that generates a transaction among several nodes becomes a coordinator of the transaction and the remaining systems become a participant.
"The distributed transaction performed in the distributed system means that transactions are performed in resources distributed in the network and are generally processed using a 2-phase commit protocol for atomicity of transactions at each node. In the 2-phase commit protocol, a coordinator requests a participant to process each local transaction. The coordinator receives a reply called a success from all the participants in each phase and then, determines whether the transaction succeeds. When all the participants successfully perform the transactions, the phase succeeds and otherwise, the phase fails. When the transaction succeeds, a reply to the commit is transmitted to a user and when the transaction fails, all the participants are requested to abort each local transaction.
"The 2-phase commit protocol is generally executed by being divided into two phases. The first phase is a prepare phase. In this phase, the coordinator records the message requesting to prepare the local transaction in its own log and transmits the prepare message to each participant. Each participant receives the prepare messages and records the prepare message in its own log when it may perform the local transaction. The participant then transmits the prepare message to the coordinator.
"As such, all the participants and the coordinator permanently leave in the logs that each local transaction reaches the prepare phase. In the above process, if some participants cannot process the local transaction, the coordinator recognizes the failure of the local transaction and requests all the participants to abort their local transactions.
"The second phase is a commit phase. The phase is performed after it is confirmed that all the participants and the coordinator are in the prepare phase. The coordinator requests all the participants to perform the commit. Each participant performs the commit and then transmits a reply to the request to the coordinator. In this case, each participant remains information on the commit in its own log for durability.
"When the coordinator receives replies that the commit succeeds from all the participants, the coordinator determines that a global commit succeeds. Even though the commit of the local transaction fails in some participants, the commit of the local transaction may succeed in the other participants, and therefore, the coordinator may not immediately determines the success and failure of the commit. In this case, a post-processing work needs to be performed for consistency of the distributed transaction. The post-processing work may depend on a configuration of the distributed system and may include, for example, a presumed abort type and a presumed commit type.
"Each participant cannot determine whether the commit of the local transaction is performed after the first phase succeeds and prior to proceeding to the second phase. Thus, even though the distributed system approaches corrected data due to the local transaction, it is impossible to see the data. In other words, since it may determine that each transaction succeeds only when the commit is performed in the second phase, the transaction in the prepare phase seems like a state doing nothing.
"The 2-phase commit protocol needs to generate a request-reply set with all the participants twice, which is the obstacle to the performance of the distributed system. In order to solve the above problem, various methods for simplifying the protocol have been proposed.
"One of the methods is a 1-phase commit protocol. A 1-phase commit introduces implicit yes-vote that allows the coordinator log and the participants to make the transaction into the prepare phase in advance whenever the transaction is progressed therebetween. In this case, the additional logs remain in the coordinator and the participants and there is a need to change the state of the participants every time a new work enters.
"Further, the coordinator's log needs to be recorded in a data storage device such as a hard disk. Hereat, if the performance and speed of the data storage device is relatively low or slow, cycle of the commit is increased.
"Recently, as a demand for a large-capacity system is increased, a distributed system environment frequently introduces a replica into the system so as to ensure the durability and availability of data. More specifically, the distributed system environment has a replica for a specific data or machine and thus, provides the same data and service as an original using the replica even under the situation in which it cannot approach the original data or machine.
"However, it is very difficult for the distributed system environment having a replica to apply a processing type of the existing distributed transaction. That is, the distributed system needs to be configured to support the 2-phase commit protocol for processing the distributed transaction and add a load required to perform communication between the original and the replica."
In addition to the background information obtained for this patent application, VerticalNews journalists also obtained the inventors' summary information for this patent application: "In view of the above, the present invention provides a system and method for optimizing a commit of a distributed transaction by reducing a commit procedure of the distributed transaction in the distributed system.
"In accordance with a first aspect of the present invention, there is provided a method for processing transactions in a distributed system including a plurality of nodes each of which has its own replica, which includes: transmitting, by each node, a commit log of a transaction to its own replica; and receiving, by each node, a reply to the commit log from the replica to complete the commit of the transaction.
"In an exemplary embodiment of the method, the transaction is a local transaction.
"In an exemplary embodiment of the method, each node has at least one replica so as to ensure durability in the distributed system.
"In accordance with a second aspect of the present invention, there is provided a method for processing transactions in a distributed system including a plurality of nodes, wherein each node has its own replica, and one of the nodes plays a role of a coordinate to which a transaction is requested and remaining nodes becomes participants. The method includes: transmitting, by the coordinator, a commit log of a transaction to its own replica; receiving, by the coordinator, a reply to the commit log from the replica; transmitting, by the coordinator, a commit message requesting the commit of the transaction to all the participants; and performing, by each of the participants, the commit of the transaction based on the commit message.
"In an exemplary embodiment of the method, the coordinator does not require a reply to the commit message from each participant.
"In an exemplary embodiment of the method, the method further includes: acquiring a post confirmation for the commit of the transaction to the coordinator, wherein the post confirmation is acquired by some of the participants that do not receive the commit message transmitted from the coordinator or fails to perform the commit.
"In an exemplary embodiment of the method, the acquiring a post confirmation includes: periodically checking, by each participant, whether the commit message is received; inquiring, by each participant, of the coordinator whether the commit message was transmitted when the commit message has not been received; and performing, by each participant, the commit or abort of the transaction according to a reply to the inquiry from the coordinator.
"In an exemplary embodiment of the method, each of the replicas is configured to process the transaction, instead of its original when the original fails to conduct its function.
"In accordance with a third aspect of the present invention, there is provided a distributed system including: a plurality of nodes; and replicas of the nodes. Each of the nodes transmits a commit log of a transaction to its own replica and receives a reply to the commit log from its own replica to complete a local transaction.
"In an exemplary embodiment of the method, one of the nodes plays a role of a coordinate to which the transaction is requested and remaining nodes becomes participants, and wherein the coordinate node is configured to transmit a commit message requesting the commit of the transaction to the participants, and each of the participants performs the commit of the transaction based on the commit message to complete a global transaction.
"In an exemplary embodiment of the method, each of the participants is configured so as not to perform a reply to the commit message from the coordinator.
"In an exemplary embodiment of the method, each of the participants is configured to: periodically check whether the commit message was received; if it is checked that the commit message has not been received, inquire of the coordinator whether the commit message was transmitted; and perform the commit or abort of the transaction according to a reply to the inquiry from the coordinator.
"In an exemplary embodiment of the method, each of the replicas is configured to process the transaction, instead of its original when the original does not perform its function.
BRIEF DESCRIPTION OF THE DRAWINGS
"The above and other objects and features of the present invention will become apparent from the following description of embodiments given in conjunction with the accompanying drawings, in which:
"FIG. 1 illustrates a schematic block diagram of a distributed system to which the present invention is applied;
"FIG. 2 shows a detailed block diagram of each node illustrated in FIG. 1;
"FIG. 3 is a sequence diagram illustrating a method for optimizing a commit of a distributed transaction in accordance with an embodiment of the present invention; and
"FIG. 4 is a sequence diagram illustrating a method for receiving an additional confirmation of a transaction commit from a coordinator so as to cope with a lost commit message in accordance with the embodiment of the present invention."
URL and more information on this patent application, see: PARK,
Keywords for this news article include:
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- National Retail Federation Reduces Sales Forecast
- Xavier Gutierrez Appointed to Bank Board
- Long-term Strengths Emerge in U.S. Economy
- Hispanic Leader Goes the Extra Mile
- Honda' s Accord Plug-in Hybrid Is a Fuel Miser
- Weekly Jobless Claims Drop to Lowest Level in 8 Years
- Naya Rivera and Ryan Dorsey Are Married
- Menendez: No Arms for Iraq Without Intel
- Self-Induced Abortions Rise After Texas Closes Clinics
- Amazon Fire Phone Improves on Familiar: Review