IP Library › Patent Application 15395601
Patent Application
App. No. 15/395,601

SYNCHRONIZATION OF AN ORDER OF ACCESS INSTRUCTIONS FROM A PRIMARY COMPUTING ENVIRONMENT TO A REPLICATED COMPUTING ENVIRONMENT

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.
15/395,601
Abstract

A method and system for synchronizing an order of access instructions from a primary computing environment to a replicated computing environment. The method comprises detecting at least one access instruction to at least a disk of a primary machine in the primary computing environment; updating a state of a first logical clock structure (LCS) maintained by the primary machine, wherein the first LCS includes a plurality of elements, wherein each of the plurality elements is associated with a distinct primary machine in a primary computing environment, wherein each element in the first LCS is updated based on the at least one detected access instruction; and sending the access instruction and a current state of the first LCS to a corresponding replicated machine in a replicated computing environment, thereby allowing the corresponding replicated machine to determine the causal order of access instructions based in part on the first LCS.

Claims (42)

1 . A method for synchronizing an order of access instructions from a primary computing environment to a replicated computing environment, comprising:

detecting at least one access instruction to at least a disk of a primary machine in the primary computing environment;

updating a state of a first logical clock structure (LCS) maintained by the primary machine, wherein the first LCS includes a plurality of elements, wherein each of the plurality elements is associated with a distinct primary machine in a primary computing environment, wherein each element in the first LCS is updated based on the at least one detected access instruction; and

sending the access instruction and a current state of the first LCS to a corresponding replicated machine in a replicated computing environment, thereby allowing the corresponding replicated machine to determine the causal order of access instructions based in part on the first LCS.

2 . The method of claim 1 , further comprising:

monitoring any access to the disk of the primary machine, wherein the disk can be accessed by at least one other primary machine in the replicated computing environment.

3 . The method of claim 2 , wherein the monitoring is performed by an agent installed on the primary machine.

4 . The method of claim 1 , further comprising:

sending the updated state of the first LCS to at least one of: the replicated machine, a server communicatively connected to the respective replicated machine, and a secondary machine.

5 . The method of claim 1 , wherein the first LCS is at least a vector clock.

6 . The method of claim 1 , wherein updating the state of the first LCS further comprises:

incrementing a value of the respective element upon detection of the access instruction.

7 . The method of claim 1 , wherein the access instruction is any one of: read, write, trim, and erase.

8 . The method of claim 1 , further comprising:

receiving, in the replicated computing environment, a plurality of access instructions with their corresponding LCS states; and

determining based on the LCS states, a causal order of the plurality of access instructions.

9 . The method of claim 8 , further comprising:

executing the access instructions based on the determined causal order.

10 . A non-transitory computer readable medium having stored thereon instructions for synchronizing an order of access instructions from a primary computing environment to a replicated computing environment, the process comprising:

detecting at least one access instruction to at least a disk of a primary machine in the primary computing environment;

updating a state of a first logical clock structure (LCS) maintained by the primary machine, wherein the first LCS includes a plurality of elements, wherein each of the plurality elements is associated with a distinct primary machine in a primary computing environment, wherein each element in the first LCS is updated based on the at least one detected access instruction; and

sending the access instruction and a current state of the first LCS to a corresponding replicated machine in a replicated computing environment, thereby allowing the corresponding replicated machine to determine the causal order of access instructions based in part on the first LCS.

11 . A system for synchronizing an order of access instructions from a primary computing environment to a replicated computing environment, comprising:

a processing circuitry; and

a memory communicatively connected to the processing system, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

detect at least one access instruction to at least a disk of a primary machine in the primary computing environment;

update a state of a first logical clock structure (LCS) maintained by the primary machine, wherein the first LCS includes a plurality of elements, wherein each of the plurality elements is associated with a distinct primary machine in a primary computing environment, wherein each element in the first LCS is updated based on the at least one detected access instruction; and

send the access instruction and a current state of the first LCS to a corresponding replicated machine in a replicated computing environment, thereby allowing the corresponding replicated machine to determine the causal order of access instructions based in part on the first LCS.

12 . The system of claim 11 , wherein the system is further configured:

monitor any access to the disk of the primary machine, wherein the disk can be accessed by at least one other primary machine in the replicated computing environment.

13 . The system of claim 12 , wherein the monitoring is performed by an agent installed on the primary machine.

14 . The system of claim 11 , wherein the system is further configured:

send the updated state of the first LCS to at least one of: the replicated machine, a server communicatively connected to the respective replicated machine, and a secondary machine.

15 . The system of claim 11 , wherein the first LCS is at least a vector clock.

16 . The system of claim 11 , wherein the system is further configured:

increment a value of the respective element upon detection of the access instruction.

17 . The system of claim 11 , wherein the access instruction is any one of: read, write, trim, and erase.

18 . The system of claim 11 , wherein the system is further configured:

receive, in the replicated computing environment, a plurality of access instructions with their corresponding LCS states; and

determine based on the LCS states, a causal order of the plurality of access instructions.

19 . The system of claim 18 , wherein the system is further configured:

execute the access instructions based on the determined causal order.

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 Jan 18, 2017
From: SETTER, OPHIR; EHRLICH, OFIR; FEINBERG, LEONID
To: CLOUDENDURE LTD.
Reel/Frame 041007/0893 →