Method and apparatus for determining bandwidth-consuming frame flows in a network
First Claim
1. A network device comprising:
- a processor;
memory operatively connected to said processor to store software programs and data;
detection logic configured to detect selected values in portions of each frame in each of a plurality of frame flows;
a plurality of hardware counters operatively coupled to said processor and operatively connected to said detection logic and configured to count frame flow activity; and
a software program stored in said memory to be executed by said processor to;
logically partition said plurality of frame flows into a first set and a second set based on frame flow activity, each frame flow having an associated count value,wherein said first set has associated an equivalent number of hardware counters for counting frame flow activity as there are frame flows in said first set, andwherein said second set has associated a smaller number of hardware counters for counting frame flow activity than there are frame flows in said second set;
periodically determine frame flow activity for frame flows having associated hardware counters and update the associated count values for said frame flows;
assign frame flows with the highest count values to the first set and configure the hardware counters as required; and
assign the remaining frame flows to said second set, change which frame flows of said second set have associated hardware counters and configure the hardware counters as required so that all frame flows in said second set are periodically associated with hardware counters to determine count values.
2 Assignments
0 Petitions
Accused Products
Abstract
A port monitor monitors network traffic that passes through a port of a switch. Frame flows routed through the switch are counted by hardware frame counting logic, which includes a content-addressable memory (CAM) and counters corresponding to various frame flows. Port monitor software includes logical containers (“buckets”), which are used to record and sort counts of the frame flows from hardware based on activity of the frame flows. Frame flow sorting is based on confidence building algorithms such that the thrashing of frame flows between buckets is reduced. Storage and sorting of the frame flows in software allows the activity level of any number of frame flows associated with the switch to be counted, regardless of hardware limitations on how many frame flows can be counted. This allows a real-time analysis of frame flows and a determination of frame flows that are major users of Fiber Channel bandwidth.
-
Citations
21 Claims
-
1. A network device comprising:
-
a processor; memory operatively connected to said processor to store software programs and data; detection logic configured to detect selected values in portions of each frame in each of a plurality of frame flows; a plurality of hardware counters operatively coupled to said processor and operatively connected to said detection logic and configured to count frame flow activity; and a software program stored in said memory to be executed by said processor to; logically partition said plurality of frame flows into a first set and a second set based on frame flow activity, each frame flow having an associated count value, wherein said first set has associated an equivalent number of hardware counters for counting frame flow activity as there are frame flows in said first set, and wherein said second set has associated a smaller number of hardware counters for counting frame flow activity than there are frame flows in said second set; periodically determine frame flow activity for frame flows having associated hardware counters and update the associated count values for said frame flows; assign frame flows with the highest count values to the first set and configure the hardware counters as required; and assign the remaining frame flows to said second set, change which frame flows of said second set have associated hardware counters and configure the hardware counters as required so that all frame flows in said second set are periodically associated with hardware counters to determine count values. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of determining activity in a network, comprising:
-
determining a plurality of frame flows to be monitored; partitioning said plurality of frame flows into a first set and a second set, each frame flow having an associated count value, wherein said first set has associated an equivalent number of hardware counters for counting frame flow activity as there are frame flows in said first set, and wherein said second set has associated a smaller number of hardware counters for counting frame flow activity than there are frame flows in said second set; periodically determining frame flow activity for the frame flows having associated hardware counters and updating the associated count values for said frame flows; assigning frame flows with the highest count values to said first set and configuring the hardware counters as required; and assigning the remaining frame flows to said second set, changing which frame flows of said second set have associated hardware counters, and configuring the hardware counters as required so that all frame flows in said second set are periodically associated with hardware counters to determine count values. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing instructions, the instructions when executed causing a processor to:
-
determine a plurality of frame flows to be monitored; logically partition said plurality of frame flows into a first set and a second set, each frame flow having an associated count value, wherein said first set has associated an equivalent number of hardware counters for counting frame flow activity as there are frame flows in said first set, and wherein said second set has associated a smaller number of hardware counters for counting frame flow activity than there are frame flows in said second set; periodically determine frame flow activity for the frame flows having associated hardware counters and updating the associated count values for said frame flows; assign frame flows with the highest count values to said first set and configure the hardware counters as required; and assign the remaining frame flows to said second set and change which frame flows of said second set have associated hardware counters so that all frame flows in said second set are periodically associated with hardware counters to update count values. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification