WO1998021857A1 - N-dimensional scalable switching networks - Google Patents

N-dimensional scalable switching networks Download PDF

Info

Publication number
WO1998021857A1
WO1998021857A1 PCT/US1997/020579 US9720579W WO9821857A1 WO 1998021857 A1 WO1998021857 A1 WO 1998021857A1 US 9720579 W US9720579 W US 9720579W WO 9821857 A1 WO9821857 A1 WO 9821857A1
Authority
WO
WIPO (PCT)
Prior art keywords
ports
routers
interconnect
connected
axis
Prior art date
Application number
PCT/US1997/020579
Other languages
French (fr)
Inventor
Alan Huang
Original Assignee
Alan Huang
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US74660996A priority Critical
Priority to US08/746,609 priority
Application filed by Alan Huang filed Critical Alan Huang
Publication of WO1998021857A1 publication Critical patent/WO1998021857A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/45Provisions for supporting expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Hybrid or multiprotocol packet, ATM or frame switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching

Abstract

A scalable switch is implemented with switching modules interconnected in the topology of a multi-stage interconnection network such as an Omega (110, 112, 114), Bayan (130, 132, 134), or similar network; A scalable switch is implemented with switching modules interconnected in the topology of a multi-dimensional multi-stage interconnection network such as a nearest neighbor (220), hypercube, or similar network. A scalable switch is implemented with switching modules interconnected in the topology of a multi-dimensional version of a multi-stage interconnection network. In these scalable switches, TCP/IP destination based routing substitutes he network original path based routing. The connection of these networks is enhanced via input redundancy, output redundancy, additional interconnects, additional levels of interconnect, additional dimensionality of interconnect, or combinations thereof. TCP/IP routing algorithms such as RIP or OSPF identify equivalent paths through the scalable switch and route traffic through the scalable switch. TCP/IP's ability to load balance over equivalent paths is used in conjunction with this enhanced connectivity to spread the load over equivalent paths in the scalable switch. TCP/IP dynamic routing capability is used in conjunction with this enhanced connectivity for fault tolerance.

Description

N-Dimensional Scalable Switching Networks

Technical Field

This invention relates to switching networks, specifically a switching network which can be scaled to accept an arbitrary number of inputs and outputs.

Background - Cross- References to Related Applications

This invention is a continuation-in-part of my co-pending application, Scalable Switching Networks, Application Number 08-680-680 filed July 16, 1996.

Background Art

As computer networks grow the packet traffic will exceed the capacity of a single router. The problem then arises of how to connect and organize multiple routers to function in an efficient and coordinated manner.

There are two basic approach to provide the connectivity needed to support switching or routing. One approach uses a memory based architecture to provide a time based connectivity. The other approach uses a switching fabric architecture to provide a spatial connectivity. This is discussed in "Gigabit Networking" by Craig Partridge (Addison-Wesley, 1994, ISBN 0-201- 56333-9). The memory based approach reads the packets into a computer memory and then outputs the packets via various outputs. Most current ATM (asynchronous transfer mode) switches and IP packet routers are based on a memory based approach. These switches share buffers but they are not scalable since they have a memory bottleneck. Switching fabrics such as the crossbar (N2), Batcher/Bayan (O(log2 N)2), Buffered Bayan (log2 N), and Omega (log2 N) networks are implemented with a fabric of switching modules. They are scalable but they do not share buffers.

A hybrid approach to building large switches involve using a distribution fabric to distribute the traffic over several memory based switches and a concentration fabric to gather all the traffic for each outgoing link from each of the memory based switches. The network is scalable but the concentration fabric does not scale in a manageable manner. The memory based switches intrinsically share buffers however there is no sharing of buffers between memory based switches nor between the output nodes of the concentration fabric.

There are two basic approaches to provide the routing needed to support switching or routing. One approach is destination based, such as the Internet. The other approach is path based, such as the telephone network. Destination routing is based on a table lookup at each decision point. It is flexible since it is loosely coupled with the topology of the network, however the routing decisions are more complex since knowledge of the overall network is required at each decision point. In path based routing all the routing decisions are pre-determined and represented by the telephone number, header address, or routing tag. This is tightly coupled to the topology of the network; however, the routing decisions at each decision point are simpler since they do not require global information.

The switching fabrics are also called multi-stage networks. They consist of a network topology and a control or routing algorithm. Different network topologies have different advantages. The routing algorithms are path based. Each type of multi-stage network has a different routing algorithm. A switching node at a certain location in the network makes a routing decision based on some of the address bits. A survey of multi-stage interconnection networks is given in "A Survey of Interconnection Networks." by Robert J. McMillen in the Globecom' 84 Conference Record (IEEE CH2064-4/84/0000-0105), vol. 1 page 105 - 113.

Multi-stage Networks consist of four broad categories: Permutation Networks, Multiple Path Networks, Single Path Networks, and Fault Tolerant Networks. Permutation Networks consist of Clos Class, Benes, and Waksman Modification. The Multiple Path Networks consists of Data Manipulator Type networks such as the Data Manipulator, ADM, IADM, and Gamma networks. The Single Path Networks consist of the Delta Class and Bayan Class. T e Bayan Class consists of CC-Bayan, SW-Bayan, Regular SW-Bayan, and Rectangular SW-Bayans. The Rectangular SW-Bayans consists of the Bilonic Sorter. SW-Structure, Straran Flip, Omega, Extended Shuffle Exchange, Indirect Binary N-Cube, Generalized Cube, Baseline/Reverse Baseline, HEP, Reverse Exchange, and Batcher/Bayan. The Delta Class consists of a Delta Network. The Fault Tolerant Networks consist of two broad categories: SIMD and MIMD. The SIMD versions consist of Double-Tree Add-ON (with extra repairer network), Extra Switching Element Benes, and Error Correction Coded Omega networks. The MIMD versions consist of ESC (with extra stage) and Extra Stage Baseline, IADM with Half-Links (with extra links), and F-Network (with extra links) networks. The topology and routing algorithms of these networks is given in more detail in "A Survey of Interconnection Networks," by Robert J. McMillen.

Some multi-stage networks are multi-dimensional such as the Manhattan, cube, hypercube, and nearest neighbor networks. The multi-dimensionality of multi-dimensional, multi-stage networks decrease the path distance and increase the connectivity between inputs and outputs, however the multi-dimensionality also complicates the routing algorithm.

Fault tolerance increases both the topological and routing complexity of multi-stage networks. Some multi-stage networks such as a Bayan do not have a topology which is fault tolerant. The third level of a Bayan network has to switch on the third bit of the address. There is no second chance.

Muld-stage networks suffer from internal hot spots. Under certain circumstances the traffic can focus on a particular internal node of the network and overwhelm its buffer and communications capacity. The usual approach to this problems involves adding a separate distribution network to distribute and mix the incoming traffic across th inputs of the multistage network.

Multi-stage networks suffer from output buffer overflow. Under certain circumstances the traffic can focus on a particular output node of the network and overwhelm its buffer and communications capacity.

Objects and Advantages

Accordingly, several objects and advantages of my invention are:

(a) to provide a switching network with a scalable number of inputs and outputs;

(b) to provide a switching network with a reduced number of stages of routing;

(c) to provide a switching network with a reduced number of modules;

(d) to provide a switching network with increased connectivity; (e) to provide a switching network which is fault tolerant;

(0 to provide a switching network which is load balanced;

(g) to provide a switching network with reduced packet delay; and

(h) to provide a switching network with reduced packet jitter.

Further objects and advantages of my invention will become apparent from a consideration of d e drawings and ensuing description.

Disclosure of Invention

A scalable switch is implemented with switching modules interconnected in the topology of single (100, 102, 104, 110, 112, 114, 130, 132, 134) or multi-dimensional (200, 300, 210, 310, 220, 320, 230, 330), multi-stage interconnection network. TCP/IP destination based routing is used instead of the multi-stage interconnection network's original path based routing. The topology of the multi-stage interconnection networks is used in a uni-directional or a bidirectional manner. TCP/IP's destination based routing accommodates uni-directional or bidirectional operation. The connectivity of the single or multi-dimensional multi-stage network is enhanced by input redundancy, output redundancy, additional interconnects, additional levels of interconnect, additional dimensions of interconnect, or combinations thereof. TCP/IP routing algorithms such as RIP or OSPF identify equivalent paths through the scalable switch and route traffic through the scalable switch. TCP/IP's ability to load balance over equivalent paths is used in conjunction with enhanced connectivity to spread the load over equivalent paths in the scalable switch. TCP/IP dynamic routing capability is used in conjunction with enhanced connectivity for fault tolerance.

Brief Description of the Drawings

These and other more detailed and specific objects and features of the present invention are more fully disclosed in the following specifications, reference being had to the accompanying drawings, in which :

Fig. 1 is a block diagram of a x dimension blocking compensated scalable switching network (100) which is prior art from the parent application of this continuation-in-part.

Fig. 2 is a block diagram of x dimension blocking compensated mapping interconnect mx(_>*>_) with input / output connections p(0) - p(23) which is prior art from the parent application of this continuation-in-part.

Fig. 3 is a block diagram of a y dimension blocking compensated scalable switching network (102) which is prior art from the parent application of this continuation-in-part.

Fig. 4 is a block diagram of y dimension blocking compensated mapping interconnect my(*,_,J with input / output connections p(0) - p(23) which is prior art from the parent application of this continuation-in-part.

Fig. 5 is a block diagram of a x and y dimension blocking compensated multi-dimensional scalable switching network (200) of the present invention.

Fig. 6 is a block diagram of a router with 18 input / output connections, p(0) - p(17) which is prior art.

Fig. 7 is a block diagram of a / dimension blocking compensated scalable switching network (104) which is prior art from the parent application of this continuation-in-part.

Fig. 8 is a block diagram of z dimension blocking compensated mapping interconnect mz(*,_,_) with input / output connections p(0) - p(23) which is prior art from the parent application of this continuation-in-part.

Fig. 9 is a block diagram of a x, y, and z dimension blocking compensated multi-dimensional scalable switching network (300) of the present invention.

Fig. 10 is a block diagram of a x dimension Omega Network topology based scalable switching network (110) of the present invention. Fig. 11 is a block diagram of x dimension perfect shuffle mapping interconnect mxl(_,*,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 12 is a block diagram of a y dimension Omega Network topology based scalable switching network (112) of the present invention.

Fig. 13 is a block diagram of y dimension perfect shuffle mapping interconnect myl(*,_,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 14 is a block diagram of a x and y dimension Omega network topology based multidimensional scalable switching network (210) of the present invention.

Fig. 15 is a block diagram of a z dimension Omega network based scalable switching network (114) of the present invention.

Fig. 16 is a block diagram of z dimension perfect shuffle mapping interconnect mzl(*,_,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 17 is a block diagram of a x, y, and z dimension Omega Network topology based multidimensional scalable switching network (310) of the present invention.

Fig. 18 is a block diagram of a x and y dimension Manhattan Network (nearest neighbor) topology based multi-dimensional scalable switching network (220) of the present invention.

Fig. 19 is a block diagram of x dimension nearest neighbor mapping interconnect mx2(_,*,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 20 is a block diagram of y dimension nearest neighbor mapping interconnect my2(*,_,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 21 is a block diagram of z dimension nearest neighbor mapping interconnect mz2(*,„,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 22 is a block diagram of a x, y, and z dimension Manhattan Network (nearest neighbor) topology based multi-dimensional scalable switching network (320) of the present invention.

Fig. 23 is a block diagram of a x dimension Bayan Network topology based scalable switching network (130) of the present invention. Fig. 24 is a block diagram of x dimension Bayan mapping interconnects mx4(_,2,_), mx4(_j2,_), and mx4(_,2,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 25 is a block diagram of a y dimension Bayan Network topology based scalable switching network (132) of the present invention.

Fig. 26 is a block diagram of y dimension Bayan mapping interconnect my4(0,_,_) my4(l,_,_), and my4(2,_,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 27 is a block diagram of a x and y dimension Bayan network topology based multidimensional scalable switching network (230) of the present invention.

Fig. 28 is a block diagram of a z dimension Bayan network topology based scalable switching network (134) of the present invention.

Fig. 29 is a block diagram of /. dimension Bayan mapping interconnect mz4(0,_,_) mz4(l,_,_), and mz4(2,_,_) with input / output connections p(0) - p(23) of the present invention.

Fig. 30 is a block diagram of a x, y, and z dimension Bayan Network topology based multidimensional scalable switching network (330) of the present invention.

Detailed Description of the Preferred Embodiments

The topology of one dimension multi-stage networks or multi-dimensional multi-stage networks, or any combination thereof provides scalable connectivity. This topology can be used in a forward or backward manner for a uni-directional scalable switching network. This topology can be used in both a forward and backwards for a bi-directional scalable switching network.

TCP/IP's destination base routing can be used in place of the original path based routing of multi-stage networks. TCP/IP's destination base routing can be used in place of the path based routing of multi-dimensional multi-stage networks. TCP/IP's destination based routing can bridge between different one dimensional multi-stage networks, multi-dimension multi-stage networks, or any combinations thereof. TCP/IP's destination based routing can provide unidirectional and bi-directional operation. TCP/IP destination based routing can be used to route though fault tolerant topologies.

TCP/IP routing algorithms such as RIP and OSPF can be used to construct the routing tables. These routing algorithms can be modified to identify equivalent paths. TCP/IP's ability to load balance of equivalent paths can be used to load balance over the equivalent paths in one dimension multi-stage networks, multi-dimension multi-stage networks, or any combination thereof to reduce the potential for hot spots.

For clarity a (x,y,z) reference system is used. The x axis is assumed to go left to right, the y axis is assumed to go from bottom to top, and the z axis is assumed to go from above the surface to below the surface of the paper. A "_" symbol is used to show that the dimension is not used. A "*" symbol is used as a wild card to show that any of the permissible values of that dimension can be used.

Fig. 6 shows a router r(*,*,*) with ports p(0) lo p(17). For clarity ports p(0) to p(2) are depicted as attached to the left side of the router, p(3) to p(5) as attached to the bottom, p(6) to p(7) as attached to the right side, p(9) to p(l l) as attached to the top, p(12) to p(14) to the front, and p(9) to p(ll) as attached to the back.

Fig. 2 shows a blocking compensated mapping interconnect mx(_,*,_) which connects p(0) to p(15), p(l) to p(18), p(2) to p(13), p(3) to (16), p(4) to p(14), p(5) to p(22), p(6) to p(20), p(7) to p(12), p(8) to p(23), p(9) to p(17), p(10) to p(21), p(ll) to p(19), and vice versa. The mapping interconnect moves the packets forward in the y direction and laterally in the x direction. Fig. 4 shows a blocking compensated mapping interconnect my(*,_,_) which connects p(0) to p(15), p(l) to p(18), p(2) to p(13), p(3) to p(16), p(4) to p(14), p(5) to p(22), p(6) to p(20), p(7) to p(12), p(8) to p(23), p(9) to p(17), p(10) to p(21). p(ll) to p(19), and vice versa. my(*,_,_) is a 90 degree counter clockwise rotated around the z axis version of mapping interconnect mx(_,*,_) in Fig. 2. The mapping interconnect moves the data forward in the x direction and laterally in the y direction.

Fig. 1 shows y direction, uni-directional or bi-directional scalable switching network as discussed in the previously mentioned parent patent application. It consists of routers r(0,0,_) to r(3,3,_) and blocking compensated mapping interconnects mx(_,2,_), mx(_,l,_), and mx(_>0,_)- Each of the routers shown in Fig. 1 is equivalent to the router r(*,*,*) shown in Fig. 6. Each of the mapping interconnects shown in Fig. 1 is equivalent to the mapping interconnect mx(_,*,_) shown in Fig. 2.

Each port p(3) to p(5) of the top row of routers r(0,3,_) to r(3,3,_) in Fig. 1 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,2,_) respectively. Each port p(ll) to p(9) of the second from the top row of routers r(0,2,_) to r(3,2,_) are connected to ports p(12) to p(23) of mapping interconnect mx(_,2,_) respectively.

Each port p(3) to p(5) of the second to top row of routers r(0,2,_) to r(3,2,_) in Fig. 1 are connected to ports p(0) to p(l l) of mapping interconnect mx(_,l,_) respectively. Each port p(ll) to p(9) of the third from the top row of routers r(0,l,_) to r(3,l,_) are connected to ports p(12) to p(23) of mapping interconnect mx(_,l,_) respectively.

Each port p(3) to p(5) of the third to top row of routers r(0,l,_) to r(3,l,_) in Fig. 1 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,0,_) respectively. Each port p(ll) to p(9) of the bottom row of routers r(0,0,_) to r(3,0,_) are connected to ports p(12) to p(23) of mapping interconnect mx(_,(),_) respectively.

In the case that the scalable switch in Fig. 1 is used as a uni-directional scalable switching network, the inputs are fed to ports p(l 1) to p(9) of the top row of routers r(0,3,_) to r(3,3,_) in Fig. 1 and the switched outputs emerge ai ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) respectively. Equivalently, the inputs could be fed to ports p(3) to p(5) of the bottom row of routers r(0,0,_) lo r(3,0,_) and the switched outputs would emerge at ports p(ll) to p(9) of the top row of routers r(0,3,_) lo r(3,3,_) respectively.

In the case that the scalable switch in Fig. 1 is used as a bi-directional scalable switching network, ports p(ll) to p(9) of the top row of routers r(0,3,_) lo r(3,3,_) and ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) could be used as both inputs and outputs. Fig. 3 shows a x direction, uni-directional or bi-directional scalable switching network as discussed in the previously mentioned parent patent application. It consists of routers r(0,0,_) to r(3,3,_) and blocking compensated mapping interconnects my(0,_,_), my(l,_,_), and my(2,_,_). Each of the routers shown in Fig. 3 is equivalent to the router r(*,*,*) shown in Fig. 6. Each of the mapping interconnects shown in Fig. 3 is equivalent to the mapping interconnect my(*,_,_) shown in Fig. 4. This mapping interconnects distributes the inputs in the y dimension.

Each port p(6) to p(8) of the left column of routers r(0,0,_) to r(0,3,_) in Fig. 3 are connected to ports p(0) to p(ll) of mapping interconnect my(0,_,_) respectively. Each port p(2) to p(0) of the second from the left column of routers r(0,0,_) to r(0,3,_) are connected to ports p(12) to p(23) of mapping interconnect my(0,_,_) respectively.

Each port p(6) to p(8) of the second from the left column of routers r(l,0,_) to r(l,3,_) in Fig. 3 are connected to ports p(0) to p(l l) of mapping interconnect my(l,_,_J respectively. Each port p(2) to p(0) of the third from the left column of routers r(2,0,_) lo r(2,3,_) are connected to ports p(12) to p(23) of mapping interconnect my(l,_,_) respectively.

Each port p(6) to p(8) of the third from left column of routers r(2,0,_) to r(2,3,_) in Fig. 3 are connected to ports p(0) to p(l l) of mapping interconnect my(2,_,_) respectively. Each port p(2) to p(0) of the right column of routers r(3,0,_) to r(3,3,_) are connected to ports p(12) to p(23) of mapping interconnect my(2,_,_) respectively.

In the case that the scalable switch in Fig. 3 is used as a uni-directional scalable switching network, the inputs are fed to ports p(2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_) and the switched outputs emerge at ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_). Equivalently, the inputs could be fed to ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_) and the switched outputs would emerge at ports p(2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_).

In the case that the scalable switch in Fig. 3 is used as a bi-directional scalable switching network, ports p2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_) and ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_) could be used as both inputs and outputs.

Fig. 5 shows a x and y direction, uni-directional or bi-directional multi-dimensional scalable switching network. It consists of routers r(0,0,_) to r(3,3,_) and blocking compensated mapping interconnects mx(_,2,_), mx(_,l,_), mx(_,0,_), my(0,_,_), my(l,_,_), and my(2,_,_). Each of the routers shown in Fig. 5 is equivalent to the router r(*,*,*) shown in Fig. 6. Mapping interconnects mx(_,2,_), mx(_,l,_), and mx(_>0,_) shown in Fig. 5 are equivalent to the mapping interconnect mx(_,*,_) shown in Fig. 2. Mapping interconnects my(0,_,_), my(l,_,_), and my(2,_,_) shown in Fig. 5 are equivalent to the mapping interconnect my(*,_,_) shown in Fig. 4.

Each port p(3) to p(5) of the top row of routers r(0,3,_) to r(3,3,_) in Fig. 5 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,2,_) respectively. Each port p(ll) to p(9) of the second from the top row of routers r(0,2,_) to r(3,2,_) are connected to ports p(12) to p(23) of mapping interconnect mx(_,2,_) respectively.

Each port p(3) to p(5) of the second to top row of routers r(0,2,_) to r(3,2,_) in Fig. 5 are connected to ports p(0) to ( 11 ) of mapping interconnect mx(_,l,_) respectively. Each port p(ll) to p(9) of the third from the top row of routers r(0,l,_) to r(3,l,_) are connected to ports p(12) to p(23) of mapping interconnect nιx(_,l,_) respectively.

Each port p(3) to p(5) of the third lo top row of routers r(0,l,_) to r(3,l,_) in Fig. 5 are connected to ports p(0) to p(l l) of mapping interconnect mx(_,0,_) respectively. Each port p(ll) to p(9) of the bottom row of routers r(0,0,_) to r(3,0,_) are connected to ports p(12) to p(23) of mapping interconnect mx(_,0,_) respectively.

Each port p(6) to p(8) of the left column of routers r(0,(),_) to r(0,3,_) in Fig. 5 are connected to ports p(0) to p(ll) of mapping interconnect my(0,_,_) respectively. Each port p(2) to p(0) of the second from the left column of routers r(0,0,_) to r((),3,_) are connected to ports p(12) to p(23) of mapping interconnect my(0,_,_) respectively.

Each port p(6) to p(8) of the second from the left column of routers r(l,0,_) to r(l,3,_) in Fig. 5 are connected to ports p(0) to p(l l) of mapping interconnect my(l,_,_) respectively. Each port p(2) to p(0) of the third from the left column of routers r(2,0,_) to r(2,3,_) are connected to ports p(12) to p(23) of mapping interconnect my(l,_,_) respectively.

Each port p(6) to p(8) of the third from left column of routers r(2,0,_) to r(2,3»_) in Fig. 5 are connected to ports p(0) to p(ll) of mapping interconnect my(2,_,_) respectively. Each port p(2) to p(0) of the right column of routers r(3,0,_) to r(3,3,_) are connected to ports p(12) to p(23) of mapping interconnect my(2,_,_) respectively.

In the case of the scalable switch in Fig. 5 is used as a uni-directional multi-dimensional scalable switching network, then each port of the edge routers r(0,0,_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,J, r(2,3,_), r(2,3,J, r(3,3,_), r(3,2,J, r(3,l,J, r(3,0,_), r(2,0,J, and r(l,0,J not connected to a mapping interconnect can be used as either an input or output port.

If a packet entered p(0) of r(0,0,_) and desired to exit at p(5) of r(0,0,_) then it could exit from p(5) directly since the two ports are on the same router r(0,0,_). If a packet entered p(0) of r(0,0,_) and desired to exit at p(l l) of r(0,3,_) then the packet could travel via r(l,2,_) to r(0,3,_). If a packet entered p(0) of r(0,0,_) and desired to exit at p(8) of r(3,3,_) then the packet could travel via r(l,2,_) to r(3,3,_). If a packet entered p(0) of r(0,0,_) and desired to exit at p(3) of r(3,0,_) then the packet could travel via r(2,l,_) to r(3,0,_). Thus, all the mentioned ports can be reached in two hops or less.

In file case of the scalable switch in Fig. 5 is used as a bi-directional multi-dimensional scalable switching network then any port of the edge routers r(0,0,_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,_), r(2,3,_), r(3,3, , r(3,2,J, r(3,l,_). r(3,0,J, r(2,0,_), and r(l,0, not connected to a mapping interconnect can be used as both an input and output.

If a packet entered p(0) of r(0,ϋ,_) and desired to exit at p(5) of r(0,0,_) then it could exit from p(5) directly since the two ports are on the same router r(0,0,_). If a packet entered p(0) of r(0,0,_) and desired to exit at p(ll) of r(0,3,_) then the packet could travel via r(l,2,_) to r(0,3,_). If a packet entered p(0) of r(0,0,_) and desired to exit at p(8) of r(3,3,_) then the packet could travel via r(l,2,_) to r(3,3,_). If a packet entered p(0) of r(0,0,_) and desired to exit at p(3) of r(3,0,_) then the packet could travel via r(2,l,_) to r(3,0,_).

If a packet entered p(5) of r(0,0,_) and desired to exit at p(0) of r(0,0,_) then it could exit from p(5) directly since the two ports are on the same router r(0,0,_). If a packet entered p(ll) of r(0,3,_) and desired to exit at p(0) of r(0,0,_) then the packet could travel via r(0,3,_) to r(l,2,_). If a packet entered p(8) of r(3,3,_) and desired to exit at p(0) of r(0,0,_) then the packet could travel via r(3,3,_) to r(l ,2,_). If a packet entered p(3) of r(3,0,_) and desired to exit at p(0) of r(0,0,_) then the packet could travel via r(3,0,_) to r(2,l,_). Thus, all the mentioned ports can be reached in two hops or less.

Fig. 7 shows a x direction, uni-directional scalable switching network or bi-directional scalable switching network as discussed in the previously mentioned parent patent application. It consists of routers r(0,_,0) to r(3,_,3) and blocking compensated mapping interconnects mz(0,_,_), mz(l,_,_), and mz(2,_,_). Each of the routers shown in Fig. 7 is equivalent to the router r(*,*,*) shown in Fig. 6. Each of the mapping interconnects mz(0,_,_), mz(l,_,_), and mz(2,_,_) in Fig. 7 is equivalent to the mapping interconnect mz(*,_J shown in Fig. 8. Each port p(15) to p(17) of the left row of routers r(0,_,0) to r(0,_,3) in Fig. 7 are connected to ports p(0) to p(ll) of mapping interconnect mz(0,_,_) respectively. Each port p(14) to p(12) of the second from the left row of routers r(l,_,0) to r(l,_,3) are connected to ports p(12) to p(23) of mapping interconnect mz(0,_,_) respectively.

Each port p(15) to p(17) of the second to left row of routers r(l,_,0) to r(l,_,3) in Fig. 7 are connected to ports p(0) to p(l l) of mapping interconnect mz(l,_,_) respectively. Each port p(14) to p(12) of the second from left row of routers r(2,_,0) to r(2,_,3) are connected to ports p(12) to p(23) of mapping interconnect mz(l,_,_) respectively.

Each port p(15) to p(17) of the third to left row of routers r(2,_,0) to r(2,_,3) in Fig. 7 are connected to ports p(0) to p(l l) of mapping interconnect mz(2,_,_) respectively. Each port p(14) to p(12) of the right row of routers r(3,_,0) to r(3,_,3) are connected to ports p(12) to p(23) of mapping interconnect mz(2,_,_) respectively.

In the case that the scalable switch in Fig. 7 is used as a uni-directional scalable switching network, the inputs are fed to ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,0) in Fig. 7 and the switched outputs emerge at ports p(15) to p(17) of the right row of routers 3,_,0) to r(3,_,3) respectively. Equivalently, the inputs could be fed to ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) and the switched outputs would emerge at ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,3) respectively.

In the case that the scalable switch in Fig. 7 is used as a bi-directional scalable switching network, ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,3) and ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) could be used as both inputs and outputs.

Fig. 9 shows a x, y, and z direction; uni-directional or bi-directional multi-dimensional scalable switching network.

Each of the routers r(0,0,0) to r(3,3,0) in Fig. 9 are equivalent to router r(*,*,*) in Fig. 6. The blocking compensated mapping interconnects mx(_>2,*), mx(_,l,*), and mx(_,0,*) are equivalent to mx(_,*,_) in Fig. 2. The blocking compensated mapping interconnects my(05_j*)> my(l,_,*), and my(2,_,*) are equivalent to my(*,_,_) in Fig. 4. The mapping interconnects mz(0,*,_), mz(l,*,_), and mz(2,*,_) are equivalent to the mapping interconnect mz(*,_,J shown in Fig. 8.

Each port p(3) to p(5) of the top row of routers r(0,3,0) to r(3,3,0) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,2,0) respectively. Each port p(ll) to p(9) of the second from the top row of routers r(0,2,0) to r(3,2,0) are connected to ports p(12) to p(23) of mapping interconnect mx(_,2,0) respectively.

Each port p(3) to p(5) of the second to top row of routers r(0,2,0) to r(3,2,0) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect mx(_,l,0) respectively. Each port p(ll) to p(9) of the third from the top row of routers r(0,l,0) to r(3,l,0) are connected to ports p(12) to p(23) of mapping interconnect mx(_,l,0) respectively.

Each port p(3) to p(5) of the third to top row of routers r(0,l,0) to r(3,l,0) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect mx(_,0,0) respectively. Each port p(ll) to p(9) of the bottom row of routers r(0,0,0) to r(3,0,0) are connected to ports p(12) to p(23) of mapping interconnect mx(_,0,0) respectively.

Each poπ p(6) to p(8) of the left column of routers r((),0,0) to r(0,3,ϋ) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect my(0,_,0) respectively. Each port p(2) to p(0) of the second from the left column of routers r(0,0,0) to r(0,3,0) are connected to ports p(12) to p(23) of mapping interconnect my(0,_,0) respectively.

Each port p(6) to p(8) of the second from the left column of routers r(l,0,0) to r(l,3,0) in Fig. 9 are connected to ports p(0) to p(l l) ol mapping interconnect my(l,_,0) respectively. Each port p(2) to p(0) of the third from the left column of routers r(2,0,0) to r(2,3,0) are connected to ports p(12) to p(23) of mapping interconnect my(l,_,0) respectively.

Each port p(6) to p(8) of the third from left column of routers r(2,0,0) to r(2,3,0) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect my(2,_,0) respectively. Each port p(2) to p(0) of the right column of routers r(3,0,0) to r(3,3,0) are connected to ports p(12) to p(23) of mapping interconnect my(2,_,0) respectively.

Each of the routers r((),0,l) to r(3,3,l) in Fig. 9 are equivalent to router r(*,*,*) in Fig. 6. The blocking compensated mapping interconnects mx(_,2,l), mx(_,l,l), and mx(_,0,l) are equivalent to mx(_,*,_) in Fig. 2. The blocking compensated mapping interconnects my(0,_,l), my(l,_,l), and my(2,_,l) are equivalent to my(*,_,_) in Fig. 4.

Each port p(3) to p(5) of the top row of routers r(0,3,l) to r(3,3,l) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,2,l) respectively. Each port p(ll) to p(9) of the second from the top row of routers r(0,2,l) to r(3,2,l) are connected to ports p(12) to p(23) of mapping interconnect mx(_,2,l) respectively. Each port p(3) to p(5) of the second to top row of routers r(0,2,l) to r(3,2,l) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect mx(_,l,l) respectively. Each port p(ll) to p(9) of the third from the top row of routers r(0,l,l) to r(3,l,l) are connected to ports p(12) to p(23) of mapping interconnect mx(_,l,l) respectively.

Each port p(3) to p(5) of the third to top row of routers r(0,l,l) to r(3,l>l) in Fig. 9 are connected to ports p(0) to ( 11 ) of mapping interconnect x(_,0,l) respectively. Each port p(ll) to p(9) of the bottom row of routers r(0,0,l) to r(3,0,l) are connected to ports p(12) to p(23) of mapping interconnect nιx(_,ϋ,l) respectively.

Each port p(6) to p(8) of the left column of routers r(0,0,l) to r(0,3,l) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect my(0,_,l) respectively. Each port p(2) to p(0) of the second from the left column of routers r((),0,l) to r(0,3,l) are connected to ports p(12) to p(23) of mapping interconnect my(0,_,l) respectively.

Each port p(6) to p(8) of the second from the left column of routers r(l,0,l) to r(l,3,l) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect my(l,_,l) respectively. Each port p(2) to p(0) of the third from the left column of routers r(2,(),l) to r(2,3,l) are connected to ports p(12) to p(23) of mapping interconnect my(l,_,l) respectively.

Each port p(6) to p(8) of the third from left column of routers r(2,0,l) to r(2,3,l) in Fig. 9 are connected to ports p(0) to ( 11 ) of mapping interconnect my(2,_,l) respectively. Each port p(2) to p(0) of the right column of routers r(3,0,l) to r(3,3,l) are connected to ports p(12) to p(23) of mapping interconnect my(2,_,l) respectively.

Each of the routers r(0,0,2) lo r(3,3,2) in Fig. 9 are equivalent lo router r(*,*,*) in Fig. 6. The blocking compensated mapping interconnects mx(_>2,2), mx(_,l,2), and mx(_,0,2) are equivalent to mx(_,*,_) in Fig. 2. The blocking compensated mapping interconnects my(0,_,2), my(l>_>2), and my(2,_,2) are equivalent to my(*,_,_) in Fig. 4.

Each port p(3) to p(5) of the top row of routers r(0,3,2) to r(3,3,2) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,2,2) respectively. Each port p(ll) to p(9) of the second from the top row of routers r(0,2,2) to r(3,2,2) are connected to ports p(12) to p(23) of mapping interconnect mx(_,2,2) respectively.

Each port p(3) to p(5) of the second to top row of routers r(0,2,2) to r(3,2,2) in Fig. 9 are connected to ports p(0) lo p(l l ) of mapping interconnect mx(_,l,2) respectively. Each port p(ll) to p(9) of the third from the top row of routers r(0,l,2) to r(3,l,2) are connected to ports p(12) to p(23) of mapping interconnect mx(_,l,2) respectively. Each port p(3) to p(5) of the third to top row of routers r(0,l,2) to r(3,l,2) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,0,2) respectively. Each port p(ll) to p(9) of the bottom row of routers r(0,0,2) to r(3,0,2) are connected to ports p(12) to p(23) of mapping interconnect mx(_,0,2) respectively.

Each port p(6) to p(8) of the left column of routers r(0,0,2) to r(0,3,2) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect my(0,_,2) respectively. Each port p(2) to p(0) of the second from the left column of routers r(0,ϋ,2) to r(0,3,2) are connected to ports p(12) to p(23) of mapping interconnect nιy(0,_,2) respectively.

Each port p(6) to p(8) of the second from the left column of routers r( 1,0,2) to r(l,3,2) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect my(l,_,2) respectively. Each port p(2) to p(0) of the third from the left column of routers r(2,0,2) to r(2,3,2) are connected to ports p(12) to p(23) of mapping interconnect my(l,_,2) respectively.

Each port p(6) to p(8) of the third from left column of routers r(2,0,2) to r(2,3,2) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect my(2,_,2) respectively. Each port p(2) to p(0) of the right column of routers r(3,0,2) to r(3,3,2) are connected to ports p(12) to p(23) of mapping interconnect my(2,_,2) respectively.

Each of the routers r(0,0,3) to r(3,3,3) in Fig. 9 are equivalent to router r(*,*,*) in Fig. 6. The blocking compensated mapping interconnects mx(_,2,3), mx(_,l,3), and mx(_,0,3) are equivalent to mx(_,*,_) in Fig. 2. The blocking compensated mapping interconnects my(0,_,3), my(l,_,3), and my(2,_,3) are equivalent to my(*,_,_) in Fig. 4.

Each port p(3) to p(5) of the top row of routers r(0,3,3) to r(3,3,3) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mx(_,2,3) respectively. Each port p(ll) to p(9) of the second from the top row of routers r(0,2,3) to r(3,2,3) are connected to ports p(12) to p(23) of mapping interconnect mx(_,2,3) respectively.

Each port p(3) to p(5) of the second to top row of routers r(0,2,3) to r(3,2,3) in Fig. 9 are connected to ports p(0) to p(l l ) of mapping interconnect mx(_,l,3) respectively. Each port p(ll) to p(9) of the third from the top row of routers r((),l,3) to r(3,l,3) are connected to ports p(12) to p(23) of mapping interconnect mx(_,l,3) respectively.

Each port p(3) to p(5) of the third to top row of routers r(0,l,3) to r(3,l,3) in Fig. 9 are connected to ports p(0) to ( 11 ) of mapping interconnect mx(_,0,3) respectively. Each port p(ll) to p(9) of the bottom row of routers r(0,0,3) to r(3,0,3) are connected to ports p(12) to p(23) of mapping interconnect mx(_,(),3) respectively.

Each port p(6) to p(8) of the left column of routers r(0,0,3) to r(0,3,3) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect my(0,_,3) respectively. Each port p(2) to p(0) of the second from the left column of routers r(0,0,3) to r(0,3,3) are connected to ports p(12) to p(23) of mapping interconnect my((),_,3) respectively.

Each port p(6) to p(8) of the second from the left column of routers r(l,0,3) to r(l,3,3) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect my(l,_,3) respectively. Each port p(2) to p(0) of the third from the left column of routers r(2,0,3) to r(2,3,3) are connected to ports p(12) to p(23) of mapping interconnect my(l,_,3) respectively.

Each port p(6) to p(8) of the third from left column of routers r(2,0,3) to r(2,3,3) in Fig. 9 are connected to ports p(0) to p(l l ) of mapping interconnect my(2,_,3) respectively. Each port p(2) to p(0) of the right column of routers r(3,(),3) to r(3,3,3) are connected to ports p(12) to p(23) of mapping interconnect my(2,_,3) respectively.

Each mapping interconnect mz(0,0,_), z( l , (),_), mz(2,0,_), and mz(3,0,_) is equivalent to mapping interconnect mz(*,_,_j in Fig. 8.

Each port p(15) to p(17) of the left row of routers r(0,0,0) to r(0,0,3) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mz(0,0,_) respectively. Each port p(14) to p(12) of the second from the left row of routers r(l,0,0) to r(l,0,3) are connected to ports p(12) to p(23) of mapping interconnect mz(0,ϋ,_) respectively.

Each port p(15) to p( 17) of the second lo left row of routers r( l,0,0) to r(l,0,3) in Fig. 9 are connected to ports p(0) to p( l 1 ) of mapping interconnect mz(l,0,_) respectively. Each port p(14) to p(12) of the second from left row of routers r(2,0,0) to r(2,0,3) are connected to ports p(12) to p(23) of mapping interconnect mz(l,0,_) respectively.

Each port p(15) to p(17) of the third to left row of routers r(2,0,0) to r(2,0,3) in Fig. 9 are connected to ports p(0) to p(l 1) of mapping interconneel mz(2,0,_) respectively. Each port p(14) to p(12) of the right row of routers r(3,0,0) to r(3,0,3) are connected to ports p(12) to p(23) of mapping interconnect mz(2,0,_) respectively.

Each mapping interconnect mz(0,l,_), z(l,l,_), mz(2,l ,_), and mz(3,l,_) is equivalent to mapping interconnect mz(*,_,_) in Fig. 8 Fig. 8 shows a blocking compensated mapping interconnect mz(*,_,_) which connects p(0) to p( 15), p(l) to p(18), p(2) to p(13), p(3) to p(16), p(4) to p(14), p(5) to p(22), p(6) to p(20), p(7) to p(12), p(8) to p(23), p(9) to p(17), p(10) to p(21), p(l l) to p( 19), and vice versa. mz(*,_,_) is a 90 degrees clockwise rotated around the x axis and 90 degrees counter clockwise rotated around the y axis version of mapping interconnect mx(_,*,_) in Fig. 2. The mapping interconnect moves the packets forward in the x direction and laterally in the z direction.

Each port p(15) to p(17) of the left row of routers r(0,l,0) to r(0,l,0) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mz(0,l,_) respectively. Each port p(14) to p(12) of the second from the left row of routers r(l,l,0) to r(l,l,3) are connected to ports p(12) to p(23) of mapping interconnect mz(0,l,_) respectively.

Each port p(15) to p(17) of the second to left row of routers r(2,l,0) to r(2,l,3) in Fig. 9 are connected to ports p(0) to p(l 1 ) of mapping interconnect mz(l,l,_) respectively. Each port p(14) to p(12) of the second from left row of routers r(2,l,0) to r(2,l,3) are connected to ports p(12) to p(23) of mapping interconnect mz(l,l,_) respectively.

Each port p(15) to p(17) of the third to left row of routers r(2,l,0) to r(2,l,3) in Fig. 9 are connected to ports p(0) to p(l l ) of mapping interconnect mz(2,l,_) respectively. Each port p(14) to p(12) of the right row of routers r(3,l ,0) to r(3,l ,3) are connected to ports p(12) to p(23) of mapping interconnect mz(2,l,_) respectively.

Each mapping interconnect mz(0,2,_), mz(l,2,_), mz(2,2,_), and mz(3,2,_) is equivalent to mapping interconnect mz(*,_,_) in Fig. 8.

Each port p(15) to p(17) of the left row of routers r(0,2,0) to r(0,2,0) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mz(0,2,_) respectively. Each port p(14) to p(12) of the second from the left row of routers r( 1,2,0) to r( l,2,3) are connected to ports p(12) to p(23) of mapping interconnect mz(0,2,_) respectively.

Each port p(15) to p(17) of the second to left row of routers r(2,2,0) to r(2,2,3) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect mz(l,2,_) respectively. Each port p(14) to p(12) of the second from left row of routers r(2,2,0) to r(2,2,3) are connected to ports p(12) to p(23) of mapping interconnect mz(l,2,_) respectively.

Each port p(15) to p(17) of the third lo left row of routers r(2,2,0) to r(2,2,3) in Fig. 9 are connected to ports p(0) to p(l l) of mapping interconnect mz(2,2,_) respectively. Each port p(14) to p(12) of the right row of routers r(3,2,0) to r(3,2,3) are connected to ports p(12) to p(23) of mapping interconnect mz(2,2,_) respectively. Each mapping interconnect mz(0,3,_), mz(l,3,_), mz(2,3,_), and mz(3,3,_) is equivalent to mapping interconnect mz(*,_,_) in Fig. 8.

Each port p(15) to p(17) of the left row of routers r(0,3,0) to r((),3,0) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mz(0,3,_) respectively. Each port p(14) to p(12) of the second from the left row of routers r( 1,3,0) to r( 1,3,3) are connected to ports p(12) to p(23) of mapping interconnect mz(0,3,_) respectively.

Each port p(15) to p(17) of the second to left row of routers r(2,3,0) to r(2,3,3) in Fig. 9 are connected to ports p(0) to p(l l ) of mapping interconnect mz(l,3,_) respectively. Each port p(14) to p(12) of the second from left row of routers r(2,3,0) to r(2,3,3) are connected to ports p(12) to p(23) of mapping interconnect mz(l,3,_) respectively.

Each port p(15) to p(17) of the third to left row of routers r(2,3,0) to r(2,3,3) in Fig. 9 are connected to ports p(0) to p(ll) of mapping interconnect mz(2,3,_) respectively. Each port p(14) to p(12) of the right row of routers r(3,3,0) to r(3,3,3) are connected to ports p(12) to p(23) of mapping interconnect mz(2,3,_) respectively.

In the case of uni-directional operation of the scalable switch in Fig. 9, ports p(0) to p(2) of all the left side of routers r(0,*,*); ports p(12) to p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l l) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,0) can function as either inputs or outputs.

In the case of bi-directional operation of the scalable switch in Fig. 9, ports p(0) to p(2) of all the left side of routers r(ϋ,*,*); ports p(12) to p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l l ) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,ϋ) can function as both inputs or outputs.

A packet in any of the surface routers r(0,*,*), r(*,*,0), r(3,*,*), and r(*,*,0) can reach another plane of routers r(*,*,ϋ), r(*,*,l), r(*,*,2), or r(*,*,3) in a hop to a router in the desired plane. The packet can then reach any edge router in that plane via a hop to and from a second router. A packet in any surface router can thus reach any other surface router via two other routers. This means in the case of uni-directional scalable router operation that any of the input ports can reach any of the output ports via at most two routers. This means in the case of bidirectional scalable router operation that any of the 864 surface input / output ports can reach any of the 864 ports via at most two routers. Different mapping interconnects can also be used. One example is a perfect shuffle mapping interconnect mxl(_,*,_) shown in Fig. 11 in which p(0) is connected to p(12), p(l) to p(14), p(2) to p(16), p(3) to p(18), p(4) to p(20), p(5) to p(22), p(6) to p(13), p(7) to p(15), p(8) to p(17), p(9) to p(19), p( 10) to p(21 ), and p(l l) to p(23). myl(*,_,_) in Fig. 13 is a 90 degrees counter clockwise rotated around the /. axis version of mxl (_,*,_) in Fig. 11. mzl(*,_,_) in Fig. 16 is a 90 degrees clockwise rotated around the x axis and 90 degrees counter clockwise rotated around the y axis version of mx 1 (_,*,_) in Fig. 11.

The one dimensional, y direction scalable switch in Fig. 10 is similar to the one dimensional, y direction, scalable switch in Fig. 1 except for the fact that the mapping interconnect mxl(_«*>_) in Fig. 11 is substituted for mapping interconnects mx(_,*,_) in Fig. 1.

In the case that the scalable switch in Fig. 10 is used as a uni-directional scalable switching network, the inputs are fed to ports ( 1 1 ) to p(9) of the top row of routers r(0,3,_) to r(3,3,_) in Fig. 10 and the switched outputs emerge at ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) respectively. Equivalently, the inputs could be fed to ports p(3) to p(5) of the bottom row of routers r(ϋ,ϋ,_) to r(3,(),_) and the switched outputs would emerge at ports p(ll) to p(9) of the top row of routers r(0,3,_) to r(3,3,_) respectively.

