IP Library Patent Application 14676837
Patent Application
App. No. 14/676,837

FAILURE RECOVERY IN AN ASYNCHRONOUS REMOTE MIRRORING PROCESS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/676,837
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 (34)

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.

Assignments (4)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
SECURITY INTEREST Recorded Jan 11, 2024
From: INFINIDAT LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.; KREOS CAPITAL 2020 OPPORTUNITY L.P.
Reel/Frame 066270/0359 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2015
From: SHANI, AYELET
To: INFINIDAT LTD.
Reel/Frame 035927/0305 →