An asynchronous data replication method comprising: providing a replication cluster comprising at least one master node and at least a first client node (84, 86, 88), wherein said master node comprises a master log and said first client node (84, 86, 88) comprises a first client log; entering an update in a data volume of said master node and storing said update in a master node storage wherein the update corresponds to a write or save in a contiguous area of storage in a file of the data volume; updating a first active session in said master log; sending a first message from said master node to said first client node (84, 86, 88) wherein said first message comprises a first message content and first piggybacked data indicating that said first active session in said master log was updated; receiving said first message by said first client node (84, 86, 88), registering that said first active session in said master log was updated and signaling internally that said first active session in said master log was updated; sending an update request from said first client node (84, 86, 88) to said master node; processing said update request by said master node and sending the update to said first client node (84, 86, 88); receiving the update by said first client node (84, 86, 88) and updating said first active session in said first client log; and wherein said first active session comprises one or more segments and said master log comprises a master active session matrix storing all session segments for all cluster nodes and said first client log comprises a first client active session matrix storing all session segments for all cluster nodes. providing a replication cluster comprising at least one master node and at least a first client node (84, 86, 88), wherein said master node comprises a master log and said first client node (84, 86, 88) comprises a first client log; entering an update in a data volume of said master node and storing said update in a master node storage wherein the update corresponds to a write or save in a contiguous area of storage in a file of the data volume; updating a first active session in said master log; sending a first message from said master node to said first client node (84, 86, 88) wherein said first message comprises a first message content and first piggybacked data indicating that said first active session in said master log was updated; receiving said first message by said first client node (84, 86, 88), registering that said first active session in said master log was updated and signaling internally that said first active session in said master log was updated; sending an update request from said first client node (84, 86, 88) to said master node; processing said update request by said master node and sending the update to said first client node (84, 86, 88); receiving the update by said first client node (84, 86, 88) and updating said first active session in said first client log; and wherein said first active session comprises one or more segments and said master log comprises a master active session matrix storing all session segments for all cluster nodes and said first client log comprises a first client active session matrix storing all session segments for all cluster nodes.