IP Library › Granted Patent US 10,990,489
Granted Patent B2
US 10,990,489 · App. 16/204,264 · Granted Apr 27, 2021

Replication system with network failover

Inventors: Ophir Setter (Ramat Gan, IL); Roman Zeyde (Afula, IL); Sigal Weiner (Holon, IL); Leonid Feinberg (Ramat Ha'Sharon, IL); Ofir Ehrlich (Netanya, IL)
Assignee: Amazon Technologies, Inc.
G06F11/2069G06F11/1435G06F11/1443G06F11/2025G06F11/2082G06F11/2092H04L29/08H04L41/046H04L41/0663H04L43/0811H04L67/2842G06F2201/84
View Patent ↗
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 10,990,489
App. No.
16/204,264
Granted
Apr 27, 2021
Kind
B2
Abstract

A system and method for disk replication over a network with network failover, the method including: generating at least one write packet when a write instruction is detected from a first computing environment, where the at least one write packet includes: metadata associated with a data block, and a packet identifier; storing the at least one write packet in a cache; sending the at least one write packet from the cache to a second computing environment for storage; and determining if the at least one write packet has been successfully stored in the second computing environment.

Claims (47)

1. A method for disk replication over a network with network failover, comprising:

generating a first write packet when a write instruction is detected from a first computing environment, where the first write packet includes: metadata associated with a data block, and a packet identifier;

storing the first write packet in a cache;

sending the first write packet from the cache to a second computing environment for storage; and

determining that the first write packet has been successfully stored in the second computing environment based on receipt of an acknowledgement sent responsive to a successful snapshot being taken of the storage in the second computing environment; and

removing a plurality of write packets from the cache in response to determining that the first write packet was successfully stored in the second computing environment, wherein the packet identifier of the first write packet is larger than each other serially consecutive packet identifier of the other write packets of the plurality of write packets.

2. The method of claim 1 , further comprising:

determining that the first write packet was not successfully stored in the second computing environment; and

resending the first write packet.

3. The method of claim 2 , wherein determining that the first write packet was not successfully stored in the second computing environment comprises:

detecting that an acknowledgement has not been received for the packet identifier of the first write packet within a predetermined time limit.

4. The method of claim 3 , further comprising:

identifying one or more data blocks of the first write packet based on the packet identifier; and

resending the one or more data blocks to the second computing environment.

5. The method of claim 1 , wherein the first write packet further includes at least one data block.

6. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process, the process comprising:

generating a first write packet when a write instruction is detected from a first computing environment, where the first write packet includes: metadata associated with a data block, and a packet identifier;

storing the first write packet in a cache;

sending the first write packet from the cache to a second computing environment for storage;

determining that the first write packet has been successfully stored in the second computing environment based on receipt of an acknowledgement sent responsive to a successful snapshot being taken of the storage in the second computing environment; and

removing a plurality of write packets from the cache in response to determining that the first write packet was successfully stored in the second computing environment, wherein the packet identifier of the first write packet is larger than each other serially consecutive packet identifier of the other write packets of the plurality of write packets.

7. The non-transitory computer readable medium of claim 6 , wherein the process further comprises:

determining that the first write packet was not successfully stored in the second computing environment; and

resending the first write packet.

8. The non-transitory computer readable medium of claim 7 , wherein determining that the first write packet was not successfully stored in the second computing environment comprises:

detecting that an acknowledgement has not been received for the packet identifier of the first write packet within a predetermined time limit.

9. The non-transitory computer readable medium of claim 8 , wherein the process further comprises:

identifying one or more data blocks of the first write packet based on the packet identifier; and

resending the one or more data blocks to the second computing environment.

10. The non-transitory computer readable medium of claim 6 , wherein the first write packet further includes at least one data block.

11. A system for disk replication over a network with network failover, comprising:

a processing circuitry; and

a memory storing instructions that, when executed by the processing circuitry, cause the system to:

generate a first write packet when a write instruction is detected from a first computing environment, where the first write packet includes: metadata associated with a data block, and a packet identifier;

store the first write packet in a cache;

send the first write packet from the cache to a second computing environment for storage;

determine the first write packet has been successfully stored in the second computing environment based on receipt of an acknowledgement sent responsive to a successful snapshot being taken of the storage in the second computing environment; and

remove a plurality of write packets from the cache in response to determining that the first write packet was successfully stored in the second computing environment, wherein the packet identifier of the first write packet is larger than each other serially consecutive packet identifier of the other write packets of the plurality of write packets.

12. The system of claim 11 , wherein the memory further includes instructions that, when executed by the processing circuitry, cause the system to:

determine that the first write packet was not successfully stored in the second computing environment; and

resend the first write packet.

13. The system of claim 12 , wherein the memory further includes instructions that, when executed by the processing circuitry, cause the system to:

detect that an acknowledgement has not been received for the packet identifier of the first write packet within a predetermined time limit.

14. The system of claim 13 , wherein the memory further includes instructions that, when executed by the processing circuitry, cause the system to:

identify one or more data blocks of the first write packet based on the packet identifier; and

resend the one or more data blocks to the second computing environment.

15. The system of claim 11 , wherein the first write packet further includes at least one data block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2019
From: CLOUDENDURE LTD.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 049088/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: SETTER, OPHIR; ZEYDE, ROMAN; WEINER, SIGAL; FEINBERG, LEONID; EHRLICH, OFIR
To: CLOUDENDURE LTD.
Reel/Frame 047625/0318 →
Continuity (2)
Provisional Application 62611335 · Dec 28, 2017
Related Publication 20190205227A1 · Jul 4, 2019