In the case that the scalable switch in Fig. 10 is used as a bi-directional scalable switching network, ports p(l l) to p(9) of the top row of routers r(0,3,_) to r(3,3,_) and ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) could be used as both inputs and outputs.

The one dimensional, x direction scalable switch in Fig. 12 is similar to the one dimensional, x direction, scalable switch in Fig. 3 except for the fact that mapping interconnect myl(*,_,_) in Fig. 13 is substituted for mapping interconnects my(*,_,_) in Fig. 3.

In the case that the scalable switch in Fig. 12 is used as a uni-directional scalable switching network, the inputs are fed to ports p(2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_) and the switched outputs emerge at ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_). Equivalently, the inputs could be fed to ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_) and the switched outputs would emerge at ports p(2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_).

In the case that the scalable switch in Fig. 12 is used as a bi-directional scalable switching network, ports p2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_) and ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_) could be used as both inputs and outputs. The two dimensional, x and y direction multi-dimensional scalable switch in Fig. 14 is similar to the two dimensional, x and y direction, multi-dimensional scalable switch in Fig. 5 except for the fact that mapping interconnect mxl (_,*,_) in Fig. 11 is substituted for mapping interconnects mx(_,*,_) in Fig. 5 and mapping interconnect myl(*,_,_) in Fig. 13 is substituted for mapping interconnects my(*,_,_) in Fig. 5.

