Recovery guarantees for software components
AssigneeMicrosoft Corporation
InventorsDavid Bruce Lomet, Roger S. Barga
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsDavid Bruce Lomet, Roger S. Barga
Estimating the term…
A technique is described for guaranteeing recovery in a computer system comprising of recovery contracts with a plurality of obligations for a message exchange between a first component and a second component. Three forms of contract are described, governing interactions between three types of components. Each contract is bilateral, i.e. between a first component and a second component. The first and second components have mutual agreement on when the contract will be released to facilitate log truncation, and independent and/or autonomous recovery. The use of persistent and transactional components and the requirements for ensuring that it is possible to replay the components in a deterministic fashion, can result in a high cost or overhead in logging of nondeterministic events, including component interactions. An appreciation that this requirement may result in overly pessimistic logging has led to the definition of three additional component types, a functional component, a subordinate component and a read-only component.
A system for recovering software components in a computer system after a failure that affects operation of the computer system including one or more computers for executing software components and a stable log that survives a failure of said computer system, said system comprising:
A method of providing recovery in a computer system, comprising:
In a computer system, a process for failure recovery that specifies a joint behavior of two interacting components of the computer system comprising:
A computer readable storage medium having computer-executable instructions for performing the steps comprising:
Dependencies are inferred from the claim text.