P
US9042230B2ActiveUtilityPatentIndex 82

Real time and high resolution buffer occupancy monitoring and recording

Assignee: CISCO TECH INCPriority: Sep 18, 2012Filed: Dec 16, 2014Granted: May 26, 2015
Est. expirySep 18, 2032(~6.2 yrs left)· nominal 20-yr term from priority
Inventors:EDSALL THOMAS JDEVADAS GANGA SUDHARSHININGUYEN DENNIS KHOA DANGHUANG CHIH-TSUNG
H04L 47/30G06F 2213/3808H04L 43/16H04L 47/29H04L 43/045G06F 13/385H04L 49/9005H04L 49/90H04L 47/129H04L 43/0882
82
PatentIndex Score
5
Cited by
17
References
28
Claims

Abstract

Presented herein are techniques for detection and characterization of buffer occupancy of a buffer in a network device. Packets are received at a network device. The packets are stored in a buffer of the network device as they are processed by the network device. An occupancy level of the buffer is sampled at a sampling rate. Occupancy levels of the buffer over time are determined from the sampling, and traffic flow through the network device is characterized based on the occupancy levels.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 sampling an occupancy level of a buffer at a sampling rate; 
 tracking occupancy levels of the buffer over time, determined from the sampling; 
 characterizing traffic flow through a network device based on the occupancy levels; and 
 generating an indication of severity of a congestion event in the network device, 
 wherein tracking occupancy levels comprises:
 assigning each of a plurality of bins to a corresponding one of a plurality of buffer occupancy level ranges of the buffer; 
 assigning a counter value to each of the bins; and 
 each time the occupancy level is sampled, incrementing the counter value of the bin for the occupancy level range in which the sampled occupancy level is determined to fall. 
 
 
     
     
       2. The method of  claim 1 , wherein sampling, tracking and characterizing are performed based on one or more of: Layer 2 parameters, Layer 3 parameters, Layer 4 parameter, packet payload, packet priority parameters, and any user defined parameter. 
     
     
       3. The method of  claim 1 , further comprising:
 wherein the indication of severity comprises a color indication, wherein the color indicates the severity of the congestion event. 
 
     
     
       4. The method of  claim 1 , further comprising:
 creating a histogram of buffer occupancy levels for the buffer over a period of time based on the counter values for each of the bins. 
 
     
     
       5. The method of  claim 1 , wherein none of the plurality of buffer occupancy level ranges correspond to a buffer full or a buffer nearly full condition. 
     
     
       6. The method of  claim 1 , wherein one of the plurality of buffer occupancy level ranges corresponds to a buffer full or a buffer nearly full condition. 
     
     
       7. The method of  claim 1 , further comprising:
 assigning an upper threshold for the counter value; 
 determining whether the upper threshold has been exceeded for a particular buffer monitoring time period for at least one of the bins; and 
 if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, determining that a burst of packets was received by the network device. 
 
     
     
       8. The method of  claim 7 , wherein if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, increasing the upper threshold for each of the bins. 
     
     
       9. The method of  claim 7  wherein if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, further comprising:
 reassigning the bins to occupancy levels ranges such that the bin for which the upper threshold has been exceeded is provided with a smaller buffer level occupancy range than it previously was assigned, and another of the bins having an upper threshold that was not exceeded is provided with a larger buffer occupancy level range than it previously was assigned. 
 
     
     
       10. The method of  claim 9 , wherein if the counter value for the bin for the largest occupancy level range is greater than zero for the particular buffer monitoring time period, further comprising:
 automatically reassigning the bins to cover a larger buffer occupancy level range. 
 
     
     
       11. The method of  claim 10 , wherein, if the counter value for the bin for the largest occupancy level range is greater than zero for a particular buffer monitoring time period, further comprising:
 automatically reassigning the bins to cover an entire buffer occupancy level range from completely empty to completely full. 
 
     
     
       12. An apparatus comprising:
 a plurality ports for receiving packets from a network and outputting packets to the network; 
 a buffer configured to temporarily store received packets as they are being processed by a network device; and 
 a processor coupled to the buffer and configured to:
 sample an occupancy level of the buffer at a sampling rate; 
 track occupancy levels of the buffer over time; 
 characterize traffic flow through the network device based on the occupancy levels; and 
 generate an indication of severity of a congestion event in the network device, 
 wherein the processor tracks occupancy levels by:
 assigning each of a plurality of bins to a corresponding one of a plurality of buffer occupancy level ranges of the buffer; 
 assigning a counter value to each of the bins; and 
 each time the occupancy level is sampled, incrementing the counter value of the bin for the occupancy level range in which the sampled occupancy level is determined to fall. 
 
 
 
     
     
       13. The apparatus of  claim 12 , wherein the processor is configured to perform the sample, track and characterize operations based on one or more of: Layer 2 parameters, Layer 3 parameters, Layer 4 parameter, packet payload, packet priority parameters, and any user defined parameter. 
     
     
       14. The apparatus of  claim 12 , further comprising an indicator configured to show the indication of severity as a color, wherein the color indicates the severity of the congestion event. 
     
     
       15. The apparatus of  claim 12 , the processor further configured to:
 create a histogram of buffer occupancy levels for the buffer over a period of time based on the counter values for each of the bins. 
 
     
     
       16. The apparatus of  claim 12 , the processor is further configured to:
 assign an upper threshold for the counter value; 
 determine whether the upper threshold has been exceeded for a particular buffer monitoring time period for at least one of the bins; and 
 if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, determine that a burst of packets was received by the network device. 
 
     
     
       17. The apparatus of  claim 16 , wherein if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, the processor is further configured to:
 increase the upper threshold for each of the bins. 
 
     
     
       18. The apparatus of  claim 16 , wherein if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, the processor is further configured to:
 reassign the bins to occupancy levels ranges such that the bin for which the upper threshold has been exceeded is provided with a smaller buffer level occupancy range than it previously was assigned, and another of the bins having an upper threshold that was not exceeded is provided with a larger buffer occupancy level range than it previously was assigned. 
 
     
     
       19. The apparatus of  claim 18 , wherein if the counter value for the bin for the largest occupancy level range is greater than zero for the particular buffer monitoring time period, the processor is further configured to:
 automatically reassign the bins to cover a larger buffer occupancy level range. 
 
     
     
       20. The apparatus of  claim 19 , wherein if the counter value for the bin for the largest occupancy level range is greater than zero for the particular buffer monitoring time period, the processor is further configured to:
 automatically reassign the bins to cover an entire buffer occupancy level range from completely empty to completely full. 
 
     
     
       21. The apparatus of  claim 12 , wherein none of the plurality of buffer occupancy level ranges correspond to a buffer full or a buffer nearly full condition. 
     
     
       22. The apparatus of  claim 12 , wherein one of the plurality of buffer occupancy level ranges correspond to a buffer full or a buffer nearly full condition. 
     
     
       23. A non-transitory computer readable tangible storage media encoded with instructions that, when executed by as processor, cause the processor to:
 sample an occupancy level of the buffer at a sampling rate; 
 track occupancy levels of the buffer over time; 
 characterize traffic flow within the network device based on the occupancy levels; and 
 generate an indication of severity of a congestion event in the network device, 
 wherein the instructions that cause the processor to track occupancy levels comprise instructions that cause the processor to:
 assign each of a plurality of bins to a corresponding one of a plurality of buffer occupancy level ranges of the buffer; 
 assign a counter value to each of the bins; and 
 each time the occupancy level is sampled, increment the counter value of the bin for the occupancy level range in which the sampled occupancy level is determined to fall. 
 
 
     
     
       24. The computer readable tangible storage media of  claim 23 , further comprising instructions that cause the processor to perform the sample, track and characterize operations based on one or more of: Layer 2 parameters, Layer 3 parameters, Layer 4 parameter, packet payload, packet priority parameters, and any user defined parameter. 
     
     
       25. The computer readable tangible storage media of  claim 23 , wherein the instructions further cause the processor to:
 create a histogram of buffer occupancy levels for the buffer over a period of time based on the counter values for each of the bins. 
 
     
     
       26. The computer readable tangible storage media of  claim 25  wherein, if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, the instructions further cause the processor to:
 increase the upper threshold for each of the bins. 
 
     
     
       27. The computer readable tangible storage media of  claim 23 , wherein the instructions further cause the processor to:
 assign an upper threshold for the counter value; 
 determine whether the upper threshold has been exceeded for a particular buffer monitoring time period for at least one of the bins; and 
 if the upper threshold has been exceeded for at least one of the bins over the particular buffer monitoring time period, determine that a burst of packets was received by the network device. 
 
     
     
       28. The computer readable tangible storage media of  claim 23 , wherein none of the plurality of buffer occupancy level ranges correspond to a buffer full or a buffer nearly full condition.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.