Efficient locking of shared data that is accessed for reads in a cluster database
First Claim
Patent Images
1. A computer implemented method for managing access to a resource in a multi-node system comprising a plurality of nodes, wherein each of the plurality of nodes includes one or more processors, the method comprising the steps of:
- establishing the resource as a read-mostly resource based on one or more criteria, wherein a first node of plurality of nodes is master of the resource;
the master receiving a request for an exclusive lock on the resource;
in response to the master receiving the request for an exclusive lock, the master issuing an anti-lock for the resource to all other nodes of the plurality of nodes; and
in response to a second node being issued a respective anti-lock for the resource, the second node preventing issuance of a read-mostly lock on the resource while the second node holds the anti-lock.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are techniques for synchronizing access to resources in a multi node system by establishing a resource as a read-mostly resource based on one or more criteria, and allowing a node to acquire a shared lock, not granted by the master, on the read-mostly resource where no anti-lock exists for the resource.
-
Citations
26 Claims
-
1. A computer implemented method for managing access to a resource in a multi-node system comprising a plurality of nodes, wherein each of the plurality of nodes includes one or more processors, the method comprising the steps of:
-
establishing the resource as a read-mostly resource based on one or more criteria, wherein a first node of plurality of nodes is master of the resource; the master receiving a request for an exclusive lock on the resource; in response to the master receiving the request for an exclusive lock, the master issuing an anti-lock for the resource to all other nodes of the plurality of nodes; and in response to a second node being issued a respective anti-lock for the resource, the second node preventing issuance of a read-mostly lock on the resource while the second node holds the anti-lock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer implemented method for managing access to a resource in a multi-node system comprising a plurality of nodes, wherein each of the plurality of nodes includes one or more processors, the method comprising the steps of:
-
establishing the resource as a read-mostly resource based on one or more criteria, wherein a first node of plurality of nodes is master of the resource; based on the resource being established as a read-mostly resource, a second node of the plurality of nodes acquiring a shared lock, not granted by the master, on the resource; the master receiving a request for an exclusive lock on the resource; in response to the master receiving the request for an exclusive lock, the master issuing an anti-lock for the resource to all other nodes of the plurality of nodes; and in response to the second node being issued a respective anti-lock for the resource, the second node; relinquishing the shared lock; and refraining from issuing a read-mostly lock on the resource while the second node holds the anti-lock. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A computer implemented method for managing access to a resource in a multi-node system comprising a plurality of nodes, wherein each of the plurality of nodes includes one or more processors, the method comprising the steps of:
-
establishing a first node of plurality of nodes as master of the resource; wherein, as master of the resource, the first node is the only node of said multi-node system authorized to grant exclusive locks on the resource; while said first node is the master of the resource, a second node of the plurality of nodes granting a read-mostly lock on the resource, wherein at the time the second node grants the read-mostly lock on the resource, the second node does not hold a lock, on the resource, granted by the master of the resource; and wherein the first node is a different node than the second node. - View Dependent Claims (23, 24, 25)
-
-
26. A computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the steps of:
-
establishing the resource as a read-mostly resource based on one or more criteria, wherein a first node of plurality of nodes is master of the resource; based on the resource being established as a read-mostly resource, a second node of the plurality of nodes acquiring a shared lock, not granted by the master, on the resource; the master receiving a request for an exclusive lock on the resource; in response to the master receiving the request for an exclusive lock, the master issuing an anti-lock for the resource to all other nodes of the plurality of nodes; and in response to the second node being issued a respective anti-lock for the resource, the second node; relinquishing the shared lock; and refraining from issuing a read-mostly lock on the resource while the second node holds the anti-lock.
-
Specification