Transaction History Manager for Chronological Sequencing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face challenges in determining the chronological order of transactions executed on objects, which is crucial for processes like garbage collection, statistics, and replication, but existing methods lack an efficient mechanism to accurately sequence and publish transaction records.
Innovation Solution
A transaction history manager uses a finite state machine to determine the chronological order of transactions by identifying executable transactions from each state, storing transaction records, and publishing them in the correct order, ensuring accurate sequencing and coordination across the system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If transaction records are stored and published without a systematic sequencing mechanism, then the storage system can operate with simpler architecture, but the chronological accuracy of transaction ordering deteriorates
Solution Approach 1:
A transaction history manager is introduced as an intermediary component between the storage system and transaction processing components. This manager maintains a transaction history that records transactions in chronological order and provides sequenced transaction information to garbage collectors, statistics engines, and replication engines, thereby ensuring chronological accuracy without requiring complex coordination among all system components
Solution Approach 2:
The transaction history manager implements a feedback mechanism where transactions are recorded and their chronological sequence is maintained and published back to the system. This feedback loop ensures that components like garbage collectors and replication engines receive accurately ordered transaction information, enabling them to perform their functions with correct chronological context
2Measurement precision
If a finite state machine is used to determine transaction sequences, then the chronological ordering precision is improved, but the computational complexity and processing time increase
Solution Approach 1:
The finite state machine is configured to identify executable transactions from each state in advance, before actual transaction execution. By pre-determining valid transaction sequences and maintaining a transaction history that reflects chronologically ordered transactions, the system avoids complex real-time analysis during transaction processing, thereby maintaining both high sequencing precision and acceptable processing speed
3Reliability
If transaction histories are maintained for all objects, then the reliability of garbage collection and replication processes is improved, but the memory consumption and storage overhead increase
Solution Approach 1:
The transaction history is extracted and maintained as a separate, dedicated data structure within the transaction history manager, rather than being embedded within each object's metadata. This separation allows the system to maintain comprehensive transaction histories for reliability while managing memory consumption through centralized control and efficient data structures in the metadata tier
Data Source
AI summary
Techniques for determining a chronological order of transactions executed in relation to an object stored in a storage system are disclosed. A transaction history, stored in association with an object, includes information identifying transactions executed in relation to the object. A transaction history manager obtains information describing a state machine from a data repository. The state machine defines a finite set of states that may be assumed by objects stored in the storage system. The state machine specifies transaction types that may be executed from each state. Based on the state machine, the messaging service determines a sequence of states assumed by the object. The messaging service determines a particular transaction that is executable from each state assumed by the object. Hence, the messaging service determines a chronological order of the transactions stored in the transaction history.


