Patent ID: 8463887
Filing Date: 2013-06-11
Classification: H04L

Abstract:
1. A method for providing connection surge protection to a server by a multi-core intermediary device deployed between a plurality of clients and one or more servers, the method comprising: (a) maintaining, by each packet processing engine of a plurality of packet processing engines executing on a corresponding plurality of cores of an intermediary device deployed between a plurality of clients and one or more servers, a local counter of received requests to connect to a server in a memory location accessible by the packet processing engine; (b) storing, by each of the plurality of packet processing engines responsive to the expiration of a timer having a predetermined duration, the value of the local counter maintained by each said packet processing engine to a global counter of received requests, stored in a shared memory location accessible by the plurality of packet processing engines; (c) retrieving, by a first packet processing engine of the plurality of packet engines, the value of the global counter from the shared memory location and determining a difference value between the retrieved value of the global counter and a previously retrieved value of the global counter; (d) dividing, by the first packet processing engine, the difference value by the predetermined duration to determine a rate of change in the global number of received requests; (e) receiving, by the first packet processing engine, a first request to connect to the server; (f) determining, by the first packet processing engine, whether the global number of requests to connect to the server has reached a connection rate limit based on the rate of change in the global number of received requests; and (g) delaying, responsive to the determination, processing of the first request to connect to the server for a time comprising a predetermined time selected responsive to a surge protection policy and multiplied by the number of packet processing engines in the plurality of packet processing engines.