Enhanced mechanisms for granting access to shared resources

US9742685B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9742685-B2
Application numberUS-201314037765-A
CountryUS
Kind codeB2
Filing dateSep 26, 2013
Priority dateSep 26, 2013
Publication dateAug 22, 2017
Grant dateAug 22, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Mechanisms are provided, in a data processing system comprising a plurality of nodes, each node being a computing device, for controlling access to a critical section of code. These mechanisms send, by a sender node of the data processing system, an access request for requesting access to the critical section of code. The critical section of code is a portion of code that accesses a shared resource. The mechanisms receive, in the sender node, from a plurality of receiver nodes in the data processing system, responses to the access request. Each response in the responses includes a number of active nodes perceived by a corresponding receiver node that transmitted the response. The mechanisms control, by the sender node, access to the critical section of code based on the number of active nodes identified in each of the responses received from the receiver nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed in a sender node of a data processing system, causes the sender node to: send an access request for requesting access to the critical section of code, wherein the critical section of code is a portion of code that accesses a shared resource; receive, from a plurality of receiver nodes in the data processing system, responses to the access request, wherein each response in the responses includes a number of active nodes perceived by a corresponding receiver node that transmitted the response; and control access to the critical section of code based on the number of active nodes identified in each of the responses received from the receiver nodes. 2. The computer program product of claim 1 , wherein the access request is sent by the sender node to receiver nodes, in the plurality of nodes, that are viewable by the sender node as being members of a cluster of nodes. 3. The computer program product of claim 2 , further comprising: in response to the sender node entering an up state, determining if a number of nodes viewable by the sender node as being members of the cluster of nodes represents a quorum of nodes in the plurality of nodes; and in response to the number of nodes viewable by the sender node not being a quorum of nodes, inhibiting the sending of the access request. 4. The computer program product of claim 3 , wherein inhibiting the sending of the access request comprises: initiating a tunable delay timer that measures a tunable delay timeout period of time during which the sending of the access request is inhibited; and sending the access request in response to the tunable delay timeout period of time expiring. 5. The computer program product of claim 1 , wherein controlling access to the critical section of code based on the number of active nodes identified in each of the responses received from the receiver nodes comprises, for each response received from a receiver node: comparing, by the sender node, a first number of active nodes indicated in the response to a second number of active nodes viewable by the sender node; and self denying, by the sender node, access to the critical section of code in response to a discrepancy between the first number of active nodes and the second number of active nodes. 6. The computer program product of claim 5 , further comprising: permitting, by the sender node, access to the critical section of code in response to each first number of active nodes in each response received from receiver nodes being equal to or less than the second number of active nodes. 7. The computer program product of claim 5 , further comprising: in response to the second number of active nodes being smaller than any of the first number of active nodes in any of the responses received from the receiver nodes: initiating an asymmetric view timer; and inhibiting sending of access requests by the sender node during a time period measured by the asymmetric view timer. 8. The computer program product of claim 7 , further comprising: inhibiting responses indicating access granted, by the sender node, to access requests from other nodes in the plurality of nodes, during the time period measured by the asymmetric view timer. 9. The computer program product of claim 1 , wherein the response of the corresponding receiver node comprises a number of nodes in an up state perceived by the corresponding receiver node, a number of nodes in a downbeat state perceived by the corresponding receiver node, and an indicator of whether the corresponding receiver node consents to access by the sender node to the shared resource. 10. An apparatus comprising: a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to operate as a sender node and to: send an access request for requesting access to the critical section of code, wherein the critical section of code is a portion of code that accesses a shared resource; receive, from a plurality of receiver nodes in a data processing system, responses to the access request, wherein each response in the responses includes a number of active nodes perceived by a corresponding receiver node that transmitted the response; and control access to the critical section of code based on the number of active nodes identified in each of the responses received from the receiver nodes. 11. The apparatus of claim 10 , wherein the access request is sent by the sender node to receiver nodes, in the plurality of nodes, that are viewable by the sender node as being members of a cluster of nodes. 12. The apparatus of claim 11 , wherein the instructions further cause the processor to: in response to the sender node entering an up state, determine if a number of nodes viewable by the sender node as being members of the cluster of nodes represents a quorum of nodes in the plurality of nodes; and in response to the number of nodes viewable by the sender node not being a quorum of nodes, inhibit the sending of the access request. 13. The apparatus of claim 12 , wherein inhibiting the sending of the access request comprises: initiating a tunable delay timer that measures a tunable delay timeout period of time during which the sending of the access request is inhibited; and sending the access request in response to the tunable delay timeout period of time expiring. 14. The apparatus of claim 10 , wherein the instructions cause the processor to control access to the critical section of code based on the number of active nodes identified in each of the responses received from the receiver nodes at least by, for each response received from a receiver node: comparing, by the sender node, a first number of active nodes indicated in the response to a second number of active nodes viewable by the sender node; and self denying, by the sender node, access to the critical section of code in response to a discrepancy between the first number of active nodes and the second number of active nodes. 15. The apparatus of claim 14 , wherein the instructions further cause the processor to: permit, by the sender node, access to the critical section of code in response to each first number of active nodes in each response received from receiver nodes being equal to or less than the second number of active nodes. 16. The apparatus of claim 14 , wherein the instructions further cause the processor to: in response to the second number of active nodes being smaller than any of the first number of active nodes in any of the responses received from the receiver nodes: initiate an asymmetric view timer; and inhibit sending of access requests by the sender node during a time period measured by the asymmetric view timer. 17. The apparatus of claim 16 , wherein the instructions cause the processor to: inhibit responses indicating access granted, by the sender node, to access requests from other nodes in the plurality of nodes, during the time period measured by the asymmetric view timer. 18. The apparatus of claim 10 , wherein the response of the corresponding receiver node comprises a number of nodes in an up state perceived by the corresponding receiver node, a number of nodes in a downbeat state perceived by the corresponding receiver node, and an indicator of whether the corresponding receiver node consents to access by the sender nod

Assignees

Inventors

Classifications

  • Assignment of logical groups to network elements · CPC title

  • H04L47/70Primary

    Admission control; Resource allocation · CPC title

  • Active monitoring, e.g. heartbeat, ping or trace-route · CPC title

  • Peer-to-peer [P2P] networks · CPC title

  • by checking functioning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9742685B2 cover?
Mechanisms are provided, in a data processing system comprising a plurality of nodes, each node being a computing device, for controlling access to a critical section of code. These mechanisms send, by a sender node of the data processing system, an access request for requesting access to the critical section of code. The critical section of code is a portion of code that accesses a shared reso…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L47/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 22 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).