10417038

Batched Commit in Distributed Transactions

PublishedSeptember 17, 2019
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A system for executing distributed transactions, the system comprising: a first computing device comprising at least one processor and operatively-associated memory, the first computing device executing a transaction manager; and a second computing device comprising a second at least one processor and second operatively-associated memory, the second computing device executing a resource manager, wherein the system is programmed to: receive, by the transaction manager, a first transaction request describing a first distributed transaction including a first plurality of types of resources each provided by different resource managers; send, by the transaction manager and to the resource manager, a first prepare message, wherein the first prepare message comprises (a) first work item data describing a first work item to be performed by the resource manager for the first distributed transaction and (b) a first sequence number that indicates a position of the first distributed transaction in a sequence of distributed transactions; send, by the resource manager, a first vote message for the first distributed transaction indicating that the resource manager can commit to the first distributed transaction; receive, by the transaction manager, a second transaction request describing a second distributed transaction including a second plurality of types of resources each provided by different resource managers; after receiving the first vote message and while the first distributed transaction is pending, send, by the transaction manager and to the resource manager, a second prepare message, wherein the second prepare message comprises (a) second work item data describing a second work item to be performed by the resource manager for the second distributed transaction and (b) a second sequence number greater than the first sequence number, the second sequence number indicating a relative position of the second distributed transaction relative to the first distributed transaction in the sequence of distributed transactions, wherein the sequence of distributed transactions includes at least the first and second distributed transactions; determine, by the transaction manager, that the second sequence number is greater than a flush threshold; while the first and second distributed transactions remain pending, send, by the transaction manager and to the resource manager, a batch commit message comprising the second sequence number; receive, by the resource manager, the batch commit message; and commit, by the resource manager, based on the second sequence number, to the first work item and the second work item.

Plain English Translation

The system enables efficient execution of distributed transactions across multiple computing devices, addressing challenges in coordinating transactions involving diverse resource types managed by different resource managers. The system includes a transaction manager on a first computing device and a resource manager on a second computing device. The transaction manager receives transaction requests, each describing a distributed transaction involving multiple resource types from different resource managers. For each transaction, the transaction manager sends a prepare message to the resource manager, containing work item data and a sequence number indicating the transaction's position in a sequence. The resource manager responds with a vote message indicating readiness to commit. The transaction manager may receive multiple transaction requests while prior transactions remain pending. If a subsequent transaction's sequence number exceeds a flush threshold, the transaction manager sends a batch commit message to the resource manager, which then commits all pending work items up to that sequence number. This approach optimizes transaction processing by batching commits, reducing overhead, and ensuring ordered execution of distributed transactions.

Claim 2

Original Legal Text

2. The system of claim 1 , further programmed to: after receiving the batch commit message, identify, by the resource manager, a third prepare message received from the transaction manager that includes a third sequence number less than or equal to the second sequence number; and commit, by the resource manager, a third work item described by the third prepare message.

Plain English Translation

The system relates to distributed transaction processing in computing systems, specifically addressing challenges in coordinating transaction commits across multiple resources. In distributed systems, ensuring atomicity and consistency of transactions requires precise coordination between transaction managers and resource managers. The system improves upon prior approaches by enhancing the handling of transaction commit messages to prevent conflicts and ensure proper sequencing. The system includes a resource manager that processes transaction commit messages from a transaction manager. The resource manager receives a batch commit message, which includes a second sequence number indicating the order of transactions. After receiving this batch commit message, the resource manager identifies a third prepare message from the transaction manager. This third prepare message contains a third sequence number that is less than or equal to the second sequence number. Upon identifying this relationship, the resource manager commits a third work item described by the third prepare message. This ensures that transactions are committed in the correct order, maintaining consistency and preventing conflicts in distributed transaction processing. The system thus improves reliability and efficiency in handling concurrent transactions across multiple resources.

Claim 3

Original Legal Text

