Patent ID: 7797458

Claim:
A data synchronous system for synchronizing, between a plurality of servers each having a shared memory, data which are stored on the respective shared memories, wherein each server comprises: an application executer for executing an application on its own server; a first storage section for storing first data required for execution of the application and second data that is changed according to the execution of the application in a first storage region of the shared memory in its own server; a second storage section for storing said second data and second write positional information, which represents a position in the first storage region of said second data, in a second storage region of the shared memory in its own server, and further, after said second data and said second write position information are stored, for storing a write position index, which represents a write position in the second storage region of said second data, in said second storage region, and storing a read position index, which represents a read position in the second storage region of said second data, in said second storage region; and a data communicator for transferring said first data to another server, and further, for checking said second data on the basis of said write position index and said read position index to confirm whether or not there is a third data, which is not yet transferred to the other server but is written onto said first storage region, and then, for transferring said third data and third write positional information, which represents a position on the second storage region of said third data, to the other server; and wherein, when said data synchronous system uses, among said plurality of servers, a first server as an active server and a second server as a standby server, if said first server can communicate with said second server by means of a first communication protocol connecting networks with each other, in said first server, said data communicator transfers said first and second data to said second server, said first storage section stores said second data according to the execution of the application, said second storage section stores said second data and said second write positional information, and then stores said write position index of said second data, said data communicator transfers said third data and said third write positional information to said second server, and said second storage section updates said read position index in response to the transfer of said third data by said data communicator, and if said first server cannot communicate with said second server by means of said first communication protocol, in said first server, said second storage section stores an index equal to said write position index as said read position index.