Distributed control of data flow in a network switch
First Claim
1. A network switch comprising:
- an asynchronous mesh;
N ingress interfaces coupled to the asynchronous mesh, the N ingress interfaces having an ingress scheduler to receive data from external sources and to selectively schedule and asynchronously transmit the data across the asynchronous mesh according to a first schedule; and
N egress interfaces coupled to the asynchronous mesh, the N egress interfaces having an egress scheduler to receive data from the asynchronous mesh and to schedule and transmit the data to external destinations according to a second schedule different than the first schedule,wherein the ingress scheduler performs scheduling and transmitting data across the asynchronous mesh independent of the egress scheduler performing scheduling and transmitting data to the external destinations,wherein each of the N ingress interfaces includes N ingress buffers to temporarily store the data received from the external sources before being transmitted across the asynchronous mesh, each of the N ingress buffers corresponding to each of the N egress interfaces respectively,wherein each of the N egress interfaces includes N egress buffers separated from the N ingress buffers to temporarily store the data received from each of the N ingress interfaces across the asynchronous mesh before being transmitted to the external destinations, each of the N egress buffers corresponding to each of the N ingress interfaces respectively,wherein the ingress scheduler retrieves the data from each of the ingress buffers and transmits the retrieved data to a corresponding egress buffer of each of the egress interfaces according to the first schedule, andwherein the egress scheduler retrieves the data from each of the egress buffers and transmits the retrieved data to the external destinations according to the second schedule independent of the first schedule.
15 Assignments
0 Petitions
Accused Products
Abstract
The network switch described herein provides a cell/packet switching architecture that switches between line interface cards across a meshed backplane. In one embodiment, the switching can be accomplished at, or near, line speed in a protocol independent manner. The protocol independent switching provides support for various applications including Asynchronous Transfer Mode (ATM) switching, Internet Protocol (IP) switching, Multiprotocol Label Switching (MPLS) switching, Ethernet switching and frame relay switching. The architecture allows the network switch to provision service on a per port basis. In one embodiment, the network switch provides a non-blocking topology with both input and output queuing and per flow queuing at both ingress and egress. Per flow flow-control can be provided between ingress and egress scheduling. Strict priority, round robin, weighted round robin and earliest deadline first scheduling can be provided.
60 Citations
25 Claims
-
1. A network switch comprising:
-
an asynchronous mesh; N ingress interfaces coupled to the asynchronous mesh, the N ingress interfaces having an ingress scheduler to receive data from external sources and to selectively schedule and asynchronously transmit the data across the asynchronous mesh according to a first schedule; and N egress interfaces coupled to the asynchronous mesh, the N egress interfaces having an egress scheduler to receive data from the asynchronous mesh and to schedule and transmit the data to external destinations according to a second schedule different than the first schedule, wherein the ingress scheduler performs scheduling and transmitting data across the asynchronous mesh independent of the egress scheduler performing scheduling and transmitting data to the external destinations, wherein each of the N ingress interfaces includes N ingress buffers to temporarily store the data received from the external sources before being transmitted across the asynchronous mesh, each of the N ingress buffers corresponding to each of the N egress interfaces respectively, wherein each of the N egress interfaces includes N egress buffers separated from the N ingress buffers to temporarily store the data received from each of the N ingress interfaces across the asynchronous mesh before being transmitted to the external destinations, each of the N egress buffers corresponding to each of the N ingress interfaces respectively, wherein the ingress scheduler retrieves the data from each of the ingress buffers and transmits the retrieved data to a corresponding egress buffer of each of the egress interfaces according to the first schedule, and wherein the egress scheduler retrieves the data from each of the egress buffers and transmits the retrieved data to the external destinations according to the second schedule independent of the first schedule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A network switch comprising:
-
N ingress cards coupled to receive data from external sources, each of the N ingress cards having a plurality of ports to transmit data, wherein each of the N ingress cards comprises an ingress scheduler coupled to the ports of the ingress card, the ingress scheduler to cause data to be selectively and asynchronously transmitted via the ports of the ingress card according to a first schedule, and wherein one or more of the ingress cards segregates incoming data into queues based on a service class identifier; and M egress cards coupled to the N ingress cards over an asynchronous mesh, each of the M egress cards having ports coupled to receive data from one or more of the plurality of ports of the N ingress cards, the egress cards coupled to transmit data to external destinations, wherein each of the M egress cards comprises an egress scheduler coupled to the ports of the egress card, the egress scheduler to cause data to be selectively transmitted to the external destinations according to a second schedule different then the first schedule, wherein the ingress scheduler and the egress scheduler schedule and transmit data independent of each other, wherein each of the N ingress cards includes M ports and each of the M egress cards includes N ports, wherein each of the M ports of each of the N ingress cards is communicatively coupled to one of the N ports of each of the M egress cards respectively, and wherein each of the N ports of each of the M egress cards is communicatively coupled to one of the M ports of each of the N ingress cards respectively. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification