Abstract:
Method, apparatus, and computer program product for reducing the number of operations performed by a persistence manager against a persistent store of data items. A plurality of requests from an application are received. Each request is mapped into a transaction for performance against the persistent store, each transaction having at least one operation. Transactions are accumulated and preprocessed to reduce the number of operations for performance against the persistent store.
Abstract:
A computer system and storage medium that, in an embodiment, receive an allocation request for a resource and registers the resource as a non-voting participant if the resource desires to delegate commit voting to another resource. The registered resource is then prohibited from participating in an enclosing transactional context and instead is informed when the transaction completes. The resource is enlisted as a voting participant if the resource does not desire to delegate commit voting. In this way, when multiple resources are used in a transaction, a resource may be registered and receive notifications of transaction completion instead of being enlisted and voting on commit decisions. The result of a transaction in which a single resource takes responsibility for a number of other resources is that transaction completion avoids the two-phase commit protocol and the resulting performance degradation.
Abstract:
A fault-tolerant transaction processing system and method stores records associated with operations of the system in order to permit recovery in the event of a need to roll back a transaction or to restart the system. At least some of the operational records are stored as a recovery log in low-speed non-volatile storage and at least some are stored as a recovery list in high speed volatile storage. Rollback of an individual transaction is effected by reference to the recovery list whereas restart of the system is effected by reference to the recovery log.
Abstract:
A user is enabled to specify policy information for use by a persistence manager in determining how to persist information relating to a data item so as achieve a desired level of reliability. The user is permitted to specify at least two behavior requirements to be associated with information to be persisted. The first behavior requirement is specifiable for a first system state, and the second behavior state is specifiable for a second system state. The behavior requirements are interpretable by the persistence manager to determine a persistence behavior necessary to conform with the policy information.
Abstract:
Data integrity is maintained in an environment in which multiple instances of a software component each can include multiple processes capable of accessing a shared resource. Each instance of the software component can be either an “active” instance (which is allowed to update data) or a “standby” instance (which is not allowed to update data). At any point in time, the environment does not comprise more than one active instance. There can, however, be more than one standby instance. Preferably, a single standby instance can become a new active instance in the event of a complete failure of the active instance, i.e. a failure associated with every process of the current active instance.
Abstract:
A computer system and storage medium that, in an embodiment, receive an allocation request for a resource and registers the resource as a non-voting participant if the resource desires to delegate commit voting to another resource. The registered resource is then prohibited from participating in an enclosing transactional context and instead is informed when the transaction completes. The resource is enlisted as a voting participant if the resource does not desire to delegate commit voting. In this way, when multiple resources are used in a transaction, a resource may be registered and receive notifications of transaction completion instead of being enlisted and voting on commit decisions. The result of a transaction in which a single resource takes responsibility for a number of other resources is that transaction completion avoids the two-phase commit protocol and the resulting performance degradation.
Abstract:
Data integrity is maintained in an environment in which multiple instances of a software component each can include multiple processes capable of accessing a shared resource. Each instance of the software component can be either an “active” instance (which is allowed to update data) or a “standby” instance (which is not allowed to update data). At any point in time, the environment does not comprise more than one active instance. There can, however, be more than one standby instance. Preferably, a single standby instance can become a new active instance in the event of a complete failure of the active instance, i.e. a failure associated with every process of the current active instance.
Abstract:
A fault-tolerant transaction processing system and method stores records associated with operations of the system in order to permit recovery in the event of a need to roll back a transaction or to restart the system. At least some of the operational records are stored as a recovery log in low-speed non-volatile storage and at least some are stored as a recovery list in high speed volatile storage. Rollback of an individual transaction is effected by reference to the recovery list whereas restart of the system is effected by reference to the recovery log.
Abstract:
Method, apparatus, and computer program product for reducing the number of operations performed by a persistence manager against a persistent store of data items. A plurality of requests from an application are received. Each request is mapped into a transaction for performance against the persistent store, each transaction having at least one operation. Transactions are accumulated and preprocessed to reduce the number of operations for performance against the persistent store.
Abstract:
A technique of logging updates to a plurality of data records into discrete pages in non-volatile storage, wherein a page partially full of data is known as a partial page. Identical partial pages I and I+1 are established in the logging process as quickly as possible. Thereafter, in response to a data segment D larger than the remaining space of a most recent updated partial page I, D is partitioned into a first segment D1 sufficient to fill the remaining space of page I and a second data segment D2. Page I is updated with a first write operation to its present contents concatenated with D1, and identical partial pages containing D2 are created at I+1 and I+2 with a second write operation, whereby those pages become pages I and I+1 for the next logging operation.