3. The system of claim 2 , further programmed to: send, by the transaction manager and to the resource manager, the third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) the third sequence number, which indicates a relative position of the third distributed transaction relative to the second distributed transaction in the sequence of distributed transactions; send, by the transaction manager and to the resource manager, a fourth prepare message, wherein the fourth prepare message comprises (a) fourth work item data describing a fourth work item to be performed by the resource manager for a fourth distributed transaction and (b) a fourth sequence number greater than the third sequence number, the fourth sequence number indicating a relative position of the fourth distributed transaction relative to the third distributed transaction in the sequence of distributed transactions; send, by the transaction manager, a query to the resource manager; determine, by the transaction manager, that a reply to the query is not received for at least a threshold time period; send, by the transaction manager and to the resource manager, a second batch commit message comprising the fourth sequence number; receive, by the resource manager, the second batch commit message; and commit, by the resource manager, to the third work item and the fourth work item.

Plain English Translation

This invention relates to distributed transaction management systems, specifically addressing the challenge of ensuring transaction consistency and recovery in distributed environments where multiple transactions must be processed in a defined sequence. The system includes a transaction manager and a resource manager that coordinate the execution of distributed transactions. The transaction manager sends prepare messages to the resource manager, each containing work item data for a specific transaction and a sequence number indicating its position relative to other transactions. For example, a third prepare message includes data for a third transaction and a sequence number indicating its position relative to a second transaction, while a fourth prepare message includes data for a fourth transaction and a sequence number higher than the third, indicating its position relative to the third. The transaction manager monitors the resource manager's responsiveness by sending queries and, if no reply is received within a threshold time, sends a batch commit message containing the latest sequence number. Upon receiving this message, the resource manager commits both the third and fourth transactions, ensuring atomicity and consistency even if the resource manager fails to respond promptly. This approach improves fault tolerance and transaction reliability in distributed systems.

Claim 4

Original Legal Text

4. The system of claim 1 , further programmed to: send, by the transaction manager and to the resource manager, a third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) a third sequence number that indicates a position of the third distributed transaction in the sequence of distributed transactions; obtain, by the resource manager, a lock for a first resource for the third work item; determine, by the transaction manager, that a fourth work item for a fourth distributed transaction utilizes the first resource inconsistent with the lock; send, by the transaction manager and to the resource manager, a second batch commit message comprising the third sequence number; and send, by the transaction manager and to the resource manager, a fourth prepare message, wherein the fourth prepare message comprises fourth work item.

Plain English Translation

This invention relates to distributed transaction management systems, specifically addressing the challenge of maintaining consistency and order in transactions across multiple resources. The system includes a transaction manager and a resource manager that coordinate the execution of distributed transactions. The transaction manager sends prepare messages to the resource manager, each containing work item data and a sequence number indicating the transaction's position in the sequence. The resource manager obtains locks on resources for the work items as specified. If the transaction manager detects a conflict where a subsequent transaction attempts to use a resource in a way that is inconsistent with an existing lock, it sends a batch commit message to resolve the conflict. The system ensures that transactions are processed in the correct order while preventing resource conflicts, thereby maintaining data consistency across distributed systems. The invention improves transaction reliability by dynamically adjusting the execution sequence based on resource availability and lock status, reducing the likelihood of deadlocks or inconsistencies in distributed environments.

Claim 5

Original Legal Text

