Proxy application with dynamic filter updating

US10212246B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10212246-B2
Application numberUS-201715627361-A
CountryUS
Kind codeB2
Filing dateJun 19, 2017
Priority dateJan 4, 2013
Publication dateFeb 19, 2019
Grant dateFeb 19, 2019

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.

The disclosure describes a proxy server application that supports the dynamic modification of proxy rules implemented by a proxy server. The proxy rules implemented by the proxy server specify network behaviors to be performed at various points during the handling of requests from client applications. A proxy server implements the proxy rules by processing one or more user-generated network traffic filters for managing network traffic. In an embodiment, users generate network traffic filters by creating network traffic filter source code that specify processing steps to be performed by a proxy server relative to network messages the proxy server receives. In an embodiment, user-generated network traffic filters may be added, removed, reordered, or otherwise modified in a proxy server application at runtime in order to respond to current network conditions or to achieve other desired proxy configurations.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a first network message; determining a first filter-chain to process based on the first network message, wherein the first filter-chain includes a plurality of network traffic filters; determining an order for processing different network traffic filters included in the plurality of network traffic filters; based on the order, selecting a first network traffic filter included in the plurality of network traffic filters to process; determining that the first network message satisfies one or more first processing criteria associated with the first network traffic filter; and in response to determining that the one or more first processing criteria are satisfied, performing one or more operations associated with the first network traffic filter. 2. The method of claim 1 , wherein the order for processing the different network traffic filters included in the plurality of network traffic filters is based on one or more execution order values. 3. The method of claim 2 , wherein the execution order values are specified by the plurality of network traffic filters. 4. The method of claim 1 , further comprising, after causing the one or more actions associated with the first network traffic filter to be performed, selecting, based on the order, a second network traffic filter included in the plurality of network traffic filters to process. 5. The method of claim 4 , further comprising determining that the second network message satisfies one or more second processing criteria associated with the second network traffic filter, and, in response to determining that the one or more second processing criteria are satisfied, performing one or more operations associated with the second network traffic filter. 6. The method of claim 4 , further comprising determining that the first network message does not satisfy one or more second processing criteria associated with the second network traffic filter, and, in response to determining that the one or more second processing criteria are not satisfied, selecting, based on the order, a third network traffic filter included in the plurality of network traffic filters to process. 7. The method of claim 4 , further comprising determining that no other network traffic filters included in the plurality of network traffic filters are to be processed, and waiting to receive a second network message. 8. The method of claim 1 , wherein the first network message is received from a client. 9. The method of claim 8 , wherein the first filter-chain comprises a pre-processing filter-chain or a dispatch filter-chain. 10. The method of claim 9 , wherein the first filter chain comprises a dispatch filter-chain, and further comprising transmitting the first network message to a server once all applicable network traffic filters included in the plurality of network traffic filters have been processed. 11. The method of claim 1 , wherein the first network message is received from a server, and the first filter-chain comprises a post-processing filter-chain. 12. A non-transitory computer-readable medium including instructions that, when executed by a processor, cause the processor to perform the steps of: receiving a first network message; determining a first filter-chain to process based on the first network message, wherein the first filter-chain includes at least a first network traffic filter and a second network traffic filter; determining that the first network traffic filter is to be processed before the second network traffic filter; selecting the first network traffic filter for processing; determining that the first network message satisfies one or more first processing criteria associated with the first network traffic filter; and causing one or more actions associated with the first network traffic filter to be performed. 13. The non-transitory computer-readable medium of claim 12 , wherein determining that the first network traffic filter is to be processed before the second network traffic filter is based on one or more execution order values. 14. The non-transitory computer-readable medium of claim 13 , wherein the execution order values are specified by the first network traffic filter and the second network traffic filter. 15. The non-transitory computer-readable medium of claim 12 , further comprising, after causing the one or more actions associated with the first network traffic filter to be performed, selecting the second network traffic filter to process. 16. The non-transitory computer-readable medium of claim 15 , further comprising determining that the second network message satisfies one or more second processing criteria associated with the second network traffic filter, and, in response to determining that the one or more second processing criteria are satisfied, causing one or more operations associated with the second network traffic filter to be performed. 17. The non-transitory computer-readable medium of claim 15 , further comprising determining that the first network message does not satisfy one or more second processing criteria associated with the second network traffic filter, and, in response to determining that the one or more second processing criteria are not satisfied, selecting a third network traffic filter included in the first filter-chain to process. 18. The non-transitory computer-readable medium of claim 15 , further comprising determining that no other network traffic filters included in the first filter-chain are to be processed, and waiting to receive a second network message. 19. The non-transitory computer-readable medium of claim 12 , wherein the first network message is received from a client. 20. The non-transitory computer-readable medium of claim 19 , wherein the first filter-chain comprises a pre-processing filter-chain or a dispatch filter-chain. 21. The non-transitory computer-readable medium of claim 20 , wherein the first filter chain comprises a dispatch filter chain, and further comprising transmitting the first network message to a server once all applicable network traffic filters included in the first filter-chain have been processed. 22. The non-transitory computer-readable medium of claim 12 , wherein the first network message is received from a server, and the first filter-chain comprises a post-processing filter-chain. 23. A computer system, comprising: a memory that includes instructions; and at least one processor that is coupled to the memory and, when executing the instructions, is configured to: receive a first network message; determine a first filter-chain to process based on the first network message, wherein the first filter chain includes a plurality of network traffic filters; select a first network traffic filter included in the plurality of network traffic filters for processing; and cause one or more actions associated with the first network traffic filter to be performed. 24. The computer system of claim 23 , wherein the instructions are included in a proxy server application that comprises a virtual machine. 25. The computer system of claim 23 , wherein the at least one processor, when executing the instructions, is further configured to: determine that the first network traffic filter is to be processed before a second network traffic filter included in the plurality of network traffic filters; and determine that the first network message satisfies o

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 US10212246B2 cover?
The disclosure describes a proxy server application that supports the dynamic modification of proxy rules implemented by a proxy server. The proxy rules implemented by the proxy server specify network behaviors to be performed at various points during the handling of requests from client applications. A proxy server implements the proxy rules by processing one or more user-generated network tra…
Who is the assignee on this patent?
Netflix Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/2833. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 19 2019 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).