US2016292055A1PendingUtilityA1

Failure recovery in an asynchronous remote mirroring process

30
Assignee: INFINIDAT LTDPriority: Apr 2, 2015Filed: Apr 2, 2015Published: Oct 6, 2016
Est. expiryApr 2, 2035(~8.7 yrs left)· nominal 20-yr term from priority
Inventors:Ayelet Shani
G06F 11/2094G06F 2201/84G06F 11/2082G06F 11/2069G06F 11/2089G06F 2201/805G06F 11/2064G06F 11/2074G06F 3/067G06F 3/065G06F 3/0619G06F 11/14
30
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
We 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.