(57)【特許請求の範囲】
【請求項１】
複数の入側の物理リンクと複数の出側の物理リンクとの間でパケットを交換するパケットスイッチであって、接続された入側の物理リンクから、複数のパケットがパケット長より短い所定の単位に細分化されたデータの状態で且つそれら細分化されたデータがサイクリックな順番で転送されてきたところを受信する、複数の受信手段、前記受信手段において受信された前記細分化されたデータを、該細分化されたデータの属するパケットに対する転送先に転送する交換手段、前記交換手段により転送されてきた前記細分化されたデータを、接続された出側の物理リンクに送信する、複数の送信手段を備えたパケットスイッチを単位スイッチとして多段接続したスイッチ網と、
前記スイッチ網の前段に前記入側の物理リンクごとに接続された入力バッファ手段と、
前記スイッチ網の後段に前記出側の物理リンクごとに接続された出力バッファ手段と、
各パケットを転送するに先だって、該パケットの転送元となる前記入力バッファ手段から該パケットの転送先となる出力バッファ手段へ前記スイッチ網を経由して、リクエストを伝える手段と、
前記出力バッファ手段へ前記リクエストが到達した場合に、該リクエストが前記スイッチ網中を通過した経路を前記パケットの転送のために確保する手段と、
前記出力バッファ手段の輻輳情報を求める手段と、
前記転送先となる出力バッファ手段へ到着した前記リクエストに対するレスポンスを、前記輻輳情報とともに前記転送元となる前記入力バッファ手段へ伝える手段と、
前記入力バッファ手段へ伝えられた輻輳情報に基づいて、次回のリクエストに優先度を付与する優先度付与手段と、
前記次回のリクエストのパケットを前記優先度に応じて破棄する手段と
を備えたことを特徴とするパケットスイッチ。
【請求項２】
各入力バッファ手段から送り出される複数のパケットに対応する複数のリクエストは、前記所定の単位に細分化された状態で且つ前記サイクリックな順番に対応した順番で送り出されることを特徴とする請求項１に記載のパケットスイッチ。
【請求項３】
１つの入側の物理リンクから同一の機会に転送されてくるパケットの数をｎ個とした場合、同一の機会に同一の送信手段に対してｎ個のパケットを上限として転送するときの、前記ｎ個を越えるパケットを一時的に記憶するバッファをさらに備えることを特徴とする請求項１に記載のパケットスイッチ。
【請求項４】
１つの入側の物理リンクから同一の機会に転送されてくるパケットの数をｎ個とした場合、前記交換手段は、同一の機会に同一の送信手段に対してｎ個のパケットを上限として転送するときの、前記ｎ個を越えた分のパケットを廃棄することを特徴とする請求項１に記載のパケットスイッチ。
【請求項５】
前記優先度付与手段は、前記輻輳情報がより高い輻輳度を示しているほど前記優先度をより低く設定し、前記輻輳情報がより低い輻輳度を示しているほど前記優先度をより高く設定することを特徴とする請求項１乃至４に記載のパケットスイッチ。
【請求項６】
複数の入側の物理リンクと複数の出側の物理リンクとの間でパケットを交換するパケットスイッチであって、接続された入側の物理リンクから、複数のパケットがパケット長より短い所定の単位に細分化されたデータの状態で且つそれら細分化されたデータがサイクリックな順番で転送されてきたところを受信する、複数の受信手段、前記受信手段において受信された前記細分化されたデータを、該細分化されたデータの属するパケットに対する転送先に転送する交換手段、前記交換手段により転送されてきた前記細分化されたデータを、接続された出側の物理リンクに送信する、複数の送信手段を備えたパケットスイッチを単位スイッチとして多段接続したスイッチ網と、前記スイッチ網の前段に前記入側の物理リンクごとに接続された入力バッファ手段と、前記スイッチ網の後段に前記出側の物理リンクごとに接続された出力バッファ手段とを備えたパケットスイッチにおけるパケット交換方法であって、
パケットを転送するに先だって、該パケットの転送元となる前記入力バッファ手段から該パケットの転送先となる出力バッファ手段へ前記スイッチ網を経由して、リクエストを伝え、前記出力バッファ手段へ前記リクエストが到達した場合に、該リクエストが前記スイッチ網中を通過した経路を前記パケットの転送のために確保するとともに、前記出力バッファ手段の輻輳情報を求め、前記転送先となる出力バッファ手段へ到着した前記リクエストに対するレスポンスを、前記輻輳情報とともに前記転送元となる前記入力バッファ手段へ伝え、前記入力バッファ手段へ伝えられた輻輳情報に基づいて、次回のリクエストに優先度を付与し、前記次回のリクエストのパケットを前記優先度に応じて破棄することを特徴とするパケット交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットをスイッチングするパケットスイッチ及びパケット交換方法に関する。
【背景技術】
【０００２】
近年、インターネット（Ｉｎｔｅｒｎｅｔ）の利用が普及するにつれて、インターネット・トラフィックの伸びが目覚ましくなってきている。
【０００３】
このトラフィックは、ルータやレイヤ３スイッチなどによって、スイッチングされる（以下、ルータやレイヤ３スイッチなどのようなパケットをスイッチングする装置を総称してパケットスイッチと呼ぶこととする）。このため、パケットスイッチに対するスループット拡張の要求が高まっている。この要求に対し、単位スイッチを多段に接続して規模を拡張できる多段接続構成のパケットスイッチが、１つの解として知られている。例えば、図９は、４×４単位スイッチ１００１を用いて３段クロス網で構成した、１６×１６のパケットスイッチである。
【０００４】
インターネットトラフィックの特徴は、経路上の帯域を予約しないベストエフォート性にある。このベストエフォートの性質のために、パケットスイッチでは、その内部において、複数のパケットが衝突する。この現象は従来からよく知られており、この衝突の際の競合で負けるパケットが発生する。ここで負けたパケットは、バッファを持たないスイッチでは廃棄されてしまう。一方、バッファを有するスイッチでは、バッファ量にまだ余裕があれば、そのようなパケットは一時的に保存された後に宛先の出力ポートを目指すが、すでに余裕がなければやはり廃棄されることになる。
【０００５】
このような廃棄は望ましくないため、単位スイッチ間でフロー制御を働かせてスイッチ内部で廃棄が起きないように入力を抑制する方法や、廃棄されたパケットが宛先の出力ポートに届くまで再送制御をスイッチ内部で働かせる方法などが、これまでに考えられている。
【０００６】
しかしながら、フロー制御を利用する方法は、制御遅延の大きさや制御情報量などがネックとなって、図９に例示したような単位スイッチを多段接続して構成した大規模なスイッチにはあまり適さない。したがって、大規模なスイッチでは、再送制御機能が要求される場合が多い。この再送制御では、パケットが廃棄されたときは、もう一度入力ポートから再送する。この再送により、スイッチの入力ポートに到着したパケットは、宛先の出力ポートに必ず届けられることが保証される。
【０００７】
通常、スイッチの出力ポートでは、同じフローに属するパケットは、このフローの入力ポートにおける順序を守らなければならない。しかしながら、上述のような再送によって、宛先の出力ポートには順序が逆転して到着する可能性がある。例えば、同じフローの前のパケットが廃棄されたことを知らずに、後続のパケットを宛先の出力ポートへと送出して、その後続のパケットの方が先に到着してしまう。また、別の例では、スイッチ内部において、入力ポートと出力ポートの任意の対に対して、複数の経路（マルチパス）が設定できるケースがある。このケースでは、それぞれの経路が互いに同じ遅延時間を持たないと、パケットの順番が逆転する可能性がある。これらの場合には、入力ポートでの順序を、シーケンス番号として、パケットのヘッダに埋め込むなどの方法をとって、宛先の出力ポートへ伝え、正しく並べ替える機能が必要とされる。このようなシーケンス番号は、再送だけでなく、誤配送などによって、出力ポートで発生し得るパケットの重複を処理するためにも、利用できる。
【０００８】
こうした中、この衝突の発生確率をできるだけ下げて、廃棄や再送を減らし、スイッチの転送効率を高める方法について、検討が進められている。
【０００９】
例えば、スイッチのポートが、複数の物理的な通信路を有している、単位スイッチが知られている。このようなポートは、その通信路の数だけ、パケットを転送させることが可能なため、衝突の確率を減らすことができる。なお、このようなアイディアは、例えば、下記非特許文献１“Ｔｈｅ Ｐｅｒｆｏｒｍａｎｃｅ ｏｆ Ｍｕｌｔｉｓｔａｇｅ Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ Ｎｅｔｗｏｒｋｓ ｆｏｒ Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒｓ”（Ｃｌｙｄｅ．Ｐ．Ｋｒｕｓｋａｌ，ＩＥＥＥ Ｔｒａｎｓ． Ｃｏｍｐｕｔ． Ｖｏｌ．Ｃ−３２， ｎｏ．１２，ｐｐ．１０９１−１０９８， Ｄｅｃ．１９８３）や、下記非特許文献２“Ｄｅｓｉｇｎｏｆ ａ ｂｒｏａｄｃａｓｔ ｐａｃｋｅｔ ｎｅｔｗｏｒｋ”（Ｊｏｎａｔｈａｎ．Ｓ．Ｔｕｒｎｅｒ， ＩＥＥＥ ＩＮＦＯＣＯＭ’８６，ｐｐ．６６７−６７５，１９８６）などに見られる。
【００１０】
図１０に示した単位スイッチ１００３は、１５５Ｍｂｐｓのリンク（通信路）１００５を物理的に３２本持つものとする。図１０のように、もし、４本のリンクを１つのポート１００７にグルーピングすると、ポート数８のスイッチを構成することができる。このとき、どの出力ポートへも、同時に最大４個のパケットを、衝突なく転送することが可能である。また、このグルーピングによって、８本のリンクをまとめる場合はポート数４のスイッチができ、さらに、１６本のリンクをまとめる場合はポート数２のスイッチができる。これらの場合、それぞれ、最大８個もしくは最大１６個のパケットを、衝突なく、同時に転送することが可能である。
【００１１】
しかしながら、この単位スイッチが用いている方法は、柔軟性という面から、以下に述べるような問題点を抱えている。すなわち、１本のポートが有することのできる通信路の数は、高々リンクの本数に制限される。つまり、この通信路の数は、物理的に用意されたリンクの本数を上回ることができない。
【非特許文献１】“Ｔｈｅ Ｐｅｒｆｏｒｍａｎｃｅ ｏｆ Ｍｕｌｔｉｓｔａｇｅ Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ Ｎｅｔｗｏｒｋｓ ｆｏｒ Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒｓ”（Ｃｌｙｄｅ．Ｐ．Ｋｒｕｓｋａｌ，ＩＥＥＥ Ｔｒａｎｓ． Ｃｏｍｐｕｔ． Ｖｏｌ．Ｃ−３２， ｎｏ．１２，ｐｐ．１０９１−１０９８， Ｄｅｃ．１９８３）
【非特許文献２】“Ｄｅｓｉｇｎｏｆ ａ ｂｒｏａｄｃａｓｔ ｐａｃｋｅｔ ｎｅｔｗｏｒｋ”（Ｊｏｎａｔｈａｎ．Ｓ．Ｔｕｒｎｅｒ， ＩＥＥＥ ＩＮＦＯＣＯＭ’８６，ｐｐ．６６７−６７５，１９８６）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述したように、１本のポートに物理的な複数の通信路を設定して、スイッチ内部での衝突確率を低減する、という既存の方式において、通信路を柔軟に設定することができないという問題点が存在する。
【００１３】
本発明は、上記事情を考慮してなされたもので、通信路の設定を、物理的な制約を受けることなく、柔軟に行うことができるようにすることによって、スイッチ内部での衝突をより回避しやすくするとともに、スイッチのスループットをより向上させることを可能とするパケットスイッチ及びパケット交換方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、複数の入側の物理リンクと複数の出側の物理リンクとの間でパケットを交換するパケットスイッチであって、接続された入側の物理リンクから、複数のパケットがパケット長より短い所定の単位に細分化されたデータの状態で且つそれら細分化されたデータがサイクリックな順番で転送されてきたところを受信する、複数の受信手段と、前記受信手段において受信された前記細分化されたデータを、該細分化されたデータの属するパケットに対する転送先に転送する交換手段と、前記交換手段により転送されてきた前記細分化されたデータを、接続された出側の物理リンクに送信する、複数の送信手段とを備えたことを特徴とする。好ましくは、１つの入側の物理リンクから同一の機会に転送されてくるパケットの数をｎ個とし、前記交換手段は、同一の機会に同一の送信手段に対して、ｎ個のパケットを上限として転送するようにしてもよい。また、好ましくは、前記交換手段は、同一の機会に同一の送信手段に対してｎ個を越えるパケットを転送すべき場合には、ｎ個を越えた分のパケットを廃棄するようにしてもよい。
【００１５】
本発明によれば、スイッチの１つの物理的なポートを複数の論理的な通信路に分割し、この複数の論理的な通信路を用いて複数のパケットを並行して送受信することができる。この結果、スイッチ内部でのパケットの衝突確率を低減し、スイッチのスループットを向上させることができる。
【００１６】
本発明は、入側の物理リンクを複数束ねた物理リンク・グループを複数持つとともに、出側の物理リンクを複数束ねた物理リンク・グループを複数持ち、複数の入側の物理リンク・グループと複数の出側の物理リンク・グループとの間でパケットを交換するパケットスイッチであって、接続された入側の物理リンクから、複数のパケットがパケット長より短い所定の単位に細分化されたデータの状態で且つそれら細分化されたデータがサイクリックな順番で転送されてきたところを受信する、複数の受信手段と、前記受信手段において受信された前記細分化されたデータを、該データの属するパケットを転送すべき出側の物理リンク・グループに属する複数の物理リンクから選択された一つに向けて転送する交換手段と、前記交換手段により転送されてきた前記細分化されたデータを、接続された出側の物理リンクに送信する、複数の送信手段とを備えたことを特徴とする。好ましくは、１つの入側の物理リンクから同一の機会に転送されてくるパケットの数をｎ個、１つの物理リンク・グループに属する物理リンクの数をｍ個とし、前記交換手段は、同一の機会に同一の送信手段に対して、ｎ×ｍ個のパケットを上限として転送するようにしてもよい。また、好ましくは、前記交換手段は、同一の機会に同一の送信手段に対してｎ×ｍ個を越えるパケットを転送すべき場合には、ｎ×ｍ個を越えた分のパケットを廃棄するようにしてもよい。
【００１７】
本発明によれば、スイッチの複数の物理的なポートを束ねて１本の太いポートとして扱うとともに、この太いポートを複数の論理的な通信路に分割し、この複数の論理的な通信路を用いて複数のパケットを並行して送受信することができる。この結果、パケット転送サイクルの延びを防ぎまたは抑えつつ、スイッチ内部でのパケットの衝突確率を低減し、スイッチのスループットを向上させることができる。
【００１８】
本発明は、上記パケットスイッチを単位スイッチとして多段接続したスイッチ網と、前記スイッチ網の前段に前記入側の物理リンクごとに接続された入力バッファ手段と、前記スイッチ網の後段に前記出側の物理リンクごとに接続された出力バッファ手段と、パケットを転送するに先だって、該パケットの転送元となる前記入力バッファ手段から該パケットの転送先となる出力バッファ手段へ前記スイッチ網を経由して、リクエストを伝える手段と、前記出力バッファ手段へ前記リクエストが到達した場合に、該リクエストが前記スイッチ網中を通過した経路を前記パケットの転送のために確保する手段と、前記転送先となる出力バッファ手段へ到着した前記リクエストに対するレスポンスを、前記転送元となる前記入力バッファ手段へ伝える手段とを備えたことを特徴とする。好ましくは、各入力バッファ手段から送り出される複数のパケットに対応する複数のリクエストは、前記所定の単位に細分化された状態で且つ前記サイクリックな順番に対応した順番で送り出されるようにしてもよい。
【００１９】
本発明によれば、リクエスト・レスポンス制御方式のスイッチにおいて、スイッチの１つの物理的なポートもしくは複数の物理的なポートを束ねた１本の太いポートを複数の論理的な通信路に分割し、この複数の論理的な通信路を用いて複数のパケットを並行して送受信することができる。この結果、スイッチ内部でのリクエストの衝突確率を低減させ（これによって同時に送信できるパケット数が増加する）、スイッチのスループットを向上させることができる。
【００２０】
本発明は、上記パケットスイッチを単位スイッチとして多段接続したスイッチ網と、前記スイッチ網の前段に前記入側の物理リンクごとに接続された入力バッファ手段と、前記スイッチ網の後段に前記出側の物理リンクごとに接続された出力バッファ手段とを備えたパケットスイッチにおけるパケット交換方法であって、パケットを転送するに先だって、該パケットの転送元となる前記入力バッファ手段から該パケットの転送先となる出力バッファ手段へ前記スイッチ網を経由して、リクエストを伝え、前記出力バッファ手段へ前記リクエストが到達した場合に、該リクエストが前記スイッチ網中を通過した経路を前記パケットの転送のために確保するとともに、前記転送先となる出力バッファ手段へ到着した前記リクエストに対するレスポンスを、前記転送元となる前記入力バッファ手段へ伝えることを特徴とする。
【００２１】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【発明の効果】
【００２２】
本発明によれば、各物理リンクについて複数のパケットをインタリーブしてスイッチ処理するようにしたので、スイッチ内部での衝突をより柔軟に回避し、また、スイッチのスループットを向上させることができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら発明の実施の形態を説明する。
【００２４】
図１に、本発明の一実施形態に係る単位スイッチの例を示す。
【００２５】
図１の単位スイッチ１は、複数の入側の物理的なリンク（通信路）に受信部１１で接続されるとともに、複数の出側の物理的なリンク（通信路）に送信部１２で接続され、１つの物理的なリンクを１つのポートとして、入力ポートと出力ポートとの間をスイッチングするものである。入出力ポート数は任意であるが、図１では２入力ポート×２出力ポートの場合を例示している。
【００２６】
ここで、図１を参照しながら、本実施形態の基本的な原理について説明する。
【００２７】
本実施形態の特徴は、図１に示すようなインタリーブの手法を用いて、物理的に１本のポートにおいて、複数のパケットを同時に転送できるようにする方法を、パケットスイッチへ導入することである。すなわち、複数の固定長パケットを、所定の単位にインタリーブして、１本のポートへ多重し、パケットスイッチは、１周期において各パケットの所定の単位に細分化されたデータをスイッチングするものである。
【００２８】
ここで、インタリーブを行う単位すなわち該所定の単位は、ビットごと、あるいはバイトごとなど、基本的には任意の値をとることが可能である。一つの極端な例として、インタリーブの単位をパケット単位として本発明を実施することもできる。この場合は、パケットの分割数が１個となり、インタリーブという語も適当ではないが、以降の説明の単純な延長線上にあり、本発明の有効性もそのまま適用できる。また、１本のポートへ多重するパケット数も、基本的には任意の値をとることが可能である。
【００２９】
図１では、４個の固定長パケットをインタリーブして、１本のポートへ多重する例を示している。第１の入力ポートについては、４個のパケットＡ，Ｂ，Ｃ，Ｄを、例えばビットごとのデータに分割し、この順番で、Ａ１，Ｂ１，Ｃ１，Ｄ１，Ａ２，Ｂ２，Ｃ２，Ｄ２，…、というようにサイクリックにならべて、転送する。同様に、第２の入力ポートについては、４個のパケットＥ，Ｆ，Ｇ，Ｈを、例えばビットごとのデータに分割し、この順番で、Ｅ１，Ｆ１，Ｇ１，Ｈ１，Ｅ２，Ｆ２，Ｇ２，Ｈ２，…、というようにサイクリックにならべて、転送する。
【００３０】
ここで、一例として、パケットＡ，Ｃ，Ｆ，Ｇの宛先が第１の出力ポート、パケットＢ，Ｄ，Ｅ，Ｈの宛先が第２の出力ポートとすると、単位スイッチ１は、ビットやバイトなどの単位に細分化されたデータＡ１，Ｃ１，Ｆ１，Ｇ１を第１の出力ポートへスイッチングし、細分化されたデータＢ１，Ｄ１，Ｅ１，Ｈ１を第２の出力ポートへスイッチングする。以降のサイクルも同様に行われる。
【００３１】
そして、第１の出力ポートからはインタリーブされたパケットＡ，Ｆ，Ｃ，Ｇが出力され、第２の出力ポートからはインタリーブされたパケットＥ，Ｂ，Ｈ，Ｄが出力される。ただし、図１の各サイクル内における各パケットの細分化されたデータを出力する順番は一例であり、この他の順番で出力するようにすることも可能である。
【００３２】
一つのフローに属する複数のパケットが、インタリーブされて同時にスイッチの一つの入力ポートに到着する可能性がある。この場合、スイッチの入力ポートにおけるサイクル内の入力順序が逆転しないようにスイッチの各出力ポートのサイクル内の出力順序を決定することにより、同一フローのパケットがスイッチを経由することによって転送順序が逆転することを防止できる。
【００３３】
このような方法によって、１本の物理的なポートを、複数の仮想的な（論理的な）通信路とみなしてスイッチ処理することが可能である。
【００３４】
以下では、このような仮想的な通信路を、「パーティション」と呼ぶこととする。つまり、本実施形態の方法は、１本の物理的なポートを複数のパーティションに分割し、それぞれのパーティションへパケットを分配することによって、複数のパケットを同時に並行して転送できるようにする、というものである。
【００３５】
次に、図２、図３を参照しながら、パーティションを設けた場合について、パーティションを設けない場合と比較しつつ説明する。
【００３６】
図２のパイプ形状の図形は１本のポートを、矩形はパケットを示しており、（ａ）はパーティションを設定していない場合を、（ｂ）は本実施形態のパーティションを設定している場合をそれぞれ示している。また、図２の矩形の面積がそのパケットのデータ量、矩形の横の長さがそのパケットの転送に要する時間を表しており、（ａ）の矩形の面積と（ｂ）の矩形の面積は同じで、（ｂ）の矩形の横の長さは（ａ）の矩形の横の長さの４倍であるものとする。
【００３７】
ここで、図２のポートに４個のパケットを同時に転送したい場合を仮定する。もし、図２（ａ）のように、パーティションが設定されていない場合には、同時には１パケットしか転送できない（このとき、残りの３パケットは廃棄されてしまう可能性がある）。
【００３８】
一方、図２（ｂ）のように、４本のパーティションが設定されている場合には、この４本のパーティションへパケットを分配することによって、４個のパケットを同時に転送することができる。なお、図２（ｂ）の細長い矩形を４個積んだ状態は４個のパケットがインタリーブされている様子すなわち４本のパーティションが設定されている様子を表している（この表記の仕方は後に示す各図についても同様である）。
【００３９】
このように、パーティションが設定されている場合の方が、設定されていない場合に比べて、同時に到着したパケットを同時に“パーティションの本数”倍（この例の場合、４倍）まで転送する能力があり、廃棄確率を下げることができる。
【００４０】
図３は、２入力ポート×２出力ポートのバッファを持たないスイッチ（バッファレススイッチ）を示しており、（ａ）はパーティションを設定していない場合を、（ｂ）は本実施形態のパーティションを設定している場合をそれぞれ示している。また、（ｂ）の場合において、パーティション数＝４とする。
【００４１】
図３（ａ）のようにパーティションなしのスイッチの場合は、ポート０とポート１へ向かうパケットが、入力ポート０と入力ポート１から、パケット単位でスイッチに送られてくる。ここでは、入力ポート０からは、宛先出力ポート０，１，０，１の順番で４つのパケットが入力し、入力ポート１からは、宛先出力ポート１，０，０，１の順番で４つのパケットが入力するものとする。このとき、３番目のパケット周期では、ポート０行きの２つのパケットがスイッチ内で衝突して、敗れた方が廃棄されてしまう。同様に、４番目のパケット周期では、ポート１行きの２つのパケットが衝突して、敗れた方が廃棄されてしまう。
【００４２】
一方、図３（ｂ）のようにパーティションありのスイッチの場合は、同時にインタリーブされた４個のパケットがスイッチへ転送されてくる。なお、図３（ｂ）において、ハッチングされたパケットがポート０行き、ハッチングされていないパケットがポート１行きを表すものとする。これらのパケットはそれぞれの宛先の出力ポートにスイッチングされる。そして、出力ポートでも４本のパーティションが設定されているので、この場合には同一の出力ポートに同時に（インタリーブされた状態で）最大４個のパケットを転送することができる。この例のように、ポート０行きとポート１行きがともに４パケットずつの場合には、何の廃棄もなく、すべてのパケットを同時にスイッチングすることができる。
【００４３】
ところで、上記のようにパーティションが設定されていても、同一の出力ポートを宛先とするパケットの個数がパーティション設定数を越える場合には、それらのパケットすべてを同時に転送することはできない。例えば、図２（ｂ）や図３（ｂ）の例の場合には、パーティション設定数が４であるので、５個以上のパケットが１つの出力ポートに集中したときには、それら全てのパケットを同時に転送することはできない。すなわち、同時転送の際に選ばれなかったパケット（パーティション設定数を越える分のパケット；この例の場合、１個のパケット）は、バッファを持つスイッチの場合にはバッファにとどめておかれる（またはその可能性がある）が、図３のようにバッファを持たないスイッチの場合には廃棄されてしまうことになる。そこで、パケットの廃棄確率を下げるためには、パーティション設定数を大きな数に設定すればよいことになる。
【００４４】
一方、物理的なポートの情報転送速度が一定の場合、パーティション設定数を大きくすると、インタリーブによって、１パケットの転送時間（パケット転送サイクル）が延びる。例えば、図１のように、もともとのパケット転送サイクルがＴの場合に、パーティション数を４に設定すると、パケット転送サイクルは４倍に延びて４Ｔになる。
【００４５】
したがって、物理的なポートの情報転送速度が一定の場合、パケットの廃棄確率と１パケットの転送時間とはトレード・オフの関係になる。
【００４６】
ここで、パケット長を１００バイトとして、ポートの速度を変化させて、パケット転送サイクルを比較してみると次のようになる。
【００４７】
・ポート速度が１０Ｍｂｐｓの場合、パーティションを導入しないときは約８０μｓで、パーティション数４のときは約３２０μｓかかる。
【００４８】
・ポート速度が６２２Ｍｂｐｓの場合、パーティションを導入しないときは約１．３μｓで、パーティション数４のときは約５．２μｓである。
【００４９】
このように、ポートの速度が速くなるにつれ、パケット転送サイクルの延び、およびそれに応じた固定遅延時間の延びは小さくなる。したがって、一般的に、ポートの速度が速くなるにつれ、パーティション設定数は大きく設定することが可能である、といえる。
【００５０】
以上から、パーティション数は、廃棄確率とパケット転送サイクルとの兼ね合いで、柔軟に設定できることが望ましい。もし、固定的にしか設定できなければ、廃棄確率を下げることができなかったり、パケット転送サイクルが長すぎてアプリケーションの品質に悪影響が出たりしてしまう。この点、本実施形態の方法によれば、インタリーブ手法により、自由にパーティション数を設定できるので、所望の廃棄確率やパケット転送サイクルを得ることが可能である。
【００５１】
以上、２×２単位スイッチを例にとって本実施形態の基本的な構成について説明したが、以下では上記の基本的な構成を応用した種々のバリエーションについて説明する。
【００５２】
まず、図１では物理的なポートに対してインタリーブ手法を適用する例を示したが、図４のように、物理的に複数のポートを１束にまとめ、１本の太いポート（スーパーポートと呼ぶこととする）として扱い、スーパーポートに対してインタリーブ手法を適用し、複数本のパーティションを設定することも可能である。
【００５３】
図４では、２ポートを一束にして（スーパーポート化して）、通常の２倍の速度を収容できるようにした４×４のスイッチにおいて、このスーパーポートの単位でパーティション数を８に設定した場合を示している（各ポートについてはパーティション数＝４）。ポート０とポート１をまとめてスーパーポートＡとし、ポート２とポート３をまとめてスーパーポートＢとする。２ポートを一束にしたスーパーポートＡ，Ｂはそれぞれ通常のポートの２倍の速度をインタフェースすることが可能である。
【００５４】
ここで、図４において、ハッチングされたパケットが出側スーパーポートＡ行き、ハッチングされていないパケットが出側スーパーポートＢ行きを表すものとする。すなわち、入側スーパーポートＡには、出側スーパーポートＡ行きのパケットが５つ、出側スーパーポートＢ行きのパケットが３つ入力され、入側スーパーポートＢには、出側スーパーポートＡ行きのパケットが３つ、出側スーパーポートＢ行きのパケットが５つ入力されている。
【００５５】
この場合、出側スーパーポートＡ行きのパケットは合計８つ、出側スーパーポートＢ行きのパケットは合計８つとなり、１６個すべてのパケットが転送可能となる。
【００５６】
なお、入側スーパーポートＡを宛先とするパケットは、出力ポート０に転送されても出力ポート１に転送されても構わない。したがって、図４の例の場合、入側スーパーポートＡを宛先とする８つのパケットについては、所定の基準で、出力ポート０と出力ポート１に４つずつ振り分ければよい。入側スーパーポートＢを宛先とするパケットについても、同様に、出力ポート２に転送されても出力ポート３に転送されても構わない。したがって、図４の例の場合、入側スーパーポートＢを宛先とする８つのパケットについては、所定の基準で、出力ポート２と出力ポート３に４つずつ振り分ければよい。
【００５７】
もちろん、同一のスーパーポートを宛先とするパケットが、スーパーポートについてのパーティション設定数を越える場合には、それらのパケットすべてを同時に転送することはできない点は、前述と同様である。
【００５８】
このように、スーパーポートの単位でパーティションを導入することによって、パーティション設定数を仮想的に大きくし、且つパケット転送サイクルの延びを防ぐまたは抑えることができる。
【００５９】
次に、図５は、８×８のスイッチの各ポートにおいて、図１のようなパーティション数４のインタリーブ手法を採り入れた、単位スイッチの例を示す。
【００６０】
この単位スイッチ３１は、インタリーブ手法の結果、図９に示した単位スイッチと、同数（３２本）のポートを有するものと考えてよい。このような本実施形態のインタリーブ手法を採り入れた単位スイッチを用いて、デルタ網やクロス網やバンヤン網などの多段接続構成により、多ポートのスイッチを作れば、単位スイッチ間の配線数を削減できるという実装上のメリットがある。具体的には、図９のような単位スイッチを用いた場合に比べ、“パーティション数”分の１（この例の場合、４分の１）の配線数で済むことになる。
【００６１】
次に、図６に、本実施形態のインタリーブ手法を採り入れた単位スイッチを多段結合して構成したパケットスイッチの例を示す。
【００６２】
図６では、図１や図４のようにインタリーブ手法を採り入れた８×８単位スイッチ４１を用いて３段クロス網接続によってスイッチ網４５を構成した６４×６４スイッチの例を示している（図６において単位スイッチ間の接続の記述は一部省略している）。各単位スイッチ４１でのパーティション設定数は同一にするとともに、この設定数は前述したように廃棄確率とパケット転送サイクルとの兼ね合いを考慮に入れて決定する。
【００６３】
また、このパケットスイッチでは、各入力ポート毎に入力バッファ４３が設けられ、各出力ポート毎に出力バッファ４７が設けられている。各入出力バッファ４３，４７はプロトコル変換やプロトコル処理などを行う。例えば、ＩＰプロトコルの可変長パケットが入力される場合、入力バッファ４３では、ＩＰプロトコルの可変長パケットをスイッチ固有の固定長のパケットにセグメンテーションし、当該複数の固定長のパケットをインタリーブしたりするとともに、出力バッファ４７では、その逆のアセンブリを行うなどして、ＩＰプロトコルの可変長パケットとして出力する。この入出力バッファ４３，４７には、また、後述のように、リクエスト・レスポンス制御の機能が実装されることもある。
【００６４】
さて、これまではパケットに対して制御を行う例を説明してきたが、以下では、リクエスト・レスポンス制御方式を用いたスイッチにインタリーブ手法を適用した例について説明する。
【００６５】
図７は、図６のような多段接続構成のスイッチに、リクエスト・レスポンス制御方式を導入した場合を模式的に示したものである。
【００６６】
図７において、５３は入力バッファ、５５はスイッチ網、５７は出力バッファを示す。なお、スイッチ網５５内部の単位スイッチは省略している。
【００６７】
リクエスト・レスポンス制御方式では、パケットの転送の前に次のような基本手順を踏む。
【００６８】
・送信元の入力バッファはパケットに対応する「リクエスト」をスイッチング網を使って宛先の出力バッファへ送る。
【００６９】
・「リクエスト」を受け取った出力バッファはこの「リクエスト」に対する「レスポンス」を送信元の入力バッファに返す。
【００７０】
・この「レスポンス」を受け取った入力バッファは該当するパケットを転送する。
【００７１】
本実施形態の場合、より詳しくは次のようになる。
【００７２】
インタリーブ手法を適用した本実施形態のスイッチでは、パケットに対してだけではなく、リクエストやレスポンスに対しても、パーティションを設定することができる。すなわち、本実施形態では、リクエストにもインタリーブが適用され、リクエストは、対応するパケットを転送すべきパーティションと同じパーティションによって転送される。
【００７３】
その際、インタリーブ手法の効果によってスイッチ網内におけるリクエスト同士の衝突確率が従来よりも低減され、この結果、リクエストの出力バッファへの到達確率が従来よりも高くなる。
【００７４】
リクエストが入力バッファから出力バッファへ到達した場合には、スイッチ網内において、当該リクエストが実際に経由した経路を、当該入力ポート且つ当該パーティションで転送すべきパケットのために確保する。本実施形態では、リクエストが経由した経路として、入力ポートとパーティションの組が、各単位スイッチの入口と出口とで保持されるものとする。
【００７５】
レスポンスは、スイッチ網を使って（例えば、リクエストの経由した経路を逆方向にたどって）、送信元の入力ポートへと返される。例えば、１組の入力ポートと出力ポートが１つのモジュールとして実装される場合には、リクエストを受け取った出力ポートと同じモジュールに実装される入力ポートから、スイッチ網を介し、リクエストを送り出した入力ポートと同じモジュールに実装される出力ポートへの経路で、レスポンスが返されるようにしてもよい。このレスポンスの経路は、リクエストが宛先の出力ポートに到達したときに、同時に確保されているものとする。なお、レスポンスは、スイッチ網を使わずに、別線を用いて返すようにしてもよい。
【００７６】
入力バッファがレスポンスを受け取ると、さきほどスイッチ網内に保持された（リクエストが経由した）ポートとパーティションの組で構成された経路に従って、該当するパケットが転送される。これによって、該パケットは途中で他のパケットと衝突することなく安全に出力バッファへ到達することになる。
【００７７】
なお、リクエスト・レスポンス制御方式はバッファレスの単位スイッチによって構成される多段接続のスイッチに適用され、構成要素である単位スイッチがバッファを持たないので基本手順に要する時間は容易に予測できる。
【００７８】
リクエストは、宛先の出力ポートに届く前に、途中で発生した衝突によって競合に負け、スイッチ網内で廃棄される可能性がある。しかし、もし廃棄されたとしても、リクエスト・レスポンスの基本手順に要する時間は、上述のように予測できるので、簡単に検出できる。そして、廃棄が検出された場合には、次の機会にリクエストを宛先の出力ポートへ再送する（レスポンスが得られるまで再送を繰り返す）。
【００７９】
このように、リクエスト・レスポンスという手順を順に踏むことによって、パケットの経路を確保してからパケットを送るので、レスポンスを受け取ったならば必ず宛先に届けられることが保証される。いわば、リクエスト・レスポンス制御方式は、パケット毎に経路を設定している、といえる。
【００８０】
さらに、送出可能リクエスト数と送出可能パケット数とを、入力バッファでフロー毎に正確に管理しており、入力バッファにエンキューされたパケットは、宛先の出力バッファへ必ず届けられるように制御される。送出可能なリクエスト数は、パケットが入力バッファにエンキューされたときと、リクエストの廃棄が検出されたときには、１つ増やされる。逆に、リクエストを送出したときには１つ減らされる。一方、送出可能なパケット数は、レスポンスを受信したときに１つ増やされ、パケットを送出したときに１つ減らされる。このようにすると、送信元の入力バッファにエンキューされたパケット数と、宛先の出力ポートに届けられるパケット数とは、必ず等しくなるようにすることが可能である。
【００８１】
また、送出可能パケット数のように個数だけを管理していることと、レスポンスを受信してからパケットを送信することから、必ず順番どおりに宛先の出力ポートへパケットを転送することが可能であるので、出力ポートでのパケットの並べ替え制御を不要にすることができる。
【００８２】
ここで、リクエスト・レスポンス制御方式のスイッチに、本発明のインタリーブ手法を採り入れると、次のような利点がある。すなわち、複数のパーティションを設定すると、これと同数のリクエストを同時に流すことが可能なため、リクエストがスイッチ網内部で衝突して廃棄される確率は減少する。リクエストの衝突確率が減少すると、結果として、同時に送信できるパケット数が増加する。これらのパケットは経路が確保されているので、絶対に廃棄されない。また、入力バッファにおいて、同時に送信できるパケット数が増加すると、これらのパケットが占有していたメモリ領域は、送信とともに解放可能なため、増加する。このように、リクエスト・レスポンス制御方式のスイッチに、ポートを複数の通信路（パーティション）に見せることが可能な本発明を組み合わせると、スイッチの効率をさらに上昇させることができる。
【００８３】
次に、上述の基本手順において、リクエストに優先度を示す情報を付与し、リクエストが衝突した場合には、リクエストに付与された優先度に基づいていずれのパケットを廃棄させるかを決定する制御をさらに行うことが考えられる。
【００８４】
優先度の決定手順としては、例えば、図７に示すように、レスポンスに出力ポート（バッファ）の輻輳情報を付加して入力ポートに返し、当該入力ポートでは、以降に当該出力ポートを宛先とするパケットに対応するリクエストに付与する優先度を、該輻輳情報に基づいて求める。
【００８５】
輻輳情報としては、例えば輻輳状況に関する所定の測定値、具体的には、単位時間に到着したパケットの個数もしくはバイト数、パケットキューのキュー長（パケット数もしくはバイト数）、パケットキューから廃棄されたパケット数もしくはバイト数など）など、あるいは輻輳のレベルを示す値、あるいは輻輳状態であるか否かを示すビットデータなどが考えられる。
【００８６】
優先度の設定については、基本的な考え方としては、例えば、輻輳情報が高い輻輳度を示しているほど優先度を低く設定し、低い輻輳度を示しているほど優先度を高く設定する。
【００８７】
単位スイッチにおけるリクエストの選択については、基本的な考え方としては、例えば、衝突したリクエストのうち最も高い優先度を持つリクエストから順に選択するというものである。
【００８８】
さて、前述のようにしてリクエストが宛先の出力ポートに到着すると、この出力ポートでは、バッファの状況に応じて、輻輳状態であるか否かを判断する。図７に示したように、この判断にもとづき決定された輻輳情報をレスポンスに含ませる。このレスポンスは、前述のように例えばスイッチ網を使って送信元の入力ポートへと返される。
【００８９】
送信元の入力ポートは、レスポンスを受けると、前述のようにパケットを送信する。このパケット自体は、例えば先程のリクエストが確保した経路を通って、宛先の出力ポートに必ず到達する。一方、この送信元の入力ポートでは、レスポンスから、出力ポートの輻輳情報を取り出し、この情報に基づいて、この出力ポートへ向かう次のパケットの優先度を決定する。次のパケットは、この優先度が付与されたリクエストによって、経路を確保しようとする。確保に成功した場合には、そのリクエストと同じ経路をたどって、宛先の出力ポートに届けられる。
【００９０】
このような制御方式を用いれば、例えば、輻輳状態に陥っている出力ポートの影響で、他の出力ポート行きのパケットの特性、特に遅延特性が劣化しないので、ベストエフォート性の高いトラフィックを収容するパケットスイッチの場合には特に有効と考えられる。
【００９１】
ここで、優先度によるスイッチ内パケット転送制御のいくつかの例について説明する。
【００９２】
まず、最も代表的な制御、すなわち輻輳状態に応じて行う優先度制御について説明する。例えば、輻輳している到達先（輻輳ポートとする）行きのパケットに対するリクエストは優先度を低くする。優先度の高いリクエストはスイッチ網内部で衝突しても優先されるため、優先度の高いリクエストにとって輻輳しているポート行きの優先度の低いリクエストは存在しないのと同じことになる。言い換えると、優先度の高いパケットにとって輻輳しているポート行きの優先度の低いパケットは存在しないのと同じことになる。
【００９３】
これによって、輻輳していないポート行きのパケットの流れが輻輳ポート行きのパケットの流れによって乱されることが非常に少なくなるという効果がある。輻輳ポート行きのパケットにとっても、優先度が変化させられるだけで、その転送速度は抑制されていないため、優先度の高いパケットの転送のすき間を利用して出力ポートへ転送する試みを継続することができる。そのため、輻輳ポートへもスイッチ網の転送能力の限りパケットを転送し続けることができる。
【００９４】
次に、再送に対する優先度制御について説明する。
【００９５】
スイッチ網内部の衝突で廃棄されたリクエストを入力バッファが再送する方式のパケットスイッチでは、同じリクエストが連続して廃棄されてしまうと、そのリクエストに対応するパケットの後で転送を待っているパケット全体の流れが悪くなってしまうおそれがある。
【００９６】
これを解決する方法として、スイッチ網の内部でリクエストが廃棄された場合に、図７に示すように、その再送リクエストの優先度をもとのリクエストの優先度よりも高くするようにしてもよい。このような制御によって、再送リクエストが再び廃棄されることが少なくなる利点がある。もし再送リクエストが再び廃棄された場合には、それに対する再送リクエストの優先度を更に高くするようにしてもよい。これによって、何度も再送され続けている不運のリクエストを優先して転送することが可能となる。
【００９７】
ところで、インタリーブの手法を用いた本実施形態の方法では、インタリーブされた複数のパケットに付与された各種の制御信号は、時間的にほぼ同じ位置に存在する、という特徴を利用することが可能である。
【００９８】
例えば、パケット同期をとるための信号（情報）を全パーティション間で共用することができる。このようにすれば、パケット同期のための信号を、各パーティションごとに用意する場合に比べ、“パーティション数”分の１に減らすことが可能である。
【００９９】
もちろん、上記のような或る情報の全パーティション間での共用については、伝送路誤りを検出するための符号（例えば、パリティ符号）などにも適用することができる。すなわち、パケット毎にパリティ符号を付けるのではなく、インタリーブされた複数のパケットを単位として、パリティ符号を付与することが可能である。このようにすれば、パリティ符号によるオーバーヘッドを削減することができる。
【０１００】
図８は、単位スイッチのパーティション設定数が４で、このリクエスト・レスポンス制御方式を利用したとき、単位スイッチ間で交わされるフォーマットの一例である。図８の例の場合、同期用信号、リクエスト、レスポンス、パケット本体、パリティ符号を、同時転送することができる。図８は、一見すると、同期用信号やパリティ符号は、パケット（パーティション）ごとに用意されているように見えるが、上述のように、同じ位相に位置しているために、一つに連結して４つのパーティションで共用することによって、使用する情報量を削減することが可能である（もちろん、同期用信号やパリティ符号をパケット（パーティション）ごとに用意することも可能である）。
【０１０１】
なお、図８のフォーマットは、図３（ｂ）や図４のような実施形態において、採用することが可能な一例であって、同期用信号やパリティ符号などの位置を入れ換えたフォーマット、他の情報が加わったフォーマット、一部が他の情報と入れ替わったフォーマットなどでも、全パーティション間での共用はもちろん可能である。
【０１０２】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１０３】
【図１】本発明の一実施形態に係るパケットスイッチの構成例を示す図
【図２】パーティションがある場合についてパーティションがない場合と比較して説明するための図
【図３】パーティションがあるパケットスイッチについてパーティションがないパケットスイッチと比較して説明するための図
【図４】スーパーポートにパーティションを設定したパケットスイッチの例を示す図
【図５】パーティション設定可能な単位スイッチの例を示す図
【図６】パーティション設定可能な単位スイッチによる多段接続スイッチの一例を示す図
【図７】リクエスト・レスポンス制御方式を適用したパーティション設定可能な単位スイッチによる多段接続スイッチの例を示す図
【図８】パーティション設定とリクエスト・レスポンス制御方式を適用したパケットスイッチの内部データフォーマットの例を示す図
【図９】従来のスイッチの一例を説明するための図
【図１０】従来のスイッチの他の例を説明するための図
【符号の説明】
【０１０４】
１，２１，３１，４１…単位スイッチ、１１…受信部、１２…送信部、４３，５３…入力バッファ、４５，５５…スイッチ網、４７，５７…出力バッファ
【図１】
0003725144.tif 000002
【図２】
0003725144.tif 000003
【図３】
0003725144.tif 000004
【図４】
0003725144.tif 000005
【図５】
0003725144.tif 000006
【図６】
0003725144.tif 000007
【図７】
0003725144.tif 000008
【図８】
0003725144.tif 000009
【図９】
0003725144.tif 000010
【図１０】
0003725144.tif 000011