5. A computer-implemented system for executing a distributed transaction, the system comprising: at least one processor; and a memory in communication with the at least one processor, wherein the at least one processor is programmed to execute a resource manager, and wherein the resource manager is programmed to: receive from a transaction manager, a first prepare message comprising (a) first work item data describing a first work item to be performed by the resource manager for a first distributed transaction including a first plurality of types of resources each provided by different resource managers and (b) a first sequence number that indicates a position of the first distributed transaction in a sequence of distributed transactions; send, to the transaction manager, a first vote message for the first distributed transaction indicating that the resource manager can commit to the first distributed transaction; after the first vote message is received by the transaction manager and while the first distributed transaction is pending, receive, from the transaction manager, a second prepare message comprising (a) second work item data describing a second work item to be performed by the resource manager for a second distributed transaction including a second plurality of types of resources each provided by different resource managers and (b) a second sequence number greater than the first sequence number, the second sequence number indicating a relative position of the second distributed transaction relative to the first distributed transaction in the sequence of distributed transactions, wherein the sequence of distributed transactions includes at least the first and second distributed transactions; send, to the transaction manager, a second vote message for the second distributed transaction indicating that the resource manager can commit to the second distributed transaction; and while the first and second distributed transactions remain pending, receive, from the transaction manager, a batch commit message comprising data instructing that the resource manager to commit, based on the second sequence number, to the first work item and the second work item.

Plain English Translation

This system relates to distributed transaction processing in computer systems, addressing the challenge of coordinating multiple transactions across different resource managers while ensuring consistency and efficiency. The system includes a resource manager that handles work items for distributed transactions involving various types of resources managed by different resource managers. The resource manager receives a prepare message from a transaction manager, which includes work item data and a sequence number indicating the transaction's position in a sequence. The resource manager sends a vote message indicating its ability to commit the transaction. If another prepare message for a subsequent transaction is received while the first transaction is still pending, the resource manager sends another vote message for the second transaction. The transaction manager then sends a batch commit message, instructing the resource manager to commit both transactions based on their sequence numbers. This approach optimizes transaction processing by batching commits for multiple transactions, reducing overhead and improving performance in distributed systems.

Claim 6

Original Legal Text

6. The system of claim 5 , wherein the batch commit message also comprises an indication of the second sequence number, and wherein the resource manager is further programmed to: determine that the first sequence number is less than the second sequence number; and commit to the first work item.

Plain English Translation

This invention relates to distributed transaction management systems, specifically addressing challenges in coordinating transaction commits across multiple resource managers in a distributed environment. The problem solved is ensuring consistency and reliability in transaction processing when multiple resource managers must agree on commit decisions, particularly in scenarios where sequence numbers are used to track transaction order. The system includes a transaction manager and at least two resource managers. The transaction manager generates a batch commit message containing a first sequence number associated with a first work item. The batch commit message is sent to the resource managers, which process the message to determine whether to commit the transaction. The resource managers compare the first sequence number with a second sequence number, which may be derived from a different transaction or system state. If the first sequence number is determined to be less than the second sequence number, the resource manager commits the first work item. This ensures that transactions are processed in the correct order, preventing inconsistencies in distributed systems. The system may also include mechanisms for handling conflicts or rollbacks if sequence numbers do not align as expected. The invention improves reliability in distributed transaction processing by enforcing strict ordering through sequence number comparisons.

Claim 7

Original Legal Text

7. The system of claim 6 , wherein the first prepare message comprises transaction identifier data, the transaction identifier data comprises a transaction identifier describing the first distributed transaction, a branch identifier describing the resource manager, and the first sequence number.

Plain English Translation

A system for managing distributed transactions in a computing environment involves coordinating multiple resource managers to ensure data consistency across different systems. The problem addressed is the complexity of tracking and synchronizing transactions that span multiple independent resources, which can lead to inconsistencies or failures if not properly managed. The system includes a transaction manager that communicates with resource managers to coordinate transaction outcomes. A prepare message is sent from the transaction manager to a resource manager to prepare for committing a distributed transaction. This prepare message includes transaction identifier data, which uniquely identifies the transaction and the specific resource manager involved. The transaction identifier data contains a transaction identifier describing the distributed transaction, a branch identifier describing the resource manager, and a sequence number indicating the order of the transaction. This structured approach ensures that each transaction and its components are uniquely identifiable, allowing the system to track and manage the transaction lifecycle effectively. The sequence number helps maintain the correct order of operations, preventing conflicts and ensuring atomicity across distributed systems. This method improves reliability and consistency in distributed transaction processing.

