| US 7,543,000 B2 | ||
| Method and system combining state replication and operational-replay synchronization | ||
| Paul C. Castro, Harrison, N.Y. (US); Ravindranath Konuru, Tarrytown, N.Y. (US); Avraham Leff, New Hempstead, N.Y. (US); James T. Rayfield, Ridgefield, Conn. (US); and Danny L. Yeh, Irvington, N.Y. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Jan. 23, 2006, as Appl. No. 11/337,393. | ||
| Prior Publication US 2007/0185920 A1, Aug. 09, 2007 | ||
| Int. Cl. G06F 12/00 (2006.01); G06F 17/30 (2006.01) | ||
| U.S. Cl. 707—201 | 22 Claims |

| 1. A method for synchronizing replicas of shared data structures of a transactional application performing eager commit after
work, associated with one or more computer systems requiring consistency guarantees, at least one said one or more computer
system intermittently-connected to other computer systems via a network and executing operations associated with a shared
data structure of the transactional application while in a disconnected state, said method comprising:
at a first computer system, while in a disconnected state, logging information related to said executed operations of said
shared data structure in both an Operational Log and a State Log; and,
when said disconnected first computer system reconnects, dynamically at said time of reconnecting, evaluating a metric for
performing a replica synchronization operation on said first computer system according to a first synchronization method using
information logged in said Operational Log;
evaluating the metric for performing a replica synchronization operation on said first computer system according to a second
synchronization method using information logged in said State Log; and,
dynamically selecting, at synchronization time, based on the evaluated metric, whether to use said first or second synchronization
methods, and communicating a command to a second computer system to replicate said shared data structure based on said selected
synchronization method,
said evaluated metric including a cost metric based on an amount of a CPU time required to do a replica synchronization where
for said first synchronization method, a first CPU time is estimated from an execution time information relating to said executed
operation as logged in the Operational Log when in said disconnected state weighted by the ratio of a CPU speed of said first
computer system versus a CPU sped of said second computer system; and, for said second synchronization method, a second CPU
time is estimated from a number of entries in the State Log multiplied by an estimated processing time per state change of
said second computer; and
forwarding one of said Operational Log recorded at said first computer system or said State Log to said second computer system
for replica synchronization thereat in accordance with said evaluated cost metric, thereby ensuring consistency across the
shared data structures of the transactional application at said one or more computer systems.
|