Fire-and-forget offload mechanism for network-based services

US11212368B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11212368-B2
Application numberUS-201916416108-A
CountryUS
Kind codeB2
Filing dateMay 17, 2019
Priority dateMay 17, 2019
Publication dateDec 28, 2021
Grant dateDec 28, 2021

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.

In various embodiments, a proxy application processes requests associated with a network-based service. In operation, the proxy application determines that a first request received from a client application indicates that a response to the first request can be offloaded from a server machine. Prior to transmitting the first request to the server machine, the proxy application transmits a response to the first request to the client application. The response indicates that the server machine has successfully processed the first request. Advantageously, upon receiving the response, the client application is able to initiate a second request irrespective of the server machine.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, the method comprising: determining that a first request received from a client application indicates a response to the first request can be offloaded from a server machine; and prior to transmitting the first request to the server machine, transmitting a first response to the first request to the client application indicating that the server machine has successfully processed the first request, wherein, upon receiving the first response, the client application is able to initiate a second request. 2. The method of claim 1 , wherein the first request includes a status code that indicates that the server machine has successfully processed the first request. 3. The method of claim 1 , wherein the first request is associated with Hypertext Transmission Protocol (HTTP)/1.x, and transmitting the first request to the server machine comprises: generating a second request associated with HTTP/2 based on the first request; and multiplexing the second request along with at least a third request associated with HTTP/2 over a first Transmission Control Protocol (TCP) connection to the server machine. 4. The method of claim 1 , further comprising: determining that the server machine has not successfully processed the first request; determining that the first request indicates a first persistence level; and performing one or more error-handling operations based on the first persistence level, wherein the one or more error-handling operations cause the server machine to successfully process the first request. 5. The method of claim 4 , wherein determining that the first request indicates a first persistence level comprises determining that the first request includes a header portion specifying a value for a persistence parameter that corresponds to the first persistence level. 6. The method of claim 1 , where the first request includes informational data that is being uploaded to the server machine. 7. The method of claim 1 , further comprising: receiving a second response to the first request from the server machine; and instead of transmitting the second response to the client application, discarding the second response. 8. The method of claim 1 , wherein the client application receives the first response via a Transmission Control Protocol (TCP) connection and re-uses or re-generates the TCP connection to initiate the second request. 9. The method of claim 1 , further comprising: determining that the second request received from the client application does not indicate that a response to the second request can be offloaded from the server machine; transmitting the second request directly to the server machine; and upon receiving a second response to the second request from the server machine, transmitting the second response to the client application. 10. The method of claim 1 , wherein determining that the first request indicates the response to the first request can be offloaded comprises identifying that the first request includes a header portion that indicates that the response to the first request is not critical. 11. One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of: determining that a first request received from a client application can be offloaded from a server machine; and prior to transmitting the first request to the server machine, transmitting a first response to the first request to the client application indicating that the server machine has successfully processed the first request, wherein, upon receiving the first response, the client application is able to initiate a second request. 12. The one or more non-transitory computer readable media of claim 11 , wherein the first request is associated with Hypertext Transmission Protocol (HTTP)/1.x, and transmitting the first request to the server machine comprises: generating a second request associated with HTTP/2 based on the first request; and multiplexing the second request along with at least a third request associated with HTTP/2 over a first Transmission Control Protocol (TCP) connection to the server machine. 13. The one or more non-transitory computer readable media of claim 11 , further comprising: determining that the server machine has not successfully processed the first request; determining that the first request indicates a first persistence level; and performing one or more error-handling operations based on the first persistence level, wherein the one or more error-handling operations cause the server machine to successfully process the first request. 14. The one or more non-transitory computer readable media of claim 13 , wherein the one or more error-handing operations comprise one or more write operations that store the first request in a persistent storage. 15. The one or more non-transitory computer readable media of claim 11 , wherein the first request includes at least one of an event log, a heartbeat indicating that the client application is properly executing, and a metric log. 16. The one or more non-transitory computer readable media of claim 11 , further comprising: receiving a second response to the first request from the server machine; and instead of transmitting the second response to the client application, discarding the second response. 17. The one or more non-transitory computer readable media of claim 11 , wherein the client application receives the first response via a Transmission Control Protocol (TCP) connection and re-uses or re-generates the TCP connection to initiate the second request. 18. The one or more non-transitory computer readable media of claim 11 , further comprising: determining that the second request received from the client application can be offloaded from the server machine; determining that a current number of concurrent offloads equals a maximum number of concurrent offloads; transmitting the second request directly to the server machine; and upon receiving a second response to the second request from the server machine, transmitting the second response to the client application. 19. The one or more non-transitory computer readable media of claim 11 , wherein determining that the first request can be offloaded comprises identifying that the first request includes a header portion that indicates that the response to the first request is not critical. 20. A system, comprising: one or more memories storing instructions; and one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to: determine that a first request received from a client application via a first connection indicates a response to the first request can be offloaded from a server machine; and prior to transmitting the first request to the server machine, transmit a first response to the first request to the client application indicating that the server machine has successfully processed the first request, wherein, upon receiving the first response, the client application is able to re-use or re-generate the first connection to initiate a second request.

Assignees

Inventors

Classifications

  • Protocols · CPC title

  • Protocols for interworking; Protocol conversion · CPC title

  • Intermediate processing functionally located close to the data provider application, e.g. reverse proxies · CPC title

  • H04L67/59Primary

    Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable · CPC title

  • Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54) · 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 US11212368B2 cover?
In various embodiments, a proxy application processes requests associated with a network-based service. In operation, the proxy application determines that a first request received from a client application indicates that a response to the first request can be offloaded from a server machine. Prior to transmitting the first request to the server machine, the proxy application transmits a respon…
Who is the assignee on this patent?
Netflix Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/2895. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 28 2021 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).