System and method for recognizing application-specific flows and assigning them to queues
First Claim
1. An intermediate network device for use in a computer network having a plurality of entities configured to issue requests to reserve network resources for use by traffic flows, the reservation requests specifying one or more flow parameters, the intermediate network device comprising:
- a traffic scheduler having one or more network resources for use in forwarding network traffic received at the device at different rates;
a classification engine configured to identify network messages belonging to respective traffic flows based upon predefined criteria;
a resource reservation engine in communicating relationship with the traffic scheduler and the classification engine, the resource reservation engine including a flow analyzer that is configured to apply one or more sets of predefined heuristics that are accessible by the flow analyzer to the one or more flow parameters specified in the reservation requests to determine a type of traffic of the given traffic flow, the flow parameters including a token bucket rate, a token bucket size, and a peak data rate, the one or more sets of heuristics including heuristics configured to compare the token bucket rate, token bucket size, and a ratio of the peak data rate to the token bucket rate each with a different programmed constant descriptive of a particular type of traffic, to determine the type of traffic independent of any marking values in packets of the given traffic flow that identify traffic type, and the flow analyzer further configured to select a queue and/or a queue servicing algorithm for assignment to the traffic flow corresponding to the reservation request.
1 Assignment
0 Petitions
Accused Products
Abstract
A system assigns network traffic flows to appropriate queues and/or queue servicing algorithms based upon one or more flow parameters contained in reservation requests associated with the traffic flows. The system may be disposed at an intermediate network device within a computer network. The intermediate network device includes a reservation engine, a packet classification engine, an admission control entity, a traffic scheduler, and a flow analyzer. The flow analyzer includes or has access to a memory that is preprogrammed with one or more heuristic sets for use in evaluating the flow parameters of reservation requests. When a reservation request that includes one or more flow parameters characterizing the bandwidth and/or forwarding requirements of the anticipated traffic flow is received, the flow analyzer applies the heuristic sets. Depending on which set of heuristics, if any, the parameters satisfy, the flow analyzer selects the appropriate queue and/or queue servicing algorithm for the flow.
-
Citations
28 Claims
-
1. An intermediate network device for use in a computer network having a plurality of entities configured to issue requests to reserve network resources for use by traffic flows, the reservation requests specifying one or more flow parameters, the intermediate network device comprising:
-
a traffic scheduler having one or more network resources for use in forwarding network traffic received at the device at different rates; a classification engine configured to identify network messages belonging to respective traffic flows based upon predefined criteria; a resource reservation engine in communicating relationship with the traffic scheduler and the classification engine, the resource reservation engine including a flow analyzer that is configured to apply one or more sets of predefined heuristics that are accessible by the flow analyzer to the one or more flow parameters specified in the reservation requests to determine a type of traffic of the given traffic flow, the flow parameters including a token bucket rate, a token bucket size, and a peak data rate, the one or more sets of heuristics including heuristics configured to compare the token bucket rate, token bucket size, and a ratio of the peak data rate to the token bucket rate each with a different programmed constant descriptive of a particular type of traffic, to determine the type of traffic independent of any marking values in packets of the given traffic flow that identify traffic type, and the flow analyzer further configured to select a queue and/or a queue servicing algorithm for assignment to the traffic flow corresponding to the reservation request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computer network having a plurality of entities interconnected by a plurality of intermediate network devices having one or more resources for use in forwarding network traffic flows, a method for assigning queues and/or queue servicing algorithms to the traffic flows, the method comprising the steps of:
-
receiving, at the intermediate network device, a reservation request message specifying one or more flow parameters for a given traffic flow, the one or more flow parameters including a token bucket rate, a token bucket size, and a peak data rate; applying, at the intermediate network device, one or more sets of heuristics to the flow parameters of the received reservation request message to determine a type of traffic of the given traffic flow, the one or more sets of heuristics including heuristics configured to compare the token bucket rate, token bucket size, and a ratio of the peak data rate to the token bucket rate each with a different programmed constant descriptive of a particular type of traffic, to determine the type of traffic independent of any marking values in packets of the given traffic flow that identify traffic type; and selecting a queue and/or a queue servicing algorithm at the intermediate device for use with the given traffic flow, based on the application of the one or more sets of heuristics. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. An intermediate network device for use in a computer network having a plurality of entities configured to issue requests to reserve network resources for use by traffic flows, the reservation requests specifying one or more flow parameters, the intermediate network device comprising:
-
means for receiving a reservation request message specifying one or more flow parameters for a given traffic flow, the one or more flow parameters including a token bucket rate, a token bucket size, and a peak data rate; means for applying one or more sets of heuristics to the flow parameters of the received reservation request message to determine a type of traffic of the given traffic flow, the one or more sets of heuristics including heuristics configured to compare the token bucket rate, token bucket size, and a ratio of the peak data rate to the token bucket rate each with a different programmed constant descriptive of a particular type of traffic, to determine the type of traffic independent of any marking values in packets of the given traffic flow that identify traffic type; and means for selecting a queue and/or a queue servicing algorithm for use with the given traffic flow based on the application of the one or more sets of heuristics. - View Dependent Claims (18, 19)
-
-
20. A method for assigning appropriate queues in an intermediate network device to traffic flows that pass through the intermediate network device, the method comprising the steps of:
-
receiving, at the intermediate network device, a reservation request message specifying one or more flow parameters that describe a given traffic flow, the one or more flow parameters including a token bucket rate, a token bucket size, and a peak data rate; comparing, at the intermediate network device, the token bucket rate with a programmed token bucket rate constant descriptive of a particular type of traffic, and comparing, at the intermediate network device, the token bucket size with a programmed token bucket size constant descriptive of the particular type of traffic; comparing, at the intermediate network device, the ratio of the peak data rate to the token bucket rate with a programmed peak data rate to token bucket rate constant descriptive of the particular type of traffic; in response to the steps of comparing, determining, at the intermediate network device, a type of traffic for the given traffic flow independent of any marking values in packets of the given traffic flow that identify traffic type; based on the determined type of traffic, directing the given traffic flow to a queue of the intermediate network device adapted for the determined type of traffic. - View Dependent Claims (21, 22, 23)
-
-
24. An intermediate network device configured to assign appropriate queues to traffic flows that pass through the intermediate network device, the intermediate network device comprising:
-
a communication facility configured to receive a reservation request message specifying one or more flow parameters that describe a given traffic flow, the one or more flow parameters including a token bucket rate, a token bucket size, and a peak data rate; a flow analyzer configured to compare the token bucket rate with a programmed token bucket rate constant descriptive of a particular type of traffic, to compare the token bucket size with a programmed token bucket size constant descriptive of the particular type of traffic, and to compare the ratio of the peak data rate to the token bucket rate with a programmed peak data rate to token bucket rate constant descriptive of the particular type of traffic and to determine a type of traffic for the given traffic flow independent of any marking values in packets of the given traffic flow that identify traffic type; and a traffic scheduler configured to direct the given traffic flow to a queue adapted for the determined type of traffic. - View Dependent Claims (25, 26, 27)
-
-
28. A computer-readable storage media storing executable program instructions for assigning appropriate queues in an intermediate network device to traffic flows that pass through the intermediate network device, the executable program instructions when executed:
-
receive a reservation request message at the intermediate network device specifying one or more flow parameters that describe a given traffic flow, the one or more flow parameters including a token bucket rate, a token bucket size, and a peak data rate; compare the token bucket rate with a programmed token bucket rate constant descriptive of a particular type of traffic; compare the token bucket size with a programmed token bucket size constant descriptive of the particular type of traffic; compare the ratio of the peak data rate to the token bucket rate with a programmed peak data rate to token bucket rate constant descriptive of the particular type of traffic; determine, in response to the comparison, a type of traffic for the given traffic flow independent of any marking values in packets of the given traffic flow that identify traffic type; and based on the determined type of traffic, direct the given traffic flow to a queue adapted for the determined type of traffic.
-
Specification