×

Distributed change notifications for a distributed filesystem

  • US 9,646,022 B2
  • Filed: 06/06/2014
  • Issued: 05/09/2017
  • Est. Priority Date: 06/06/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for requesting distributed change notifications for 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, wherein cloud controllers distribute updates for modified files that do not need strong read-after-write consistency via lazy incremental metadata snapshots, wherein files that are being collaborated upon by multiple clients and/or client processes need strong read-after-write consistency, wherein changes to files that need strong read-after-write consistency need to be propagated to any clients accessing such files as quickly as possible after such files are written and closed;

    receiving at a first cloud controller a request from a client to access a file in the distributed filesystem;

    determining that the file needs strong read-after-write consistency; and

    sending a registration notification from the first cloud controller to all of the other cloud controllers of the distributed filesystem, wherein the registration notification requests that the first cloud controller receive expedited notification of any changes to the file, wherein cloud controllers track the set of registration notification requests received from other cloud controllers for files in the distributed filesystem, wherein a second cloud controller receives the registration notification request, wherein a given registration notification requests change notifications for a range of filesystem scopes that include a specific file, a directory, and a portion of the distributed filesystem hierarchy;

    wherein the second cloud controller subsequently receives a file write and a subsequent file close request for the file from a second client;

    wherein the second cloud controller determines from its tracked set of registration notification requests that the first cloud controller has registered to receive change notifications for the modified file and sends a change notification message for the modified file to the first cloud controller;

    wherein cloud controllers are configured to send change notification messages for a given modified file to only the set of cloud controllers that have previously sent notification requests with filesystem scopes that apply to the given modified file, thereby supporting strong read-after-write consistency while reducing the number of change notification messages that need to be sent between cloud controllers; and

    wherein cloud controllers that did not send notification requests for the given modified file are informed of updates to the given modified file lazily via a subsequent incremental metadata snapshot.

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