Internet switch router
AssigneeAvici Systems, Inc.
InventorsWilliam J. Dally, Philip P. Carvey, Larry R. Dennison, P. Allen King
Life of this patent
Estimating the term…
Loading patent…
AssigneeAvici Systems, Inc.
InventorsWilliam J. Dally, Philip P. Carvey, Larry R. Dennison, P. Allen King
Estimating the term…
An internet router is implemented as a network fabric of fabric routers and links. The internet router receives data packets from trunk lines or other internet links and analyzes header information in the data packets to route the data packets to output internet links. The line interface also analyzes the header to define a fabric path through the router fabric. The internet packets are broken into flits which are transferred through the router according to a wormhole routing protocol. Flits are stored in fabric routers at storage locations assigned to virtual channels corresponding to destination internet links. The virtual channels and links within the fabric define virtual networks in which congestion in one virtual network is substantially nonblocking to data flow through other virtual networks. Arbitration is performed at each fabric router to assign packets to virtual channels and to assign virtual channels to output fabric links. A virtual channel is enabled for possible assignment to an output fabric link upon receipt of an indication that an input buffer is available at the next fabric router of the path.
An internet router for coupling to a plurality of internet links, the router receiving data packets from the internet links, analyzing header information in the data packets at inputs to the router to determine output internet links from said router, and forwarding the data packets on the output internet links, the improvement wherein the router comprises a fabric of fabric links joined by fabric routers, the number of fabric links to each fabric router being substantially less than the number of internet links served by the internet router, the fabric links and routers providing data communication between internet links through plural hops through the fabric using a routing protocol other than the internet protocol by which information associated with each packet is used at each fabric router to determine the next hop in the fabric;
An internet router for coupling to a plurality of internet links, the router receiving data packets from the internet links, analyzing header information in the data packets at inputs to the router to determine output internet links from said router, and forwarding the data packets on the output internet links, the improvement wherein the router comprises a fabric of fabric links joined by fabric routers, the number of fabric links to each fabric router being substantially less than the number of internet links served by the internet router, the fabric links and routers providing data communication between internet links through plural hops through the fabric using a routing protocol other than the internet protocol by which information associated with each packet is used at each fabric router to determine the next hop in the fabric, each fabric router comprising a plurality of buffers for defining virtual channels which share fabric links, each virtual channel associated with a set of network outputs, the virtual channels associated with a network output and fabric links forming virtual networks between internet router inputs and outputs in which congestion in one virtual network is substantially nonblocking to packets flowing through other virtual networks.
A method of routing data packets between internet links comprising:
A method of routing data packets between internet links comprising:
A network comprising a plurality of fabric routers connected by fabric links, each fabric router comprising a plurality of buffers for defining virtual channels which share fabric links, each virtual channel associated with a set of network outputs, the virtual channels associated with a network output and fabric links forming virtual networks between network inputs and outputs, where each virtual network is associated with the set of network outputs and each virtual channel buffer carries traffic to only one network output, congestion in one virtual network being substantially nonblocking to packets flowing through other virtual networks.
Dependencies are inferred from the claim text.