Distributed routing with centralized quality of service
First Claim
Patent Images
1. A method, comprising:
- receiving, at a first packet forwarding module, a first stream of packetized data from a first source terminal;
receiving, at a second packet forwarding module, a second stream of packetized data from a second source terminal, wherein the packet forwarding module is separate from the first packet forwarding module and is configured identically to the first packet forwarding module;
generating data from the received first and second streams of packetized data that identifies egress queues for respective packets thereof;
processing respective packets from the first and second streams of packetized data into fully routable packets including a media access control (MAC) address of a next-hop destination in the network, wherein one of the fully routable packets is a control packet;
adding a header to each of the fully routable packets, the header comprising information indicative of a destination terminal to which a given packet is to be sent;
passing the fully routable packets and the data identifying the egress queues to a single Quality of Service module;
processing the control packet through the Quality of Service module and passing the control packet to a route processor module that is configured to provide routing tables to the first and second packet forwarding modules, wherein the processing includes keeping the header on the control packet when the control packet is routed to the route processor module;
removing the header from the fully routable packets that are not the control packet in the Quality of Service module;
queuing, by the Quality of Service module, the fully routable packets from which the headers have been removed in the egress queues in accordance with the data identifying the egress queues for the respective packets; and
providing the queued packets from the Quality of Service module to a network in a priority order of service associated with the respective egress queues.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment a method for routing packets includes receiving, at a first packet forwarding module, a first stream of packetized data from a first source, receiving, at a second packet forwarding module, a second stream of packetized data from a second source, wherein the second packet forwarding module is separate from the first packet forwarding module and is configured identically to the first routing forwarding module, and passing packet output from the first packet forwarding module and packet output from the second packet forwarding module to a single Quality of Service module configured to queue the packet output for egress to a network.
58 Citations
13 Claims
-
1. A method, comprising:
-
receiving, at a first packet forwarding module, a first stream of packetized data from a first source terminal; receiving, at a second packet forwarding module, a second stream of packetized data from a second source terminal, wherein the packet forwarding module is separate from the first packet forwarding module and is configured identically to the first packet forwarding module; generating data from the received first and second streams of packetized data that identifies egress queues for respective packets thereof; processing respective packets from the first and second streams of packetized data into fully routable packets including a media access control (MAC) address of a next-hop destination in the network, wherein one of the fully routable packets is a control packet; adding a header to each of the fully routable packets, the header comprising information indicative of a destination terminal to which a given packet is to be sent; passing the fully routable packets and the data identifying the egress queues to a single Quality of Service module; processing the control packet through the Quality of Service module and passing the control packet to a route processor module that is configured to provide routing tables to the first and second packet forwarding modules, wherein the processing includes keeping the header on the control packet when the control packet is routed to the route processor module; removing the header from the fully routable packets that are not the control packet in the Quality of Service module; queuing, by the Quality of Service module, the fully routable packets from which the headers have been removed in the egress queues in accordance with the data identifying the egress queues for the respective packets; and providing the queued packets from the Quality of Service module to a network in a priority order of service associated with the respective egress queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus, comprising:
-
a plurality of packet forwarding modules, each being configured identically but operating independently of each other, and each configured to receive packetized data and to identify egress queues into which respective packets of the packetized data are to be queued; a single Quality of Service module configured to receive routable packets from respective ones of the packet forwarding modules, the Quality of Service module queuing the received routable packets into the egress queues in accordance with the identification thereof in the packet forwarding modules and providing the queued packets to a network in a priority of service associated with the respective queues; and a route processor configured to supply routing tables to the packet forwarding modules and control data to the Quality of Service module, wherein; each packet forwarding module in the plurality of packet forwarding modules is configured to (i) generate from each of the respective packets of the packetized data a fully routable packet including a rewritten media access control (MAC) address of a next-hop destination on the network, wherein one of the fully routable packets is a control packet, and (ii) add a header, indicative of a logical interface to which the packet is to be sent, to each packet processed thereby; and the Quality of Service module is configured to remove the header from each fully routable packet except if the fully routable packet is the control packet before outputting each fully routable packet except the control packet to a network, and keep the header on the control packet and pass the control packet with the header thereon to the route processor. - View Dependent Claims (11)
-
-
12. An apparatus, comprising:
-
a first logical group of packet forwarding modules, each of the packet forwarding modules in the first logical group being configured identically in accordance with a common functional role, and each being configured to receive packetized data and to identify egress queues into which respective packets of the packetized data are to be queued; a second logical group of packet forwarding modules, each of the packet forwarding modules in the second logical group being configured identically in accordance with another common functional role, and each being configured to receive packetized data and to identify the egress queues into which respective packets of the packetized data are to be queued, wherein the packet forwarding modules in the first logical group are configured differently from the packet forwarding modules in the second logical group in accordance with a routing domain of the corresponding first and second logical groups; and a single Quality of Service module configured to receive all packets processed by each of the packet forwarding modules in both the first and second logical groups, the Quality of Service module further being configured to control which packets processed by the packet forwarding modules in both the first and second logical groups are given priority, wherein; each packet forwarding module in the first and second logical groups of packet forwarding modules is configured to (i) generate from each of the respective packets of the packetized data a fully routable packet including a rewritten media access control (MAC) address of a next-hop destination on the network, wherein one of the fully routable packets is a control packet, and (ii) add a header, indicative of a logical interface to which the packet is to be sent, to each packet processed thereby; and the Quality of Service module is configured to remove the header from each fully routable packet except if the fully routable packet is the control packet before outputting each fully routable packet except the control packet to a network, and keep the header on the control packet and pass the control packet with the header thereon to the route processor. - View Dependent Claims (13)
-
Specification