System and method for synchronizing copies of data in a computer system
First Claim
1. A method comprising:
- reading a first copy of a primary data set in a primary memory location;
storing the first copy in a first memory location;
setting a first validity flag to indicate that the first copy is valid;
reading a second copy of the primary data set in the primary memory location;
storing the second copy in a second memory location;
setting a second validity flag to indicate that the second copy is valid;
modifying the first copy;
setting the second validity flag to indicate that the second copy is invalid after modifying the first copy;
replacing the primary data set with the modified first copy after the modifying of the first copy and before the setting of the second validity flag to indicate that the second copy is invalid;
replacing the second copy with the primary data set after the setting of the second validity flag to indicate that the second copy is invalid;
setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set;
creating a first index corresponding to the first copy, wherein the first index is stored in a fourth memory location, wherein the first index is created after reading the first copy from the primary data set, and wherein the first index comprises a first field comprising a description of a copy of the data for which the first index was created; and
a second field comprising a memory location for a validity flag for the copy of the data set for which the first index was created; and
creating a second index corresponding to the second copy, wherein the second index is stored in the fourth memory location, wherein the second index is created after reading the second copy from the primary data set, and wherein the second index comprises a first field comprising a description of a copy of the data for which the second index was created; and
a second field comprising a memory location for a validity flag for the copy of the data set for which the second index was created.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved synchronization system and method for copies of data in a computer system. The computer system comprises a cluster, wherein each computer in the cluster may store a local copy of a data set along with a validity flag for the local copy. The computer system further comprises a coupling system which is connected to each of the computers in the cluster through a coupling system interface program, wherein the coupling system is configured to coordinate the data sharing and workload of the cluster. The computer system also comprises an external data storage shared by the computers in the cluster. One of the computers may read a first copy of the data set from a primary data set on the external data storage. The computer may then store the first copy locally and set a first validity flag to indicate that the first copy is valid. Another computer, server, or application program may make a second copy of the primary data set and set a second validity flag to valid. If the first copy is modified, then the second validity flag is set to invalid. The second copy may then be replaced with the modified copy, and the second validity flag may be set to valid again. A coupling system interface program may comprise an application programming interface for data synchronization, wherein the application programming interface is accessible by a plurality of application programs.
25 Citations
20 Claims
-
1. A method comprising:
-
reading a first copy of a primary data set in a primary memory location; storing the first copy in a first memory location; setting a first validity flag to indicate that the first copy is valid; reading a second copy of the primary data set in the primary memory location; storing the second copy in a second memory location; setting a second validity flag to indicate that the second copy is valid; modifying the first copy; setting the second validity flag to indicate that the second copy is invalid after modifying the first copy; replacing the primary data set with the modified first copy after the modifying of the first copy and before the setting of the second validity flag to indicate that the second copy is invalid; replacing the second copy with the primary data set after the setting of the second validity flag to indicate that the second copy is invalid; setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set; creating a first index corresponding to the first copy, wherein the first index is stored in a fourth memory location, wherein the first index is created after reading the first copy from the primary data set, and wherein the first index comprises a first field comprising a description of a copy of the data for which the first index was created; and
a second field comprising a memory location for a validity flag for the copy of the data set for which the first index was created; andcreating a second index corresponding to the second copy, wherein the second index is stored in the fourth memory location, wherein the second index is created after reading the second copy from the primary data set, and wherein the second index comprises a first field comprising a description of a copy of the data for which the second index was created; and
a second field comprising a memory location for a validity flag for the copy of the data set for which the second index was created. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a plurality of computers comprising a cluster, wherein a computer comprises a local memory and at least one validity flag, and wherein a copy of a data set that is stored in the local memory is assigned at least one corresponding validity flag; a coupling system comprising a local memory, wherein the coupling system is connected to each of the computers in the cluster, and wherein the coupling system is configured to coordinate data sharing of the cluster; and an external data storage shared by the computers in the cluster; wherein the local memories of the computers or the coupling system store program instructions, wherein the program instructions are executable by the computers or the coupling system to; read a first copy of a primary data set in a primary memory location; store the first copy in a first memory location; set a first validity flag to indicate that the first copy is valid; read a second copy of the primary data set in the primary memory location; store the second copy in a second memory location; set a second validity flag to indicate that the second copy is valid; modify the first copy; set the second validity flag to indicate that the second copy is invalid after modifying the first copy; replace the primary data set with the modified first copy after the modifying of the first copy and before the setting of the second validity flag to indicate that the second copy is invalid; replace the second copy with the primary data set after the setting of the second validity flag to indicate that the second copy is invalid; and set the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set; create a first index corresponding to the first copy, wherein the first index is stored in a fourth memory location, wherein the first index is created after reading the first copy from the primary data set; and create a second index corresponding to the second copy, wherein the second index is stored in the fourth memory location, wherein the second index is created after reading the second copy from the primary data set.
-
-
20. A computer readable medium comprising program instructions, wherein the program instructions are executable by a machine to implement:
-
reading a first copy of a primary data set in a primary memory location; storing the first copy in a first memory location; setting a first validity flag to indicate that the first copy is valid; reading a second copy of the primary data set in the primary memory location; storing the second copy in a second memory location; setting a second validity flag to indicate that the second copy is valid; modifying the first copy; setting the second validity flag to indicate that the second copy is invalid after modifying the first copy; replacing the primary data set with the modified first copy after the modifying of the first copy and before the setting of the second validity flag to indicate that the second copy is invalid; replacing the second copy with the primary data set after the setting of the second validity flag to indicate that the second copy is invalid; and setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set; creating a first index corresponding to the first copy, wherein the first index is stored in a fourth memory location, wherein the first index is created after reading the first copy from the primary data set; and creating a second index corresponding to the second copy, wherein the second index is stored in the fourth memory location, wherein the second index is created after reading the second copy from the primary data set.
-
Specification