Event based rate policing with a jumping window
First Claim
1. A method of determining an event-based rate policing window, comprising:
- receiving a data unit;
generating an event time stamp reflecting a time at which said data unit was received;
associating said event time stamp with said data unit;
generating a rate policing window end time by adding a rate policing window start time to a rate policing window duration;
comparing said event time stamp with said rate policing window end time;
starting, in the event that said event time stamp indicates a time subsequent to said rate policing window end time, a new rate policing window;
wherein said data unit is received on a virtual connection, and wherein said rate policing window start time, said rate policing window end time, said rate policing window duration, and said new rate policing window are associated with said virtual connection; and
wherein said rate policing window start time defines a time at which a current rate policing window started, wherein said rate policing window duration defines a length of said current rate policing window, wherein said rate policing window end time defines an end of said current rate policing window, and wherein said current rate policing window defines a time interval during which a predetermined amount of bandwidth is reserved as guaranteed bandwidth for use by data units received on said virtual connection during said current rate policing window.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for performing event-based rate policing using varying window start times. Rate policing overhead, including counter and timer monitoring and resetting, is performed only as needed and in response to actual received traffic on each connection. As the last bit of a data unit is received from an external network, an “event time stamp” is generated and associated with the data unit, for example as part of an internal header or trailer attached to the data unit. To determine if a rate policing window was active when the frame was received, the event time stamp is compared with a sum of a window start time and a window period value stored in association with the connection on which the data unit was received. If the associated event time stamp indicates a time prior to the sum of the associated window start time and window period, then a rate policing window is determined to have been active when the frame was received. In that case, rate policing is performed on the received frame with respect to the active rate policing window. If a rate policing window was not active when the frame was received, then a new rate policing window is started, and the frame is rate policed in a new rate policing window, which is started at a time equal to the event time stamp associated with the received frame.
74 Citations
19 Claims
-
1. A method of determining an event-based rate policing window, comprising:
-
receiving a data unit;
generating an event time stamp reflecting a time at which said data unit was received;
associating said event time stamp with said data unit;
generating a rate policing window end time by adding a rate policing window start time to a rate policing window duration;
comparing said event time stamp with said rate policing window end time;
starting, in the event that said event time stamp indicates a time subsequent to said rate policing window end time, a new rate policing window;
wherein said data unit is received on a virtual connection, and wherein said rate policing window start time, said rate policing window end time, said rate policing window duration, and said new rate policing window are associated with said virtual connection; and
wherein said rate policing window start time defines a time at which a current rate policing window started, wherein said rate policing window duration defines a length of said current rate policing window, wherein said rate policing window end time defines an end of said current rate policing window, and wherein said current rate policing window defines a time interval during which a predetermined amount of bandwidth is reserved as guaranteed bandwidth for use by data units received on said virtual connection during said current rate policing window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
performing, in the event said event time stamp does not indicate a time subsequent to said rate policing window end time, rate policing on said data unit, said rate policing including determining whether said data unit is to be considered part of said guaranteed bandwidth of said virtual connection.
-
-
3. The method of claim 2, further comprising:
writing, in the event that said data unit is not to be considered part of said guaranteed bandwidth of said virtual connection, a discard enabled indicator associated with said data unit.
-
4. The method of claim 3, wherein said discard enabled indicator is a discard enabled bit within said data unit.
-
5. The method of claim 3, wherein said discard enabled indicator is a flag in a descriptor data structure associated with at least one memory buffer storing said data unit.
-
6. The method of claim 1, wherein said starting said new rate policing window includes setting said rate policing window start time associated with said virtual connection equal to said event time stamp.
-
7. The method of claim 1, wherein said starting said new rate policing window includes setting a field associated with said virtual connection to a predetermined value.
-
8. The method of claim 7, wherein said predetermined value represents the maximum amount of data which may be received using said guaranteed bandwidth over said connection during said rate policing window duration.
-
9. The method of claim 7, wherein said predetermined value is zero.
-
10. A system for determining an event-based rate policing window, comprising:
-
receiver logic operable to receive a data unit, generate an event time stamp reflecting a time at which said data was received, and associate said event time stamp with said data unit;
rate policing logic operable to generate a rate policing window end time by adding a rate policing window start time to a rate policing window duration, compare said event time stamp with rate policing window end time, and start, in the event that said event time stamp indicates a time subsequent to said rate policing window end time, a new rate policing window;
wherein said data unit is received on a virtual connection, and wherein said rate policing window start time, said rate policing window end time, said rate policing window duration, and said new rate policing window are associated with said virtual connection; and
wherein said rate policing window start time defines a time at which a current rate policing window started, wherein said rate policing window duration defines a length of said current rate policing window, wherein said rate policing window end time defines an end of said current rate policing window, and wherein said current rate policing window defines a time interval during which a predetermined amount of bandwidth is reserved as guaranteed bandwidth for use by data units received on said virtual connection during said current rate policing window. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for determining an event-based rate policing window, comprising:
-
means for receiving a data unit;
means for generating an event time stamp reflecting a time at which said data was received;
means for associating said event time stamp with said data unit;
means for generating a rate policing window end time by adding a rate policing window start time to a rate policing window duration;
means for comparing said event time stamp with rate policing window end time;
means for starting, in the event that said event time stamp indicates a time subsequent to said rate policing window end time, a new rate policing window;
wherein said data unit is received on a virtual connection, and wherein said rate policing window start time, said rate policing window end time, said rate policing window duration, and said new rate policing window are associated with said virtual connection; and
wherein said rate policing window start time defines a time at which a current rate policing window started, wherein said rate policing window duration defines a length of said current rate policing window, wherein said rate policing window end time defines an end of said current rate policing window, and wherein said current rate policing window defines a time interval during which a predetermined amount of bandwidth is reserved as guaranteed bandwidth for use by data units received on said virtual connection during said current rate policing window.
-
Specification