Proxy application with dynamic filter updating

US9686371B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9686371-B2
Application numberUS-201615066743-A
CountryUS
Kind codeB2
Filing dateMar 10, 2016
Priority dateJan 4, 2013
Publication dateJun 20, 2017
Grant dateJun 20, 2017

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, in a proxy server application that is configured to receive requests and distribute the requests to one or more origin servers for processing: loading, from a data repository, one or more first network traffic filters; receiving a network message, and without ending execution of the proxy server application: loading one or more second network traffic filters from the data repository; causing one or more first actions of a first network traffic filter to be performed based on the network message, wherein the first network traffic filter is among the one or more first network traffic filters; causing one or more second actions of a second network traffic filter to be performed based on the network message, wherein the second network traffic filter is among the one or more second network traffic filters; wherein the method is performed on one or more computing devices. 2. The method of claim 1 , wherein the proxy server application comprises a virtual machine that supports dynamic compilation and class loading without restarting the virtual machine. 3. The method of claim 1 , wherein a plurality of network traffic filters comprises the one or more first network traffic filters and the one or more second network traffic filters, and the method further comprises reordering one or more particular network traffic filters of the plurality of network traffic filters without ending execution of the proxy server application. 4. The method of claim 3 , wherein the reordering of the one or more particular network traffic filters is performed after receiving the network message without ending execution of the proxy server application. 5. The method of claim 4 , wherein the reordering of the one or more particular network traffic filters is performed before causing the one or more first actions of the first network traffic filter to be performed without ending execution of the proxy server application. 6. The method of claim 4 , wherein reordering of the one or more particular network traffic filters is performed before causing the one or more second actions of the second network traffic filter to be performed without ending execution of the proxy server application. 7. The method of claim 1 , wherein: a plurality of network traffic filters comprises the one or more first network traffic filters and the one or more second network traffic filters; the method further comprising removing one or more particular network traffic filters from the plurality of network traffic filters without ending execution of the proxy server application, wherein the first network traffic filter is not among the one or more particular network traffic filters that are removed. 8. The method of claim 7 , wherein the removing of the one or more particular network traffic filters is performed after the network message is received and before causing the one or more first actions of a first network traffic filter to be performed based on the network message. 9. The method of claim 1 , wherein the one or more first network traffic filters comprise a first network traffic filter chain configured to process the requests before the requests are distributed to the one or more of the origin servers. 10. The method of claim 9 , wherein the one or more second network traffic filters comprise a second network traffic filter chain that is configured to process requests and return response messages without distributing the requests to the one or more of the origin servers. 11. A non-transitory computer-readable data storage medium storing one or more sequences of instructions which when executed by one or more processors cause, in a server that is configured to receive requests directed toward one or more origin servers and to distribute the requests to one or more of the origin servers for processing: loading, from a data repository, one or more first network traffic filters; receiving a network message, and without ending execution of the one or more sequences of instructions: loading one or more second network traffic filters from the data repository; causing one or more first actions of a first network traffic filter to be performed based on the network message, wherein the first network traffic filter is among the one or more first network traffic filters; causing one or more second actions of a second network traffic filter to be performed based on the network message, wherein the second network traffic filter is among the one or more second network traffic filters. 12. The non-transitory computer-readable data storage medium of claim 11 , wherein the one or more sequences of instructions are executed by a virtual machine that supports dynamic compilation and class loading without restarting the virtual machine. 13. The non-transitory computer-readable data storage medium of claim 11 , wherein: a plurality of network traffic filters comprises the one or more first network traffic filters and the one or more second network traffic filters; the one or more sequences of instructions, which when executed by the one or more processors, cause reordering one or more particular network traffic filters of the plurality of network traffic filters without ending execution of the one or more sequences of instructions. 14. The non-transitory computer-readable data storage medium of claim 13 , wherein the one or more sequences of instructions, which when executed by the one or more processors, cause the reordering of the one or more particular network traffic filters to be performed after receiving the network message ending execution of the one or more sequences of instructions. 15. The non-transitory computer-readable data storage medium of claim 14 , wherein the one or more sequences of instructions, which when executed by the one or more processors, cause the reordering of the one or more particular network traffic filters to be performed before causing the one or more first actions of the first network traffic filter to be performed, ending execution of the one or more sequences of instructions. 16. The non-transitory computer-readable data storage medium of claim 14 , wherein the one or more sequences of instructions, which when executed by the one or more processors, cause the reordering of the one or more particular network traffic filters to be performed before causing the one or more second actions of the second network traffic filter to be performed, ending execution of the one or more sequences of instructions. 17. The non-transitory computer-readable data storage medium of claim 11 , wherein: a plurality of network traffic filters comprises the one or more first network traffic filters and the one or more second network traffic filters; the one or more sequences of instructions, which when executed by the one or more processors, cause removing one or more particular network traffic filters from the plurality of network traffic filters ending execution of the one or more sequences of instructions, wherein the first network traffic filter is not among the one or more particular network traffic filters that are removed. 18. The non-transitory computer-readable data storage medium of claim 17 , wherein the one or more sequences of instructions, which when executed by the one or more processors, cause the removing of the one or more particular network traffic filters to be performed after the network message is received and before causing the one or more first actions of a first network traffic filter to be performed based on the network message.

Assignees

Inventors

Classifications

  • Actions related to the user profile or the type of traffic · CPC title

  • Runtime code conversion or optimisation · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

  • Electricity · mapped topic

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 US9686371B2 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 Jun 20 2017 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).