← Back to Patent Explorer
US5878434A Expired / Lapsed US ⏱️ 0.0 years remaining

Transaction clash management in a disconnectable computer and network

Assignee: Oracle International Corp
•
Filing: 1996-07-18
•
Granted: 1999-03-02
•
Expires: 2016-07-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus are disclosed for detecting and handling clashes that may occur when transactions performed on disconnected replicas of a database are merged after the computers carrying the replicas are reconnected. A variety of clashes are addressed, including those which arise from inconsistent add, remove, move, and modify operations. Transient clashes that would resolve themselves without significant intervention are distinguished from persistent clashes. Log patching, regression, key modification, duplication, and a variety of other tools for handling the clashes are described.

Inventors

  • 👤 Stephen P. W. Draper
  • 👤 Brian J. Collins
  • 👤 Patrick T. Falls

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 18:44
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2336; G06F16/2343; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 137 words
A method for handling clashes during the synchronization of operations performed on a disconnected first computer with operations performed on a second computer, the synchronization being performed after the first computer and the second computer are reconnected by a network link, the second computer and the first computer each containing a replica of a distributed database, said method comprising the computer-implemented steps of: merging out a representation of the operations performed on the first computer by applying at least a portion of the operations to the second replica; merging in a representation of the operations performed on the second computer by applying at least a portion of the operations to the first computer replica; detecting persistent clashes during at least one of said merging steps; and recovering from at least a portion of the detected persistent clashes.
Claim 2
Independent Claim 137 words
A method for handling clashes during the synchronization of operations performed on a disconnected first computer with operations performed on a second computer, the synchronization being performed after the first computer and the second computer are reconnected by a network link, the second computer and the first computer each containing a replica of a distributed database, said method comprising the computer-implemented steps of: merging out a representation of the operations performed on the first computer by applying at least a portion of the operations to the second replica; merging in a representation of the operations performed on the second computer by applying at least a portion of the operations to the first computer replica; detecting persistent clashes during at least one of said merging steps; and recovering from at least a portion of the detected persistent clashes.
Claim 3
Dependent Claim 19 words
The method of claim 1, wherein the representation of the operations performed on each computer includes an update log.
Claim 4
Dependent Claim 27 words
The method of claim 2, wherein said method further comprises the steps of detecting transient clashes and eliminating at least a portion of the detected transient clashes.
Claim 5
Dependent Claim 36 words
The method of claim 3, wherein said method further comprises the step of compressing at least one of the update logs and said steps of detecting and eliminating transient clashes both occur during said compressing step.
Claim 6
Dependent Claim 52 words
The method of claim 3, wherein said step of detecting transient clashes comprises identifying a clashing update in an update log, and said eliminating step comprises scanning forward in the log from the clashing update to determine whether a subsequent repairing update will remove a clash condition associated with the clashing update.
Claim 7
Dependent Claim 16 words
The method of claim 5, wherein temporally consistent sections of the update log are merged atomically.
Claim 8
Dependent Claim 48 words
The method of claim 3, wherein said eliminating step comprises providing a shadow database for at least a portion of one of the replicas, and one of said merging steps applies operations atomically to the shadow database and subsequently alters the replica to correspond with the shadow database.
Claim 9
Dependent Claim 44 words
The method of claim 1, wherein one of said merging steps is preceded by the step of locking the replica used during merging to prevent access to the replica during merging by any process other than a process that is performing the merging step.
Claim 10
Dependent Claim 24 words
The method of claim 1, wherein said steps of detecting persistent clashes and recovering from persistent clashes are performed primarily on the second computer.
Claim 11
Dependent Claim 35 words
The method of claim 1, wherein said merging out step is preceded by the step of compressing an update log on the first computer to create the representation of operations performed on the first computer.
Claim 12
Dependent Claim 17 words
The method of claim 1, wherein said step of detecting persistent clashes comprises detecting unique key clashes.
Claim 13
Dependent Claim 17 words
The method of claim 1, wherein said step of detecting persistent clashes comprises detecting incompatible manipulation clashes.
Claim 14
Dependent Claim 17 words
The method of claim 1, wherein said step of detecting persistent clashes comprises detecting file content clashes.
Claim 15
Dependent Claim 16 words
The method of claim 1, wherein said step of detecting persistent clashes comprises detecting permission clashes.
Claim 16
Dependent Claim 33 words
The method of claim 1, wherein said step of detecting persistent clashes comprises detecting a clash between at least a portion of the distributed database and a structure external to the distributed database.
Claim 17
Dependent Claim 50 words
The method of claim 1, wherein said step of recovering from persistent clashes comprises comparing a value in the first computer replica with a corresponding value in the second replica and modifying the value stored in one replica to make it equal to the corresponding value in the other replica.
Claim 18
Dependent Claim 38 words
The method of claim 1, wherein the representation of the operations performed on the first computer includes an update log, and said step of recovering from persistent clashes comprises regressing persistently clashing updates from the first computer replica.
Claim 19
Dependent Claim 27 words
The method of claim 17, wherein said detecting, recovering, and regressing steps are applied recursively after an update regression to handle clashes caused by the update regression.
Claim 20
Dependent Claim 25 words
The method of claim 1, wherein said step of recovering from persistent clashes comprises inserting an update into the update stream before a clashing update.
Claim 21
Dependent Claim 22 words
The method of claim 1, wherein said step of recovering from persistent clashes comprises creating a recovery item in a recovery storage.
Claim 22
Dependent Claim 21 words
The method of claim 20, wherein the recovery storage comprises a directory hierarchy for holding recovery items in a file system.
Claim 23
Dependent Claim 37 words
The method of claim 21, wherein all recovery items created in response to clashes detected during a single instance of said detecting step reside in a single directory hierarchy whose directories were created during said recovering step.
Claim 24
Dependent Claim 22 words
The method of claim 20, wherein the recovery storage comprises a container hierarchy for holding recovery items in a directory services tree.
Claim 25
Dependent Claim 25 words
The method of claim 20, wherein said step of creating a recovery item comprises moving an object in the distributed database into the recovery storage.
Claim 26
Dependent Claim 30 words
The method of claim 20, wherein said step of creating a recovery item comprises duplicating an object in the distributed database and placing the duplicate object into the recovery storage.
Claim 27
Dependent Claim 29 words
The method of claim 20, wherein said step of creating a recovery item comprises creating in the recovery storage an object that is not present in the distributed database.
Claim 28
Dependent Claim 25 words
The method of claim 1, wherein at least one of said merging steps includes applying an operation to the replica by modifying a grouped attribute.
Claim 29
Dependent Claim 56 words
The method of claim 1, further comprising the steps of: associating a sequence number with each operation performed on the first computer while the first computer is disconnected from the second computer; and maintaining a record on the second computer of which sequence numbers have been applied to the second replica during said merging out step.
Claim 30
Dependent Claim 22 words
The method of claim 1, wherein the first computer is a mobile computer and the second computer is a central server computer.
Claim 31
Dependent Claim 21 words
The method of claim 1, wherein the first computer and the second computer are each server computers in a computer network.
Claim 32
Dependent Claim 126 words
A computer-readable storage medium having a configuration that represents data and instructions which cause a first computer and a second computer connected by a network link to perform method steps for handling clashes, the first computer and the second computer each containing a replica of a distributed database, the method comprising the steps of: merging out a representation of operations performed on the first computer by applying at least a portion of the operations to the second replica; merging in a representation of operations performed on the second computer by applying at least a portion of the operations to the first computer replica; detecting persistent clashes during at least one of the merging steps; and recovering from at least a portion of the detected persistent clashes.
Claim 33
Dependent Claim 126 words
A computer-readable storage medium having a configuration that represents data and instructions which cause a first computer and a second computer connected by a network link to perform method steps for handling clashes, the first computer and the second computer each containing a replica of a distributed database, the method comprising the steps of: merging out a representation of operations performed on the first computer by applying at least a portion of the operations to the second replica; merging in a representation of operations performed on the second computer by applying at least a portion of the operations to the first computer replica; detecting persistent clashes during at least one of the merging steps; and recovering from at least a portion of the detected persistent clashes.
Claim 34
Dependent Claim 42 words
The storage medium of claim 31, wherein the representation of the operations performed on each computer includes an update log and the method further comprises the steps of detecting transient clashes and eliminating at least a portion of the detected transient clashes.
Claim 35
Dependent Claim 37 words
The storage medium of claim 32, wherein the method further comprises the step of compressing at least one of the update logs and the steps of detecting and eliminating transient clashes both occur during the compressing step.
Claim 36
Dependent Claim 53 words
The storage medium of claim 32, wherein the step of detecting transient clashes comprises identifying a clashing update in an update log, and the eliminating step comprises scanning forward in the log from the clashing update to determine whether a subsequent repairing update will remove a clash condition associated with the clashing update.
Claim 37
Dependent Claim 36 words
The storage medium of claim 31, wherein the merging out step is preceded by the step of compressing an update log on the first computer to create the representation of operations performed on the first computer.
Claim 38
Dependent Claim 18 words
The storage medium of claim 31, wherein the step of detecting persistent clashes comprises detecting incompatible manipulation clashes.
Claim 39
Dependent Claim 18 words
The storage medium of claim 31, wherein the step of detecting persistent clashes comprises detecting file content clashes.
Claim 40
Dependent Claim 34 words
The storage medium of claim 31, wherein the step of detecting persistent clashes comprises detecting a clash between at least a portion of the distributed database and a structure external to the distributed database.
Claim 41
Dependent Claim 39 words
The storage medium of claim 31, wherein the representation of the operations performed on the first computer includes an update log, and the step of recovering from persistent clashes comprises regressing persistently clashing updates from the first computer replica.
Claim 42
Dependent Claim 22 words
The storage medium of claim 31, wherein the step of recovering from persistent clashes comprises inserting an update into the update stream.
Claim 43
Dependent Claim 57 words
The storage medium of claim 31, further comprising the steps of: associating a sequence number with each operation performed on the first computer while the first computer is disconnected from the second computer; and maintaining a record on the second computer of which sequence numbers have been applied to the second replica during the merging out step.
Claim 44
Independent Claim 116 words
A system for clash handling comprising: a first computer; a second computer connected to the first computer by a network link, the first computer and the second computer each containing a replica of a distributed database; means for merging out a representation of operations performed on the first computer and applying at least a portion of the operations to the second replica; means for merging in a representation of operations performed on the second computer and applying at least a portion of the operations to the first computer replica; means for detecting persistent clashes during at least one of the merging steps; and means for recovering from at least a portion of the detected persistent clashes.
Claim 45
Independent Claim 116 words
A system for clash handling comprising: a first computer; a second computer connected to the first computer by a network link, the first computer and the second computer each containing a replica of a distributed database; means for merging out a representation of operations performed on the first computer and applying at least a portion of the operations to the second replica; means for merging in a representation of operations performed on the second computer and applying at least a portion of the operations to the first computer replica; means for detecting persistent clashes during at least one of the merging steps; and means for recovering from at least a portion of the detected persistent clashes.
Claim 46
Dependent Claim 42 words
The system of claim 42, wherein the representation of the operations performed on each computer includes an update log and said system further comprises means for detecting transient clashes and means for eliminating at least a portion of the detected transient clashes.
Claim 47
Dependent Claim 20 words
The system of claim 43, wherein said system further comprises means for compressing at least one of the update logs.
Claim 48
Dependent Claim 61 words
The system of claim 43, wherein said means for detecting transient clashes comprises means for identifying a clashing update in an update log, and said means for eliminating transient clashes comprises means for scanning forward in the log from the clashing update and means for determining whether a subsequent repairing update will remove a clash condition associated with the clashing update.
Claim 49
Dependent Claim 19 words
The system of claim 42, wherein said means for detecting persistent clashes comprises means for detecting incompatible manipulation clashes.
Claim 50
Dependent Claim 19 words
The system of claim 42, wherein said means for detecting persistent clashes comprises means for detecting file content clashes.
Claim 51
Dependent Claim 35 words
The system of claim 42, wherein said means for detecting persistent clashes comprises means for detecting a clash between at least a portion of the distributed database and a structure external to the distributed database.
Claim 52
Dependent Claim 40 words
The system of claim 42, wherein the representation of the operations performed on the first computer includes an update log, and said means for recovering from persistent clashes comprises means for regressing persistently clashing updates from the first computer replica.
Claim 53
Dependent Claim 23 words
The system of claim 42, wherein said means for recovering from persistent clashes comprises means for inserting an update into the update stream.
Claim 54
Dependent Claim 57 words
The system of claim 42, further comprising: means for associating a sequence number with each operation performed on the first computer while the first computer is disconnected from the second computer; and means for maintaining a record on the second computer of which sequence numbers have been applied to the second replica during the merging out step.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-01 2002-08-31 2003-03-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-01 2006-08-31 2007-03-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-01 2010-08-31 2011-03-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag