Intelligent client architecture computer system and method
First Claim
1. A method for synchronizing data for a transaction in a distributed applications network, the method comprising:
- requesting data resident in a remote computing device by a process running on a local computing device;
providing the requested data from the remote computing device to the local computing device;
copying the requested data from the remote computing device into a transaction data cache and a main data cache of the local computing device and delivering the copied data to the transaction;
managing the transaction using the copied requested data from the transaction data cache, thereby accumulating changes in the data stored in the transaction data cache;
updating the main data cache with data changes made at the remote computing device by other users or automatic processes;
detecting local data collision conflicts based upon comparisons of the main data cache and the data changes stored in the transaction data cache;
resolving the local data collision conflicts;
transporting results of local data collision conflict resolutions to the remote computing device;
detecting remote data change collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and data items changed by the other users or automatic processes on the remote computing device;
resolving the remote data collision conflicts;
detecting remote database collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and a persistent data store on the remote computing device;
resolving the remote database collision conflicts;
updating the persistent data store on the remote computing device using a result of the remote database collision conflict resolutions;
transmitting the result of the remote database collision conflict resolutions to the local computing device and other computing devices affected by the remote data collision conflicts;
and updating local data based upon the results of the remote data collision conflict resolutions.
1 Assignment
0 Petitions
Accused Products
Abstract
A collision detection and data synchronization mechanism operates to expand the speed and capability of distributed applications. The execution environment employs collision detection and data synchronization to distribute data objects to appropriate network nodes to support local processing. The collision detection and data synchronization mechanism defines the set of processes and algorithms used to track distributed data objects and to manage changes to the distributed objects throughout a network of intelligent computing devices. Data and code are distributed to local computing devices necessitating tracking and synchronizing updates. The system and method ensures that data updates received during the course of a local transaction do not unwillingly affect the results of other transactions by notifying the local computing devices of changes to the data that are subject of the transaction. These conflicts are then resolved in the applications, and notification of the resolution is sent to the remaining intelligent computing devices.
27 Citations
28 Claims
-
1. A method for synchronizing data for a transaction in a distributed applications network, the method comprising:
-
requesting data resident in a remote computing device by a process running on a local computing device; providing the requested data from the remote computing device to the local computing device; copying the requested data from the remote computing device into a transaction data cache and a main data cache of the local computing device and delivering the copied data to the transaction; managing the transaction using the copied requested data from the transaction data cache, thereby accumulating changes in the data stored in the transaction data cache; updating the main data cache with data changes made at the remote computing device by other users or automatic processes; detecting local data collision conflicts based upon comparisons of the main data cache and the data changes stored in the transaction data cache; resolving the local data collision conflicts; transporting results of local data collision conflict resolutions to the remote computing device; detecting remote data change collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and data items changed by the other users or automatic processes on the remote computing device; resolving the remote data collision conflicts; detecting remote database collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and a persistent data store on the remote computing device; resolving the remote database collision conflicts; updating the persistent data store on the remote computing device using a result of the remote database collision conflict resolutions; transmitting the result of the remote database collision conflict resolutions to the local computing device and other computing devices affected by the remote data collision conflicts; and updating local data based upon the results of the remote data collision conflict resolutions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of implementing synchronized distributed objects comprising:
-
requesting data in a remote computing device by a local computing device to be used in a requested transaction; receiving the data request at the remote computing device; transporting the requested data from the remote computing device to the local computing device; receiving the requested data at the local computing device; copying the requested data to a main cache and to a transaction cache data store of the local computing device; delivering the copied requested data to the requested transaction; registering the copied requested data on the local computing device as used by the requested transaction; performing the requested transaction; updating the transaction cache data store to reflect changes made to the copied requested data by a local user or other users or automatic processes performing the requested transaction on the local computing device; updating the main cache with data changes made at the remote computing device by the other users or the automatic processes; detecting a data collision conflict by comparing the changes made to the copied requested data by the requested transaction to local data storage resources by the local computing device; notifying the requested transaction that the data collision conflict occurred and notifying the requested transaction of conflicting values of the requested data; resolving the local data collision conflicts; transporting results of the local data collision conflict resolutions to the remote computing device; detecting remote data change collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and data item changes made by the other users or the automatic processes; resolving the remote data change collision conflicts; detecting remote database collision conflicts based upon comparison of the results of the local data collision conflict resolutions and a persistent data store on the remote computing device; resolving the remote database collision conflicts; updating the persistent data store on the remote computing device by transmitting the results of the remote database collision conflict resolutions to the local computing device and other computing devices affected by the remote database collision resolutions; and updating local data based upon the remote database collision conflict resolutions. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification