(57)【特許請求の範囲】
【請求項１】
入力インタフェース側で分離されて送信された複数のデータを所定の宛先へスイッチ処理する第１のスイッチ処理部と、スイッチ処理の制御を行う制御部と、を含む第１のスイッチ部と、
入力インタフェース側で分離されて送信された複数のデータを所定の宛先へスイッチ処理する第２のスイッチ処理部を含み、前記第１のスイッチ部と対になる第２のスイッチ部と、
を備え、
前記制御部は、
前記第１のスイッチ処理部の輻輳状態に応じて、前記第１のスイッチ処理部で受信した所定数の前記データを、前記第２のスイッチ処理部へ迂回転送させて、前記第１のスイッチ処理部と前記第２のスイッチ処理部の双方でスイッチ処理させ、
前記第２のスイッチ処理部の輻輳状態に応じて、前記第２のスイッチ処理部で受信した所定数の前記データを、前記第１のスイッチ処理部へ迂回転送させて、前記第１のスイッチ処理部と前記第２のスイッチ処理部の双方でスイッチ処理させる、
ことを特徴とするスイッチ装置。
【請求項２】
前記第１のスイッチ部は、前記データを宛先毎に対応して格納する複数の第１の格納部をさらに有し、
前記第２のスイッチ部は、前記データを宛先毎に対応して格納する複数の第２の格納部をさらに有し、
前記制御部は、
前記第１の格納部に複数の同一宛先データが格納された容量が閾値以上となり、かつ迂回先の前記同一宛先データが格納される前記第２の格納部の容量が閾値未満となる場合に、前記第１のスイッチ処理部から前記第２のスイッチ処理部への迂回転送を行い、
前記同一宛先データが格納される前記第１の格納部および前記第２の格納部の双方の容量が共に閾値以上の場合は、前記迂回転送は行わず、
前記第２の格納部に複数の同一宛先データが格納された容量が閾値以上となり、かつ迂回先の前記同一宛先データが格納される前記第１の格納部の容量が閾値未満となる場合に、前記第２のスイッチ処理部から前記第１のスイッチ処理部への迂回転送を行い、
前記同一宛先データが格納される前記第１の格納部および前記第２の格納部の双方の容量が共に閾値以上の場合は、前記迂回転送は行わない、
ことを特徴とする請求項１記載のスイッチ装置。
【請求項３】
スイッチ方法において、
入力インタフェース側で分離されて送信された複数のデータを所定の宛先へスイッチ処理する第１のスイッチ処理部を含む第１のスイッチ部と、入力インタフェース側で分離されて送信された複数のデータを所定の宛先へスイッチ処理する第２のスイッチ処理部を含み、前記第１のスイッチ部と対になる第２のスイッチ部とを備え、
前記第１のスイッチ処理部の輻輳状態に応じて、前記第１のスイッチ処理部で受信した所定数の前記データを、前記第２のスイッチ処理部へ迂回転送させて、前記第１のスイッチ処理部と前記第２のスイッチ処理部の双方でスイッチ処理させ、
前記第２のスイッチ処理部の輻輳状態に応じて、前記第２のスイッチ処理部で受信した所定数の前記データを、前記第１のスイッチ処理部へ迂回転送させて、前記第１のスイッチ処理部と前記第２のスイッチ処理部の双方でスイッチ処理させる、
ことを特徴とするスイッチ方法。
【請求項４】
前記第１のスイッチ部は、前記データを宛先毎に対応して格納する複数の第１の格納部をさらに有し、
前記第２のスイッチ部は、前記データを宛先毎に対応して格納する複数の第２の格納部をさらに有し、
前記第１の格納部に複数の同一宛先データが格納された容量が閾値以上となり、かつ迂回先の前記同一宛先データが格納される前記第２の格納部の容量が閾値未満となる場合に、前記第１のスイッチ処理部から前記第２のスイッチ処理部への迂回転送を行い、
前記同一宛先データが格納される前記第１の格納部および前記第２の格納部の双方の容量が共に閾値以上の場合は、前記迂回転送は行わず、
前記第２の格納部に複数の同一宛先データが格納された容量が閾値以上となり、かつ迂回先の前記同一宛先データが格納される前記第１の格納部の容量が閾値未満となる場合に、前記第２のスイッチ処理部から前記第１のスイッチ処理部への迂回転送を行い、
前記同一宛先データが格納される前記第１の格納部および前記第２の格納部の双方の容量が共に閾値以上の場合は、前記迂回転送は行わない、
ことを特徴とする請求項３記載のスイッチ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ処理を行うスイッチ装置およびスイッチ方法に関する。
【背景技術】
【０００２】
インターネットを利用したデータ通信サービスは飛躍的に発展しており、ＩＰ（Internet Protocol）パケットによるデータ通信が、データ通信全体のトラフィックの主流となりつつある。
【０００３】
特に、音声や動画像データの伝送のように、リアルタイム性が強く要求されるサービスに対する需要の高まりや、データ通信速度の高速化による装置の大容量化が顕著である。
これに伴い、長距離、大容量のデータを転送する装置もパケットトランスポート形式への移行が進められている。また、現在の状況は、SONET／SDH／OTN（Synchronous Optical Network／Synchronous Digital Hierarchy／Optical Transport Network）などの、連続した一定レートのフレーム内に対象データをマッピングして転送する形式から、パケットトランスポート形式へ移行する過渡期となっている。このため、伝送システムに対しても、高速化、大容量化に合わせて、SONET／SDH／OTNなどのアプリケーションの適用が求められている。
【０００４】
一方、伝送システムにおいては、スイッチ装置によってネットワーク間の接続を行うが、回線数、回線容量の増大に伴い、スイッチ装置の重要性が増してきており、高品質なスイッチ装置の開発が望まれている。
【０００５】
従来技術として、通話路段間に複数のサブスイッチを挿入してコピーセル同士のリンク輻輳を回避したスイッチ技術が提案されている（特許文献１）。また、セル順序逆転を補正する順序制御回路を設けて遅延を低減したスイッチ技術が提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０４−２２３６９２号公報
【特許文献２】特開平０５−２６８２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来のスイッチ装置では、スイッチング時に同一宛先へ向かう複数のデータが集中すると、データの輻輳（競合）が発生し、同一宛先へのデータ送出において、待ち合せによる伝送遅延が発生するといった問題があった。
【０００８】
本発明はこのような点に鑑みてなされたものであり、スイッチング時のデータの輻輳を低減し、伝送遅延を抑制したスイッチ装置を提供することを目的とする。
また、本発明の他の目的は、スイッチング時のデータの輻輳を低減し、伝送遅延を抑制したスイッチ方法を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、スイッチ装置が提供される。スイッチ装置は、入力インタフェース側で分離されて送信された複数のデータを所定の宛先へスイッチ処理する第１のスイッチ処理部と、スイッチ処理の制御を行う制御部と、を含む第１のスイッチ部と、入力インタフェース側で分離されて送信された複数のデータを所定の宛先へスイッチ処理する第２のスイッチ処理部を含み、前記第１のスイッチ部と対になる第２のスイッチ部とを備える。前記制御部は、前記第１のスイッチ処理部、及び前記第２のスイッチ処理部の輻輳状態に応じて、前記第１のスイッチ処理部で受信した所定数の前記データを、前記第２のスイッチ処理部へ迂回転送させて、前記第１のスイッチ処理部と前記第２のスイッチ処理部の双方でスイッチ処理させ、同様に前記第１のスイッチ処理部、及び前記第２のスイッチ処理部の輻輳状態に応じて、前記第２のスイッチ処理部で受信した所定数の前記データを、前記第１のスイッチ処理部へ迂回転送させて、前記第１のスイッチ処理部と前記第２のスイッチ処理部の双方でスイッチ処理させる。
【発明の効果】
【００１０】
輻輳を低減し、伝送遅延を抑制することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】スイッチ装置の構成例を示す図である。
【図２】スイッチ装置の構成例を示す図である。
【図３】セグメントの流れを示す図である。
【図４】セグメント表記を説明するための図である。
【図５】キューイング状態を示す図である。
【図６】セグメントの流れを示す図である。
【図７】セグメントの流れを示す図である。
【図８】キューイング状態を示す図である。
【図９】セグメントの流れを示す図である。
【図１０】セグメントの流れを示す図である。
【図１１】スイッチ装置の構成例を示す図である。
【図１２】セグメントの流れを示す図である。
【図１３】セグメントの迂回転送状態を説明するための図である。
【図１４】セグメントの迂回転送状態を説明するための図である。
【図１５】セグメントの迂回転送状態を説明するための図である。
【図１６】セグメントの流れを示す図である。
【図１７】セグメントの流れを示す図である。
【図１８】スイッチチップの内部構成例を示す図である。
【図１９】動作タイムチャートを示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面を参照して説明する。図１はスイッチ装置の構成例を示す図である。スイッチ装置３は、スイッチ部３ａ−１（第１のスイッチ部）とスイッチ部３ａ−２（第２のスイッチ部）を備える。
【００１３】
スイッチ部３ａ−１は、スイッチ処理部３０ａ−１（第１のスイッチ処理部）と制御部１０ａを含む。スイッチ部３ａ−２は、スイッチ処理部３０ａ−２（第２のスイッチ処理部）を含む。なお、制御部１０ａは、スイッチ処理部３０ａ−１、３０ａ−２と接続し、スイッチ処理部３０ａ−１とスイッチ処理部３０ａ−２とは互いに接続する。
【００１４】
スイッチ処理部３０ａ−１、３０ａ−２は、受信した複数のデータを所定の宛先へスイッチ処理する。制御部１０ａは、スイッチ処理の制御を行う。ここで、制御部１０ａは、スイッチ処理部３０ａ−１の輻輳状態に応じて、スイッチ処理部３０ａ−１で受信した所定数のデータを、スイッチ処理部３０ａ−２へ迂回転送させて、スイッチ処理部３０ａ−１とスイッチ処理部３０ａ−２の双方でスイッチ処理させる。
【００１５】
または、スイッチ処理部３０ａ−２の輻輳状態に応じて、スイッチ処理部３０ａ−２で受信した所定数のデータを、スイッチ処理部３０ａ−１へ迂回転送させて、スイッチ処理部３０ａ−１とスイッチ処理部３０ａ−２の双方でスイッチ処理させる。
【００１６】
このように、一方のスイッチ処理部の輻輳状態に応じて、受信したデータの所定数のデータを、ペアとなっているスイッチ処理部へ迂回転送させて、双方のスイッチ処理部でスイッチ処理を行う構成とした。これにより、スイッチング時のデータの競合数を削減することができ、伝送遅延を抑制することが可能になる。
【００１７】
次にスイッチ装置３を説明する前に、スイッチング時に生じるデータ輻輳（競合）状態について説明する。最初にスイッチ装置３の機能を持たない一般的なスイッチ装置の構成について説明する。
【００１８】
図２はスイッチ装置の構成例を示す図である。スイッチ装置１００は、入力側Ｉ／Ｆ（インタフェース）の処理を行う入力カード１１−１〜１１−４と、スイッチモジュール２０と、出力側Ｉ／Ｆの処理を行う出力カード１２−１〜１２−４とを備える。
【００１９】
入力カード１１−１〜１１−４はそれぞれ、分離部１１ａ〜１１ｄを含み、出力カード１２−１〜１２−４は、多重部１２ｅ〜１２ｈを含む。
スイッチモジュール２０は、スイッチチップ２１〜２４を備える。スイッチチップ２１は、分配部ｄｉｓ１およびキューｑ１〜ｑ４を含み、スイッチチップ２２は、分配部ｄｉｓ２およびキューｑ５〜ｑ８を含む。
【００２０】
また、スイッチチップ２３は、分配部ｄｉｓ３およびキューｑ９〜ｑ１２を含み、スイッチチップ２４は、分配部ｄｉｓ４およびキューｑ１３〜ｑ１６を含む。
分離部１１ａは、出力ポートａ１〜ａ４を備え、分離部１１ｂは、出力ポートｂ１〜ｂ４を備える。また、分離部１１ｃは、出力ポートｃ１〜ｃ４を備え、分離部１１ｄは、出力ポートｄ１〜ｄ４を備える。
【００２１】
多重部１２ｅは、入力ポートｅ１〜ｅ４を備え、多重部１２ｆは、入力ポートｆ１〜ｆ４を備える。また、多重部１２ｇは、入力ポートｇ１〜ｇ４を備え、多重部１２ｈは、入力ポートｈ１〜ｈ４を備える。
【００２２】
スイッチチップ２１は、入力ポートｓｉ１〜ｓｉ４および出力ポートｓｏ１〜ｓｏ４を備え、スイッチチップ２２は、入力ポートｓｉ５〜ｓｉ８および出力ポートｓｏ５〜ｓｏ８を備える。
【００２３】
スイッチチップ２３は、入力ポートｓｉ９〜ｓｉ１２および出力ポートｓｏ９〜ｓｏ１２を備え、スイッチチップ２４は、入力ポートｓｉ１３〜ｓｉ１６および出力ポートｓｏ１３〜ｓｏ１６を備える。
【００２４】
各ポートの接続関係について説明する。スイッチモジュール２０の入力側におけるポート接続関係は、ポートａ１とポートｓｉ１が接続し、ポートａ２とポートｓｉ５が接続し、ポートａ３とポートｓｉ９が接続し、ポートａ４とポートｓｉ１３が接続する。
【００２５】
また、ポートｂ１とポートｓｉ２が接続し、ポートｂ２とポートｓｉ６が接続し、ポートｂ３とポートｓｉ１０が接続し、ポートｂ４とポートｓｉ１４が接続する。さらに、ポートｃ１とポートｓｉ３が接続し、ポートｃ２とポートｓｉ７が接続し、ポートｃ３とポートｓｉ１１が接続し、ポートｃ４とポートｓｉ１５が接続する。
【００２６】
さらにまた、ポートｄ１とポートｓｉ４が接続し、ポートｄ２とポートｓｉ８が接続し、ポートｄ３とポートｓｉ１２が接続し、ポートｄ４とポートｓｉ１６が接続する。
スイッチ出力側におけるポート接続関係は、ポートｓｏ１とポートｅ１が接続し、ポートｓｏ２とポートｆ１が接続し、ポートｓｏ３とポートｇ１が接続し、ポートｓｏ４とポートｈ１が接続する。
【００２７】
また、ポートｓｏ５とポートｅ２が接続し、ポートｓｏ６とポートｆ２が接続し、ポートｓｏ７とポートｇ２が接続し、ポートｓｏ８とポートｈ２が接続する。さらに、ポートｓｏ９とポートｅ３が接続し、ポートｓｏ１０とポートｆ３が接続し、ポートｓｏ１１とポートｇ３が接続し、ポートｓｏ１２とポートｈ３が接続する。
【００２８】
さらにまた、ポートｓｏ１３とポートｅ４が接続し、ポートｓｏ１４とポートｆ４が接続し、ポートｓｏ１５とポートｇ４が接続し、ポートｓｏ１６とポートｈ４が接続する。
各構成要素の動作について説明する。分離部１１ａは、入力データを受信すると、セグメント単位に分離し、各セグメントをポートａ１〜ａ４から出力する（個々のセグメント毎に宛先が決まっている）。分離部１１ｂは、入力データを受信すると、セグメント単位に分離し、各セグメントをポートｂ１〜ｂ４から出力する。
【００２９】
分離部１１ｃは、入力データを受信すると、セグメント単位に分離し、各セグメントをポートｃ１〜ｃ４から出力する。分離部１１ｄは、入力データを受信すると、セグメント単位に分離し、各セグメントをポートｄ１〜ｄ４から出力する。
【００３０】
分配部ｄｉｓ１は、ポートｓｉ１〜ｓｉ４を通じて受信したセグメントを、所定のキューｑ１〜ｑ４へ分配する。キューｑ１〜ｑ４は、分配されたセグメントをキューイングする。キューイング後のセグメントは、ポートｓｏ１〜ｓｏ４を通じて出力される。
【００３１】
分配部ｄｉｓ２は、ポートｓｉ５〜ｓｉ８を通じて受信したセグメントを、所定のキューｑ５〜ｑ８へ分配する。キューｑ５〜ｑ８は、分配されたセグメントをキューイングする。キューイング後のセグメントは、ポートｓｏ５〜ｓｏ８を通じて出力される。
【００３２】
分配部ｄｉｓ３は、ポートｓｉ９〜ｓｉ１２を通じて受信したセグメントを、所定のキューｑ９〜ｑ１２へ分配する。キューｑ９〜ｑ１２は、分配されたセグメントをキューイングする。キューイング後のセグメントは、ポートｓｏ９〜ｓｏ１２を通じて出力される。
【００３３】
分配部ｄｉｓ４は、ポートｓｉ１３〜ｓｉ１６を通じて受信したセグメントを、所定のキューｑ１３〜ｑ１６へ分配する。キューｑ１３〜ｑ１６は、分配されたセグメントをキューイングする。キューイング後のセグメントは、ポートｓｏ１３〜ｓｏ１６を通じて出力される。
【００３４】
多重部１２ｅは、スイッチング後のセグメントをポートｅ１〜ｅ４で受信すると多重化して、ポート＃１を介して出力する。多重部１２ｆは、スイッチング後のセグメントをポートｆ１〜ｆ４で受信すると多重化して、ポート＃２を介して出力する。
【００３５】
多重部１２ｇは、スイッチング後のセグメントをポートｇ１〜ｇ４で受信すると多重化して、ポート＃３を介して出力する。多重部１２ｈは、スイッチング後のセグメントをポートｈ１〜ｈ４で受信すると多重化して、ポート＃４を介して出力する。
【００３６】
次にスイッチング時に生じるセグメント輻輳状態について図３〜図１０を用いて説明する。図３はセグメントの流れを示す図である。入力Ｉ／Ｆカード１１−１〜１１−４からスイッチチップ２１へ、セグメントｓ１〜ｓ４が送出される状態を示している。
【００３７】
入力Ｉ／Ｆカード１１−１内の分離部１１ａのポートａ１から、セグメントｓ１が出力し、入力Ｉ／Ｆカード１１−２内の分離部１１ｂのポートｂ１から、セグメントｓ２が出力している。
【００３８】
また、入力Ｉ／Ｆカード１１−３内の分離部１１ｃのポートｃ１から、セグメントｓ３が出力し、入力Ｉ／Ｆカード１１−４内の分離部１１ｄのポートｄ１から、セグメントｓ４が出力している。
【００３９】
セグメントｓ１〜ｓ４の宛先はすべて出力先ポート＃１（出力Ｉ／Ｆカード１２−１）とする。なお、図中、セグメントの流れがわかりやすいように、各セグメントに対して、セグメントの宛先である出力先ポート番号、送信元カード番号およびセグメントの送信番号を記している（図４にセグメント表記の説明図を示す）。
【００４０】
例えば、セグメントｓ２では、“＃１”は出力先ポート番号である。また、“２−１”の“２”は送信元カード番号であり、入力Ｉ／Ｆカード１１−２が送信元カードであることを示している。さらに、“２−１”の“１”はセグメントの送信番号を示している。
【００４１】
図５はキューイング状態を示す図である。スイッチチップ２１内のキューｑ１のキューイング状態を示している。スイッチチップ２１の分配部ｄｉｓ１は、ポートｓｉ１〜ｓｉ４を通じてセグメントｓ１〜ｓ４を受信する。セグメントｓ１〜ｓ４の宛先は、出力先ポート＃１であるため、セグメントｓ１〜ｓ４は、キューｑ１に分配される。キューｑ１は、セグメントｓ１〜ｓ４をキューイングする。
【００４２】
図６はセグメントの流れを示す図である。入力Ｉ／Ｆカード１１−１〜１１−４からスイッチチップ２２へ、次セグメントが送出される状態を示している。セグメントｓ５〜ｓ８が入力Ｉ／Ｆカード１１−１〜１１−４からそれぞれ出力される。セグメントｓ５、ｓ６の宛先は出力ポート＃２（出力Ｉ／Ｆカード１２−２）とし、セグメントｓ７、ｓ８の宛先は出力ポート＃３（出力Ｉ／Ｆカード１２−３）とする。
【００４３】
入力Ｉ／Ｆカード１１−１内の分離部１１ａは、ポートａ２からセグメントｓ５を出力し、入力Ｉ／Ｆカード１１−２内の分離部１１ｂは、ポートｂ２からセグメントｓ６を出力する。
【００４４】
入力Ｉ／Ｆカード１１−３内の分離部１１ｃは、ポートｃ２からセグメントｓ７を出力し、入力Ｉ／Ｆカード１１−４内の分離部１１ｄは、ポートｄ２からセグメントｓ８を出力する。
【００４５】
図７はセグメントの流れを示す図である。スイッチチップ２１から出力Ｉ／Ｆカード１２−１へ、キューイング後のセグメントｓ１〜ｓ４が送出される状態を示している。キューｑ１からセグメントｓ１〜ｓ４が、ポートｓｏ１を介して順次出力される。
【００４６】
図８はキューイング状態を示す図である。スイッチチップ２２内のキューｑ６、ｑ７のキューイング状態を示している。スイッチチップ２２の分配部ｄｉｓ２は、ポートｓｉ５〜ｓｉ８を通じてセグメントｓ５〜ｓ８を受信する。
【００４７】
セグメントｓ５、ｓ６の宛先は、出力先ポート＃２であるため、セグメントｓ５、ｓ６は、キューｑ６に分配される。キューｑ６は、セグメントｓ５、ｓ６をキューイングする。
【００４８】
また、セグメントｓ７、ｓ８の宛先は、出力先ポート＃３であるため、セグメントｓ７、ｓ８は、キューｑ７に分配される。キューｑ７は、セグメントｓ７、ｓ８をキューイングする。
【００４９】
図９はセグメントの流れを示す図である。出力Ｉ／Ｆカード１２−１からセグメントｓ１〜ｓ４が出力される状態と、スイッチチップ２２からセグメントｓ５〜ｓ８が出力される状態とを示している。
【００５０】
出力Ｉ／Ｆカード１２−１は、ポートｅ１を通じて、セグメントｓ１〜ｓ４を受信し、多重部１２ｅにより、セグメントｓ１〜ｓ４を多重化して、出力先ポート＃１を介して出力する。
【００５１】
一方、スイッチチップ２２のキューｑ６から出力されたセグメントｓ５、ｓ６は、ポートｓｏ６を介して出力される。さらに、スイッチチップ２２のキューｑ７から出力されたセグメントｓ７、ｓ８は、ポートｓｏ７を介して出力される。
【００５２】
図１０はセグメントの流れを示す図である。出力Ｉ／Ｆカード１２−２からセグメントｓ５、ｓ６が出力される状態と、出力Ｉ／Ｆカード１２−３からセグメントｓ７、ｓ８が出力される状態とを示している。
【００５３】
出力Ｉ／Ｆカード１２−２は、ポートｆ２を通じて、セグメントｓ５、ｓ６を受信し、多重部１２ｆにより、セグメントｓ５、ｓ６を多重化して出力先ポート＃２を介して出力する。また、出力Ｉ／Ｆカード１２−３は、ポートｇ２を通じて、セグメントｓ７、ｓ８を受信し、多重部１２ｇにより、セグメントｓ７、ｓ８を多重化して出力先ポート＃３を介して出力する。
【００５４】
上記のセグメントのスイッチング状態において、同一宛先の出力ポート＃１に向かうセグメントｓ１〜ｓ４は、スイッチチップ２１に到達して出力されることにより、スイッチチップ２１では４つのセグメントｓ１〜ｓ４が同一宛先であるため輻輳が発生し、出力待ちによる遅延が発生して伝送品質が低下することになる。
【００５５】
ここで、Ｉ／Ｆカードとスイッチモジュールとの間のおよその帯域は、（Ｉ／Ｆカードの容量）÷（スイッチチップ数）で求まる。例えば、Ｉ／Ｆカードの容量が10Gbps、スイッチチップ数が４ならば2.5Gbpsとなる。
【００５６】
したがって、Ｉ／Ｆカードとスイッチモジュールとの間の帯域が、Ｉ／Ｆカードの容量分確保されていれば、スイッチチップで輻輳が発生したとしても、待ち合せによる遅延は低減するが、このような構成は、コスト増大を招き、また実装面でも不利なため、現実的な構成とはいえない。
【００５７】
従来のスイッチ装置１００では、スイッチング時に同一宛先へ向かう複数のセグメントが集中すると、伝送品質を顕著に低下させるほどのセグメントの輻輳が発生するおそれがあった。このため、他のスイッチチップは空いているにもかかわらず、あるスイッチチップの待ち合せによる遅延が発生し、装置全体の遅延として見えてしまうことになる。
【００５８】
本発明では、上記のような状況に鑑みて、スイッチング時のセグメント輻輳を低減して、伝送遅延を抑制し、伝送品質の向上を図るものである。
次にスイッチ装置３について説明する。図１１はスイッチ装置の構成例を示す図である。スイッチ装置３−１は、入力Ｉ／Ｆカード１１−１〜１１−４と、スイッチモジュール３０（図１のスイッチ装置３の機能を含む）と、出力側Ｉ／Ｆの処理を行う出力Ｉ／Ｆカード１２−１〜１２−４とを備える。図２に示したスイッチ装置１００とは、スイッチモジュールの構成が異なり、Ｉ／Ｆカードおよびポート接続については同様である。したがって、以降では同じ箇所には同じ符号を付けて異なる部分のみ説明する。
【００５９】
スイッチモジュール３０は、スイッチチップ３ａ−１、３ａ−２およびスイッチチップ３ｂ−１、３ｂ−２を備える。スイッチチップ３ａ−１とスイッチチップ３ａ−２とは接続し、スイッチチップ３ｂ−１とスイッチチップ３ｂ−２とは接続する。なお、スイッチチップ３ａ−１、３ｂ−１は、図１のスイッチ部３ａ−１に該当し、スイッチチップ３ａ−２、３ｂ−２は図１のスイッチ部３ａ−２に該当する。
【００６０】
スイッチチップ３ａ−１は、スイッチ処理部３０ａ−１、制御部１０ａおよび出力側ＦｉＦｏＱ１を含み、スイッチチップ３ａ−２は、スイッチ処理部３０ａ−２および出力側ＦｉＦｏＱ２を含む。
【００６１】
スイッチチップ３ｂ−１は、スイッチ処理部３０ｂ−１、制御部１０ｂおよび出力側ＦｉＦｏＱ３を含み、スイッチチップ３ｂ−２は、スイッチ処理部３０ｂ−２および出力側ＦｉＦｏＱ４を含む。なお、出力側ＦｉＦｏＱ１、Ｑ３は、第１の格納部に該当し、出力側ＦｉＦｏＱ２、Ｑ４は、第２の格納部に該当する。
【００６２】
次にスイッチ装置３−１における動作について説明する。図１２はセグメントの流れを示す図である。入力Ｉ／Ｆカード１１−１〜１１−４からスイッチチップ３ａ−１へ、セグメントｓ１〜ｓ４が送出される状態を示している。
【００６３】
入力Ｉ／Ｆカード１１−１〜１１−４のそれぞれから、セグメントｓ１〜ｓ４が出力される。セグメントｓ１〜ｓ４の宛先はすべて出力先ポート＃１（出力Ｉ／Ｆカード１２−１）とする。
【００６４】
入力Ｉ／Ｆカード１１−１内の分離部１１ａは、ポートａ１からセグメントｓ１を出力し、入力Ｉ／Ｆカード１１−２内の分離部１１ｂは、ポートｂ１からセグメントｓ２を出力する。
【００６５】
また、入力Ｉ／Ｆカード１１−３内の分離部１１ｃは、ポートｃ１からセグメントｓ３を出力し、入力Ｉ／Ｆカード１１−４内の分離部１１ｄは、ポートｄ１からセグメントｓ４を出力する。
【００６６】
図１３〜図１５はセグメントの迂回転送状態を説明するための図である。図１３において、スイッチチップ３ａ−１のポートｓｉ１〜ｓｉ４のそれぞれにセグメントｓ１〜ｓ４が到達している。ここでは、セグメントｓ１、ｓ２が先に到達し、セグメントｓ３、ｓ４が後に到達したとする。
【００６７】
図１４において、制御部１０ａは、セグメントｓ１〜ｓ４の宛先がすべて出力先ポート＃１であることを認識する。すると、制御部１０ａは、スイッチ処理部３０ａ−１、３０ａ−２に対して、先に到達したセグメントｓ１、ｓ２に関しては、自スイッチチップ３ａ−１内のキューｑ１にキューイングが行われ、後に到達したセグメントｓ３、ｓ４に関しては、スイッチチップ３ａ−２内のキューｑ５にキューイングが行われるような分配指示を出す。
【００６８】
スイッチ処理部３０ａ−１は、制御部１０ａからの分配指示にもとづき、セグメントｓ１、ｓ２はキューｑ１へ送信し、セグメントｓ３、ｓ４については、スイッチ処理部３０ａ−２へ送信する。
【００６９】
図１５において、キューｑ１は、スイッチ処理部３０ａ−１から送信されたセグメントｓ１、ｓ２をキューイングする。また、キューｑ５は、スイッチ処理部３０ａ−２から送信されたセグメントｓ３、ｓ４をキューイングする。
【００７０】
図１６はセグメントの流れを示す図である。スイッチチップ３ａ−１から出力Ｉ／Ｆカード１２−１へ、キューイング後のセグメントｓ１、ｓ２が送出され、スイッチチップ３ａ−２から出力Ｉ／Ｆカード１２−１へ、キューイング後のセグメントｓ３、ｓ４が送出される状態を示している。
【００７１】
セグメントｓ１、ｓ２は、スイッチチップ３ａ−１のポートｓｏ１を通じて出力され、セグメントｓ３、ｓ４は、スイッチチップ３ａ−２のポートｓｏ５を通じて出力されている。
【００７２】
図１７はセグメントの流れを示す図である。出力Ｉ／Ｆカード１２−１からセグメントｓ１〜ｓ４が出力される状態を示している。出力Ｉ／Ｆカード１２−１は、ポートｅ１を通じて、セグメントｓ１、ｓ２を受信し、ポートｅ２を通じて、セグメントｓ３、ｓ４を受信する。そして、多重部１２ｅにより、セグメントｓ１〜ｓ４を多重化して出力先ポート＃１を介して出力する。
【００７３】
上記のように、スイッチチップ３ａ−１に集中するセグメントｓ１〜ｓ４に対して、セグメントｓ１、ｓ２については、スイッチチップ３ａ−１でスイッチ処理し、セグメントｓ３、ｓ４については、スイッチチップ３ａ−２へ迂回転送して、スイッチチップ３ａ−２でスイッチ処理する構成とした。これにより、スイッチチップ３ａ−１に集中するセグメントｓ１〜ｓ４の輻輳状態を低減して、伝送遅延を抑制することが可能になる。
【００７４】
次にスイッチチップ３ａ−１の構成について説明する（スイッチチップ３ａ−２は、制御部を含まないだけで、スイッチチップ３ａ−１と基本構成は同じである）。図１８はスイッチチップ３ａ−１の内部構成例を示す図である。スイッチチップ３ａ−１は、スイッチ処理部３０ａ−１、制御部１０ａおよび出力側ＦｉＦｏＱ１を備える。
【００７５】
また、スイッチ処理部３０ａ−１は、受信側ＦｉＦｏ３１、分配部３２、多重部３３、３４、分配部３５、３６、多重部３７、ＷａｉｔＦｉＦｏ３８およびタイミング生成部３９を備える。なお、受信側ＦｉＦｏ３１は、キューｑｒ１〜ｑｒ４を含み、分配部３２は、ＤＩＳ（distributor）３２ａ〜３２ｄを含み、また多重部３７は、ＭＵＸ３７ａ〜３７ｄを含む。
【００７６】
キューｑｒ１は、ポートｓｉ１を介して受信したセグメントをキューイングした後、タイミング信号にもとづき、ＤＩＳ３２ａへ出力する。キューｑｒ２は、ポートｓｉ２を介して受信したセグメントをキューイングした後、タイミング信号にもとづき、ＤＩＳ３２ｂへ出力する。
【００７７】
キューｑｒ３は、ポートｓｉ３を介して受信したセグメントをキューイングした後、タイミング信号にもとづき、ＤＩＳ３２ｃへ出力する。キューｑｒ４は、ポートｓｉ４を介して受信したセグメントをキューイングした後、タイミング信号にもとづき、ＤＩＳ３２ｄへ出力する。
【００７８】
分配部３２内の各ＤＩＳ３２ａ〜３２ｄは、制御部１０ａから送信されたセグメントを自スイッチチップ３ａ−１内の出力側ＦｉＦｏＱ１に分配するか、または他スイッチチップ３ａ−２に分配するかの指示にもとづいて、受信したセグメントを多重部３３または多重部３４へ分配する。
【００７９】
多重部３４は、タイミング信号にもとづいて、スイッチチップ３ａ−２宛のセグメントを多重化する。多重化したデータ信号ｄ１は、スイッチチップ３ａ−２へ送信する。なお、データ信号ｄ１は、スイッチチップ３ａ−２側のＷａｉｔＦｉＦｏへ送信されることになる。
【００８０】
多重部３３は、タイミング信号にもとづいて、自スイッチチップ３ａ−１内の出力側ＦｉＦｏＱ１宛のセグメントを多重化して、分配部３５へ送信する。分配部３５は、セグメントの宛先によりキューｑ１〜ｑ４のいずれかを選択し、受信したセグメントをＭＵＸ３７ａ〜３７ｄへ分配して選択先へ出力する。
【００８１】
ＷａｉｔＦｉＦｏ３８は、スイッチチップ３ａ−２から送信されたデータ信号ｄ２（スイッチチップ３ａ−２から迂回転送されたデータである）をキューイングし、タイミング信号にもとづいて、分配部３６へ出力する。
【００８２】
分配部３６は、セグメントの宛先によりキューｑ１〜ｑ４のいずれかを選択し、受信したデータ信号ｄ２をセグメント単位にＭＵＸ３７ａ〜３７ｄへ分配して選択先に出力する。ＭＵＸ３７ａ〜３７ｄは、分配部３５から出力されたセグメント、および分配部３６から出力されたスイッチチップ３ａ−２側のセグメントを受信し、タイミング信号にもとづき、多重化して出力する。
【００８３】
キューｑ１は、ＭＵＸ３７ａから送信されたセグメントをキューイングし、キューイング後のセグメントは、ポートｓｏ１を介して出力される。キューｑ２は、ＭＵＸ３７ｂから送信されたセグメントをキューイングし、キューイング後のセグメントは、ポートｓｏ２を介して出力される。
【００８４】
キューｑ３は、ＭＵＸ３７ｃから送信されたセグメントをキューイングし、キューイング後のセグメントは、ポートｓｏ３を介して出力される。キューｑ４は、ＭＵＸ３７ｄから送信されたセグメントをキューイングし、キューイング後のセグメントは、ポートｓｏ４を介して出力される。
【００８５】
また、キューｑ１〜ｑ４は、自己のキューイング状態（容量）を制御部１０ａへ通知する。制御部１０ａは、監視ラインｓｔ１を通じて、スイッチチップ３ａ−１のキューｑ１〜ｑ４の容量を監視し、かつ監視ラインｓｔ２を通じて、スイッチチップ３ａ−２のキューｑ５〜ｑ８の容量を監視する。そして、輻輳（競合）発生時にはペアとなっている別スイッチチップへセグメントを互いに迂回させる制御を行う。
【００８６】
自キューｑ１〜ｑ４のキューイングの輻輳状態に応じて、迂回転送の指示ｃ１を分配部３２へ送信する。または、スイッチチップ３ａ−２内のキューｑ５〜ｑ８の輻輳状態に応じて、迂回転送の指示ｃ２をスイッチチップ３ａ−２へ送信する。
【００８７】
制御部１０ａの具体的な動作について説明する。今、同一宛先データとして、出力ポート＃１へ向かうデータ量が多く、スイッチチップ３ａ−１内のスイッチ処理部３０ａ−１で輻輳が生じる状態であるとする。
【００８８】
制御部１０ａでは、キューｑ１に対し、出力ポート＃１へ向かう複数の同一宛先データが格納され、キューｑ１の容量が閾値以上となるか否かを判別する。さらに、迂回先の出力ポート＃１へ向かう同一宛先データが格納されるキューｑ５の現在の容量が、閾値未満であるか否かを判別する。
【００８９】
出力ポート＃１へ向かう複数の同一宛先データを格納するキューｑ１の容量が閾値以上となり、かつ迂回先の出力ポート＃１へ向かう同一宛先データが格納されるキューｑ５の現在の容量が閾値未満であったとする。
【００９０】
この場合は、スイッチチップ３ａ−１内のスイッチ処理部３０ａ−１から、スイッチチップ３ａ−２内のスイッチ処理部３０ａ−２に対して、出力ポート＃１へ向かう同一宛先データの所定数のデータを迂回転送する。
【００９１】
また、所定数のデータを迂回転送するとは、この例の場合、キューｑ５の容量の閾値を超えない程度のデータ数を、スイッチ処理部３０ａ−１からスイッチ処理部３０ａ−２へ迂回転送してキューｑ１の容量を低減するものである。
【００９２】
このように、キューｑ１の容量を超える分のデータを、他方のスイッチチップ３ａ−２へ迂回転送して振り分けて、スイッチ処理部３０ａ−１とスイッチ処理部３０ａ−２の双方でスイッチ処理を行うことにより、スイッチ処理部３０ａ−１での輻輳状態を低減することができる。
【００９３】
また、迂回転送を実施してスイッチ処理を行っているときに、キューｑ１の容量が閾値未満となった場合は、迂回転送を停止して、スイッチチップ３ａ−１だけでスイッチ処理を行う（迂回転送を行うための閾値（上限閾値）と、迂回転送を停止するための閾値（下限閾値）の２つの閾値を設定して制御してもよい）。
【００９４】
なお、出力ポート＃１へ向かう同一宛先データが格納されるキューｑ１およびキューｑ５の双方の容量が共に閾値以上であった場合は、スイッチ処理部３０ａ−１からスイッチ処理部３０ａ−２への迂回転送は実施しない。
【００９５】
一方、上記とは逆に、同一宛先データとして、出力ポート＃１へ向かうデータ量が多く、スイッチチップ３ａ−２内のスイッチ処理部３０ａ−２で輻輳が生じる状態であるとする。
【００９６】
制御部１０ａでは、キューｑ５に対し、出力ポート＃１へ向かう複数の同一宛先データが格納され、キューｑ５の容量が閾値以上となるか否かを判別する。さらに、迂回先の出力ポート＃１へ向かう同一宛先データが格納されるキューｑ１の現在の容量が、閾値未満であるか否かを判別する。
【００９７】
出力ポート＃１へ向かう複数の同一宛先データを格納するキューｑ５の容量が閾値以上となり、かつ迂回先の出力ポート＃１へ向かう同一宛先データが格納されるキューｑ１の現在の容量が閾値未満であったとする。
【００９８】
この場合は、スイッチチップ３ａ−２内のスイッチ処理部３０ａ−２から、スイッチチップ３ａ−１内のスイッチ処理部３０ａ−１に対して、出力ポート＃１へ向かう同一宛先データの所定数のデータを迂回転送する。
【００９９】
所定数のデータを迂回転送するとは、この例の場合、キューｑ１の容量の閾値を超えない程度のデータ数を、スイッチ処理部３０ａ−２からスイッチ処理部３０ａ−１へ迂回転送するものである。
【０１００】
このように、キューｑ５の容量を超える分のデータを、他方のスイッチチップ３ａ−１へ迂回転送して振り分けて、スイッチ処理部３０ａ−１とスイッチ処理部３０ａ−２の双方でスイッチ処理を行うことにより、スイッチ処理部３０ａ−２での輻輳状態を低減することができる。
【０１０１】
また、迂回転送を実施してスイッチ処理を行っているときに、キューｑ５の容量が閾値未満となった場合は、迂回転送を停止して、スイッチチップ３ａ−２だけでスイッチ処理を行う。なお、出力ポート＃１へ向かう同一宛先データが格納されるキューｑ１およびキューｑ５の双方の容量が共に閾値以上の場合は、スイッチ処理部３０ａ−２からスイッチ処理部３０ａ−１への迂回転送は実施しない。
【０１０２】
上記のように、キュー容量の閾値を基準にして、迂回転送を実行するか否かの判断をすることにより、データ輻輳状態に柔軟に対応した迂回転送を効率よく行うことができる。ここで、具体的な例としては、最大輻輳スイッチセグメント数＝４とした場合、スイッチチップ３ａ−１のキュー容量が２以上となったとき、制御部１０ａは、スイッチチップ３ａ−１の分配部３２に対して、別スイッチチップ３ａ−２側への迂回転送を指示する。
【０１０３】
そして、キュー容量が減少して１以下となった場合には迂回転送を停止する。このような制御により、スイッチチップ３ａ−１での輻輳数を最大値４の半値２に低減することが可能になる。
【０１０４】
図１９は動作タイムチャートを示す図である。図１８に示すタイミング信号ｔ（０）〜ｔ（４）がそれぞれキューｑｒ１〜ｑｒ４へ送信される。タイミング信号ｔ（０）〜ｔ（４）がＨレベルのときに、キューｑｒ１〜ｑｒ４からデータが読み出される。図の場合、セグメントｓ１、ｓ２、ｓ３、ｓ４の順に読み出されている。
【０１０５】
セグメントｓ１、ｓ２がキューｑ１にキューイングされると、２個のセグメントがキューイングされたことが制御部１０ａに通知される。制御部１０ａは、セグメントｓ３、ｓ４をスイッチチップ３ａ−２へ迂回させる指示をＤＩＳ３２ｃ、３２ｄへ通知する。ＤＩＳ３２ｃ、３２ｄは、セグメントｓ３、ｓ４をスイッチチップ３ａ−２へ送信する。
【０１０６】
以上説明したように、一方のスイッチ処理部での同一宛先データのスイッチング時、輻輳が生じる可能性がある場合には、所定数データを他方のスイッチ処理部へ迂回転送して、双方のスイッチ処理部でスイッチ処理を行う構成とした。これにより、スイッチング時のデータ輻輳を低減することができるので、伝送遅延を抑制することが可能になる。
【０１０７】
また、最大輻輳数の半分の閾値で輻輳判定を行って、迂回制御を行うことにより、スイッチチップ内での輻輳数を最大輻輳数の約半数とすることが可能となる。例えば、Ｉ／Ｆカード数が１６だった場合、最大１６セグメントの輻輳が発生することになるが、ペアを組んだスイッチチップ間で８セグメント以上の輻輳時に迂回させることで、輻輳数を半分に抑えることができる。
【０１０８】
なお、上記では、スイッチチップ３ａ−１、３ａ−２のペアに対して、スイッチチップ３ａ−１に制御部１０ａを配置するというように、一方のスイッチチップに制御部を配置するとしたが、回線容量の拡大に伴い、すべてのスイッチチップに対して制御部を配置して、スイッチ制御を行ってもよい。これにより、他スイッチチップと接続する制御部の制御線を削減することができ、また個々の制御部の負荷を軽減することが可能になる。
【０１０９】
さらに、上記では、制御部が出力側ＦｉＦｏ内のキューの容量を監視するとしたが、出力側ＦｉＦｏ内のキューの容量が一定値に達した場合は、出力側ＦｉＦｏから自律的に制御部に通知する構成としてもよい。これにより、キュー数が拡張しても制御部の負荷を軽減することが可能になる。
【０１１０】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
【符号の説明】
【０１１１】
３  スイッチ装置
３ａ−１  第１のスイッチ部
３ａ−２  第２のスイッチ部
１０ａ  制御部
３０ａ−１  第１のスイッチ処理部
３０ａ−２  第２のスイッチ処理部
【図１】
0005565099.tif 000002
【図２】
0005565099.tif 000003
【図３】
0005565099.tif 000004
【図４】
0005565099.tif 000005
【図５】
0005565099.tif 000006
【図６】
0005565099.tif 000007
【図７】
0005565099.tif 000008
【図８】
0005565099.tif 000009
【図９】
0005565099.tif 000010
【図１０】
0005565099.tif 000011
【図１１】
0005565099.tif 000012
【図１２】
0005565099.tif 000013
【図１３】
0005565099.tif 000014
【図１４】
0005565099.tif 000015
【図１５】
0005565099.tif 000016
【図１６】
0005565099.tif 000017
【図１７】
0005565099.tif 000018
【図１８】
0005565099.tif 000019
【図１９】
0005565099.tif 000020