Claims
- 1. In a switching system having a plurality of dynamic switches interconnected by full duplex cross links, and having a plurality of devices connected to said system, with connections being established by transmitting connection request packets through said system, a method of eliminating livelock, and reducing the occurrence of race conditions created when two of said connection request packets are both concurrently transmitted in different directions through any same cross link, of said cross links, said method comprising:
- a. initially assigning preferred directions to each of said cross links; and
- b. routing each of said connection request packets only in preferred directions of said cross links if preferred directions on said cross links are available.
- 2. A method as recited in claim 1, wherein each of said switches comprises a table, wherein said table in each of said switches identifies ports of said each switch that can be used to transmit said connection request packets from said each switch to selected destination devices.
- 3. A method as recited in claim 2, wherein said table identifies each of said ports as being a send preference port or a receive preference port, or equivalently, identifies each corresponding cross link connected to a corresponding one of said ports as being a send preference cross link or a receive preference cross link relative to said each switch.
- 4. A method as recited in claim 1, wherein said connection request packets are routed according to entries in a table in each of said switches, with each entry indicating one or more corresponding ports, each of which is connected to one of said cross links with an assigned preferred direction, that can be used to send corresponding ones of said connection request packets to a corresponding destination.
- 5. A method as recited in claim 1, wherein end to end priority is assigned to one connection request packet of a pair of said connection request packets when both connection request packets of said pair of connection request packets are requesting transmission between any same pair of said plurality of devices, with said one connection request packet being forwarded from one of said cross links between a pair of adjacent switches of said system while another connection request packet of said pair of connection request packets will not be forwarded on any other of said cross links between said pair of adjacent switches until at least a connection through said one cross link, established for said one connection request packet is broken.
- 6. In a switching system having a plurality of dynamic switches interconnected by cross links, and having a plurality of devices connected to said system, with connections being established by transmitting connection request packets through said system, a method of eliminating livelock, and reducing the occurrence of race conditions created when two of said connection request packets are concurrently transmitted in different directions through any same cross link, of said plurality of cross links, said method comprising:
- a. initially assigning preferred directions to each of said cross links;
- b. routing each of said connection request packets in preferred directions on said cross links if preferred directions on said cross links are available;
- c. routing each of said connection request packets in non-preferred directions if a preferred direction on said cross links is unavailable; and
- d. transmitting a response packet in response to one connection request packet of said two connection request packets indicating that a connection identified in said one connection request packet can not be established, where said one connection request packet was transmitted over said one cross link in a non-preferred direction for said one cross link, where another of said two connection request packets was transmitted on said one cross link in the opposite direction as said one connection request packet and where said two connection request packets are from two different devices, of said devices, on two different ones of said switches and are not requesting connections between said two different devices.
- 7. In a switching system having a plurality of dynamic switches interconnected by cross links, and having a plurality of devices connected to said system, with connections being established by transmitting connection request packets through said system, an apparatus for eliminating livelock and reducing the occurrence of race conditions created when two of said connection request packets are concurrently transmitted in different directions through any same cross link, of said cross links, said apparatus comprising:
- a. means for initially assigning preferred directions to each of said cross links;
- b. means for routing each of said connection request packets in preferred directions on said cross links if preferred directions on said cross links are available;
- c. means for routing each of said connection request packets in non-preferred directions if a preferred direction on said cross links is unavailable; and
- d. means for transmitting a response packet in response to one of said two connection request packets indicating that a connection identified in said one connection request packet can not be established, where said one connection request packet was transmitted over said same link in a non-preferred direction for said same link, where another of said two connection request packets was transmitted on said same link in the opposite direction as said one request packet, and where said two connection request packets are from two different devices on different ones of said switches and are not requesting connections between said two different devices.
- 8. In a switching system having a plurality of dynamic switches interconnected by cross links, and having a plurality of devices connected to said system, with connections being established by transmitting connection request packets through said system, a method of eliminating livelock, and reducing the occurrence of race conditions created when two of said connection request packets are concurrently transmitted in different directions through any same cross link, of said cross links, said method comprising:
- a. initially assigning preferred directions to each of said cross links; and
- b. routing each of said connection request packets in preferred directions of said cross links if preferred directions on said cross links are available, wherein end to end priority is assigned to one connection request packet of a pair of said connection request packets when both connection request packets of said pair of connection request packets are requesting transmission between any one same pair of said plurality of devices, with said one connection request packet being forwarded from one of said cross links between a pair of adjacent switches of said system while another connection request packet of said pair of connection request packets will not be forwarded on any other of said cross links between said pair of adjacent switches until at least a connection through said one cross link, established for said one connection request packet, is broken.
- 9. A method as recited in claim 8, wherein each of said switches comprises a table, wherein said table in each of said switches identifies ports of said each switch that can be used to transmit said connection request packets from said each switch to selected destination devices.
- 10. A method as recited in claim 9, wherein said table identifies each of said ports as being a send preference port or a received preference port, or equivalently, identifies each corresponding cross link connected to a corresponding one of said ports as being a send preference cross link or a receive preference cross link relative to said each switch.
- 11. A method as recited in claim 10, wherein said connection request packets are routed according to entries in a table in each of said switches, with each entry indicating one or more corresponding ports, each of which is connected to one of said cross links with an assigned preferred direction, that can be used to send corresponding ones of said connection request packets to a corresponding destination.
Parent Case Info
This is a continuation of application Ser. No. 08/137,859, filed Oct. 15, 1993 abandoned.
US Referenced Citations (10)
Continuations (1)
|
Number |
Date |
Country |
Parent |
137859 |
Oct 1993 |
|