Claim 8

Original Legal Text

8. The system of claim 5 , wherein the batch commit message also comprises an indication of the second sequence number, and wherein the resource manager is further programmed to: before receiving the batch commit message, receive from the transaction manager a third prepare message comprising (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) a third sequence number that indicates a relative position of the third distributed transaction relative to the second distributed transaction in the sequence of distributed transactions; after receiving the batch commit message, determine that the third sequence number is less than the second sequence number; and commit to the third work item.

Plain English Translation

This invention relates to distributed transaction processing systems, specifically addressing the challenge of efficiently managing and committing multiple distributed transactions in a coordinated sequence. The system includes a transaction manager and one or more resource managers that handle work items for distributed transactions. The transaction manager sends prepare messages to resource managers, each containing work item data and a sequence number indicating the transaction's position in a predefined sequence. The resource managers process these transactions and await a batch commit message from the transaction manager, which includes an indication of a second sequence number. Before receiving the batch commit message, a resource manager may receive a third prepare message for a third transaction, including a third sequence number. Upon receiving the batch commit message, the resource manager checks if the third sequence number is less than the second sequence number. If so, the resource manager commits the third work item, ensuring transactions are processed in the correct order. This approach optimizes transaction commit operations by allowing earlier transactions to be committed once later transactions in the sequence are confirmed, improving system efficiency and consistency.

Claim 9

Original Legal Text

9. The system of claim 5 , wherein the resource manager is further programmed to: receive from the transaction manager a third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) a third sequence number that indicates a relative position of the third distributed transaction in the sequence of distributed transactions; receive from the transaction manager a fourth prepare message, wherein the fourth prepare message comprises (a) fourth work item data describing a fourth work item to be performed by the resource manager for a fourth distributed transaction and (b) a fourth sequence number that indicates a relative position of the fourth distributed transaction relative to the third distributed transaction in the sequence of distributed transactions; receive from the transaction manager a query message; send a reply to the query message after a threshold time period has passed after the query message was sent by the transaction manager; receive from the transaction manager a second batch commit message comprising data describing the third distributed transaction and the fourth distributed transaction; and commit to the third work item and the fourth work item.

Plain English Translation

This invention relates to distributed transaction management systems, specifically improving coordination between a transaction manager and resource managers in handling multiple transactions. The problem addressed is ensuring reliable and ordered execution of distributed transactions, particularly when resource managers may experience delays or failures. The system includes a transaction manager and one or more resource managers. The transaction manager coordinates distributed transactions by assigning sequence numbers to transactions, indicating their relative order. Resource managers receive prepare messages from the transaction manager, each containing work item data and a sequence number specifying the transaction's position in the sequence. For example, a resource manager may receive a third prepare message for a third transaction and a fourth prepare message for a fourth transaction, where the fourth sequence number indicates the fourth transaction follows the third in the sequence. The transaction manager sends a query message to check the resource manager's readiness. The resource manager responds only after a threshold time period, ensuring synchronization. Later, the transaction manager sends a batch commit message containing data for multiple transactions (e.g., the third and fourth transactions). The resource manager then commits the work items for these transactions in the specified order. This approach enhances reliability by enforcing transaction sequencing and handling delays gracefully.

Claim 10

Original Legal Text

10. A method for managing distributed transactions, the method comprising: sending, by a transaction manager and to a resource manager, a first prepare message, wherein the first prepare message comprises (a) first work item data describing a first work item to be performed by the resource manager for a first distributed transaction including a first plurality of types of resources each provided by different resource managers and (b) a first sequence number that indicates a position of the first distributed transaction in a sequence of distributed transactions, wherein the transaction manager is executed by a computing device comprising at least one processor and operatively associated memory; receiving, by the transaction manager, a first vote message for the first distributed transaction indicating that the resource manager can commit to the first distributed transaction; after the first vote message is received and while the first distributed transaction is pending, sending, by the transaction manager and to the resource manager, a second prepare message, wherein the second prepare message comprises (a) second work item data describing a second work item to be performed by the resource manager for a second distributed transaction including a second plurality of types of resources each provided by different resource managers and (b) a second sequence number greater than the first sequence number, the second sequence number indicating a relative position of the second distributed transaction relative to the first distributed transaction in the sequence of distributed transactions, wherein the sequence of distributed transactions includes at least the first and second distributed transactions; detecting, by the transaction manager, a flush event; and while the first and second distributed transactions remain pending, sending, by the transaction manager and to the resource manager, a batch commit message instructing the resource manager to commit, based on the second sequence number, the first work item and the second work item.

Plain English Translation

This invention relates to managing distributed transactions across multiple resource managers in a computing system. The problem addressed is ensuring consistency and efficiency in handling multiple pending transactions, particularly when resources are distributed across different managers. The solution involves a transaction manager that coordinates the preparation and commitment of transactions in a sequence, allowing for batch processing to improve performance. The transaction manager sends a first prepare message to a resource manager, which includes work item data for a first distributed transaction and a sequence number indicating its position in a transaction sequence. The resource manager responds with a vote message confirming it can commit the transaction. While the first transaction remains pending, the transaction manager sends a second prepare message for a second distributed transaction, which has a higher sequence number, indicating it follows the first transaction. Upon detecting a flush event, the transaction manager sends a batch commit message to the resource manager, instructing it to commit both the first and second work items based on their sequence numbers. This approach ensures transactions are processed in order while allowing for efficient batch commits, reducing overhead in distributed transaction management. The system is implemented on a computing device with at least one processor and associated memory.

Claim 11

Original Legal Text

11. The method of claim 10 , wherein the batch commit message also comprises an indication of the second sequence number.

Plain English Translation

A system and method for managing data consistency in distributed systems involves coordinating transactions across multiple nodes to ensure atomicity and durability. The problem addressed is maintaining consistency when multiple nodes process transactions independently, leading to potential conflicts or partial updates. The solution involves generating sequence numbers for transactions, tracking their status, and using batch commit messages to synchronize updates across nodes. A batch commit message includes a sequence number to identify the transaction and an indication of a second sequence number to reference a related transaction, ensuring dependencies between transactions are preserved. This allows the system to verify that all transactions in a batch are completed before finalizing updates, preventing inconsistencies. The method also includes mechanisms for detecting and resolving conflicts, such as retrying failed transactions or rolling back incomplete updates. The system is designed for high-availability environments where nodes may operate asynchronously, ensuring data integrity without requiring synchronous communication. The approach reduces latency by minimizing coordination overhead while maintaining strong consistency guarantees.

Claim 12

Original Legal Text

12. The method of claim 10 , wherein detecting the flush event comprises: determining a first number of prepare messages sent to the resource manager for which the transaction manager has not instructed the resource manager to either commit or roll back; and determining that the first number exceeds a flush threshold.

Plain English Translation

A system and method for managing transaction processing in distributed systems, particularly in environments where transaction managers coordinate multiple resource managers to ensure data consistency. The problem addressed is the inefficiency and potential delays in transaction processing due to the accumulation of uncommitted transactions, which can lead to resource contention, performance degradation, and increased risk of data inconsistency. The invention involves a method for detecting a flush event in a transaction processing system. The method includes determining a first number of prepare messages sent to a resource manager for which the transaction manager has not yet instructed the resource manager to either commit or roll back the transaction. A flush event is detected when this first number exceeds a predefined flush threshold. This mechanism ensures that transactions are promptly committed or rolled back, preventing excessive accumulation of uncommitted transactions and improving system performance and reliability. The flush threshold can be dynamically adjusted based on system load, resource availability, or other operational parameters to optimize transaction processing efficiency. The method may also involve additional steps such as monitoring transaction progress, adjusting the flush threshold, and triggering appropriate actions when the threshold is exceeded. This approach enhances transaction management by reducing latency and ensuring timely resolution of pending transactions.

