IP Library › Granted Patent US 10,051,052
Granted Patent B2
US 10,051,052 · App. 14/546,228 · Granted Aug 14, 2018

Replication with adustable consistency levels

Inventor: Jeffrey Jon Darcy (Lexington, MA)
Assignee: Red Hat, Inc.
H04L67/1095G06F17/30212H04L67/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,051,052
App. No.
14/546,228
Granted
Aug 14, 2018
Kind
B2
Abstract

Replication in a distributed file system is described. A processing device receives a new data modification request from a client device. The processing device provides the request in a sequence to a server. The server is to perform the new data modification request in view of the sequence. The processing device receives an indication of completion of the new data modification request from the server. The processing device determines that a completion threshold has been satisfied in view of the received indication of completion of the new data modification request. The processing device provides, in view of the determining, a message to the client device that the new data modification request was performed successfully.

Claims (66)

1. A method comprising:

receiving, by a processing device of a first server device, an election designating the first server device as a coordinator within a distributed file system, the first server device to receive data modification requests for the distributed file system;

receiving, by the processing device of the first server device, a new data modification request from a 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 configured to perform the new data modification request in accordance with the sequence number;

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

determining, by the processing device, that a completion threshold has been satisfied in view of at least the received indication of completion of the 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 the client device that the new data modification request was performed successfully.

2. The method of claim 1 , wherein the first server device is elected as the coordinator 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 8 further comprising receiving the issue threshold from the client device.

10. The method of claim 1 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 1 , further comprising:

generating a log file corresponding to a sequence of data modification requests;

modifying, by the first server device, the log file to include the new data modification request; and

providing the modified log file to the second server device, the second server device to perform the sequence of data modification requests and the new data modification request in view of the modified log file.

13. A first server device, comprising:

a memory; and

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

receive an election designating the first server device as a coordinator within a distributed file system, the first server device to receive data modification requests for the distributed file system;

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 second server device, the second server device to perform the new data modification request in accordance with the sequence number;

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

determine that the issue count matches an issue threshold, wherein the issue threshold comprises a number of server devices of the distributed file system for which the new data modification has been performed thereon; and

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

14. The first server device of claim 13 , wherein the processing device is further to:

receive an indication of completion of the new data modification request from the second 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 first server device of claim 13 , wherein the processing device is further to:

receive an operational parameter from the client device; and

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

16. The first server device 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. A non-transitory computer readable storage medium including instructions that, when executed by a processing device of a first server device of a distributed storage system, cause the processing device to:

receive an election designating the first server device as a coordinator, the first server device to receive data modification requests for the distributed storage system;

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

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

provide the request and the sequence number to a second server device, the second server device to perform the new data modification request in accordance with the sequence number;

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

determining that a completion threshold has been satisfied in view of the received indication of completion of the 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;

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

18. The non-transitory computer readable storage medium of claim 17 , wherein the processing device further to:

receive an operational parameter from the client device; and

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

19. The non-transitory computer readable storage medium of claim 17 , wherein to determine that the completion threshold has been satisfied, the processing device to:

increment a completion count upon receiving the indication of completion; and determining that the completion count matches the completion threshold.

20. The non-transitory computer readable storage medium of claim 17 , wherein to perform the new data modification request, the processing device to:

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

determine that the issue count matches an issue threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2014
From: DARCY, JEFFREY
To: RED HAT, INC.
Reel/Frame 034197/0701 →
Continuity (1)
Related Publication 20160142479A1 · May 19, 2016
Cited By (2)
US 12,436,852 US 12,554,432