System and method for synchronizing copies of data in a computer system
First Claim
1. A method comprising:
- a computer system executing program instructions, wherein the computer system is a cluster, and wherein the cluster comprises;
a plurality of computers, 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;
an external data storage shared by the computers in the cluster; and
a coupling system interface program stored in a computer readable storage medium, the coupling system interface program configured to communicate between the coupling system and a plurality of programs running on the computer;
wherein the program instructions executed by the computer system implement;
a first program reading a first copy of a primary data set in a primary memory location, wherein the first program is stored on a computer readable storage medium and executable on the computer system, wherein the primary memory location is in the external data storage;
the first program storing the first copy in a first memory location, wherein the first memory location is in the local memory of a first computer in the cluster;
setting a first validity flag to indicate that the first copy is valid;
the first program sending a request to synchronize the first copy with other copies of the primary data set to the coupling system interface;
the coupling system interface program forwarding the request to synchronize the first copy to the coupling system;
the coupling system sending a first token to the coupling system interface, the first token comprising a location for the validity flag to be used for the first copy;
the coupling system interface program sending the first token to the first program;
the first program storing the first token in the first memory;
a second program reading a second copy of the primary data set in the primary memory location, wherein the second program is stored on a computer readable storage medium and executable on the computer system;
the second program storing the second copy in a second memory location, wherein the second memory location is in the local memory of a second computer in the cluster;
setting a second validity flag to indicate that the second copy is valid;
the second program sending a request to synchronize the second copy with other copies of the primary data set to the coupling system interface;
the coupling system interface program forwarding the request to synchronize the second copy to the coupling system;
the coupling system sending a second token to the coupling system interface, the second token comprising a location for the validity flag to be used for the second copy;
the coupling system interface program sending the second token to the second program; and
the second program storing the second token in the second memory;
modifying the first copy;
replacing the primary data set with the modified first copy;
setting the second validity flag to indicate that the second copy is invalid after modifying the first copy;
replacing the second copy with the primary data set; and
setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set.
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.
-
Citations
16 Claims
-
1. A method comprising:
-
a computer system executing program instructions, wherein the computer system is a cluster, and wherein the cluster comprises; a plurality of computers, 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; an external data storage shared by the computers in the cluster; and a coupling system interface program stored in a computer readable storage medium, the coupling system interface program configured to communicate between the coupling system and a plurality of programs running on the computer; wherein the program instructions executed by the computer system implement; a first program reading a first copy of a primary data set in a primary memory location, wherein the first program is stored on a computer readable storage medium and executable on the computer system, wherein the primary memory location is in the external data storage; the first program storing the first copy in a first memory location, wherein the first memory location is in the local memory of a first computer in the cluster; setting a first validity flag to indicate that the first copy is valid; the first program sending a request to synchronize the first copy with other copies of the primary data set to the coupling system interface; the coupling system interface program forwarding the request to synchronize the first copy to the coupling system; the coupling system sending a first token to the coupling system interface, the first token comprising a location for the validity flag to be used for the first copy; the coupling system interface program sending the first token to the first program; the first program storing the first token in the first memory; a second program reading a second copy of the primary data set in the primary memory location, wherein the second program is stored on a computer readable storage medium and executable on the computer system; the second program storing the second copy in a second memory location, wherein the second memory location is in the local memory of a second computer in the cluster; setting a second validity flag to indicate that the second copy is valid; the second program sending a request to synchronize the second copy with other copies of the primary data set to the coupling system interface; the coupling system interface program forwarding the request to synchronize the second copy to the coupling system; the coupling system sending a second token to the coupling system interface, the second token comprising a location for the validity flag to be used for the second copy; the coupling system interface program sending the second token to the second program; and the second program storing the second token in the second memory; modifying the first copy; replacing the primary data set with the modified first copy; setting the second validity flag to indicate that the second copy is invalid after modifying the first copy; replacing the second copy with the primary data set; and setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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; a coupling system interface program stored in a computer readable storage medium, the coupling system interface program configured to communicate between the coupling system and a plurality of programs running on the computer; 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 implement a method comprising; a first program reading a first copy of a primary data set in a primary memory location, wherein the primary memory location is in the external data storage; the first program storing the first copy in a first memory location, wherein the first memory location is in the local memory of a first computer in the cluster; setting a first validity flag to indicate that the first copy is valid; the first program sending a request to synchronize the first copy with other copies of the primary data set to the coupling system interface; the coupling system interface program forwarding the request to synchronize the first copy to the coupling system; the coupling system sending a first token to the coupling system interface, the first token comprising a location for the validity flag to be used for the first copy; the coupling system interface program sending the first token to the first program; the first program storing the first token in the first memory; a second program reading a second copy of the primary data set in the primary memory location; storing the second copy in a second memory location, wherein the second memory location is in the local memory of a second computer in the cluster; setting a second validity flag to indicate that the second copy is valid; the second program sending a request to synchronize the second copy with other copies of the primary data set to the coupling system interface; the coupling system interface program forwarding the request to synchronize the second copy to the coupling system; the coupling system sending a second token to the coupling system interface, the second token comprising a location for the validity flag to be used for the second copy; the coupling system interface program sending the second token to the second program; and the second program storing the second token in the second memory; modifying the first copy; setting the second validity flag to indicate that the second copy is invalid after modifying the first copy; replacing the second copy with the primary data set; and setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set. - View Dependent Claims (14)
-
-
15. A computer readable storage medium comprising program instructions, wherein the program instructions are executable by a computer system,
wherein the computer system is a cluster, and wherein the cluster comprises: -
a plurality of computers, 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; an external data storage shared by the computers in the cluster; and
a coupling system interface program stored in a computer readable storage medium, the coupling system interface program configured to communicate between the coupling system and a plurality of programs running on the computer;wherein the program instructions are executable by the computer system to implement; a first program reading a first copy of a primary data set in a primary memory location, wherein the primary memory location is in the external data storage; the first program storing the first copy in a first memory location, wherein the first memory location is in the local memory of a first computer in the cluster; setting a first validity flag to indicate that the first copy is valid; the first program sending a request to synchronize the first copy with other copies of the primary data set to the coupling system interface; the coupling system interface program forwarding the request to synchronize the first copy to the coupling system; the coupling system sending a first token to the coupling system interface, the first token comprising a location for the validity flag to be used for the first copy; the coupling system interface program sending the first token to the first program; the first program storing the first token in the first memory; a second program reading a second copy of the primary data set in the primary memory location; the second program storing the second copy in a second memory location, wherein the second memory location is in the local memory of a second computer in the cluster;
setting a second validity flag to indicate that the second copy is valid;the second program sending a request to synchronize the second copy with other copies of the primary data set to the coupling system interface; the coupling system interface program forwarding the request to synchronize the second copy to the coupling system; the coupling system sending a second token to the coupling system interface, the second token comprising a location for the validity flag to be used for the second copy; the coupling system interface program sending the second token to the second program; and the second program storing the second token in the second memory; modifying the first copy; replacing the primary data set with the modified first copy; setting the second validity flag to indicate that the second copy is invalid after modifying the first copy; replacing the second copy with the primary data set; and setting the second validity flag to indicate that the second copy is valid after replacing the second copy with the primary data set. - View Dependent Claims (16)
-
Specification