IP Library › Granted Patent US 10,686,879
Granted Patent B2
US 10,686,879 · App. 16/041,523 · Granted Jun 16, 2020

Replication with adjustable consistency levels

Inventor: Jeffrey Jon Darcy (Lexington, MA)
Assignee: Red Hat, Inc.
H04L67/1095G06F16/184H04L67/1097
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,686,879
App. No.
16/041,523
Granted
Jun 16, 2020
Kind
B2
Abstract

Replication in a distributed file system is described. A processing device determines that a completion threshold has been satisfied in view of at least a received indication of completion of a new data modification request, wherein the completion threshold comprises a number of server devices of the distributed file system for which the new data modification has been performed thereon. The processing device provides, in response to determining that the completion threshold has been satisfied, a message to a client device that the new data modification request was performed successfully.

Claims (57)

1. A method comprising:

determining, by a processing device of a server device, that a completion threshold has been satisfied in view of a received indication of completion of a new data modification request, wherein the completion threshold comprises a number of the server devices of the distributed file system for which a new data modification has been performed thereon; and

providing, in view of the determining, a message to a client device that the new data modification request was performed successfully.

2. The method of claim 1 , further comprising:

receiving, by the processing device of a first server device, the new data modification request from the client device;

assigning, by the processing device, a sequence number to the new data modification request;

providing the request and the sequence number to a second server device, the second server device to perform the new data modification request in the view of the sequence number;

receiving an indication of completion of the new data modification request from the second server device, wherein the first server device is elected as a coordinator within a distributed file system for a term during which a sequence of data modification requests is to be performed, the sequence of data modification requests comprising the new data modification request.

3. The method of claim 2 , wherein the data modification requests are organized chronologically within the sequence, wherein assigning the sequence number to the new data modification request comprises adding the assigned sequence number to an end of the sequence.

4. The method of claim 1 further comprising:

receiving an operational parameter from the client device; and

determining the completion threshold in view of the received operational parameter.

5. The method of claim 4 further comprising receiving the completion threshold from the client device.

6. The method of claim 4 , wherein determining that the completion threshold has been satisfied comprises:

incrementing a completion count upon receiving the indication of completion; and

determining that the completion count matches the completion threshold.

7. The method of claim 4 , wherein the operational parameter is user selectable, the method further comprising receiving a user selected operation parameter from the client device.

8. The method of claim 1 further comprising:

receiving an operational parameter from the client device; and

determining an issue threshold in view of the operational parameter.

9. The method of claim 7 further comprising receiving the issue threshold from the client device.

10. The method of claim 2 , further comprising performing the new data modification request locally on the first server device when an issue threshold is met.

11. The method of claim 9 , wherein performing the new data modification request locally comprises:

incrementing an issue count upon providing the request and the sequence number to the second server device; and

determining that the issue count matches the issue threshold.

12. The method of claim 2 , wherein the server device is the first server device.

13. A system, comprising:

a memory;

a processing device operatively coupled to the memory, the processing device to:

receive a new data modification request from a client device;

assign a sequence number to the new data modification request;

provide the request and the sequence number to a server device, the server device to perform the new data modification request in view of the sequence number;

increment an issue count upon providing the request and the sequence number to the server device;

determine that the issue count matches an issue threshold; and

perform the new data modification request locally when the issue threshold is met.

14. The system of claim 11 , wherein the processing device is further to:

receive an indication of completion of the new data modification request from the server device;

determine that a completion threshold has been satisfied in view of the received indication of completion of the new data modification request; and

provide, in view of the determining, a message to the client device that the new data modification request was performed successfully.

15. The system of claim 13 , wherein the processing device is further to:

receive an operational parameter from the client device; and

determine the completion threshold in view of the received operational parameter.

16. The system of claim 14 , wherein when determining that the completion threshold has been satisfied, the processing device is to:

increment a completion count upon receiving the indication of completion; and

determine that the completion count matches the completion threshold.

17. The system of claim 11 , wherein the processing device is further to:

receive an operational parameter from the client device; and

determine the issue threshold in view of the operational parameter.

18. A non-transitory computer readable storage medium including instructions that, when executed by a processing device of a server device of a distributed storage system, cause the processing device to perform operations comprising:

determining, by the processing device of the server device, that a completion threshold has been satisfied in view of at least a received indication of completion of a new data modification request, wherein the completion threshold comprises a number of server devices of the distributed file system for which the new data modification has been performed thereon; and

providing, in response to determining that the completion threshold has been satisfied, a message to a client device that the new data modification request was performed successfully.

19. The non-transitory computer readable storage medium of claim 18 , the operations further comprising:

receiving an operational parameter from the client device; and

determining the completion threshold in view of the received operational parameter.

20. The non-transitory computer readable storage medium of claim 18 , wherein determining that the completion threshold has been satisfied comprises:

incrementing a completion count upon receiving the indication of completion; and

determining that the completion count matches the completion threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: DARCY, JEFFREY
To: RED HAT, INC.
Reel/Frame 046418/0296 →
Continuity (2)
Continuation 14546228 · Nov 18, 2014
Related Publication 20180332112A1 · Nov 15, 2018
Cited By (2)
US 12,436,852 US 12,554,432