In the case of the scalable switch in Fig. 14 is used as a uni-directional scalable switching network, then each port of the edge routers r(0, (),_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,J, r(2,3,_), r(3,3,J, r(3,2,_), r(3,l,_), r(3,(),_), r(2,0,_), and r(l,0,J not connected to a mapping interconnect can be used as either an input or output port.

In the case of the scalable switch in Fig. 14 is used as a bi-directional scalable switching network then any port of the edge routers r((),ϋ,_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,_), r(2,3,_), r(3,3,_), r(3,2,_), r(3,l,_), r(3,0,_j, r(2, (),_), and r(l,0,_) not connected to a mapping interconnect can be used as both an input and output.

The one dimensional, z direction scalable switch in Fig. 15 is similar to the one dimensional, z direction, scalable switch in Fig. 7 except for the fact that mapping interconnect mzl(*,_,_) in Fig. 16 is substituted for mapping interconnects mz(*,_,_) in Fig. 8.

In the case that the scalable switch in Fig. 15 is used as a uni-directional scalable switching network, the inputs could be fed to ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,0) in Fig. 15 and the switched outputs would emerge at ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) respectively. Equivalently, the inputs could be fed to ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) and the switched outputs would emerge at ports p(14) to p(12) of the left row of routers r((),_,0) lo r(0,_,3) respectively.

In the case that the scalable switch in Fig. 15 is used as a bi-directional scalable switching network, ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,3) and ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) could be used as both inputs and outputs.

The three dimensional, x, y, and z direction multi-dimensional scalable switch in Fig. 17 is similar to the three dimensional, x, y, and z direction multi-dimensional scalable switch in Fig. 9 except for the fact that mapping interconnect mxl (_>*>_) Fig- 11 is substituted for mapping interconnects mx(_,*,*) in Fig. 5; mapping interconnect myl(_,*,_) in Fig. 13 is substituted for mapping interconnects my(_,*,*) in Fig. 5; and mapping interconnect mzl(*,_,_) in Fig. 16 is substituted for mapping interconnects mz(*,*,_) in Fig. 5. In die case of uni-directional operation of the scalable switch in Fig. 17, ports p(0) to p(2) of all the left side of routers r(0,*,*); ports p(12) to p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l l ) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,()) can function as either inputs or outputs.

In the case of bi-directional operation of the scalable switch in Fig. 17, ports p(0) to p(2) of all the left side of routers r(0,*,*); ports p(12) to p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l l) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,0) can function as both inputs or outputs.

Another example is a mapping interconnect mx2(_,*,_) shown in Fig. 19 in which p(0) is connected to p(12), p(l) to p(13), p(2) to p(14), p(3) lo p(15), p(4) to p(16), p(5) to p(17), p(6) to p(18), p(7) to p(19), p(8) to p(20), p(9) to p(21), p(10) to p(22), and p(ll) to p(23). This class of mapping interconnect is called a nearest neighbor interconnect. nry2(*,_,_) in Fig. 20 is a 90 degrees counter clockwise rotated around the z axis version of mx2(_,*,_) in Fig. 19. mz2(*,_,_) in Fig. 21 is a 90 degrees clockwise rotated around the x axis and 90 degrees counter clockwise rotated around the y axis version of mx2(_>*>_) in Fig- 19.

The two dimensional, x and y direction multi-dimensional scalable switch in Fig. 18 is similar to the two dimensional, x and y direction, multi-dimensional scalable switch in Fig. 5 except for the fact that mapping interconnect x 2 (_,*,_) in Fig. 19 is substituted for mapping interconnects mx(_,*,_) in Fig. 5 and mapping interconnect my2(*,_,_) in Fig. 13 is substituted for mapping interconnects m (*,_,_) in Fig. 5.

In the case of the scalable switch in Fig. 18 is used as a uni-directional scalable switching network, then each port of the edge routers r(0, (),_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,J, r(2,3,_), r(3,3,J, r(3,2,_), r(3,l,J, r(3,0,_), r(2,0,_), and r(l,0,_) not connected to a mapping interconnect can be used as either an input or output port.

In the case of the scalable switch in Fig. 18 is used as a bi-directional scalable switching network then any port of the edge routers r(0,0,_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,_ , r(2,3,_), r(3,3,_), r(3,2,_), r(3,l,_), r(3,(),_), r(2,0,_), and r(l,0,_) not connected to a mapping interconnect can be used as both an input and output.

The three dimensional, x, y, and / direction multi-dimensional scalable switch in Fig. 22 is similar to the three dimensional, x, y, and /. direction multi-dimensional scalable switch in Fig. 9 except for the fact that mapping interconnect mx2(_>*>_) Fig. 19 is substituted for mapping interconnects mx(_,*,*) in Fig. 5; mapping interconnect my2(*,_,_) in Fig. 20 is substituted for mapping interconnects my(*,_,*) in Fig. 5; and mapping interconnect mz2(*,_,_) in Fig. 21 is substituted for mapping interconnects mz(*,*,_) in Fig. 5.

In the case of uni-directional operation of the scalable switch in Fig. 22, ports p(0) to p(2) of all the left side of routers r(0,*,*); ports p(12) to p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l l ) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,0) can function as cither inputs or outputs.

In the case of bi-directional operation of the scalable switch in Fig. 22, ports p(0) to p(2) of all the left side of routers r(0,*,*); po ts p(12) lo p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) lo p( l 1 ) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,0) can function as both inputs or outputs.

Another example is a multi-level Bayan network mapping interconnect mx4(_,0,_), mx4(_,l,_), and mx4(_,2,_) in Fig. 24. A Bayan network is only defined for a two input, two output or a four I/O ported router. As a result, p( l), p(4), p(7), p(10), p(13), p(16), p(19), and p(22) of the mapping interconnects and routers are not used. In the lop level mx4(_,2,_), p(0) is connected to p(12), p(2) to p(18), p(3) to p(14), p(5) to p(20), p(6) to p(15), p(8) to p(21), p(9) to p(17), and p(ll) to p(23). In the second level mx4(_,l,_). p(0) is connected to p(12), p(2) to p(15), p(3) to p(14), p(5) to p(17), p(6) to p(18), p(8) to p(21 ), p(9) to p(20), and p(ll) to p(23). In the third level mx4(_,0,_), p(0) is connected to p( 12), p(2) to p(14), p(3) to p(15), p(5) to p(17), p(6) to p(18), p(8) to p(20), p(9) to p(21), and p(l l) to p(23).

A Bayan network consists of log N levels where N is the number of inputs. It is case it the third level is just an extender level. my4(0,_,_), my4(l,_,_), and my4(2,_,_) in Fig. 26 is a 90 degrees counter clockwise rotated around the z axis version of mx4(_,2,_), mx4(_,l,_), and mx4(_}0,_) in Fig. 24 respectively. mz4(0,_,_), mz4(l,_,_), and mz4(2,_,_) in Fig. 29 is a 90 degrees clockwise rotated around the x axis and 90 degrees counter clockwise rotated around ύie y axis version of mx4(_,2,_), mx4(_,l,_), and mx4(_,0,_) in Fig. 24 respectively.

The one dimensional, y direction scalable switch in Fig. 23 is similar to the one dimensional, y direction, scalable switch in Fig. 1 except for the fact that the mapping interconnect mx4(_,2,_), mx4(_,l,_), and mx4(_,0,_) in Fig. 24 is substituted for mapping interconnects mx(_,2,_), mx(_,2,_), and mx(_>0,_) in Fig. 1 respectively. In the case that the scalable switch in Fig. 23 is used as a uni-directional scalable switching network, the inputs are fed to ports p(ll) to p(9) of the top row of routers r(0,3,_) to r(3,3,_) in Fig. 23 and the switched outputs emerge at ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) respectively. Equivalently, the inputs could be fed to ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) and the switched outputs would emerge at ports p(ll) to p(9) of the top row of routers r(0,3,_) to r(3,3,_) respectively.

In the case that the scalable switch in Fig. 23 is used as a bi-directional scalable switching network, ports p(ll) lo p(9) of the lop row of routers r(0,3,_) to r(3,3,_) and ports p(3) to p(5) of the bottom row of routers r(0,0,_) to r(3,0,_) could be used as both inputs and outputs.

The one dimensional, x direction scalable switch in Fig. 25 is similar to the one dimensional, x direction, scalable switch in Fig. 3 except for the fact that mapping interconnect my4(0,_,_), my4(l,_,_), and my4(2,_,_) in Fig. 26 is substituted for mapping interconnects my(0,_,_ , my(l>_>_). and my(2,_,_) in Fig. 3 respectively.

In the case that the scalable switch in Fig. 25 is used as a uni-directional scalable switching network, the inputs are fed to ports p(2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_) and the switched output emerge at ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_). Equivalently, the inputs could be fed to ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_) and the switched outputs would emerge at ports p(2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_).

In the case that the scalable switch in Fig. 25 is used as a bi-directional scalable switching network, ports p2) to p(0) of the left most column of routers r(0,0,_) to r(0,3,_) and ports p(6) to p(8) of the right most column of routers r(3,0,_) to r(3,3,_) could be used as both inputs and outputs.

The two dimensional, x and y direction multi-dimensional scalable switch in Fig. 27 is similar to the two dimensional, x and y direction, multi-dimensional scalable switch in Fig. 5 except for the fact that mapping interconnect mx4(_,2,_), mx4(_,l,_), and mx4(_,0,_) in Fig. 24 is substituted for mapping interconnects mx(_,2,_), mx(_,2,_), and mx(_,0,_) in Fig. 5 respectively and mapping interconnect my4(0,_,_), my4(l,_,_), and my4(2,_,_) in Fig. 26 is substituted for mapping interconnects my((),_,_), my(l,_,_), and my(2,_,_) in Fig. 5 respectively.

In the case of the scalable switch in Fig. 27 is used as a uni-directional scalable switching network, then each port of the edge routers r(0,0,_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,J, r(2,3,_), r(3,3,_), r(3,2,_), r(3,l ,_), r(3,(),_), r(2,0,_), and r(l,0,_) not connected to a mapping interconnect can be used as either an input or output port.

In the case of the scalable switch in Fig. 27 is used as a bi-directional scalable switching network then any port of the edge routers r(0,0,_), r(0,l,_), r(0,2,_), r(0,3,_), r(l,3,_), r(2,3,_), r(2,3,_), r(3,3,_), r(3,2,_), r(3,l,_), r(3,0,_), r(2,0,_), and r(l,0,_) not connected to a mapping interconnect can be used as both an input and output.

The one dimensional, z direction scalable switch in Fig. 28 is similar to the one dimensional, z direction, scalable switch in Fig. 8 except for the fact that mapping interconnect mz4(0,_,_), mz4(l,_,_), and mz4(2,_,_) in Fig. 29 is substituted for mapping interconnects mz(0,_,_), mz(l,_,_), and mz(2,_,_) in Fig. 7 respectively.

In the case that the scalable switch in Fig. 28 is used as a uni-directional scalable switching network, the inputs are fed to ports p(14) to pi.12) of the left row of routers r(0,_,0) to r(0,_,0) in Fig. 28 and the switched outputs emerge at ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) respectively. Equivalently. the inputs could be fed to ports p(15) to p(17) of the right row of routers r(3,_,0) lo r(3,_,3) and the swiiched outputs would emerge at ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,3) respectively.

In the case that the scalable switch in Fig. 28 is used as a bi-directional scalable switching network, ports p(14) to p(12) of the left row of routers r(0,_,0) to r(0,_,3) and ports p(15) to p(17) of the right row of routers r(3,_,0) to r(3,_,3) could be used as both inputs and outputs.

The three dimensional, x, y, and / direction multi-dimensional scalable switch in Fig. 30 is similar to the three dimensional, x, y, and z direction multi-dimensional scalable switch in Fig. 9 except for the fact thai mapping interconneci mx4(_,2,_), mx4(_,l,_), and mx4(_?0,_) in Fig. 24 is substituted for mapping interconnects mx(_,2,*), mx(_,2,*), and mx(_,0,*) in Fig. 9 respectively; mapping interconnect my4(0,_,_), my4(l ,_,_), and my4(2,_,_) in Fig. 26 is substituted for mapping interconnects my(0,_,* ), my(l ,_,*), and my(2,_,*) in Fig. 9 respectively; and mapping interconnect mz4((),_,_), mz4(l,_,_), and mz4(2,_,_) in Fig. 29 is substituted for mapping interconnects mz(ϋ,*,_), mz( l ,* ,_), and mz(2,* ,_) in Fig. 9 respectively.

In the case of uni-directional operation of the scalable switch in Fig. 30, ports p(0) to p(2) of all the left side of routers r(0,*,*); ports p(12) lo p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l l ) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,0) can function as either inputs or outputs. In the case of bi-directional operation of the scalable switch in Fig. 30, ports p(0) to p(2) of all the left side of routers r(0,*,*); ports p(12) to p(14) of the front side of routers r(*,*,0); ports p(6) to p(8) of the right side of routers r(3,*,*); ports p(15) to p(17) of the back side of routers r(*,*,3); ports p(9) to p(l 1 ) of the top side of routers r(*,3,*); and ports p(3) to p(5) of the bottom side of routers r(*,*,0) can function as both inputs or outputs.

The topology of any multi-stage interconnection network can be used. Some other possible topologies are Clos Class, Benes, Waksman Modification, Data Manipulator, ADM, IADM, Gamma, CC-Bayan, SW-Bayan, Regular SW-Bayan, Bitonic Sorter. SW-Structure, Straran Flip, Omega, Extended Shuffle Exchange, Indirect Binary N-Cube, Generalized Cube, Baseline/Reverse Baseline, HEP, Reverse Exchange, Batcher/Bayan, hypercube, Delta, Double-Tree Add-ON, Extra Switching Element Benes, Error Correction Coded Omega, ESC, Extra Stage Baseline, IADM with Half-Links, and F-Network networks.

TCP/IP's destination base routing can be used in place of the original path based routing of any of these multi-stage networks. TCP/IP's destination base routing can be used in place of the path based routing of these multi-dimensional multi-stage networks. TCP/IP's destination based routing can bridge between different one dimensional multi-stage networks, multi- dimension multi-stage networks, or any combinations thereof. TCP/IP's destination based routing can provide uni-directional and bi-directional operation. TCP/IP destination based routing can be used to route though fault tolerant topologies.

TCP/IP routing algorithms s ch as Routing Information Protocol (RIP), Open Shortest Path First (OSPF), or similar protocol are used to construct the required routing tables. See Routing in the Internet by Christian Huitema and published by Prentice Hall (ISBN: 0-13-132192-7). These routing algorithms can be modified to identify and incorporate equivalent paths. See "Multiple Path" in Routing in the Internet. TCP/IP's ability to load balance of equivalent paths can be used to load balance over the equivalent paths in one dimension multi-stage networks, multi-dimension multi-stage networks, or any combination thereof to reduce the potential for hot spots as discussed in the parent application of this continuation-in-part.

One dimensional, two dimensional, and three dimensional uni-directional and bi-directional scalable routers have been discussed. This can be extended to n-dimensional uni-directional and bi-directional scalable routers. The n-dimensional versions require larger routers with at least four I/O ports for each dimension. A 4 dimensional uni-directional or bi-directional scalable switch would thus require a 16 1/0 port router as a building block. Each dimension also requires a mapping interconnect which laterally distributes the packets in that dimension. As an example, a three dimensional scalable switch would require a x(_,*,*) mapping interconnect which distributes the packets in the x dimension, a y(*,_,_) mapping interconnect which distributes packets in the y dimension, and a z((*,_,_) mapping interconnect which distributes the packets in the z dimension. The mapping interconnects used for the different dimensions do not have to be the same. However, the mapping interconnects used in a given dimension have to function together. In the case of a blocking compensated mapping interconnect, the mappings would have to be the same within a given dimension.

Adding dimensions reduces the number of routers needed to switch a given number of I/O ports. This also reduces the total amount of buffering needed by a scalable switch since it reduces the path length within the scalable switch.

Adding dimensions adds equivalent paths. To get from (0,0) to ( 1,1) you could first go to (0,1) and then to (1,1). Equivalently you could first go to ( 1,0) and then to (1,1). This helps fault tolerance, load balancing, delay reduction, and jitter reduction.

Adding dimensions reduces the path length. In the case of the 4 x 4 x 4 scalable switch any of the 56 surface routers can reach any of the other surface routers via at most two other routers. This reduces the delay and jitter.

Adding dimensions increased the utilization and traffic diversity of the routers. More possible paths pass through each router. This will increase the likelihood that each will be used. The increased traffic diversity will smooth out each router's output buffer demands.

This approach "tunneling" from one surface router to another surface router via internal routers when appropriate. Conventional approaches, such as a hypercube, are restricted to traversing surface routers.

It is also possible to use different types of multi-stage networks for the different dimensions. TCP/IP's dynamic routing algorithms will accommodate these differences. One dimension could be a blocking compensated network while another dimension could use a Bayan network.

Each of the possible mapping interconnects such as a Bayan has a simpler path based routing algorithm however a TCP/IP destination based routing algorithm will also route through these networks. These algorithms are more complex and require a table lookup but they will also route through many different types of networks.

Many n-dimensional networks such as a hypercube have their own specialized path based routing algorithms however a TCP/IP destination based routing algorithm will route though these n-dimensional networks. These algorithms are more complex and require a table lookup but they will also route through many different types of networks.

The routing along each dimension is independent of the routing between the dimensions. Destination based routing algorithms such as RIP and OSPF can integrate the intra and inter dimensional routing.

Extra levels of mapping interconnect and routers can be added for fault tolerance. These extra levels complicate path based routing algorithms. TCP/IP's destination based routing algorithms such as RIP and OSPF will route through these extra levels. TCP/IP's dynamic routing algorithms will take advantage of the extra connectivity when there is a fault.

Load balancing over equivalent paths is used to load balance the packets across the scalable switch. The routing algorithms such as RIP and OSPF can be modified to extract all the equivalent shortest paths f r each destination. The routing algorithm then selects from these equivalent paths in a balanced manner. TCP/IP algorithms are thus used for both global packet routing and load balancing within the switch.

The distributed output buffering based on upstream flow control will also work for n- dimensional scalable switches.

While this discussion has been directed to IP packets, the concepts can be extended to other packet formats such as ATM or X.25. The concepts can also be applied to time slots with routing tags in a time, space, time/space division switch.

Although the present invention has been described above in terms of specific embodiments, it is anticipated that alteration and modifications thereof will no doubt become apparent to those skilled in the art. It is therefore intended that the following claims be interpreted as covering all such alterations and modifications as falling within the true spirit and scope of the invention.

Claims

Claims
1) A one dimensional scalable switching network comprising:
Y rows of X routers including a top row and a bottom row where each router has pi top ports, pi bottom ports, and destination based routing means;
Y - 1 levels of y axis, xy plane mapping interconnects each with X x pi upper ports and X x pi lower ports; wherein
the top ports of all except for the top row of routers are connected to lower ports of the y axis, xy plane mapping interconnect;
the bottom ports of all except for the bottom row of routers arc connected to upper ports of the y axis, xy plane mapping interconnect; and
the top ports of the top row of routers and the bottom ports of the bottom row of routers are I/O ports of the scalable switching network; and
2) The apparatus of Claim 1 wherein the upper ports of the y axis, xy plane mapping interconnect is connected to the lower ports via a perfect shuffle.
3) The apparatus of Claim 1 wherein the upper ports of the y axis, xy plane mapping interconnect is connected to the lower ports via one level of a Bayan interconnect.
4) The apparatus of Claim 1 wherein the upper ports of the y axis, xy plane mapping interconnect is connected to the lower ports via a nearest neighbor interconnect.
5) The apparatus of Claim 1 wherein the upper ports of the y axis, xy plane mapping interconnect is connected to the lower ports via a level of a multi-stage interconnect network.
6) The apparatus of Claim 1 wherein the destination routing means load balances over equivalent paths. 7) The apparatus of Claim 1 wherein router implements dynamic routing for fault tolerance.
8) The apparatus of Claim 1 wherein the router implements flow control for distributed output buffering.
9) The apparatus of Claim 1 wherein the router has an IP address for remote configuration and maintenance.
10) The apparatus of Claim 1 wherein each router port is full duplex for bi-directional operation.
11) A two dimensional scalable switching network comprising:
Y rows of X routers including a top row, a bottom row, a left column, and a right column where each router has p i top ports, p i bottom ports, p2 left ports, p2 right ports, and destination based routing means;
Y - 1 levels of y axis, xy plane mapping interconnect each with X x p i upper ports and X x pi lower ports; wherein
the top ports of all except for the top row of routers are connected to lower ports of the y axis, xy plane mapping interconnect;
the bottom ports of all except for the bottom row of routers are connected to upper ports of the y axis, xy plane mapping interconnect: and
the top ports of the top row of routers and the bottom ports of the bottom row of routers are I/O ports of the scalable switching network; and
X - 1 levels of x axis, xy plane mapping interconnect each with Y x p2 left ports and Y x p2 right ports; wherein
the left ports of all except for the left column of routers are connected to right ports of the x axis, xy plane mapping interconnect; the right ports of all except for the right column of routers are connected to left ports of the x axis, xy plane mapping interconnect; and
the left ports of the left column of routers and the right ports of the right column of routers are I/O ports of the scalable switching network;
12) The apparatus of Claim 1 1 wherein the left ports of the x axis, xy plane mapping interconnect is connected to the right ports via a perfect shuffle.
13) The apparatus of Claim 1 1 wherein the left ports of the x axis, xy plane mapping interconnect is connected to the right ports via one level of a Bayan interconnect.
14) The apparatus of Claim 1 1 wherein the left ports of the x axis, xy plane mapping interconnect is connected to the right ports via a nearest neighbor interconnect.
15) The apparatus of Claim 1 1 wherein the upper ports of the x axis, xy plane mapping interconnect is connected to the lower ports via a level of a multi-stage interconnect network.
16) A three dimensional scalable switching network comprising:
a X by Y by Z array of routers;
where each xy plane has X columns and Y rows of routers including a top row, a bottom row, a left column, and a right column;
where each xz plane has Z rows of X columns of routers including a left column, a right column;
where each router has p 1 top ports, p 1 bottom ports, p2 left ports. p2 right ports, p3 front ports, p3 back ports, and destination based routing means;
wherein for each xy plane; Y - 1 levels of y axis, xy plane mapping interconnect each with X x pi upper ports and X x pi lower ports; wherein
the top ports of all except for the top row of routers are connected to lower ports of the y axis, xy plane mapping interconnect;
the bottom ports of all except for the bottom row of routers are connected to upper ports of the y axis xy plane mapping interconnect; and
the top ports of the top row of routers and the bottom ports of the bottom row of routers are I/O ports of the scalable switching network; and
X - 1 levels of x axis, xy plane mapping interconnect each with Y x p2 left ports and Y x p2 right ports; wherein
the left ports of all except for the left column of routers are connected to right ports of the x axis, xy plane mapping interconnect;
the right ports of all except for the right column of routers are connected to left ports of x axis, xy plane mapping interconnect; and
the left ports of the left column of routers and the right ports of the right column of routers are I/O ports of the scalable switching network; and
wherein for each xz plane
X - 1 levels of x axis, xz plane mapping interconnect each with Z x p3 left ports and Z x p3 right ports; wherein
the left ports of all except for the left row of routers are connected to right ports of the x axis, xz plane mapping interconnect;
the right ports of all except for the right row of routers are connected to left ports of the x axis, xz plane mapping interconnect; and
the left ports of the left row of routers and the right ports of the right row of routers are I/O ports of the scalable switching network. 17) The apparatus of Claim 16 wherein the left ports of the x axis, xz plane mapping interconnect is connected to the right ports via a perfect shuffle.
18) The apparatus of Claim 16 wherein the left ports of the x axis, xz plane mapping interconnect is connected to the right ports via one level of a Bayan interconnect.
19) The apparatus of Claim 16 wherein the left ports of the x axis, xz plane mapping interconnect is connected to the right ports via a nearest neighbor interconnect.
20) The apparatus of Claim 16 wherein the upper ports of the x axis, xz plane mapping interconnect is connected to the lower ports via a level of a multi-stage interconnect network.
21) A N-dimensional scalable switching network comprising:
at least one plane of
Y rows of X routers including a top row and a bottom row where each router has at least pi top ports, at least pi bottom ports, and destination based routing means;
Y - 1 levels of y axis, xy plane mapping interconnects each with X x pi upper ports and X x pi lower ports; wherein
the top ports of all except for the top row of routers are connected to lower ports of the y axis, xy plane mapping interconnect;
the bottom ports of all except for the bottom row of routers are connected to upper ports of the y axis, xy plane mapping interconnect; and
the top ports of the top row of routers and the bottom ports of the bottom row of routers are I/O ports of the scalable switching network; and
22) The apparatus of Claim 2 1 wherein each router port is full duplex for bi-directional operation.
PCT/US1997/020579 1996-11-14 1997-11-12 N-dimensional scalable switching networks WO1998021857A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US74660996A true 1996-11-14 1996-11-14
US08/746,609 1996-11-14