Claim 13

Original Legal Text

13. The method of claim 10 , further comprising: after sending the first prepare message to the resource manager, incrementing a counter, by the transaction manager; and after sending the second prepare message to the resource manager, incrementing the counter, by the transaction manager, wherein detecting the flush event comprises determining, by the transaction manager, that the counter is greater than a flush threshold.

Plain English Translation

This invention relates to transaction management in distributed systems, specifically improving the efficiency of transaction preparation and commit processes. The problem addressed is the need to optimize resource usage and reduce latency in distributed transactions by dynamically triggering flush events based on transaction activity. The method involves a transaction manager coordinating with a resource manager to handle transaction preparation. The transaction manager sends a first prepare message to the resource manager for a transaction, then increments a counter. After sending a second prepare message for another transaction, the counter is incremented again. The transaction manager monitors this counter and detects a flush event when the counter exceeds a predefined flush threshold. This mechanism ensures that transaction preparation messages are efficiently batched and processed, reducing the overhead of frequent individual operations. The flush event triggers the transaction manager to process pending transactions, improving system performance by minimizing the number of separate operations. The counter-based approach allows dynamic adjustment of flush timing based on transaction load, ensuring optimal resource utilization. This method is particularly useful in high-throughput distributed systems where transaction efficiency is critical.

Claim 14

Original Legal Text

14. The method of claim 10 , wherein detecting the flush event comprises determining, by the transaction manager, that more than a flush threshold period has passed since the first prepare message was sent to the resource manager.

Plain English Translation

A system for managing distributed transactions in a computing environment ensures data consistency across multiple resource managers. The method involves a transaction manager coordinating a two-phase commit protocol, where a prepare phase verifies that all participating resource managers are ready to commit a transaction. If a resource manager fails to respond within a specified time, the transaction manager detects a flush event, indicating a potential failure or delay. The flush event is triggered when more than a predefined flush threshold period has elapsed since the initial prepare message was sent to the resource manager. This mechanism helps prevent indefinite waiting and ensures timely resolution of transaction states, improving system reliability and performance. The transaction manager may then take corrective actions, such as retrying the prepare request or aborting the transaction, based on the detected flush event. This approach enhances fault tolerance in distributed transaction processing by dynamically adjusting to delays or failures in resource manager responses.

Claim 15

Original Legal Text

15. The method of claim 10 , further comprising: sending, by the transaction manager and to the resource manager, a third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) a third sequence number that indicates a position of the third distributed transaction in the sequence of distributed transactions; sending, by the transaction manager and to the resource manager, a fourth prepare message, wherein the fourth prepare message comprises (a) fourth work item data describing a fourth work item to be performed by the resource manager for a fourth distributed transaction and (b) a fourth sequence number greater than the third sequence number, the fourth sequence number indicating a relative position of the fourth distributed transaction relative to the third distributed transaction in the sequence of distributed transactions; sending, by the transaction manager, a query to the resource manager; determining, by the transaction manager, that a reply to the query is not received for at least a threshold time period; and sending, by the transaction manager and to the resource manager, a second batch commit message instructing the resource manager to commit the third work item and the fourth work item.

Plain English Translation

This invention relates to distributed transaction management in computing systems, specifically addressing the challenge of ensuring transaction consistency and recovery in distributed environments where multiple transactions must be processed in a coordinated sequence. The system involves a transaction manager and a resource manager that handle work items for distributed transactions, with each transaction assigned a sequence number to maintain order. The transaction manager sends prepare messages to the resource manager, each containing work item data and a sequence number indicating the transaction's position in the sequence. For example, a third prepare message includes data for a third transaction and a third sequence number, while a fourth prepare message includes data for a fourth transaction and a fourth sequence number that is higher, indicating the fourth transaction follows the third in the sequence. If the transaction manager detects a failure, such as when a query to the resource manager times out after a threshold period, it sends a batch commit message to the resource manager, instructing it to commit both the third and fourth work items. This ensures that transactions are processed in the correct order and that recovery mechanisms can handle failures without data inconsistency. The system improves reliability in distributed transaction processing by enforcing sequence-based commit operations and handling resource manager failures gracefully.

