Technologies for accelerated HTTP processing with hardware acceleration

US11451609B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11451609-B2
Application numberUS-201816022949-A
CountryUS
Kind codeB2
Filing dateJun 29, 2018
Priority dateMar 16, 2018
Publication dateSep 20, 2022
Grant dateSep 20, 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.

Technologies for accelerated HTTP message processing include a computing device having a network controller. The computing device may generate an HTTP message, frame the HTTP message to generate a transport protocol packet such as a TCP/IP packet or QUIC packet, and pass the transport protocol packet to the network controller. The network controller compresses the HTTP header of the HTTP message, encrypts the compressed HTTP message, and transmits the encrypted message to a remote device. The network controller may segment the transport protocol packet into multiple segmented packets. The network controller may receive transport protocol packets that include encrypted HTTP message. The network controller decrypts the encrypted HTTP message to generate a compressed HTTP message, decompresses the HTTP message, and steers the HTTP message to a receive queue based on contents of an HTTP header. The network controller may coalesce multiple transport protocol packets. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computing device comprising: a network interface controller to receive a transport protocol packet from a remote computing device, wherein the transport protocol packet comprises an encrypted Hypertext Transport Protocol (HTTP) message, wherein the network interface controller comprises: cryptographic circuitry to decrypt the encrypted HTTP message of the transport protocol packet to generate a compressed HTTP message of the transport protocol packet; compression circuitry to decompress the compressed HTTP message of the transport protocol packet to generate an HTTP message of the transport protocol packet in response to decryption of the encrypted HTTP message, wherein the HTTP message comprises an application layer protocol message that includes an HTTP header; and circuitry to process the HTTP message in response to decompression of the compressed HTTP message to determine whether the HTTP header of the HTTP message matches a filter criteria. 2. The computing device of claim 1 , wherein: the network interface controller further comprises segmentation circuitry to coalesce a plurality of segmented transport protocol packets to generate the transport protocol packet, wherein the plurality of segmented transport protocol packets comprises the encrypted HTTP message; and to receive the transport protocol packet comprises to receive the plurality of segmented transport protocol packets. 3. The computing device of claim 2 , further comprising: a network interface controller driver to configure a receive pipeline of the network interface controller, wherein the receive pipeline includes an offload ordering; wherein the network interface controller is further to execute the receive pipeline according to the offload ordering, wherein to execute the receive pipeline comprises to decrypt the encrypted HTTP message, to decompress the compressed HTTP message, and to coalesce the plurality of segmented transport protocol packets in an order specified by the offload ordering. 4. The computing device of claim 2 , further comprising: a protocol stack to process, by a first processor core of the computing device, the HTTP message. 5. The computing device of claim 2 , wherein the transport protocol packet comprises a QUIC packet and wherein to decompress the HTTP header comprises to decompress the HTTP header with a QPACK decompression algorithm. 6. The computing device of claim 1 , wherein to process the HTTP message comprises to: perform a filter action associated with the filter criteria in response to a determination that that the HTTP header matches the filter criteria. 7. The computing device of claim 6 , wherein the filter criteria comprises an HTTP action or an HTTP object. 8. The computing device of claim 6 , wherein to perform the filter action comprises to select a first processor core from a plurality of processor cores of the computing device. 9. The computing device of claim 6 , wherein to perform the filter action comprises to drop the HTTP message, forward to a receive queue or to throttle the HTTP message. 10. The computing device of claim 6 , further comprising a network interface controller driver to configure the network interface controller with the filter criteria and the associated filter action. 11. One or more non-transitory computer-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a computing device to: receive, by a network interface controller of the computing device, a transport protocol packet from a remote computing device, wherein the transport protocol packet comprises an encrypted Hypertext Transport Protocol (HTTP) message; decrypt, by the network interface controller, the encrypted HTTP message of the transport protocol packet to generate a compressed HTTP message of the transport protocol packet; decompress, by the network interface controller, the compressed HTTP message of the transport protocol packet to generate an HTTP message of the transport protocol packet in response to decrypting the encrypted HTTP message, wherein the HTTP message comprises an application layer protocol message that includes an HTTP header; and process, by the network interface controller, the HTTP message in response to decompressing the compressed HTTP message to determine whether the HTTP header of the HTTP message matches a filter criteria. 12. The one or more non-transitory computer-readable storage media of claim 11 , further comprising a plurality of instructions stored thereon that, in response to being executed, cause the computing device to: coalesce, by the network interface controller, a plurality of segmented transport protocol packets to generate the transport protocol packet, wherein the plurality of segmented transport protocol packets comprises the encrypted HTTP message; wherein to receive the transport protocol packet comprises to receive the plurality of segmented transport protocol packets. 13. The one or more non-transitory computer-readable storage media of claim 11 , wherein to process the HTTP message comprises to: perform a filter action associated with the filter criteria in response to determining that the HTTP header matches the filter criteria. 14. The one or more non-transitory computer-readable storage media of claim 13 , wherein to perform the filter action comprises to select a first processor core from a plurality of processor cores of the computing device. 15. The one or more non-transitory computer-readable storage media of claim 11 , further comprising a plurality of instructions stored thereon that, in response to being executed, cause the computing device to: process, by a first processor core of the computing device, the HTTP message.

Assignees

Inventors

Classifications

  • IP fragmentation; TCP segmentation · CPC title

  • H04L67/02Primary

    based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Adaptation or special uses of UDP protocol · CPC title

  • Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up · CPC title

  • wherein the data content is protected, e.g. by encrypting or encapsulating the payload · 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 US11451609B2 cover?
Technologies for accelerated HTTP message processing include a computing device having a network controller. The computing device may generate an HTTP message, frame the HTTP message to generate a transport protocol packet such as a TCP/IP packet or QUIC packet, and pass the transport protocol packet to the network controller. The network controller compresses the HTTP header of the HTTP messag…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L67/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 20 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).