US2010036844A1PendingUtilityA1

System and method of using conflicts to maximize concurrency in a database

Assignee: ACCESS CO LTDPriority: Oct 21, 2004Filed: Oct 15, 2009Published: Feb 11, 2010
Est. expiryOct 21, 2024(expired)· nominal 20-yr term from priority
G06F 16/2343
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A first method includes requesting a modification of a data object within the data store using a first application process, establishing a read lock on the data object, initializing an object monitor adapted to detects changes to the data object and releasing the read lock, allowing other concurrent processes to write to the data object, wherein the object monitor detects if any of the concurrent processes overwrite the data object. A second method includes requesting a modification of a data object within the data store using a first application process, establishing a read lock on the data store, initializing a datastore monitor adapted to detect changes to the data store, reading all data objects in the data store and releasing the read lock on the data store, allowing other concurrent processes to write to the data store wherein the datastore monitor detects if any of the concurrent processes overwrite one or more data objects in the data store.

Claims

exact text as granted — not AI-modified
1 . A method of providing data concurrency in a data store having a plurality of data objects, the method comprising the steps of:
 requesting a modification of a data object within the datastore using an application process;   establishing a read lock on the data object;   initializing an object monitor adapted to detect changes to the data object; and   releasing the read lock to allow other concurrent processes to write to the data object wherein the object monitor detects if any of the concurrent processes overwrite the data object.   
     
     
         2 . The method of  claim 1 , further comprising:
 recording a current pedigree and at least one counter to track modifications of the data object before the read lock is released using the object monitor.   
     
     
         3 . The method of  claim 2 , further comprising:
 detecting an overwrite by a concurrent process by comparing a pedigree and a counter to track modifications stored by the process with what is stored by the monitor.   
     
     
         4 . The method of  claim 2 , wherein the pedigree of the data object includes at least a node identifier and a synchronization count. 
     
     
         5 . The method of  claim 1 , wherein the data store is located on a portable computing device. 
     
     
         6 . A method of creating and or detecting conflicts in a data store using an object monitor comprising the steps:
 determining whether to make edits to a data object in the data store using an application process;   establishing a read lock on the data object;   determining, using an object monitor applied to the data object when it was read from the data object, whether the data object has been modified between commencement and finalization of the edits; and   creating a new conflicted version of the data object if it is determined that the data object has been modified.   
     
     
         7 . The method of  claim 6 , further comprising:
 if it is determined that the data object has not been modified between commencement and finalization of the edits, overwriting the data object.   
     
     
         8 . The method of  claim 6 , wherein the object monitor determines that the data object has been modified between commencement and finalization of the edits by comparing a pedigree and modification counter of the data object at the time of finalization to a pedigree of the data object at the commencement of editing. 
     
     
         9 . The method of  claim 6 , further comprising:
 determining whether to create a conflicted version causing no edits to be committed and the read lock to be released.   
     
     
         10 . The method of  claim 6 , wherein the data store is located on a portable computing device. 
     
     
         11 . A method of providing data concurrency in a data store having a plurality of data objects, the method comprising the steps of:
 establishing a read lock on the data store;   initializing a datastore monitor adapted to detect changes to the data store;   reading all data objects in the data store; and   releasing the read lock on the data store to allow other concurrent processes to write to the data store wherein the datastore monitor detects if any of the concurrent processes overwrite one or more data objects in the data store.   
     
     
         12 . The method of  claim 11 , further comprising:
 recording, using the datastore monitor, all modifications and additions to the data store.   
     
     
         13 . The method of  claim 12 , wherein the datastore monitor comprises a log of the modifications and additions to the data store. 
     
     
         14 . The method of  claim 13 , wherein the datastore monitor is initially set empty. 
     
     
         15 . The method of  claim 11 , further comprising:
 refreshing the read data object data when a sufficient amount of data has changed.   
     
     
         16 . A method of providing data concurrency in a data store having a plurality of data objects, the method comprising the steps of:
 requesting a modification of a data object within the data store using an application process;   establishing a read lock on the data object;   initializing an object monitor adapted to detect changes to the data object;   releasing the read lock, allowing other concurrent processes to write to the data object;   obtaining a request from a user to process finalized edits made to the data object;   reestablishing a read lock on the data object;   determining, using the object monitor, whether the data object has been modified between commencement and finalization of the edits; and   creating a new version of the data object if it is determined that the data object has been modified.   
     
     
         17 . The method of  claim 16 , further comprising:
 recording a current pedigree and modification counter of the data object before the read lock is released using the object monitor.   
     
     
         18 . The method of  claim 16 , further comprising:
 if it is determined that the data object has not been modified between commencement and finalization of the edits, overwriting the data object using the finalized edits.   
     
     
         19 . The method of  claim 16 , wherein the object monitor determines that the data object has been modified between commencement and finalization of the edits by comparing a pedigree and modification counter of the data object at the time of finalization to a pedigree and object counter of the data object at the commencement of editing. 
     
     
         20 . A computing device comprising:
 a transceiver adapted to provide data communication with other computing devices;   a data store for storing one or more data objects; and   a processor adapted to establish communication with the other computing devices via the transceiver and to execute an application process and an object monitor, the application process being adapted to:
 receive requests to modify a data object within the data store; 
 establish a read lock on the data object within the data store; 
 initialize an object monitor for detecting changes to the data object; and 
 release the read lock wherein the object monitor detects if a concurrent process or other computing device overwrites the data object. 
   
     
     
         21 . The computing device of  claim 20 , wherein the object monitor is adapted to record a pedigree and modification counter of the data object before the read lock is released. 
     
     
         22 . The computing device of  claim 20 , wherein the computing device is portable. 
     
     
         23 . A computing device comprising:
 a transceiver adapted to provide data communication with other computing devices;   a data store for storing one or more data objects; and   a processor adapted to establish communication with the other computing devices via the transceiver and to execute an application process and a datastore monitor, the application process being adapted to:   receive a request to modify a data object within the data store;   establish a read lock on the data store;   initialize a datastore monitor adapted to detect changes to the data store;   read all data objects in the data store; and   release the read lock on the data store to allow other concurrent processes to write to the data store wherein the datastore monitor detects if a concurrent process or other computing device overwrites one or more data objects in the data store.   
     
     
         24 . The computing device of  claim 23 , wherein the datastore monitor is adapted to record all modifications and additions to the data store. 
     
     
         25 . The computing device of  claim 23 , wherein the datastore monitor comprises a log of the modifications and additions to the data store.

Join the waitlist — get patent alerts

Track US2010036844A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.