×

Synchronizing file updates between two cloud controllers of a distributed filesystem

  • US 9,805,056 B2
  • Filed: 06/24/2014
  • Issued: 10/31/2017
  • Est. Priority Date: 06/24/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for synchronizing file updates between two cloud controllers of a distributed filesystem, the method comprising:

  • collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises storing the data for the distributed filesystem in one or more cloud storage systems, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage systems;

    receiving at a first cloud controller a client request to access a file in the distributed filesystem, wherein cloud controllers track version information for each file, wherein the tracked version information for the file on a cloud controller is updated whenever the cloud controller either updates the metadata for the file in response to a client write or receives a metadata update for the file from another cloud controller;

    sending a synchronization update request for the file to a second cloud controller, wherein sending the synchronization update request comprises;

    sending a version identifier for the most recent version of the file currently available on the first cloud controller to the second cloud controller; and

    using the version identifier to determine that the file has been modified on the second cloud controller and that the version of the file currently available on the first cloud controller is out-of-datewherein upon receiving the synchronization update request the second cloud controller is configured to;

    use the version identifier to determine a set of metadata deltas that are needed to update the out-of-date version of the file on the first cloud controller to the updated version of the file on the second cloud controller;

    compress the set of metadata deltas; and

    send the compressed set of metadata deltas to the first cloud controller in a synchronization update; and

    receiving the synchronization update for the file from the second cloud controller in response to the synchronization update request;

    wherein using the version identifier to determine the set of metadata deltas facilitates determining the differences between the out-of-date file version and the current file version without needing to cache or download all of the data for the file on either cloud controller.

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