×

Systems and methods for maintaining cache coherency

  • US 10,452,545 B1
  • Filed: 10/06/2017
  • Issued: 10/22/2019
  • Est. Priority Date: 10/06/2017
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for maintaining cache coherency, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

  • receiving, by an owner node of a plurality of nodes of a clustered storage system, an indication of a revocation of a grant to the owner node of a shared lock for a data object owned by the owner node;

    invalidating, by the owner node in response to the indication of the revocation of the grant to the owner node of the shared lock, a copy of the data object in a local cache of the owner node;

    receiving, by the owner node while a first requesting node of the plurality of nodes holds a grant of an exclusive lock, a request from the first requesting node to update the data object in the local cache and a first validation cookie for the request from the first requesting node;

    receiving, by the owner node while a second requesting node of the plurality of nodes holds a grant of the exclusive lock, a request from the second requesting node to update the data object in the local cache and a second validation cookie for the request from the second requesting node;

    transmitting, by the owner node in response to one of the requests to update the data object, a non-preferred request for a shared lock for the data object;

    receiving, by the owner node, an indication of a grant of the shared lock to the owner node and a third validation cookie, wherein the grant of the shared lock occurs after grants of preceding requests for a lock for the data object;

    determining, by the owner node, whether the third validation cookie matches the first validation cookie or the second validation cookie; and

    updating, by the owner node in response to the grant of the shared lock, the data object in the local cache based on determining whether the third validation cookie matches the first validation cookie or the second validation cookie.

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