Method, apparatus and computer program product for processing data

US11425231B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11425231-B2
Application numberUS-202017037468-A
CountryUS
Kind codeB2
Filing dateSep 29, 2020
Priority dateMay 27, 2016
Publication dateAug 23, 2022
Grant dateAug 23, 2022

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.

Data is received at a buffer used by a protocol processing stack which protocol processes the received data. The received data is made available to, for example, an application, before the protocol processing of the data is complete. If the protocol processing is successful, the data made available to the application is committed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: receiving data at a first buffer used by a protocol processing entity, the data comprising at least one segment of data; protocol processing at least part of said received data; identifying a portion of a segment of said received data being protocol processed at a lower protocol layer; pausing the protocol processing at the lower protocol layer until protocol processing at a higher protocol layer of another portion of the segment has been completed. 2. A method according to claim 1 , comprising: in response to completion of the protocol processing at the higher protocol layer, discarding the identified portion of the segment. 3. A method according to claim 1 , comprising: in response to completion of the protocol processing at the higher protocol layer, delivering the identified portion of the segment to a device such that the protocol processing at the lower protocol layer is offloaded. 4. A method according to claim 3 , wherein the device comprises an offload hardware device. 5. A method according to claim 4 , wherein the offload hardware device comprises one of: a decompression device, and a decryption device. 6. A method according to claim 1 , comprising: receiving a splice call which identifies the portion of the segment. 7. A method according to claim 6 , wherein the splice call is one of a set of operation calls in an application programming interface, API. 8. A method according to claim 1 , comprising: receiving the segment of a data at the first buffer from a network interface. 9. A method according to claim 1 , comprising: receiving a further splice call indicating an action, wherein the action instructs that a next segment to arrive at the first buffer will contain a particular header structure and that headers and the remaining segment are to be delivered by direct hardware transfer from a network to a storage controller. 10. A method according to claim 9 , wherein the further splice call instructs that the action: be repeated for all subsequent received segments, or for the next segment only. 11. A method according to claim 1 , wherein the protocol processing entity comprises a protocol processing stack. 12. An apparatus comprising: a first data buffer configured to receive data, the data comprising at least one segment of data; and a protocol processing entity configured to: protocol process at least a part of the received data, identify a portion of a segment of said received data being protocol processed at a lower protocol layer; and pause the protocol processing at the lower protocol layer until protocol processing at a higher protocol layer of another portion of the segment has been completed. 13. An apparatus according to claim 12 , wherein the protocol processing entity is configured to: in response to completion of the protocol processing at the higher protocol layer, discard the identified portion of the segment. 14. An apparatus according to claim 12 , wherein the protocol processing entity is configured to: in response to completion of the protocol processing at the higher protocol layer, delivering the identified portion of the segment to a device such that the protocol processing at the lower protocol layer is offloaded. 15. An apparatus according to claim 14 , wherein the device comprises an offload hardware device. 16. An apparatus according to claim 15 , wherein the offload hardware device comprises one of: a decompression device, and a decryption device. 17. An apparatus according to claim 12 , wherein the protocol processing entity is configured to: receive a splice call which identifies the portion of the segment. 18. An apparatus according to claim 17 , wherein the splice call is one of a set of operation calls in an application programming interface, API. 19. An apparatus according to claim 12 , wherein the first buffer is configured to: receive the segment of a data at the first buffer from a network interface. 20. An apparatus according to claim 12 , wherein the protocol processing entity is configured to: receive a further splice call indicating an action, wherein the action instructs that a next segment to arrive at the first buffer will contain a particular header structure and that headers and the remaining segment are to be delivered by direct hardware transfer from a network to a storage controller. 21. An apparatus according to claim 20 , wherein the further splice call instructs that the action: be repeated for all subsequent received segments, or for the next segment only. 22. An apparatus according to claim 12 , wherein the protocol processing entity comprises a protocol processing stack. 23. A computer program product, the computer program product being embodied on a non-transient computer-readable medium and configured so as when executed on at least one processor to cause: receiving data at a first buffer used by a protocol processing entity, the data comprising at least one segment of data; protocol processing at least part of said received data; identifying a portion of a segment of said received data being protocol processed at a lower protocol layer; pausing the protocol processing at the lower protocol layer until protocol processing at a higher protocol layer of another portion of the segment has been completed.

Assignees

Inventors

Classifications

  • Error detection codes · CPC title

  • Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level · CPC title

  • Multilayer or multiprotocol switching, e.g. IP switching · CPC title

  • in the transport layer [OSI layer 4] (H04L69/16 takes precedence) · CPC title

  • H04L69/322Primary

    Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions · 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 US11425231B2 cover?
Data is received at a buffer used by a protocol processing stack which protocol processes the received data. The received data is made available to, for example, an application, before the protocol processing of the data is complete. If the protocol processing is successful, the data made available to the application is committed.
Who is the assignee on this patent?
Xilinx Inc
What technology area does this patent fall under?
Primary CPC classification H04L69/322. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 23 2022 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).