Claim 16

Original Legal Text

16. The method of claim 10 , further comprising: sending, by the transaction manager and to the resource manager, a third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager on a first resource for a third distributed transaction and (b) a third sequence number that indicates a position of the third distributed transaction in the sequence of distributed transactions; receiving, by the transaction manager, a transaction request describing a fourth distributed transaction comprising a fourth work item; determining, by the transaction manager, that the fourth work item utilizes the first resource of the resource manager in a way that conflicts with the third work item; sending, by the transaction manager and to the resource manager, a second commit message instructing the resource manager to commit the third work item; and sending, by the transaction manager and to the resource manager, a fourth prepare message, wherein the fourth prepare message comprises (a) fourth work item data describing the fourth work item to be performed by the resource manager for a fourth distributed transaction and (b) a fourth sequence number that indicates a position of the third distributed transaction in the sequence of distributed transactions.

Plain English Translation

This invention relates to distributed transaction management systems, specifically handling conflicts between transactions that access the same resource. In distributed systems, multiple transactions may attempt to modify shared resources simultaneously, leading to conflicts that require resolution to maintain data consistency. The invention addresses this by implementing a transaction manager that coordinates the execution of distributed transactions by assigning sequence numbers to transactions and managing their preparation and commitment phases. The transaction manager sends prepare messages to a resource manager, each containing work item data and a sequence number indicating the transaction's position in the execution order. If a new transaction request conflicts with an ongoing transaction (e.g., both require exclusive access to the same resource), the transaction manager resolves the conflict by committing the earlier transaction before proceeding with the new one. This involves sending a commit message to finalize the earlier transaction and then sending a new prepare message for the conflicting transaction, ensuring proper sequencing and resource allocation. The system ensures that transactions are processed in a conflict-free manner while maintaining consistency across distributed resources.

Claim 17

Original Legal Text

17. The method of claim 10 , further comprising: sending, by the transaction manager and to the resource manager, a third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) a third sequence number that indicates a position of the third distributed transaction in the sequence of distributed transactions; and determining that at least one resource manager of a plurality of resource managers for the third distributed transaction cannot commit to the third distributed transaction, wherein the plurality of resource managers includes the resource manager, and wherein the batch commit message comprises data indicating that the third distributed transaction is to be rolled-back.

Plain English Translation

This invention relates to distributed transaction management in computing systems, specifically addressing the challenge of coordinating multiple resource managers to ensure data consistency across a sequence of distributed transactions. The system includes a transaction manager that orchestrates transactions by sending prepare messages to resource managers, which must acknowledge their ability to commit or roll back transactions. Each prepare message contains work item data describing the transaction's operations and a sequence number indicating its position in the transaction sequence. If any resource manager in a distributed transaction cannot commit, the transaction manager sends a batch commit message that includes instructions to roll back the transaction, ensuring system-wide consistency. The method also handles scenarios where multiple resource managers are involved in a single transaction, requiring coordinated responses to maintain data integrity. This approach improves reliability in distributed systems by enforcing strict commit or rollback decisions based on consensus among all participating resource managers.

Claim 18

Original Legal Text

