×

Distributed file system using consensus nodes

  • US 9,747,301 B2
  • Filed: 05/09/2016
  • Issued: 08/29/2017
  • Est. Priority Date: 01/12/2005
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of implementing a distributed file system comprising a cluster comprising a plurality of data nodes configured to store data blocks of client files, the method comprising:

  • receiving, by a computer via a network, from a first data node of the cluster, a first request to change a state of a namespace of the cluster, the namespace including at least a location within each data node of the plurality of data nodes of each data block of the client files across the cluster;

    receiving, by the computer via the network, from a second data node of the cluster, a second request to change the state of the namespace of the cluster;

    sending, by the computer, the first request to a selected first active namenode server computer of a plurality of active namenode server computers, each active namenode server computer of the plurality of active namenode server computers comprising persistent storage memory configured to store updates to the namespace of the cluster, the selected first active namenode server computer being configured to store a first replica of the namespace of the cluster;

    sending, by the computer, the second request to a selected second active namenode server computer of the plurality of active namenode server computers, the selected second active namenode server computer being configured to store a second replica of the namespace of the cluster;

    receiving, by the computer, a first proposal from the selected first active namenode server computer to change the state of the namespace of the cluster according to the first request and receiving a second proposal from the selected second active namenode server computer to change the state of the namespace of the cluster according to the second request, wherein the selected first and second active namenode server computers are configured to change the state of the namespace of the cluster while at least one other active namenode computer server of the plurality of active namenode server computers is also responding to another request to change the state of the namespace;

    generating, by the computer, in response to receiving the first and second proposals from the selected first and second active namenode server computers, an ordered set of agreements that specifies an order in which the selected first and second active namenode server computers are to change the state of their respective first and second replicas;

    sending, by the computer, the ordered set of agreements to the selected first and second active namenode server computers;

    delaying, by the selected first and second active namenode server computers, making changes to the state of the first and second replicas of the namespace until the ordered set of agreements is received; and

    storing updates, by the selected first and second active namenode server computers and based on the ordered set of agreements, in respective persistent storage memories of the selected first and second active namenode server computers, respectively, to maintain consistency of the state of the namespace of the cluster across the selected first and second active namenode server computers.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×