Proxy application with dynamic filter updating
US-2015156137-A1 · Jun 4, 2015 · US
US9686371B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9686371-B2 |
| Application number | US-201615066743-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 10, 2016 |
| Priority date | Jan 4, 2013 |
| Publication date | Jun 20, 2017 |
| Grant date | Jun 20, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.