IP Library Granted Patent US 11,379,464
Granted Patent B2
US 11,379,464 · App. 16/712,500 · Granted Jul 5, 2022

Asymmetric quorum protocol based distributed transaction database consistency control

Inventors: Niccolo Meneghetti (Santa Clara, CA); Yuanzhe Bei (Santa Clara, CA)
Assignee: MICRO FOCUS LLC
G06F16/2365G06F16/2379
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 11,379,464
App. No.
16/712,500
Granted
Jul 5, 2022
Kind
B2
Abstract

In some examples, asymmetric quorum protocol based distributed transaction database consistency control may include determining, by a set of primary participants of a cluster, whether a cluster-wide quorum has been reached to commit a transaction associated with a distributed transactional database. Further, based on the determination by the set of primary participants that the cluster-wide quorum has been reached to commit the transaction, instructions to a set of secondary participants of the cluster may be sent to commit the transaction. The set of secondary participants may be configured to comply with a determination by the set of primary participants to commit or to not-commit the transaction.

Claims (49)

1. An apparatus comprising:

at least one processor; and

a non-transitory computer readable medium storing machine readable instructions that when executed by the at least one processor cause the at least one processor to:

determine, by a set of primary participants of a cluster, whether a cluster-wide quorum has been reached to commit a transaction associated with a distributed transactional database by determining whether greater than one-half of the primary participants have determined to commit the transaction associated with the distributed transactional database; and

based on the determination by the set of primary participants that the cluster-wide quorum has been reached to commit the transaction, send instructions to a set of secondary participants of the cluster to commit the transaction, wherein the set of secondary participants is to comply with a determination by the set of primary participants to commit or to not-commit the transaction.

2. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

based on a determination by the set of primary participants that the cluster-wide quorum has not been reached to commit the transaction, send instructions to the set of secondary participants of the cluster to not commit the transaction.

3. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

based on a determination by the set of primary participants that the cluster-wide quorum has been reached to not commit the transaction, send instructions to the set of secondary participants of the cluster to not commit the transaction.

4. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

specify a number of the primary participants as being less than a number of the secondary participants.

5. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

specify a number of the primary participants as being equal to a number of the secondary participants.

6. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

specify a number of the primary participants as being greater than a number of the secondary participants.

7. The apparatus according to claim 1 , wherein the transaction represents an initial transaction, and wherein the machine readable instructions further cause the at least one processor to:

specify a number of the secondary participants for a further transaction as being different from a number of the secondary participants for the initial transaction.

8. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

based on the determination by the set of primary participants that the cluster-wide quorum has been reached to commit the transaction, send instructions to additional primary participants of the cluster to commit the transaction, wherein the additional primary participants are not tasked to perform quorum analysis for committing or not-committing the transaction.

9. The apparatus according to claim 1 , wherein the machine readable instructions further cause the at least one processor to:

determine that the primary participants are operational after a malfunction of the primary participants;

determine a version associated with the primary participants prior to the malfunction of the primary participants; and

set a version of the cluster as the version associated with the primary participants prior to the malfunction of the primary participants.

10. The apparatus according to claim 1 , wherein the primary participants include data segment coverage, and wherein the machine readable instructions further cause the at least one processor to:

based on a determination that a primary participant of the primary participants including data segment coverage has malfunctioned, send instructions to all participants of the cluster to not commit the transaction.

11. A computer implemented method comprising:

determining, by a processor, by a set of primary participants of a cluster, whether a cluster-wide quorum has been reached to commit a transaction associated with a distributed transactional database by determining whether greater than one-half of the primary participants have determined to commit the transaction associated with the distributed transactional database; and

based on a determination by the set of primary participants that the cluster-wide quorum has been reached to not commit the transaction, sending, by the processor, instructions to a set of secondary participants of the cluster to not commit the transaction, wherein the set of secondary participants is to comply with a determination by the set of primary participants to commit or to not-commit the transaction.

12. The computer implemented method according to claim 11 , further comprising:

based on a determination by the set of primary participants that the cluster-wide quorum has been reached to commit the transaction, sending, by the processor, instructions to the set of secondary participants of the cluster to commit the transaction.

13. The computer implemented method according to claim 11 , further comprising:

specifying, by the processor, a number of the primary participants as being different from a number of the secondary participants.

14. The computer implemented method according to claim 11 , further comprising:

specifying, by the processor, a number of the primary participants as being same as a number of the secondary participants.

15. A non-transitory computer readable medium storing machine readable instructions that, when executed, cause a processor to:

determine, by a set of primary participants of a cluster, whether a cluster-wide quorum has been reached to commit a transaction associated with a distributed transactional database by determining whether greater than one-half of the primary participants have determined to commit the transaction associated with the distributed transactional database; and

based on the determination by the set of primary participants that the cluster-wide quorum has been reached to commit the transaction, send instructions to a set of secondary participants of the cluster to commit the transaction, wherein the set of secondary participants is to comply with a determination by the set of primary participants to commit or to not-commit the transaction.

16. The non-transitory computer readable medium according to claim 15 , wherein the machine readable instructions, when executed, further cause the processor to:

based on a determination by the set of primary participants that the cluster-wide quorum has not been reached to commit the transaction, send instructions to the set of secondary participants of the cluster to not commit the transaction.

17. The non-transitory computer readable medium according to claim 15 , wherein the machine readable instructions, when executed, further cause the processor to:

based on a determination by the set of primary participants that the cluster-wide quorum has been reached to not commit the transaction, send instructions to the set of secondary participants of the cluster to not commit the transaction.

18. The non-transitory computer readable medium according to claim 15 , wherein the primary participants that determine whether the cluster-wide quorum has been reached are designated quorum primary participants, and wherein the machine readable instructions, when executed, further cause the processor to:

determine that the quorum primary participants are operational after a malfunction of the quorum primary participants;

determine a version associated with the quorum primary participants prior to the malfunction of the quorum primary participants; and

set a version of the cluster as the version associated with the quorum primary participants prior to the malfunction of the quorum primary participants.

19. The non-transitory computer readable medium according to claim 15 , wherein the primary participants that determine whether the cluster-wide quorum has been reached are designated quorum primary participants, wherein the quorum primary participants include data segment coverage, and wherein the machine readable instructions, when executed, further cause the processor to:

based on a determination that a primary participant of the quorum primary participants including data segment coverage has malfunctioned, send instructions to all participants of the cluster to not commit the transaction.

20. The non-transitory computer readable medium according to claim 15 , wherein the machine readable instructions, when executed, further cause the processor to:

based on the determination by the set of primary participants that the cluster-wide quorum has been reached to commit the transaction, send instructions to additional primary participants of the cluster to commit the transaction, wherein the additional primary participants are not tasked to perform quorum analysis for committing or not-committing the transaction.

Assignments (6)
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRESPONDENT NAME AND ADDRESS PREVIOUSLY RECORDED AT REEL: 051269 FRAME: 0165. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 23, 2020
From: MENEGHETTI, NICCOLO; BEI, YUANZHE
To: MICRO FOCUS LLC
Reel/Frame 051686/0439 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: MENEGHETTI, NICCOLO; BEI, YUANZHE
To: MICRO FOCUS LLC
Reel/Frame 051269/0165 →
Cited By (1)
US 12,602,371