Method and system for transmitting information in a network

US9936003B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9936003-B1
Application numberUS-201414473524-A
CountryUS
Kind codeB1
Filing dateAug 29, 2014
Priority dateAug 29, 2014
Publication dateApr 3, 2018
Grant dateApr 3, 2018

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.

Methods and systems for transmitting information are provided. A threshold message size is configured to determine when an application executed by a computing system can send a latency message identifying a memory location from where a device can procure a payload for transmission to a destination. The computing system sends a latency message to the device, where the latency message includes the memory location, a transfer size and an indicator indicating if the application wants a completion status after the latency message is processed. The computing system stores connection information at a location dedicated to the application that sends the latency message. The device transmits the payload to the destination; and posts a completion status, where the device posts the completion status at a completion queue associated with the application with information that enables the application to determine whether other latency messages can be posted.

First claim

Opening claim text (preview).

What is claimed is: 1. A machine implemented method, comprising: configuring a threshold message size to determine when an application executed by a computing system can send latency messages to a device coupled to the computing system, the latency messages identifying memory locations of a latency request queue at a memory of the computing system from where the device can directly procure data for transmission to a destination without having to first obtain a work request from the memory of the computing system using a direct memory access (DMA) operation; generating a latency message by the application when the latency message meets the threshold message size for a network connection to transmit a payload associated with the latency message; storing the payload at a slot of the latency request queue; placing a work queue request at a work queue slot at the memory of the computing system, wherein the work queue request corresponds to the latency message and is placed by the application in case processing of the latency message is rejected by the device and instead the work queue request is obtained by the device using the DMA operation before transmitting the payload; sending the latency message to the device, where the latency message includes an address of the slot of the latency request queue where the payload is stored, a transfer size for the network connection, and an indicator indicating if the application wants a completion status after the latency message is processed; determining by the device whether it can process the latency message; obtaining the payload from the slot of the latency request queue, when the device can process the latency message; storing the payload and connection information at a memory location of a memory of the device dedicated to the application that sends the latency message to the device; transmitting the payload to the destination using the network connection; and posting a completion status, if one is requested by the application; wherein the device posts the completion status at a completion queue at the memory of the computing system associated with the application with information that enables the application to determine whether other latency messages can be posted at the latency request queue. 2. The method of claim 1 , wherein the latency request queue having a plurality of slots is assigned to the application. 3. The method of claim 1 , wherein a latency resource module having a plurality of slots is assigned to the application at the device to store the payload retrieved from the latency request queue. 4. The method of claim 3 , wherein one or more of the slots for the latency resource module are used to store the connection information. 5. The method of claim 2 , wherein the application polls the completion queue to determine which slots of the latency request queue can be released for storing new payload for other latency messages. 6. The method of claim 1 , wherein the work request queue is assigned to the application so that the payload is transmitted using the work request instead of the latency message, if the device does not accept the latency message. 7. The method of claim 1 , wherein the device is one of a network interface card, a converged adapter and a host bus adapter coupled to the computing system for sending and receiving data on behalf of the application. 8. A non-transitory, machine readable storage medium storing executable instructions, which when executed by a machine, causes the machine to perform a method, the method comprising: configuring a threshold message size to determine when an application executed by a computing system can send latency messages to a device coupled to the computing system, the latency messages identifying memory locations of a latency request queue at a memory of the computing system from where the device can directly procure data for transmission to a destination without having to first obtain a work request from the memory of the computing system using a direct memory access (DMA) operation; generating a latency message by the application when the latency message meets the threshold message size for a network connection to transmit a payload associated with the latency message; storing the payload at a slot of the latency request queue; placing a work queue request at a work queue slot at the memory of the computing system, wherein the work queue request corresponds to the latency message and is placed by the application in case processing of the latency message is rejected by the device and instead the work queue request is obtained by the device using the DMA operation before transmitting the payload; sending the latency message to the device, where the latency message includes an address of the slot of the latency request queue where the payload is stored, a transfer size for the network connection, and an indicator indicating if the application wants a completion status after the latency message is processed; determining by the device whether it can process the latency message; obtaining the payload from the slot of the latency request queue, when the device can process the latency message; storing the payload and connection information at a memory location of a memory of the device dedicated to the application that sends the latency message to the device; transmitting the payload to the destination using the network connection; and posting a completion status, if one is requested by the application; wherein the device posts the completion status at a completion queue at the memory of the computing system associated with the application with information that enables the application to determine whether other latency messages can be posted at the latency request queue. 9. The storage medium of claim 8 , wherein the latency request queue having a plurality of slots is assigned to the application. 10. The storage medium of claim 8 , wherein a latency resource module having a plurality of slots is assigned to the application at the device to store the payload retrieved from the latency request queue. 11. The storage medium of claim 10 , wherein one or more of the slots for the latency resource module are used to store the connection information. 12. The storage medium of claim 9 , wherein the application polls the completion queue to determine which slots of the latency request queue can be released for storing new payload for other latency messages. 13. The storage medium of claim 8 , wherein the work request queue is assigned to the application so that the payload is transmitted using the work request instead of the latency message, if the device does not accept the latency message. 14. The storage medium of claim 8 , wherein the device is one of a network interface card, a converged adapter and a host bus adapter coupled to the computing system for sending and receiving data on behalf of the application. 15. A system, comprising: a computing system having a processor for executing instructions out of a memory and interfacing with a device having a device processor executing instructions out of a device memory; wherein a threshold message size is configured to determine when an application executed by the computing system processor can send latency messages to the device identifying memory locations of a latency request queue at the memory of the computing system from where the device can directly procure data for transmission to a destination without having to first obtain a work request from the memory of the computing system using a direct memory access (DMA) operation; wherein the application ge

Assignees

Inventors

Classifications

  • H04L67/10Primary

    in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Storing data temporarily at an intermediate stage, e.g. caching · 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 US9936003B1 cover?
Methods and systems for transmitting information are provided. A threshold message size is configured to determine when an application executed by a computing system can send a latency message identifying a memory location from where a device can procure a payload for transmission to a destination. The computing system sends a latency message to the device, where the latency message includes th…
Who is the assignee on this patent?
Qlogic Corp, Cavium Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).