Methods and apparatus for tracking data flow based on flow state values
First Claim
Patent Images
1. A processor-readable non-transitory medium storing code representing instructions that when executed by a processor cause the processor to:
- update, at a memory location, a first flow state value associated with a data flow to a second flow state value when at least one of a packet from the data flow is received or the memory location is selected after a first time period from a series of time periods has expired,the update of the first flow state value is based on a progression through a series of flow state values including the first flow state value and the second flow state value, each flow state value from the series of flow state values being associated with a time period from the series of time periods, the series of the time periods including a second time period different from the first time period, and the first time period being the time period from the series of time periods associated with the first flow state value,the first flow state value is incremented to the second flow state value when (1) the packet is received, (2) the memory location of the first flow state value is identified based on an index value of the packet, and (3) when the first flow state value is less than the second flow state value, the first flow state value is decremented within the series of flow state values after the first time period has expired, the first flow state value being a numerical count of a number of data packets that have been transmitted in connection to the data flow; and
analyze at least a portion of the packet when the second flow state value represents a flow rate of a network data flow anomaly.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a processor-readable medium storing code representing instructions that when executed by a processor cause the processor to update, at a memory location, a first flow state value associated with a data flow to a second flow state value when at least one of a packet from the data flow is received or the memory location is selected after a time period has expired. At least a portion of the packet is analyzed when the second flow state value represents a flow rate of a network data flow anomaly.
130 Citations
18 Claims
-
1. A processor-readable non-transitory medium storing code representing instructions that when executed by a processor cause the processor to:
-
update, at a memory location, a first flow state value associated with a data flow to a second flow state value when at least one of a packet from the data flow is received or the memory location is selected after a first time period from a series of time periods has expired, the update of the first flow state value is based on a progression through a series of flow state values including the first flow state value and the second flow state value, each flow state value from the series of flow state values being associated with a time period from the series of time periods, the series of the time periods including a second time period different from the first time period, and the first time period being the time period from the series of time periods associated with the first flow state value, the first flow state value is incremented to the second flow state value when (1) the packet is received, (2) the memory location of the first flow state value is identified based on an index value of the packet, and (3) when the first flow state value is less than the second flow state value, the first flow state value is decremented within the series of flow state values after the first time period has expired, the first flow state value being a numerical count of a number of data packets that have been transmitted in connection to the data flow; and analyze at least a portion of the packet when the second flow state value represents a flow rate of a network data flow anomaly. - View Dependent Claims (2, 3, 4, 12, 15)
-
-
5. An apparatus, comprising:
-
a memory configured to store a flow state value at a memory location, the flow state value being a numerical count of a number of data packets that have been transmitted in connection to a data flow; a flow state advancement module configured to change the flow state value in response to an index value representing the memory location being defined at the flow state advancement module based on at least a portion of a packet, the flow state value is a first flow state value from a series of flow state values, the change of the first flow state value associated with the flow state advancement module includes incrementing the first flow state value to a second flow state value when the packet is received and when the first flow state value is less than the second flow state value; and a flow state timing module configured to change the first flow state value in response to a first time period from a series of time periods expiring, the change of the first flow state value associated with the flow state timing module includes decrementing the first flow state value, each flow state value from the series of flow state values being associated with a time period from the series of time periods, the series of the time periods including a second time period different from the first time period, and the first time period being the time period from the series of time periods associated with the first flow state value. - View Dependent Claims (6, 7, 13, 16, 17, 18)
-
-
8. A processor-readable non-transitory medium storing code representing instructions that when executed by a processor cause the processor to:
-
associate a packet with a flow state value, the flow state value being a numerical count of a number of data packets that have been transmitted in connection to a data flow; increment the flow state value from a first flow state value to a second flow state value, at a first time, based on an order of a series of flow state values, in response to the packet being associated with the flow state value when the packet is received and when the flow state value is less than the second flow state value; receive an indicator that a first time period from a series of time periods has expired, each flow state value from the series of flow state values being associated with a time period from the series of time periods, the series of the time periods including a second time period different from the first time period, and the first time period being the time period from the series of time periods associated with the flow state value; decrement the flow state value from the second flow state value to the first flow state value, at a second time after the first time, in response to the indicator, the change at the second time being based on the order of the series of flow state values; and analyze a portion of the packet when the flow state value matches a threshold flow state value after the change. - View Dependent Claims (9, 10, 11, 14)
-
Specification