Patent ID: 8284665

Claim:
A method, comprising: receiving, using one or more processors, a packet; identifying, using one or more processors, a rate limit, associated with a flow that is associated with the received packet, based on: layer 2 information included in the received packet, layer 3 information included in the received packet, and layer 4 information included in the received packet; identifying, using one or more processors and based on the received packet, an entry in a flow table, the entry corresponding to the flow and including information identifying: a quantity of packets, associated with the flow, received during a time period, a quantity of bytes, associated with the flow, received during the time period, and the time period; calculating, using one or more processors, a current rate associated with the identified flow based on the time period and at least one of: the quantity of packets, or the quantity of bytes; determining, using one or more processors, whether the calculated current rate, associated with the flow, exceeds the identified rate limit associated with the flow; and discarding, using one or more processors, the received packet when the calculated current rate, associated with the identified flow, exceeds the identified rate limit associated with the identified flow.