Publications (1)

Publication Number Publication Date
WO1998021857A1 true WO1998021857A1 (en) 1998-05-22

Family

ID=25001572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/020579 WO1998021857A1 (en) 1996-11-14 1997-11-12 N-dimensional scalable switching networks

Country Status (1)

Country Link
WO (1) WO1998021857A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2336079A (en) * 1998-01-28 1999-10-06 3Com Corp Scalable logical LAN
EP1176770A2 (en) * 2000-07-24 2002-01-30 Nortel Networks Limited Multi-dimensional lattice network
EP1192555A1 (en) * 1999-06-15 2002-04-03 ViaSat, Inc. An efficient internet service implementation for mesh satellite networks
EP1199885A2 (en) * 2000-10-17 2002-04-24 Gennum Corporation Improved reclocker circuit and router cell
US7872990B2 (en) 2008-04-30 2011-01-18 Microsoft Corporation Multi-level interconnection network
US9148348B2 (en) 2011-10-31 2015-09-29 Hewlett-Packard Development Company, L.P. Generating network topologies
US9385922B2 (en) 2011-10-31 2016-07-05 Hewlett Packard Enterprise Development Lp Generating EGFT network topologies

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ADAMS G B ET AL: "A SURVEY AND COMPARISON OF FAULT-TOLERANT MULTISTAGE INTERCONNECTION NETWORKS", COMPUTER, vol. 20, no. 6, June 1987 (1987-06-01), pages 14 - 27, XP000676522 *
BOULE R ET AL: "INSIDE ROUTERS: A TECHNOLOGY GUIDE FOR NETWORK BUILDERS", DATA COMMUNICATIONS, vol. 18, no. 12, 21 September 1989 (1989-09-21), pages 53 - 56, 59/60, 65/66, XP000068342 *
KUMAR V P ET AL: "AUGMENTED SHUFFLE-EXCHANGE MULTISTAGE INTERCONNECTION NETWORKS", COMPUTER, vol. 20, no. 6, June 1987 (1987-06-01), pages 30 - 40, XP002050384 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2336079A (en) * 1998-01-28 1999-10-06 3Com Corp Scalable logical LAN
GB2336079B (en) * 1998-01-28 2002-11-27 3Com Corp Scalable logical lan
EP1192555A1 (en) * 1999-06-15 2002-04-03 ViaSat, Inc. An efficient internet service implementation for mesh satellite networks
EP1192555A4 (en) * 1999-06-15 2004-08-04 Viasat Inc An efficient internet service implementation for mesh satellite networks
EP1176770A2 (en) * 2000-07-24 2002-01-30 Nortel Networks Limited Multi-dimensional lattice network
EP1176770A3 (en) * 2000-07-24 2005-06-22 Nortel Networks Limited Multi-dimensional lattice network
EP1199885A2 (en) * 2000-10-17 2002-04-24 Gennum Corporation Improved reclocker circuit and router cell
EP1199885A3 (en) * 2000-10-17 2004-02-18 Gennum Corporation Improved reclocker circuit and router cell
US6791977B1 (en) 2000-10-17 2004-09-14 Gennum Corporation Reclocker circuit and router cell
US7872990B2 (en) 2008-04-30 2011-01-18 Microsoft Corporation Multi-level interconnection network
US9148348B2 (en) 2011-10-31 2015-09-29 Hewlett-Packard Development Company, L.P. Generating network topologies
US9385922B2 (en) 2011-10-31 2016-07-05 Hewlett Packard Enterprise Development Lp Generating EGFT network topologies

Similar Documents

Publication Publication Date Title
Gelenbe et al. Measurement and performance of a cognitive packet network
US6950428B1 (en) System and method for configuring adaptive sets of links between routers in a system area network (SAN)
US7864792B2 (en) Load balancing for communications within a multiprocessor computer system
Murakami et al. Optimal capacity and flow assignment for self-healing ATM networks based on line and end-to-end restoration
US6256306B1 (en) Atomic network switch with integrated circuit switch nodes
US5596719A (en) Method and apparatus for routing and link metric assignment in shortest path networks
US7136380B2 (en) Conditionally nonblocking switch of the compressor type
US5751454A (en) Wavelength bypassed ring networks
US7200117B2 (en) Method of optimizing network capacity and fault tolerance in deadlock-free routing
CA2264395C (en) Communications network
US5392279A (en) Interconnection network with self-routing function
US4621359A (en) Load balancing for packet switching nodes
EP0841832A2 (en) Promiscuous network monitoring utilizing multicasting within a switch
Turner Design of a broadcast packet switching network
US6049542A (en) Scalable multistage interconnection network architecture and method for performing in-service upgrade thereof
US6574669B1 (en) Method and apparatus for routing traffic within a network utilizing linear optimization
CA2655984C (en) System and method for switching traffic through a network
US6044080A (en) Scalable parallel packet router
EP1579716B1 (en) Routing scheme based on virtual space representation
US5812549A (en) Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
Murakami et al. Comparative study on restoration schemes of survivable ATM networks
EP0735726A2 (en) A packet-based telecommunications network
Lin et al. A multiple LID routing scheme for fat-tree-based InfiniBand networks
US6069895A (en) Distributed route server
US5689661A (en) Reconfigurable torus network having switches between all adjacent processor elements for statically or dynamically splitting the network into a plurality of subsystems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN DE GB JP RU AM AZ BY KG KZ MD RU TJ TM

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase in:

Ref country code: JP

Ref document number: 1998522756

Format of ref document f/p: F