18. The method of claim 10 , further comprising: sending, by the transaction manager and to the resource manager, a third prepare message, wherein the third prepare message comprises (a) third work item data describing a third work item to be performed by the resource manager for a third distributed transaction and (b) a third sequence number that indicates a position of the third distributed transaction in the sequence of distributed transactions; sending, by the transaction manager and to the resource manager, a fourth prepare message, wherein the fourth prepare message comprises (a) fourth work item data describing a fourth work item to be performed by the resource manager for a fourth distributed transaction and (b) a fourth sequence number greater than the third sequence number, the fourth sequence number indicating a relative position of the fourth distributed transaction relative to the third distributed transaction in the sequence of distributed transactions; determining that at least one resource manager of a plurality of resource managers for the fourth distributed transaction cannot commit to the fourth distributed transaction, wherein the plurality of resource managers includes the resource manager; and sending to the resource manager a roll-back message for the fourth distributed transaction.

Plain English Translation

In distributed transaction processing systems, managing multiple transactions across different resource managers while maintaining consistency and order is a critical challenge. This invention addresses the need for a transaction manager to coordinate distributed transactions by assigning sequence numbers to transactions and handling rollback operations when conflicts arise. The transaction manager sends prepare messages to resource managers, each containing work item data and a sequence number indicating the transaction's position in the sequence. For example, a third prepare message includes data for a third transaction and a third sequence number, while a fourth prepare message includes data for a fourth transaction and a fourth sequence number that is higher than the third, indicating the fourth transaction follows the third. If any resource manager in the group handling the fourth transaction cannot commit to it, the transaction manager sends a rollback message to undo the transaction. This ensures that transactions are processed in the correct order and that failed transactions are properly reverted, maintaining system consistency. The method improves reliability in distributed transaction processing by enforcing sequence-based coordination and automated rollback mechanisms.

Claim 19

Original Legal Text

19. The method of claim 18 , further comprising sending to the resource manager a batch commit message instructing the resource manager to commit the third work item.

Plain English Translation

A system and method for managing work items in a distributed computing environment addresses the challenge of efficiently coordinating transactions across multiple resources. The invention involves a resource manager that tracks work items representing tasks or operations to be performed on shared resources. When a first work item is received, the resource manager assigns a transaction identifier and tracks its progress. If the first work item is successfully completed, the resource manager sends a commit message to finalize the transaction. If the first work item fails, the resource manager sends a rollback message to undo any partial changes. The system also handles nested transactions, where a second work item is initiated within the context of the first. The resource manager tracks dependencies between these work items and ensures atomicity by committing or rolling back the second work item based on the outcome of the first. Additionally, the system supports batch processing, where a batch commit message is sent to the resource manager to instruct the finalization of multiple work items simultaneously, improving efficiency in scenarios with high transaction volumes. This approach ensures data consistency and reliability in distributed systems by managing transactional integrity across interconnected resources.

Claim 20

Original Legal Text

20. The method of claim 18 , further comprising, after sending the roll-back message, detecting a second flush event and, in response to the second flush event, sending a second batch commit message instructing the resource manager to commit the third work item.

Plain English Translation

This invention relates to distributed transaction management systems, specifically methods for handling transaction rollbacks and subsequent commits in a resource manager environment. The problem addressed is ensuring data consistency and efficient recovery in distributed systems where transactions may need to be rolled back and later recommitted. The method involves managing transactions in a distributed system where a resource manager processes work items. If a transaction fails, a roll-back message is sent to the resource manager to undo the changes made by a first work item. After sending the roll-back message, the system detects a second flush event, which triggers the sending of a second batch commit message. This commit message instructs the resource manager to commit a third work item, ensuring that subsequent transactions can proceed correctly after a rollback. The method ensures that failed transactions are properly reverted while allowing new transactions to be committed when conditions permit, improving system reliability and data integrity in distributed environments. The approach is particularly useful in systems where transactions must be atomic and consistent, such as financial or database systems.

Patent Metadata

Filing Date

Unknown

Publication Date

September 17, 2019

Inventors

Paul Robinson
Thomas Jenkinson

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “BATCHED COMMIT IN DISTRIBUTED TRANSACTIONS” (10417038). https://patentable.app/patents/10417038

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/10417038. See llms.txt for full attribution policy.