Router with class of service mapping
First Claim
1. A router for use in routing packets over a network, the router supporting a plurality, X, of classes of service and including:
- A. a plurality of input ports configured to receive packets over the network;
B. a plurality of output ports configured to transfer packets over the network;
C. a classifier configured to assign packets received by the input ports to X*Y classes of service, where * represents multiplication, and mapping the X*Y classes of service to the X classes of service that are supported by the router, the classifier assigning to the packet one of Y associated levels of priority, wherein each level of priority is associated with a different probability of packet loss;
D. a buffer subsystem configured to retain the packets in class of service per output port queues based on probabilities of discard associated with the X*Y classes of service; and
E. a scheduler for transferring the packets from the buffer subsystem through each of the output ports based on the X classes of service.
0 Assignments
0 Petitions
Accused Products
Abstract
A router classifies packets assigned to X*Y classes of service into X classes of service supported by the router, each of the X classes of service having Y loss-priority levels. The router maintains a free queue that links available entries of a buffer in which packets are stored. A weighted average depth of the free queue is used to determine whether to retain a given packet. If the weighted average is above a maximum threshold, the packet is retained. If the weighted average is below a minimum threshold, the packet is discarded. If the weighted average is between the two thresholds, a probability of discard that is based on the X*Y classes of service is calculated and compared to a random value to determine whether the packet should be retained.
82 Citations
38 Claims
-
1. A router for use in routing packets over a network, the router supporting a plurality, X, of classes of service and including:
-
A. a plurality of input ports configured to receive packets over the network; B. a plurality of output ports configured to transfer packets over the network; C. a classifier configured to assign packets received by the input ports to X*Y classes of service, where * represents multiplication, and mapping the X*Y classes of service to the X classes of service that are supported by the router, the classifier assigning to the packet one of Y associated levels of priority, wherein each level of priority is associated with a different probability of packet loss; D. a buffer subsystem configured to retain the packets in class of service per output port queues based on probabilities of discard associated with the X*Y classes of service; and E. a scheduler for transferring the packets from the buffer subsystem through each of the output ports based on the X classes of service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A router for use in routing packets over a network, the router supporting a plurality, X, of classes of service and including:
-
A. a plurality of input ports configured to receive packets over the network; B. a plurality of output ports configured to transfer packets over the network; C. a multiple storage location buffer configured to retain packets to be transferred through the output ports; D. a buffer subsystem configured to retain the packets in class of service per output port queues based on probabilities of discard associated with X*Y classes of service, where Y represents a number and * represents multiplication; and E. a scheduler configured to transfer the packets from the buffer subsystem through each of the output ports based on the X classes of service that the router supports. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for routing packets through a router that supports a plurality, X, of classes of service, the apparatus comprising:
-
means for receiving packets; means for assigning the packets to X*Y classes of service, where Y represents a number and * represents multiplication; means for retaining packets based on probabilities of discard associated with the X*Y classes of service; and means for transferring the packets based on the X classes of service. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A computer-readable media, comprising:
-
instructions for execution in a processor for the practice of a method, said method having the steps, receiving packets through one or more input ports and assigning the packets to X*Y classes of service, where * represents multiplication, X represents a number of classes of service and Y represents a number, retaining packets based on probabilities of discard associated with the X*Y classes of service in a multiple storage location buffer that links available storage locations to a free queue; and transferring the packets through one or more output ports based on the X classes of service. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A router for use in routing packets over a network, the router supporting a first number of classes of service, the router comprising:
-
a port to receive packets, each packet having a field that indicates one of a second number of classes of service, the second number of classes of service greater than the first number of classes of service; a classifier configured map the one of the second number of classes of service indicated by the field of each packet to one of the first number of classes of service and to a particular loss priority value for the packet; and a processor configured to discard selected packets in response to the one of the first number of classes of service and the loss priority value for each packet, to thereby approximate the second number of classes of service. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A method for routing packets over a network with a router supporting a first number of classes of service, the method comprising the steps of:
-
receiving packets, each packet having a field that indicates one of a second number of classes of service, the second number of classes of service greater than the first number of classes of service; mapping the one of the second number of classes of service indicated by the field of each packet to one of the first number of classes of service and to a particular loss priority value for the packet; and discarding selected packets in response to the one of the first number of classes of service and the loss priority value of each packet, to thereby approximate the second number of classes of service. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A computer readable medium containing executable program instructions for routing packets over a network with a router supporting a first number of classes of service, the executable program instructions comprising program instructions adapted to:
-
receive packets, each packet having a field that indicates one of a second number of classes of service, the second number of classes of service greater than the first number of classes of service; map the one of the second number of classes of service indicated by the field of each packet to one of the first number of classes of service and to a particular loss priority value for the packet; and discard selected packets in response to the one of the first number of classes of service and the particular loss priority value for each packet, to thereby approximate the second number of classes of service.
-
Specification