Proxy application with dynamic filter updating

US8954495B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8954495-B2
Application numberUS-201313734864-A
CountryUS
Kind codeB2
Filing dateJan 4, 2013
Priority dateJan 4, 2013
Publication dateFeb 10, 2015
Grant dateFeb 10, 2015

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 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, wherein each of the one or more first network traffic filters comprises an executable unit of computer program code specifying processing criteria and one or more actions; while the proxy server is executing and without ending execution of the proxy server, performing one or more of: loading and initiating operation of one or more second network traffic filters; removing one or more of the first network traffic filters; reordering one or more of the first network traffic filters; receiving, at the proxy server, a network message; for a particular network traffic filter of the one or more first network traffic filters, wherein the particular network traffic filter comprises particular processing criteria and one or more particular actions: determining whether the network message satisfies the particular processing criteria; in response to determining that the network message satisfies the particular processing criteria, causing the one or more particular actions to be performed; wherein the method is performed on one or more computing devices. 2. The method of claim 1 , wherein the one or more first network traffic filters comprise one or more of: a first network traffic filter chain comprising one or more pre-processing network traffic filters that are configured to process the requests before the requests are distributed to the one or more of the origin servers; a second network traffic filter chain comprising one or more dispatch network traffic filters that are configured to distribute the requests to the one or more of the origin servers; and a third network traffic filter chain comprising one or more post-processing network traffic filters that are configured to process responses returned by the one or more of the origin servers before the response is sent to a requesting client. 3. The method of claim 2 , wherein the one or more first network traffic filters further comprise one or more of: a fourth network traffic filter chain comprising one or more static network traffic filters that are configured to process requests and return response messages without distributing the requests to the one or more of the origin servers; and a fifth network traffic filter chain comprising one or more error network traffic filters that are configured to process errors generated by one or more other network traffic filters. 4. The method of claim 1 , wherein the one or more particular actions include one or more of: validating the network message, authenticating the network message, modifying the network message, caching the network message, storing information associated with the network message, sending the network message to one or more second network elements, causing the sending or delivery of the network message to be delayed, modifying application behavior, replying to the network message. 5. The method of claim 1 , wherein the determining whether the network message satisfies the particular processing criteria includes examining one or more of: a header associated with the network message, a message body associated with the network message, contextual data generated by one or more of the first network traffic filters and second network traffic filters. 6. The method of claim 1 , wherein the determining whether the network message satisfies the particular specified criteria includes determining one or more of: a type of device that generated the network message, a network address associated with the network message, a geographic location associated with a client generating the network message, a user associated with the network message, a resource requested by the network message. 7. The method of claim 1 , wherein determining whether the network message satisfies the particular specified criteria is based at least in part on one or more of: random sampling, algorithmic sampling. 8. The method of claim 1 , wherein the proxy server loading one or more first network traffic filters further comprises: the proxy server receiving one or more execution order values, wherein each execution order value determines an order to evaluate a particular network traffic filter relative to the other first network traffic filters; the proxy server ordering the first network traffic filters according to the received execution order values. 9. The method of claim 1 , wherein the proxy server loading, from the data repository, one or more first network traffic filters further comprises loading one or more network traffic filter source code files. 10. The method of claim 9 , wherein each of the one or more network traffic filter source code files specifies one or more of: a filter type, an execution order value, processing criteria, and one or more processing actions. 11. A non-transitory computer-readable data storage medium storing one or more sequences of instructions which when executed cause one or more processors to perform, in a proxy 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, wherein each of the one or more first network traffic filters comprises an executable unit of computer program code specifying processing criteria and one or more actions; while the proxy server is executing and without ending execution of the proxy server, performing one or more of: loading and initiating operation of one or more second network traffic filters; removing one or more of the first network traffic filters; reordering one or more of the first network traffic filters; receiving, at the proxy server, a network message; for a particular network traffic filter of the one or more first network traffic filters, wherein the particular network traffic filter comprises particular processing criteria and one or more particular actions: determining whether the network message satisfies the particular processing criteria; in response to determining that the network message satisfies the particular processing criteria, causing the one or more particular actions to be performed. 12. The non-transitory computer-readable data storage medium of claim 11 , wherein the one or more first network traffic filters comprise one or more of: a first network traffic filter chain comprising one or more pre-processing network traffic filters that are configured to process the requests before the requests are distributed to the one or more of the origin servers; a second network traffic filter chain comprising one or more dispatch network traffic filters that are configured to distribute the requests to the one or more of the origin servers; and a third network traffic filter chain comprising one or more post-processing network traffic filters that are configured to process responses returned by the one or more of the origin servers before the response is sent to the requesting client. 13. The non-transitory computer-readable data storage medium of claim 12 , wherein the one or more first network traffic filters further comprise one or more of: a fourth network traffic filter chain comprising one or more static network traffic filters that are configured to process requests and return response messages without distributing the requests to the one or more of the origin servers; and a fifth network

Assignees

Inventors

Classifications

  • H04L67/60Primary

    Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70) · CPC title

  • H04L67/32Primary

    Electricity · mapped topic

  • H04L67/566Primary

    Grouping or aggregating service requests, e.g. for unified processing · CPC title

  • Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54) · CPC title

  • Brokering proxy services · 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 US8954495B2 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, Netfilx Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/60. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 10 2015 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).