TRANSACTION SUPPORT FOR DISTRIBUTED DATA
First Claim
1. A system comprising:
- at least one transaction component comprising;
a processor;
a transaction component manager that;
receives a transaction comprising a plurality of operations;
for each of said operations;
determines a log sequence number for said operation;
transmits said operation to a data component with said log sequence number;
receives a reply from said data component for said operation; and
logs said operation after receiving said reply;
at least one data component comprising;
a processor;
a storage system;
a data component manager that;
receives operation requests comprising operations and a log sequence number;
processes said operation requests in an idempotent manner; and
returns a reply.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed system with transaction support may have a transaction component and one or more data components. The transaction component may manage a transaction using a log sequence number for each operation, and then transmit operations to one or more data components with log sequence numbers. The data components may perform the data operations in an idempotent manner and return a reply. The transaction component may then write the operation, its log sequence number, and information from the reply message to its log. The transaction component is able to commit a transaction, as well as retry or undo portions of a transaction, by using the information stored on its log. This may be possible even when a single transaction uses multiple data components, which may be located on different devices or manage separate and independent data sources.
44 Citations
20 Claims
-
1. A system comprising:
-
at least one transaction component comprising; a processor; a transaction component manager that; receives a transaction comprising a plurality of operations; for each of said operations; determines a log sequence number for said operation; transmits said operation to a data component with said log sequence number; receives a reply from said data component for said operation; and logs said operation after receiving said reply; at least one data component comprising; a processor; a storage system; a data component manager that; receives operation requests comprising operations and a log sequence number; processes said operation requests in an idempotent manner; and returns a reply. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving a transaction comprising a plurality of data operations comprising a first data operation for a first data component and a second data operation for a second data component, said transaction being received from a client; for each of said data operations, obtaining a log sequence number and transmitting said data operations and said log sequence number to a data component, said log sequence number being a monotonically increasing number; receiving an reply from each of said data components and logging said information from the reply and an associated log sequence number; and after receiving all of said replies from said data components for all operations within a transaction, returning a transaction completion reply to said client. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
a transaction component comprising; a processor; a session manager operable on said processor, said session manager that establishes an authenticated session with a client process; a record manager that receives a transaction to be performed on at least one record, said transaction being received from said client process and having a plurality of data operations comprising a first data operation performed on a first data component and a second data operation performed on a second data component; a lock manager that obtains log sequence numbers for data operations associated with said transaction; and a log manager that receives acknowledgments from a data component, said acknowledgments having an associated log sequence number, and logs said replies in a log file; said record manager that transmits said data operations to data components, said data operations having said associated log sequence number. - View Dependent Claims (18, 19, 20)
Specification