Accelerating and offloading lock access over a network

US9699110B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9699110-B2
Application numberUS-201514753159-A
CountryUS
Kind codeB2
Filing dateJun 29, 2015
Priority dateAug 11, 2014
Publication dateJul 4, 2017
Grant dateJul 4, 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.

Lock access is managed in a data network having an initiator node and a remote target by issuing a lock command from a first process to the remote target via an initiator network interface controller to establish a lock on a memory location, and prior to receiving a reply to the lock command communicating a data access request to the memory location from the initiator network interface controller. Prior to receiving a reply to the data access request, an unlock command issues from the initiator network interface controller. The target network interface controller determines the lock content, and when permitted by the lock accesses the memory location. After accessing the memory location the target network interface controller executes the unlock command. When the lock prevents data access, the lock operation is retried a configurable number of times until data access is allowed or a threshold is exceeded.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of communication comprising the steps of: in a data network connecting an initiator and a remote target, the initiator having an initiator network interface controller, and the remote target having a target network interface controller and a memory location that is accessible by at least a first process of the initiator and by a second process: issuing an atomic read-modify-write lock command from the first process to the remote target via the initiator network interface controller to establish a lock on the memory location against the second process; prior to receiving a reply to the atomic read-modify-write lock command, communicating a data access request to the memory location from the initiator network interface controller; prior to receiving a reply to the data access request issuing an atomic unlock command from the initiator network interface controller to release the lock on the memory location; receiving the atomic read-modify-write lock command and the data access request in the target network interface controller; with the target network interface controller determining a content of the lock on the memory location; when the content of the lock does not prevent execution of the data access request accessing the memory location; and after accessing the memory location executing the unlock command with the target network interface controller. 2. The method according to claim 1 , further comprising the steps of: when the content of the lock prevents execution of the data access request iterating the step of determining a content of the lock until the lock no longer prevents execution of the data access request or a termination criterion is satisfied. 3. The method according to claim 2 , further comprising the steps of: responsively to a satisfaction of the termination criterion communicating a failure message to the initiator network interface controller. 4. The method according to claim 3 , wherein the termination criterion is expiration of a timeout interval. 5. The method according to claim 3 , wherein the termination criterion is an exceeding of a predetermined number of performances of the step of determining a content of the lock on the memory location. 6. The method according to claim 3 , further comprising the steps of: canceling the data access request; and communicating the failure message from the initiator network interface controller to the initiator. 7. The method according to claim 1 , further comprising the steps of: with the target network interface controller after performing the step of determining a content of the lock communicating the content of the lock to the initiator network interface controller in the reply to the atomic read-modify-write lock command. 8. The method according to claim 7 , further comprising the steps of: receiving in the initiator network interface controller a signal that indicates that a resource is not ready; and responsively to the signal, transmitting a new instance of the atomic read-modify-write lock command and the data access request to the target network interface controller. 9. A communications apparatus comprising: an initiator having an initiator network interface controller; a remote target connected to the initiator by a data network, the remote target having a target network interface controller and a memory location that is accessible by at least a first process of the initiator and by a second process, wherein the initiator and the remote target are cooperative to perform the steps of: issuing an atomic read-modify-write lock command from the first process to the remote target via the initiator network interface controller to establish a lock on the memory location against the second process; prior to receiving a reply to the atomic read-modify-write lock command, communicating a data access request to the memory location from the initiator network interface controller; prior to receiving a reply to the data access request issuing an atomic unlock command from the initiator network interface controller to release the lock on the memory location; receiving the atomic read-modify-write lock command and the data access request in the target network interface controller; with the target network interface controller determining a content of the lock on the memory location; when the content of the lock does not prevent execution of the data access request accessing the memory location; and after accessing the memory location executing the unlock command with the target network interface controller. 10. The apparatus according to claim 9 , wherein the initiator and the remote target are further cooperative to perform the steps of: when the content of the lock prevents execution of the data access request iterating the step of determining a content of the lock until the lock no longer prevents execution of the data access request or a termination criterion is satisfied. 11. The apparatus according to claim 10 , wherein the initiator and the remote target are further cooperative to perform the steps of: responsively to a satisfaction of the termination criterion communicating a failure message to the initiator network interface controller. 12. The apparatus according to claim 11 , wherein the termination criterion is expiration of a timeout interval. 13. The apparatus according to claim 11 , wherein the termination criterion is an exceeding of a predetermined number of performances of the step of determining a content of the lock on the memory location. 14. The apparatus according to claim 11 , wherein the initiator and the remote target are further cooperative to perform the steps of: canceling the data access request; and communicating the failure message from the initiator network interface controller to the initiator. 15. The apparatus according to claim 9 , wherein the initiator and the remote target are further cooperative to perform the steps of: with the target network interface controller after performing the step of determining a content of the lock communicating the content of the lock to the initiator network interface controller in the reply to the atomic read-modify-write lock command. 16. The apparatus according to claim 15 , wherein the initiator and the remote target are further cooperative to perform the steps of: receiving in the initiator network interface controller a signal that indicates that a resource is not ready; and responsively to the signal, transmitting a new instance of the atomic read-modify-write lock command and the data access request to the target network interface controller.

Assignees

Inventors

Classifications

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 US9699110B2 cover?
Lock access is managed in a data network having an initiator node and a remote target by issuing a lock command from a first process to the remote target via an initiator network interface controller to establish a lock on a memory location, and prior to receiving a reply to the lock command communicating a data access request to the memory location from the initiator network interface controll…
Who is the assignee on this patent?
Mellanox Technologies Ltd, Mellanox Technologies Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 04 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).