Claims
- 1. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches, and n1 inlet links for each of said r1 input switches; an output stage comprising r2 output switches, and n2 outlet links for each of said r2 output switches; and a middle stage comprising m middle switches, and each middle switch comprising at least one link (hereinafter “first internal link”) connected to each input switch for a total of at least r1 first internal links, each middle switch further comprising at least one link (hereinafter “second internal link”) connected to each output switch for a total of at least r2 second internal links; wherein each multicast connection from an inlet link passes through at most two middle switches, and said multicast connection further passes to a plurality of outlet links from said at most two middle switches.
- 2. The network of claim 1, wherein m≧n1+n2.
- 3. The network of claim 2,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and said network is hereinafter “rearrangeably nonblocking network”.
- 4. The network of claim 1 further comprising a controller coupled to each of said input, output and middle stages to set up said multicast connection.
- 5. The network of claim 2 wherein said r1 input switches and r2 output switches are the same number of switches.
- 6. The network of claim 2 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧2*n.
- 7. The rearrangeably nonblocking network of claim 3,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 8. The network of claim 1,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 9. A method for setting up one or more multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said method comprising:
receiving a multicast connection at said input stage; fanning out said multicast connection in said input stage into at most two middle switches to set up said multicast connection to a plurality of output switches among said r2 output switches, wherein said plurality of output switches are specified as destinations of said multicast connection, wherein first internal links from said input switch to said at most two middle switches and second internal links to said destinations from said at most two middles switches are available.
- 10. The method of claim 9,
wherein a connection exists through said network and passes through a middle switch and said method further comprises: if necessary, changing said connection to pass through another middle switch, act hereinafter “rearranging connection”.
- 11. The method of claim 9,
wherein any of said acts of fanning out and rearranging are performed recursively.
- 12. A method for setting up one or more multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said method comprising:
checking if at least a first subset of destination output switches of said multicast connection have available second internal links to a first middle switch; and checking if a second middle switch has available second internal links to a second subset of destination output switches of said multicast connection. wherein each destination output switch of said multicast connection is one of said first subset of destination output switches and said second subset of destination output switches.
- 13. The method of claim 12 further comprising:
checking if the input switch of said multicast connection has an available first internal link to said first middle switch and to said second middle switch.
- 14. The method of claim 12 further comprising:
prior to said checkings, checking if all the destination output switches of said multicast connection are available at said first middle switch.
- 15. The method of claim 12 further comprising:
repeating said checkings of available second internal links to another second subset of destination output switches for each middle switch other than said first and said second middle switches. wherein each destination output switch of said multicast connection is one of said first subset of destination output switches and said second subset of destination output switches.
- 16. The method of claim 12 further comprising:
repeating said checkings of available second internal links to another first subset of destination output switches with each middle stage switch other than said first middle stage switch.
- 17. The method of claim 12 further comprising:
setting up each of said connection from its said input switch to its said output switches through not more than two middle switches, selected by said checkings, by fanning out said multicast connection in its said input switch into not more than said two middle stage switches.
- 18. The method of claim 12 wherein any of said acts of checking and setting up are performed recursively.
- 19. A method for setting up one or more new multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said method comprising:
disconnecting a previously set up multicast connection through the same input switch of said new multicast connection and; setting up said new multicast connection, through at most two middle switches, first and then setting up said previously set up connection, through at most two middle switches.
- 20. The method of claim 19 further comprising:
when any one of said two setting up acts fail, disconnecting said new multicast connection if it succeeded to get set up, and setting up said previously set up connection if it failed to get set up.
- 21. The method of claim 19 further comprising:
repeating said acts of disconnecting a previously set up connection and setting up after said new multicast connection for all the remaining previously set up connections in the same input switch.
- 22. The method of claim 19 further comprising:
by setting up said new multicast connection through two middle switches having available first internal links so that only one of said two middle switches use second internal links which are already in use by one or more existing multicast connections from other input switches (hereinafter called “incompatible existing connections”); and disconnecting said incompatible existing connections.
- 23. The method of claim 19 further comprising:
for all said incompatible existing connections recursively repeating said acts of disconnecting and setting up connections in their respective first switches, until all said incompatible existing connections are set up.
- 24. The method of claim 19 wherein any of said acts of checking, setting up and disconnecting are performed recursively.
- 25. A method of setting up a multicast connection through a three-stage network, said method comprising:
fanning out only one or two times in an initial stage.
- 26. The method of claim 25 further comprising:
fanning out any number of times in each of the remaining stages. wherein said three-stage network includes said remaining stages and said initial stage.
- 27. The method of claim 25 further comprising:
repeating said acts of fanning out with a plurality of portions of each of said stages.
- 28. The method of claim 25 further comprising:
recursively performing said act of fanning out.
- 29. The method of claim 25 wherein:
a remaining stage immediately following said initial stage comprises internal links that are at least two times the total number of inlet links of said initial stage.
- 30. The method of claim 25 wherein:
said initial stage comprises a plurality of first switches, and a plurality of inlet links connected to each said first switch; and a remaining stage immediately following said initial stage comprises a plurality of second switches, that are at least double the number of inlet links of each first switch and each second switch comprises a plurality of internal links at least equal in number to the number of first switches in said initial stage.
- 31. A network comprising:
an input stage comprising N1 or n1*r1 inlet links and r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1, said n1 inlet links for receiving multicast connections; an output stage comprising N2 or n2*r2 outlet links and r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2, said n2 outlet links for transmitting said received connections; and a middle stage having m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said initial stage having multicast connections with a fan-out of one or two.
- 32. The network of claim 31 further comprising:
said multicast connections having a fan-out of one or more in said middle stage.
- 33. The network of claim 31 further comprising:
said multicast connections having a fan-out of one or more in said output stage.
- 34. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1; an output stage comprising r2 output switches and n1 outlet links for each of said r2 output switches, and N2=n2*r2; and a middle stage comprising m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links; each middle switch further comprising at least one link connected to each output switch for a total of at least r2 second internal links, wherein each multicast connection from an inlet link passes through at most three middles switches, and said multicast connection further passes to a plurality of outlet links from said at most three middle switches.
- 35. The network of claim 34, wherein m≧2*n1+n2,
- 36. The network of claim 35,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and the network is hereinafter “rearrangeably nonblocking network”.
- 37. The network of claim 34 comprising a controller in communication with said input, output and middle stages to set up said multicast connection.
- 38. The network of claim 35 wherein said r1 input switches and r2 output switches are the same number of switches.
- 39. The network of claim 35 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧3*n.
- 40. The rearrangeably nonblocking network of claim 36,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 41. The network of claim 34,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 42. A method for setting up one or more multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said method comprising:
receiving a multicast connection at said input stage; fanning out said multicast connection in said input stage into at most three middle switches to set up said multicast connection to a plurality of output switches among said r2 output switches, wherein said plurality of output switches are specified as destinations of said multicast connection, wherein first internal links from said input switch to said at most three middle switches and second internal links to said destinations from said at most three middles switches are available.
- 43. The method of claim 42,
wherein a connection exists through said network and passes through a middle switch and said method further comprises: if necessary, changing said connection to pass through another middle switch, act hereinafter “rearranging connection”.
- 44. The method of claim 42,
wherein any of said acts of fanning out and rearranging are performed recursively.
- 45. A method for setting up one or more multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said method comprising:
checking if all the destination output switches of said multicast connection have available second internal links from at most three middle switches.
- 46. The method of claim 45 further comprising:
checking if the input switch of said multicast connection has available first internal links to said at most three middle switches.
- 47. The method of claim 45 further comprising:
repeating said checkings of available second internal links to all said destination output switches for all the other combinations of at most three middle switches.
- 48. The method of claim 45 further comprising:
setting up each of said connection from its said input switch to its said output switches through at most three middle switches, selected by said checkings, by fanning out said multicast connection in its said input switch into at most said three middle stage switches;
- 49. The method of claim 45 wherein any of said acts of checking and setting up are performed recursively.
- 50. A method for setting up one or more new multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said method comprising:
disconnecting a previously set up multicast connection through the same input switch of said new multicast connection and; setting up said new multicast connection, through at most three middle switches, first and then setting up said previously set up connection, through at most three middle switches.
- 51. The method of claim 50 further comprising:
when any one of said two setting up acts fail, disconnecting said new multicast connection if it succeeded to get set up, and setting up said previously set up connection if it failed to get set up.
- 52. The method of claim 50 further comprising:
repeating said acts of disconnecting a previously set up connection and setting up after said new multicast connection for all the remaining previously set up connections in the same input switch.
- 53. The method of claim 50 further comprising:
by setting up said new connection through three middle switches having available first internal links so that only one of said three middle switches use second internal links which are already in use by one or more existing multicast connections from other input switches (hereinafter called “incompatible existing connections”); and disconnecting said incompatible existing connections.
- 54. The method of claim 50 further comprising:
for all said incompatible existing connections recursively repeating said acts of disconnecting and setting up connections in their respective first switches, until all said incompatible existing connections are set up.
- 55. The method of claim 50 wherein any of said acts of checking, and setting up are performed recursively.
- 56. A method of setting up a multicast connection through a three-stage network, said method comprising:
fanning out at most three times in an initial stage.
- 57. The method of claim 56 further comprising:
fanning out any number of times in each of the remaining stages, wherein said three-stage network includes said remaining stages and said initial stage.
- 58. The method of claim 56 further comprising:
repeating said acts of fanning out with a plurality of portions of each said stages.
- 59. The method of claim 56 further comprising:
recursively performing said act of fanning out.
- 60. The method of claim 56 wherein:
a remaining stage immediately following said initial stage comprises internal links that are at least three times the total number of inlet links of said initial stage.
- 61. The method of claim 56 wherein:
said initial stage comprises a plurality of first switches, and plurality of inlet links connected to each said first switch; and a remaining stage immediately following said initial stage comprises a plurality of second switches, that are at least three times the number of inlet links of each first switch and each second switch comprises a plurality of first internal links at least equal in number to the number of first switches in said initial stage.
- 62. A network comprising:
an input stage comprising N1 or n1*r1 inlet links and r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1, said n1 inlet links for receiving connection connections; an output stage comprising N2 or n2*r2 outlet links and r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2, said n2 outlet links for transmitting said received connections; and a middle stage having m middle switches, and each middle switch has at least one link connected to each input switch for a total of at least r1 first internal links and at least one link connected to each output switch for a total of at least r2 second internal links, said initial stage having multicast connections with a fan-out of at most three.
- 63. The network of claim 62 further comprising:
said multicast connections having a fan-out of one or more in said middle stage.
- 64. The network of claim 62 further comprising:
said multicast connections having a fan-out of one or more in said output stage.
- 65. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1; an output stage comprising r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2; and a middle stage comprising m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links; each middle switch further comprising at least one link connected to each output switch for a total of at least r2 second internal links, wherein each multicast connection from an inlet link passes through at most x middle switches, and said multicast connection further passes to a plurality of outlet links from said at most x middle switches.
- 66. The network of claim 65, wherein m≧(x−1)*n1+n2, x≧2.
- 67. The network of claim 66,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and said network is hereinafter “rearrangeably nonblocking network”.
- 68. The network of claim 65 comprising a controller in communication with said input, output and middle stages to set up said multicast connection.
- 69. The network of claim 66 wherein said r1 input switches and r2 output switches are the same number of switches.
- 70. The network of claim 66 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧x*n.
- 71. The rearrangeably nonblocking network of claim 67,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 72. The network of claim 65,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 73. A method for setting up one or more multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, for x≧2, said method comprising:
receiving a multicast connection at said input stage; fanning out said multicast connection in said input stage into at most x middle switches to set up said multicast connection to a plurality of output switches among said r2 output switches, wherein said plurality of output switches are specified as destinations of said multicast connection, wherein first internal links from said input switch to said at most x middle switches and second internal links to said destinations from said at most x middles switches are available.
- 74. The method of claim 73,
wherein a connection exists through said network and passes through a middle switch and said method further comprises: changing said connection to pass through another middle switch, the act hereinafter “rearranging connection”.
- 75. The method of claim 73 wherein any of said acts of fanning out and rearranging is performed recursively.
- 76. A method for setting up one or more multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each of said r2 output switches through r2 second internal links, for x≧2, said method comprising:
checking if all the destination output switches of said multicast connection have available second internal links from at most x middle switches.
- 77. The method of claim 76 further comprising:
checking if the input switch of said multicast connection has an available first internal links to said at most x middle switches.
- 78. The method of claim 76 further comprising:
repeating said checkings of available second internal links to all said destination output switches for all the other combinations of at most x middle switches.
- 79. The method of claim 76 further comprising:
setting up each of said connection from its said input switch to its said output switches through at most x middle switches, selected by said checkings, by fanning out said multicast connection in its said input switch into at most said x middle stage switches.
- 80. The method of claim 76 wherein any of said acts of checking and setting up are performed recursively.
- 81. A method for setting up one or more new multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, for x24 2, said method comprising:
disconnecting a previously set up multicast connection through the same input switch of said new multicast connection and; setting up said new multicast connection, through at most x middle switches, first and then setting up said previously set up connection, through at most x middle switches.
- 82. The method of claim 81 further comprising:
when any one of said two setting up acts fail, disconnecting said new multicast connection if it succeeded to get set up, and setting up said previously set up connection if it failed to get set up.
- 83. The method of claim 81 further comprising:
repeating said acts of disconnecting a previously set up connection and setting up after said new multicast connection for all the remaining previously set up connections in the same input switch.
- 84. The method of claim 81 further comprising:
by setting up said new connection through x middle switches having available first internal links so that only one of said x middle switches use second internal links which are already in use by one or more existing multicast connections from other input switches (hereinafter called “incompatible existing connections”); and disconnecting said incompatible existing connections.
- 85. The method of claim 81 further comprising:
for all said incompatible existing connections recursively repeating said acts of disconnecting and setting up connections in their respective first switches, until all said incompatible existing connections are set up.
- 86. The method of claim 81 wherein any of said acts of checking, and setting up are performed recursively.
- 87. A method of setting up a multicast connection through a three-stage network, for x24 2, for x24 2, said method comprising:
fanning out at most x times in an initial stage.
- 88. The method of claim 87 further comprising:
fanning out any number of times in each of the remaining stages, wherein said three-stage network includes said remaining stages and said initial stage.
- 89. The method of claim 87 further comprising:
repeating said acts of fanning out with a plurality of portions of each of said stages.
- 90. The method of claim 87 further comprising:
recursively performing said act of fanning out.
- 91. The method of claim 87 wherein:
a remaining stage immediately following said initial stage comprises internal links that are at least x times the total number of inlet links of said initial stage.
- 92. The method of claim 87 wherein:
said initial stage comprises a plurality of first switches, and plurality of inlet links connected to each said first switch; and a remaining stage immediately following said initial stage comprises a plurality of second switches that are at least x times the number of inlet links of each first switch and each second switch comprises a plurality of first internal links at least equal in number to the number of first switches in said initial stage.
- 93. A network comprising:
an input stage comprising N1 or n1*r1 inlet links and r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1, said n1 inlet links for receiving connection connections; an output stage comprising N2 or n2*r2 outlet links and r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2, said n2 outlet links for transmitting said received connections; and a middle stage having m middle switches, and each middle switch has at least one link connected to each input switch for a total of at least r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, said initial stage having multicast connections with a fan-out of at most x, for x≧2.
- 94. The network of claim 93 further comprising:
said multicast connections having a fan-out of one or more in said middle stage.
- 95. The network of claim 93 further comprising:
said multicast connections having a fan-out of one or more in said output stage.
- 96. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1; an output stage comprising r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2; and a middle stage comprising m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links; each middle switch further comprising at least one link connected to each output switch for a total of at least r2 second internal links; wherein 6m≥∑i=1pxi*ai,where 7∑i=1pai=n1+n2and x1,x2, . . . , xp≧1; wherein, for 1≦i≦p, multicast connections from ai inlet links of each input switch pass through at most xi middles switches.
- 97. The network of claim 96, where x1,x2, . . . , xp≧2,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and said network is hereinafter “rearrangeably nonblocking network”.
- 98. The network of claim 96 comprising a controller in communication with said input, output and middle stages to set up said multicast connection.
- 99. The network of claim 96 wherein said r1 input switches and r2 output switches are the same number of switches.
- 100. The network of claim 96 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧x*n.
- 101. The rearrangeably nonblocking network of claim 97,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 102. The network of claim 96,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 103. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1; an output stage comprising r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2; and a middle stage comprising m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links; each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, wherein each multicast connection from an inlet link passes through at most two middle switches, and said multicast connection further passes to a plurality of outlet links from said at most two middle switches.
- 104. The network of claim 103, wherein m≧n1+n2,
- 105. The network of claim 104,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and said network is hereinafter “rearrangeably nonblocking network”.
- 106. The network of claim 103 comprising a controller in communication with said input, output and middle stages to set up said multicast connection.
- 107. The network of claim 104 wherein said r1 input switches and r2 output switches are the same number of switches.
- 108. The network of claim 104 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧2*n.
- 109. The rearrangeably nonblocking network of claim 105,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 110. The network of claim 103,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 111. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1; an output stage comprising r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2; and a middle stage comprising m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links; each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, wherein each multicast connection from an inlet link passes through at most three middle switches, and said multicast connection further passes to a plurality of outlet links from said at most three middle switches.
- 112. The network of claim 111, wherein m≧2*n1+n2,
- 113. The network of claim 101,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and said network is hereinafter “rearrangeably nonblocking network”.
- 114. The network of claim 111 comprising a controller in communication with said input, output and middle stages to set up said multicast connection.
- 115. The network of claim 112 wherein said r1 input switches and r2 output switches are the same number of switches.
- 116. The network of claim 112 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧3*n.
- 117. The rearrangeably nonblocking network of claim 113,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 118. The network of claim 111,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 119. A network having a plurality of multicast, said network comprising:
an input stage comprising r1 input switches and n1 inlet links for each of said r1 input switches, and N1=n1*r1; an output stage comprising r2 output switches and n2 outlet links for each of said r2 output switches, and N2=n2*r2; and a middle stage comprising m middle switches, and each middle switch comprising at least one link connected to each input switch for a total of at least r1 first internal links; each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, for 2≦x≦r2, wherein each multicast connection from an inlet link passes through at most x middle switches, and said multicast connection further passes to a plurality of outlet links from said at most x middle switches.
- 120. The network of claim 119, wherein m≧(x−1)*n1+n2.
- 121. The network of claim 120,
further is always capable of setting up said multicast connection by changing the path, defined by passage of an existing multicast connection, thereby to change one or two middle switches used by said existing multicast connection, and said network is hereinafter “rearrangeably nonblocking network”.
- 122. The network of claim 119 comprising a controller in communication with said input, output and middle stages to set up said multicast connection.
- 123. The network of claim 120 wherein said r1 input switches and r2 output switches are the same number of switches.
- 124. The network of claim 120 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m≧x*n.
- 125. The rearrangeably nonblocking network of claim 121,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more rearrangeably nonblocking networks.
- 126. The network of claim 119,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 127. A network having a plurality of multicast connections, said network comprising:
an input stage comprising r1 input switches, and n1 inlet links for each of said r1 input switches; an output stage comprising r2 output switches, and n2 outlet links for each of said r2 output switches; and a middle stage comprising m middle switches, and each middle switch comprising at least one link (hereinafter “first internal link”) connected to each input switch for a total of at least r1 first internal links, each middle switch further comprising at least one link (hereinafter “second internal link”) connected to each output switch for a total of at least r2 second internal links; wherein each multicast connection from an inlet link passes through at most two middle switches, and said multicast connection further passes to a plurality of outlet links from said at most two middle switches.
- 128. The network of claim 127, wherein m=n1+n2−2*k, for
- 129. The network of claim 127 further comprising a controller coupled to each of said input, output and middle stages to set up said multicast connection.
- 130. The network of claim 128 wherein said r1 input switches and r2 output switches are the same number of switches.
- 131. The network of claim 128 wherein said n1 inlet links and n2 outlet links are the same number of links and n1=n2=n, then m=2*n−2*k, for 1≦k≦n.
- 132. The network of claim 127,
wherein each of said input switches, or each of said output switches, or each of said middle switches further recursively comprise one or more networks.
- 133. A method for setting up one or more new multicast connections in a network having an input stage having n1*r1 inlet links and r1 input switches, an output stage having n2*r2 outlet links and r2 output switches, and a middle stage having m middle switches, where each middle switch is connected to each of said r1 input switches through r1 first internal links and each middle switch further comprising at least one link connected to at most d said output switches for a total of at least d second internal links, wherein 1≦d≦r2, for x24 2, said method comprising:
disconnecting one or more previously set up multicast connections through the same input switch of said new multicast connection and; setting up said new multicast connection, through at most x middle switches, first and then setting up said one or more previously set up connections, through at most x middle switches, in all possible combinations of sequential order.
- 134. The method of claim 133 further comprising:
when any one of said setting up acts fail, disconnecting said new multicast connection if it succeeded to get set up, and setting up one or more said previously set up connections if they failed to get set up.
- 135. The method of claim 133 further comprising:
repeating said acts of disconnecting a previously set up connection and setting up after said new multicast connection for all the other one or more groups of previously set up connections in the same input switch.
- 136. The method of claim 133 further comprising:
by setting up said new connection through x middle switches having available first internal links so that only one of said x middle switches use second internal links which are already in use by one or more existing multicast connections from other input switches (hereinafter called “incompatible existing connections”); and disconnecting said incompatible existing connections.
- 137. The method of claim 133 further comprising:
for all said incompatible existing connections recursively repeating said acts of disconnecting and setting up connections in their respective first switches, until all said incompatible existing connections are set up.
- 138. The method of claim 133 wherein any of said acts of checking, and setting up are performed recursively.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and incorporates by reference in its entirety the related U.S. patent application Attorney Docket No. M-12222 entitled “STRICTLY NON-BLOCKING MULTICAST MULTI-STAGE NETWORKS” by Venkat Konda assigned to the same assignee as the current application, and filed concurrently.