Failure recovery in an asynchronous remote mirroring process
Abstract
A method for generating a remote replicate of a logical entity, the method may include: calculating, by a local site, a replication cycle content that is associated with a replication cycle; wherein the replication cycle content represents differences in contents of logical entity portions between a point in time associated with the replication cycle and a point in time associated with an adjacent replication cycle that preceded the replication cycle; attempting to transmit messages that include the replication cycle content to a remote site and according to a predefined order that is responsive to addresses of the logical entity portions; monitoring a successful reception of the messages that include the replication cycle content by the remote site; wherein when finding that a first part of the replication cycle content was successfully received by the remote site and a second part of the replication cycle content was not successfully received by the remote site due to the failure then transmitting, after recovering from the failure, messages that include the second part; wherein the second part is detected using (a) at least one replication cycle identifier that identifies the replication cycle, and (b) at least one address of at least one logical entity portion.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A method for generating a remote replicate of a logical entity, the method comprises:
calculating, by a local site, a replication cycle content that is associated with a replication cycle; wherein the replication cycle content represents differences in contents of logical entity portions between a point in time associated with the replication cycle and a point in time associated with an adjacent replication cycle that preceded the replication cycle; attempting to transmit messages that include the replication cycle content to a remote site and according to a predefined order that is responsive to addresses of the logical entity portions; monitoring a successful reception of the messages that include the replication cycle content by the remote site; and wherein when finding that a first part of the replication cycle content was successfully received by the remote site and a second part of the replication cycle content was not successfully received by the remote site due to the failure then transmitting, after recovering from the failure, messages that include the second part; wherein the second part is detected using (a) at least one replication cycle identifier that identifies the replication cycle, and (b) at least one address of at least one logical entity portion.
2 . The method according to claim 1 comprising recalculating, in response to the failure, the second part.
3 . The method according to claim 1 comprising receiving, from the remote site, an address of a last logical entity portion of the first part and detecting a first logical entity of the second part.
4 . The method according to claim 1 wherein the predefined order is responsive to types of the portions.
5 . The method according to claim 4 wherein the types of the portions comprise (a) portions that are cached by the local site but not stored in a permanent memory module of the local site, and (b) portions that are stored in the permanent memory module of the local site.
6 . The method according to claim 1 wherein the messages that comprise the replication cycle content include the at least one replication cycle identifier that identifies the replication cycle and the at least one address of at least one logical entity portion.
7 . The method according to claim 1 further comprising, repeating, for each replication cycle of multiple replication cycles the steps of:
calculating, by the local site, the replication cycle content;
attempting to transmit messages that include the replication cycle content to the remote site and according to a predefined order that is responsive to addresses of the logical entity portions; and
wherein when finding that the first part was successfully received by the remote site and the second part was not successfully received by the remote site due to the failure then transmitting, after recovering from the failure, messages that include the second part.
8 . The method according to claim 1 wherein the replication cycle content represents all the differences in contents of logical entity portions between the point in time associated with the replication cycle and the point in time associated with the adjacent replication cycle that preceded the replication cycle.
9 . The method according to claim 1 wherein the logical entity is a logical volume.
10 . The method according to claim 1 further comprising monitoring a successful reception of the messages that include the second part of the replication cycle content by the remote site; and
wherein when finding that a first segment of the second part of the replication cycle content was successfully received by the remote site and a second segment of the second part of the replication cycle content was not successfully received by the remote site due to an additional failure then transmitting, after recovering from the additional failure, messages that include the second segment of the second part.
11 . A non-transitory computer readable medium that stores instructions that once executed a local site causes the local site to execute the steps of: calculating, by a local site, a replication cycle content that is associated with a replication cycle; wherein the replication cycle content represents differences in contents of logical entity portions between a point in time associated with the replication cycle and a point in time associated with an adjacent replication cycle that preceded the replication cycle; attempting to transmit messages that include the replication cycle content to a remote site and according to a predefined order that is responsive to addresses of the logical entity portions; monitoring a successful reception of the messages that include the replication cycle content by the remote site; wherein when finding that a first part of the replication cycle content was successfully received by the remote site and a second part of the replication cycle content was not successfully received by the remote site due to the failure then transmitting, after recovering from the failure, messages that include the second part; and wherein the second part is detected using (a) at least one replication cycle identifier that identifies the replication cycle, and (b) at least one address of at least one logical entity portion.
12 . The non-transitory computer readable medium according to claim 11 that stores instructions for recalculating, in response to the failure, the second part.
13 . The non-transitory computer readable medium according to claim 11 that stores instructions for receiving, from the remote site, an address of a last logical entity portion of the first part and detecting a first logical entity of the second part.
14 . The non-transitory computer readable medium according to claim 11 wherein the predefined order is responsive to types of the portions.
15 . The non-transitory computer readable medium according to claim 14 wherein the types of the portions comprise (a) portions that are cached by the local site but not stored in a permanent memory module of the local site, and (b) portions that are stored in the permanent memory module of the local site.
16 . The non-transitory computer readable medium according to claim 11 wherein the messages that comprise the replication cycle content include the at least one replication cycle identifier that identifies the replication cycle and the at least one address of at least one logical entity portion.
17 . The non-transitory computer readable medium according to claim 11 that stores instructions for repeating, for each replication cycle of multiple replication cycles the steps of: calculating, by the local site, the replication cycle content; attempting to transmit messages that include the replication cycle content to the remote site and according to a predefined order that is responsive to addresses of the logical entity portions; and wherein when finding that the first part was successfully received by the remote site and the second part was not successfully received by the remote site due to the failure then transmitting, after recovering from the failure, messages that include the second part.
18 . The non-transitory computer readable medium according to claim 11 wherein the replication cycle content represents all the differences in contents of logical entity portions between the point in time associated with the replication cycle and the point in time associated with the adjacent replication cycle that preceded the replication cycle.
19 . The non-transitory computer readable medium according to claim 11 wherein the logical entity is a logical volume.
20 . The non-transitory computer readable medium according to claim 11 further that stores instructions for monitoring a successful reception of the messages that include the second part of the replication cycle content by the remote site; and wherein when finding that a first segment of the second part of the replication cycle content was successfully received by the remote site and a second segment of the second part of the replication cycle content was not successfully received by the remote site due to an additional failure then transmitting, after recovering from the additional failure, messages that include the second segment of the second part
21 . A local site that comprises a local replication unit and at least one memory module; wherein the local replication unit is configured to:
calculate a replication cycle content that is associated with a replication cycle and i stored in the at least one memory module; wherein the replication cycle content represents differences in contents of logical entity portions between a point in time associated with the replication cycle and a point in time associated with an adjacent replication cycle that preceded the replication cycle; attempt to transmit messages that include the replication cycle content to a remote site and according to a predefined order that is responsive to addresses of the logical entity portions; monitor a successful reception of the messages that include the replication cycle content by the remote site; wherein when finding that a first part of the replication cycle content was successfully received by the remote site and a second part of the replication cycle content was not successfully received by the remote site due to the failure then transmit, after recovering from the failure, messages that include the second part; and wherein the second part is detected using (a) at least one replication cycle identifier that identifies the replication cycle, and (b) at least one address of at least one logical entity portion.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.