A technique includes using a primary commit coordinator in a distributed file system as a participant in at least one transaction associated with a file operation to commit the transaction(s) to an associated storage segment of the file system. The primary commit coordinator is used to communicate with at least one other participant in the transaction(s) using a three phase commit protocol to generate transaction states associated with committing the transaction(s). The technique includes selectively checkpointing the transaction states to a backup commit coordinator that is associated with the primary commit coordinator to allow the backup commit coordinator to takeover committing the transaction.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: using a primary commit coordinator in a distributed file system as a participant in at least one transaction associated with a file operation to commit the at least one transaction to an associated storage segment of the file system; using the primary commit coordinator to communicate with at least one other participant in the at least one transaction using a three phase commit protocol to generate transaction states associated with committing the at least one transaction; and selectively checkpointing the transaction states to a backup commit coordinator associated with the primary commit coordinator to allow the backup commit coordinator to takeover committing the at least one transaction.
2. The method of claim 1 , wherein the primary commit coordinator and the backup commit coordinator form a commit coordinator pair, and using the primary commit coordinator to communicate comprises using the primary commit coordinator to communicate with at least one other primary coordinator of at least one other commit coordinator pair to commit at least one of transaction of the file operation.
3. The method of claim 1 , further comprising: using the primary commit coordinator to selectively generate a durable journal of the transaction states.
4. The method of claim 3 , further comprising: using the durable journal in a crash recovery operation in response to failure of the primary commit coordinator and failure of the backup commit coordinator.
5. The method of claim 1 , wherein the transaction states comprise a primary state, a preparing state, a prepared state, a committing state, a committed state and a forgotten state; the method further comprising: using the backup commit coordinator to takeover for the primary commit coordinator in the event that the primary commit coordinator fails by processing the transaction states.
6. The method of claim 1 , wherein the selectively checkpointing comprises selectively checkpointing the transactions states for a sequence of multiple file operations to allow the backup commit coordinator to takeover committing the at least one transaction.
7. The method of claim 1 , wherein using the primary commit coordinator to communicate using the three phase commit comprises using a protocol having a prepare phase, a commit phase and a forget phase.
8. An apparatus comprising: a storage unit; and a primary commit coordinator of a distributed file systems, the primary coordinator to: participate in at least one transaction associated with a file operation to commit the at least one transaction to the storage unit; communicate with at least one other participant of the distributed file system in the at least one transaction using a three phase commit protocol to generate transaction states associated with committing the at least one transaction; and communicate with a backup commit coordinator of the distributed file system to selectively checkpoint the transaction states to allow the backup commit coordinator to takeover committing the at least one transaction in the event that the primary commit coordinator fails.
9. The apparatus of claim 8 , further comprising a server couplet comprising a first node associated with the storage unit, a second node associated with another storage unit, wherein the first node comprises the primary commit coordinator and the second node comprises the backup commit coordinator.
10. The apparatus of claim 8 , further comprising a server couplet comprising a first node associated with the storage unit, a second node associated with another storage unit, wherein the first node comprises the primary commit coordinator and the backup commit coordinator is part of another server couplet.
11. The apparatus of claim 8 , further comprising: a first memory buffer to be flushed resulting in contents of the first memory buffer becoming durable in response to a flush timeout; and a second memory buffer, wherein the primary commit coordinator: in response to primary commit coordinator being a child node participant in the at least one transaction, stores journal entries representing the transaction states in the first memory; primary commit coordinator being a child node participant in the at least one transaction, stores the journal entries in the second memory and selectively moves the journal entries into the second memory based on the transaction states.
12. The apparatus of claim 8 , wherein using the three phase commit comprises a prepare phase, a commit phase and a forget phase.
13. An article comprising a non-transitory computer readable storage medium to store instructions that when executed by a computer cause the computer to: use a primary commit coordinator in a distributed file system as a participant in at least one transaction associated with a file operation to commit the at least one transaction to an associated storage segment of the file system; use the primary commit coordinator to communicate with at least one other participant in the at least one transaction using a three phase commit protocol to generate transaction states associated with committing the at least one transaction; and selectively checkpoint the transaction states to a backup commit coordinator associated with the primary commit coordinator to allow the backup commit coordinator to takeover committing the at least one transaction.
14. The article of claim 13 , the storage medium storing instructions that when executed by the computer cause the computer to use the primary commit coordinator to selectively generate a durable journal of the transaction states.
15. The article of claim 13 , wherein the transactions states comprise an primary state, a preparing state, a prepared stated, a committing state, a committed state and a forgotten state, and the storage medium storing instructions that when executed by the computer cause the computer to use the backup commit coordinator to takeover for the primary commit coordinator by processing the transaction states.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 15, 2014
March 26, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.