(57)【特許請求の範囲】
【請求項１】
所定の仮想ネットワークに属する装置からパケットを受信する複数の受信ポートと、前記パケットを他の装置へ送信する複数の送信ポートとを有する中継装置であって、
送信ポートごとに、パケットを中継する優先順位を示す優先度別に、前記優先度と仮想ネットワークを識別するためのＶＬＡＮ番号との組合せに対応付けて設けられた複数のキューと、
パケットに設定されている宛先情報に対応付けて、前記送信ポートを識別するためのポート番号を記憶する方路記憶手段と、
ＶＬＡＮ番号と優先度との組合せに対応付けて、優先度ごとに、前記キューを識別するためのキュー番号、または、パケット格納先のキューを特定しないことを示す情報であるキュー不定情報を記憶するキュー番号記憶手段と、
前記受信ポートによってパケットが受信された場合に、該パケットに設定されている宛先情報に対応付けて前記方路記憶手段に記憶されているポート番号が示す送信ポートに該パケットを出力することを決定する方路決定手段と、
前記方路決定手段によって決定された送信ポートに対応する複数のキューのうち、前記パケットに設定されているＶＬＡＮ番号と優先度との組合せに対応付けて前記キュー番号記憶手段にキュー番号が記憶されている場合に、当該キュー番号が示すキューに、前記パケットを格納し、前記キュー番号記憶手段にキュー不定情報が記憶されている場合に、前記方路決定手段によって決定された送信ポートに対応する複数のキューのうち、いずれかのキューに前記パケットを格納させるパケット格納手段と、
前記パケット格納手段によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて前記他の装置へ送信するパケット送信手段と
を備えたことを特徴とする中継装置。
【請求項２】
前記パケット送信手段は、同一の優先度に対応付けられた複数のキューから、ラウンドロビン方式によってパケットを取り出すラウンドロビン制御手段と、前記ラウンドロビン制御手段によって取り出されたパケットを、優先度の高い順番に前記他の装置へ送信する優先制御送信手段とを備えたことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記ラウンドロビン制御手段は、前記ラウンドロビン方式として、不足ラウンドロビン方式または加重ラウンドロビン方式のいずれかによって同一の優先度に対応付けられた複数のキューからパケットを取り出すことを特徴とする請求項２に記載の中継装置。
【請求項４】
所定の仮想ネットワークに属する装置からパケットを受信する複数の受信ポートと、前記パケットを他の装置へ送信する複数の送信ポートとを有する中継装置におけるパケット中継方法であって、
前記中継装置が、パケットに設定されている宛先情報に対応付けて、前記送信ポートを識別するためのポート番号を方路記憶部に記憶する方路記憶工程と、
前記仮想ネットワークを識別するためのＶＬＡＮ番号と、パケットを中継する優先順位を示す優先度との組合せに対応付けて、送信ポートごとに優先度別に、前記優先度とＶＬＡＮ番号との組合せに対応付けて設けられた複数のキューを識別するためのキュー番号、または、パケット格納先のキューを特定しないことを示す情報であるキュー不定情報をキュー番号記憶部に記憶するキュー番号記憶工程と、
前記受信ポートによってパケットが受信された場合に、該パケットに設定されている宛先情報に対応付けて前記方路記憶部に記憶されているポート番号が示す送信ポートに該パケットを出力することを決定する方路決定工程と、
前記方路決定工程によって決定された送信ポートに対応する複数のキューのうち、前記パケットに設定されているＶＬＡＮ番号と優先度との組合せに対応付けて前記キュー番号記憶部にキュー番号が記憶されている場合に、当該キュー番号が示すキューに、前記パケットを格納し、前記キュー番号記憶部にキュー不定情報が記憶されている場合に、前記方路決定工程において決定された送信ポートに対応する複数のキューのうち、いずれかのキューに前記パケットを格納させるパケット格納工程と、
前記パケット格納工程によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて前記他の装置へ送信するパケット送信工程と
を含んだことを特徴とするパケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の仮想ネットワークに属する装置から受信したパケットを他の装置へ中継する中継装置およびパケット中継方法に関する。
【背景技術】
【０００２】
近年、スイッチやルータなどのパケットを中継する中継装置には、ＱｏＳ（Quality  of  Service）と呼ばれる通信の品質を確保するための機能を有するものがある。通信の品質を確保するための機能としては、各ユーザと契約した最低帯域幅を保証したデータ伝送を実現する帯域制御や、パケットに設定されている優先度が高い順番にパケットを中継する優先制御などがある。
【０００３】
ところで、近年では、物理ネットワーク内に仮想的なネットワークを形成するＶＬＡＮ（Virtual  Local  Area  Network）が普及しつつあり、ＶＬＡＮを提供する通信事業者やＶＬＡＮを利用するユーザから、仮想ネットワークごとに帯域制御を行いたいという要望がある。
【０００４】
そこで、仮想ネットワークごとに帯域制御する機能を実現する技術がいくつか提案されている。例えば、仮想ネットワークを識別するためのＶＬＡＮ番号ごとにパケットの中継処理を行うことで、仮想ネットワークごとに帯域制御を行う中継装置が提案されている。
【０００５】
【特許文献１】国際公開第０４／０４０８５４号パンフレット
【特許文献２】特開２００７−２７４５２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の中継装置には、異なる仮想ネットワークを流通するパケットに対して優先制御を行うことができないという問題があった。具体的には、上述した従来の中継装置は、ＶＬＡＮ番号が同一のパケットについては、優先度を考慮してパケットの中継処理を行うが、ＶＬＡＮ番号が異なるパケットについては、優先度を考慮してパケットの中継処理を行わない。このため、上述した従来の中継装置では、例えば、ＶＬＡＮ番号「Ａ」かつ優先度「７」であるパケットよりも、ＶＬＡＮ番号「Ｂ」かつ優先度「０」のパケットが先に中継されてしまうおそれがあるという問題があった。なお、優先度の数値が大きいほど優先度が高いものとする。
【０００７】
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、受信するパケット全体の優先度を考慮して優先制御を行うとともに、仮想ネットワークごとに帯域制御を行うことができる中継装置およびパケット中継方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本願に開示する中継装置は、所定の仮想ネットワークに属する装置からパケットを受信する複数の受信ポートと、前記パケットを他の装置へ送信する複数の送信ポートとを有する中継装置であって、送信ポートごとに、パケットを中継する優先順位を示す優先度と仮想ネットワークを識別するためのＶＬＡＮ番号との組合せに対応付けて設けられた複数のキューと、パケットに設定されている宛先情報に対応付けて、前記送信ポートを識別するためのポート番号を記憶する方路記憶手段と、ＶＬＡＮ番号と優先度との組合せに対応付けて、前記キューを識別するためのキュー番号を記憶するキュー番号記憶手段と、前記受信ポートによってパケットが受信された場合に、該パケットに設定されている宛先情報に対応付けて前記方路記憶手段に記憶されているポート番号が示す送信ポートに該パケットを出力することを決定する方路決定手段と、前記方路決定手段によって決定された送信ポートに対応する複数のキューのうち、前記パケットに設定されているＶＬＡＮ番号と優先度との組合せに対応付けて前記キュー番号記憶手段に記憶されているキュー番号が示すキューに、前記パケットを格納するパケット格納手段と、前記パケット格納手段によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて前記他の装置へ送信するパケット送信手段とを備えたことを要件とする。
【０００９】
なお、本願に開示する中継装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
【発明の効果】
【００１０】
本願に開示した中継装置によれば、受信するパケット全体の優先度を考慮して優先制御を行うとともに、仮想ネットワークごとに帯域制御を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本願に開示する中継装置およびパケット中継方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、本願に開示する中継装置およびパケット中継方法をスイッチに適用した例について説明するが、本願に開示する中継装置およびパケット中継方法は、ルータ等の他の中継装置に適用することも可能である。
【実施例１】
【００１２】
まず、実施例１に係るスイッチの概要について説明する。図１は、実施例１に係るスイッチの概要を説明するための図である。同図に示すように、実施例１に係るスイッチ１０は、キュー群１５０−０等を有する。
【００１３】
キュー群１５０−０等は、パケットに設定される優先度ごとに、スイッチ１０に設けられる。同図に例示したスイッチ１０は、受信するパケットに設定される優先度の範囲が「０」〜「７」であるものとして、８個のキュー群１５０−０〜１５０−７を有するものとする。なお、同図に示したキュー群１５０−０は、優先度「０」に対応し、キュー群１５０−１は、優先度「１」に対応する。
【００１４】
各々のキュー群１５０−０等は、複数のキューを有する。同図に示した例では、キュー群１５０−０は、４個のキュー１５１−０〜１５４−０を有し、キュー群１５０−１は、４個のキュー１５１−１〜１５４−１を有する。
【００１５】
なお、実施例１に係るスイッチ１０は、パケットを受信した場合に、かかるパケットを所定の記憶部（後述するストリームメモリ１６）に記憶させる。また、スイッチ１０は、ストリームメモリ１６に記憶されているパケットを他の装置へ中継する旨の命令（以下、「中継処理命令」という）をキュー１５１−０等に格納する。ただし、図１を用いた説明では、説明を簡単にするために、スイッチ１０は、パケットをキュー１５１−０等に格納するものとする。
【００１６】
このような構成の下、スイッチ１０は、パケットを受信した場合に、かかるパケットに設定されているＶＬＡＮ番号および優先度と、所定の記憶部（後述するキュー番号記憶部１７３）に記憶されている各種情報とに基づいて、受信したパケットを格納するキューを決定する。以下、スイッチ１０によって決定されたパケットの格納先のキューを「格納先キュー」と呼ぶこととする。
【００１７】
例えば、図１に示した例において、パケットＰ１１は、ＶＬＡＮ番号に「Ａ」が設定されており、優先度に「０」が設定されているものとする。また、パケットＰ１２は、ＶＬＡＮ番号に「Ｂ」が設定されており、優先度に「０」が設定されているものとする。また、パケットＰ２１は、ＶＬＡＮ番号に「Ａ」が設定されており、優先度に「１」が設定されているものとする。また、パケットＰ２２は、ＶＬＡＮ番号に「Ｂ」が設定されており、優先度に「１」が設定されているものとする。
【００１８】
かかる場合に、スイッチ１０は、パケットＰ１１、Ｐ１２、Ｐ２１およびＰ２２を受信すると、パケットＰ１１を、優先度「０」に対応するキュー群１５０−０内のキュー１５１−０に格納する。また、スイッチ１０は、パケットＰ１２を、優先度「０」に対応するキュー群１５０−０内のキュー１５２−０に格納する。また、スイッチ１０は、パケットＰ２１を、優先度「１」に対応するキュー群１５０−１内のキュー１５１−１に格納する。また、スイッチ１０は、パケットＰ２２を、優先度「１」に対応するキュー群１５０−１内のキュー１５２−１に格納する。
【００１９】
続いて、スイッチ１０は、キュー群１５０−０が有するキュー１５１−０〜１５４−０から、ＤＲＲ（Deficit  Round  Robin：不足ラウンドロビン）方式によって、パケットを取り出す。同様に、スイッチ１０は、キュー群１５０−１が有するキュー１５１−１〜１５４−１から、ＤＲＲ方式によって、パケットを取り出す。そして、スイッチ１０は、それぞれのキュー群から取り出したパケットを、優先度が高い順番に、他の装置（例えば、他のスイッチや、サーバなどの情報処理装置）へ送信する。
【００２０】
このように、実施例１に係るスイッチ１０は、優先度とＶＬＡＮ番号との組合せに対応付けて設けられた複数のキューを有し、パケットを受信した場合に、かかるパケットに設定されている優先度とＶＬＡＮ番号との組合せごとに異なるキューに格納し、各キュー群からＤＲＲ方式によってパケットを取り出して、他の装置へ送信するので、仮想ネットワークごとに帯域制御を行うことができる。また、スイッチ１０の利用者（ネットワーク管理者など）は、ＤＲＲ方式における加重率を変更するだけで、仮想ネットワークごとに最低帯域幅を変更することができる。例えば、図１に示した例において、ＶＬＡＮ番号「Ａ」よりもＶＬＡＮ番号「Ｂ」の帯域幅を大きくしたい場合、利用者は、キュー１５１−０の加重率より、キュー１５２−０の加重率を大きくする設定を行うだけで実現できる。
【００２１】
また、実施例１に係るスイッチ１０は、各々のキュー群からＤＲＲ方式によって取り出したパケットを、優先度が高い順番に他の装置へ送信するので、受信したパケット全体の優先度を考慮した優先制御を行うことができる。
【００２２】
以上のことから、実施例１に係るスイッチ１０では、受信するパケット全体の優先度を考慮して優先制御を行うとともに、仮想ネットワークごとに帯域制御を行うことができる。
【００２３】
なお、上記では、ＶＬＡＮ番号が異なるパケットを異なるキューに格納する例について説明したが、ＶＬＡＮ番号が異なるパケットを同一のキューに格納するようにしてもよい。例えば、スイッチ１０は、ＶＬＡＮ番号に「Ａ」〜「Ｃ」が設定されているパケットをキュー１５１−０に格納し、ＶＬＡＮ番号「Ｄ」〜「Ｆ」が設定されているパケットをキュー１５１−１に格納するようにしてもよい。
【００２４】
これにより、いくつかの仮想ネットワークを１つの仮想ネットワークグループとして扱うことができ、仮想ネットワークグループごとに帯域制御を行うことができる。例えば、同種の業務に用いられている複数の仮想ネットワークを、１つの仮想ネットワークグループとして帯域制御を行うことができる。また、ＶＬＡＮの数が多数存在するようなネットワークであっても、ＶＬＡＮの数と同一のキューを設ける必要がなくなるので、スイッチ１０の構成を簡易にすることができる。
【００２５】
また、パケットが流通する時間帯が異なる複数の仮想ネットワークを、１つの仮想ネットワークグループにすることで、資源（キュー）を有効に利用することができる。具体的には、午前のみパケットが流通する仮想ネットワークＡと、午後のみパケットが流通する仮想ネットワークＢとが存在する場合、仮想ネットワークＡおよびＢを１つの仮想ネットワークグループにする。これにより、所定のキューを、午前は仮想ネットワークＡ上で流通するパケットを中継処理する際に用い、午後は仮想ネットワークＢ上で流通するパケットを中継処理する際に用いることができる。その結果、キューが使用されない時間が減少するので、資源（キュー）を有効に利用することができる。なお、ＶＬＡＮ番号が異なるパケットを同一のキューに格納することは、後述するキュー番号記憶部１７３に記憶されている各種情報を変更することで容易に実現できる。
【００２６】
次に、実施例１に係るスイッチ１０が適用されるネットワークについて説明する。図２は、実施例１に係るスイッチ１０が適用されるネットワークの構成例を示す図である。同図に示すように、ネットワーク１は、サーバシステム２Ａ〜２Ｃと、記憶システム３Ａ〜３Ｃと、スイッチ１０Ａ〜１０Ｆを含むスイッチ群４と、ネットワークシステム５と、ルーティングシステム６とを有する。なお、ネットワーク１は、複数の仮想ネットワーク（ＶＬＡＮ）が形成されているものとする。
【００２７】
サーバシステム２Ａ〜２Ｃは、ホストコンピュータ等の情報処理装置であり、スイッチ１０Ａ〜１０Ｆのいずれかに接続されている。記憶システム３Ａ〜３Ｃは、ストレージ装置等のデータ入出力装置であり、スイッチ１０Ａ〜１０Ｆのいずれかに接続されている。ネットワークシステム５は、ネットワーク１の保守や監視を行うための装置であり、スイッチ１０Ｅに接続されている。ルーティングシステム６は、ネットワーク１と、他のネットワークとの間でデータの中継処理を行うための装置であり、スイッチ１０Ｆに接続されている。
【００２８】
スイッチ１０Ａ〜１０Ｆは、データの中継処理を行う中継装置であり、自装置以外の他のスイッチ１０Ａ〜１０Ｆや、サーバシステム２Ａ〜２Ｃ等と接続されている。スイッチ１０Ａ〜１０Ｆは、仮想ネットワークが形成されているネットワーク１内において、パケットにＶＬＡＮタグを挿入または削除して中継処理を行う。
【００２９】
なお、図２に示したネットワーク１の構成はあくまで一例であり、実施例１に係るスイッチ１０Ａ〜１０Ｆが適用されるネットワークの構成例は、同図に示したネットワークの構成に限られない。例えば、同図に示したネットワーク１では、３台のサーバシステム２Ａ〜２Ｃと、３台の記憶システム３Ａ〜３Ｃと、６台のスイッチ１０Ａ〜１０Ｆと、１台のネットワークシステム５と、１台のルーティングシステム６を有する例を示したが、各々の装置の台数は、同図に示した例に限られない。
【００３０】
次に、実施例１に係るスイッチ１０の構成について説明する。図３は、実施例１に係るスイッチ１０の構成を示すブロック図である。なお、図３に示したスイッチ１０は、図２に示したスイッチ１０Ａ〜１０Ｆに対応する。図３に示すように、スイッチ１０は、受信ポート１１ａ〜１１ｃと、送信ポート１２ａ〜１２ｃと、スイッチコア１３とを有する。
【００３１】
受信ポート１１ａ〜１１ｃは、所定の装置（例えば、サーバシステム２Ａ〜２Ｃや、他のスイッチ）からパケットを受信するインタフェースである。各々の受信ポート１１ａ〜１１ｃは、所定の仮想ネットワークに属する装置からパケットを受信する。例えば、受信ポート１１ａは、仮想ネットワークＡ〜Ｅに属する装置からのみパケットを受信したり、受信ポート１１ｂは、仮想ネットワークＦ〜Ｊに属する装置からのみパケットを受信したりする。
【００３２】
送信ポート１２ａ〜１２ｃは、受信ポート１１ａ〜１１ｃによって受信されたパケットを他の装置へ送信するインタフェースである。各々の送信ポート１２ａ〜１２ｃは、所定の仮想ネットワークに属する装置に対してパケットを送信する。例えば、送信ポート１２ａは、仮想ネットワークＡ〜Ｅに属する装置に対してのみパケットを送信したり、送信ポート１２ｂは、仮想ネットワークＦ〜Ｊに属する装置に対してのみパケットを送信したりする。
【００３３】
なお、図３に示した例では、スイッチ１０が、３個の受信ポート１１ａ〜１１ｃと、３個の送信ポート１２ａ〜１２ｃとを有する例を示したが、スイッチ１０は、２個以下の受信ポートおよび送信ポートを有してもよいし、４個以上の受信ポートおよび送信ポートを有してもよい。
【００３４】
スイッチコア１３は、データの中継処理を担う機能部であり、受信ポートモジュール１４ａ〜１４ｃを含むポートモジュール群１４と、送信ポートモジュール１５ａ〜１５ｃを含むポートモジュール群１５と、ストリームメモリ１６と、記憶部１７と、制御部１８とを有する。
【００３５】
受信ポートモジュール１４ａ〜１４ｃは、受信ポート１１ａ〜１１ｃごとに設けられるモジュールであり、受信ポート１１ａ〜１１ｃからパケットを入力された場合に、かかるパケットをストリームメモリ１６に書き込むとともに、パケットのヘッダ情報を、制御部１８へ出力する。ここでいう「ヘッダ情報」とは、例えば、ＤＡ（Destination  Address：宛先ＭＡＣ（Media  Access  Control）アドレス）や、ＳＡ（Source  Address：送信元ＭＡＣアドレス）、ＶＬＡＮ番号、優先度などを示す。
【００３６】
なお、同図では、受信ポートモジュール１４ａが受信ポート１１ａに対応し、受信ポートモジュール１４ｂが受信ポート１１ｂに対応し、受信ポートモジュール１４ｃが受信ポート１１ｃに対応する例を示している。すなわち、受信ポートモジュール１４ａは、受信ポート１１ａによって受信されたパケットについて上述した処理を行うことになる。
【００３７】
送信ポートモジュール１５ａ〜１５ｃは、送信ポート１２ａ〜１２ｃごとに設けられるモジュールであり、ストリームメモリ１６に格納されているパケットを読み出して送信ポート１２ａ〜１２ｃに出力する。具体的には、送信ポートモジュール１５ａ〜１５ｃは、中継処理命令を格納するためのキューを複数有し、かかる中継処理命令に従って、ストリームメモリ１６に格納されているパケットを、送信ポート１２ａ〜１２ｃを介して他の装置へ送信する。送信ポートモジュール１５ａ〜１５ｃの構成については、後に詳述する。
【００３８】
なお、同図では、送信ポートモジュール１５ａが送信ポート１２ａに対応し、送信ポートモジュール１５ｂが送信ポート１２ｂに対応し、送信ポートモジュール１５ｃが送信ポート１２ｃに対応する例を示している。すなわち、送信ポートモジュール１５ａは、送信ポート１２ａに対してパケットを出力することになる。
【００３９】
ストリームメモリ１６は、メモリ等の記憶デバイスであり、受信ポートモジュール１４ａ〜１４ｃによって書き込まれたパケットを記憶する。ストリームメモリ１６は、記憶領域を所定のサイズの論理ブロックに分割して、論理ブロック単位にデータを記憶する。例えば、ストリームメモリ１６は、パケットのサイズが、１つの論理ブロックのサイズ以下である場合、かかるパケットを１つの論理ブロックに記憶する。一方、パケットのサイズが、１つの論理ブロックのサイズより大きい場合、ストリームメモリ１６は、かかるパケットを複数の論理ブロックに分割して記憶する。
【００４０】
記憶部１７は、メモリ等の記憶デバイスであり、タグメモリ１７１と、方路記憶部１７２と、キュー番号記憶部１７３とを有する。タグメモリ１７１は、ストリームメモリ１６の論理ブロックを管理するための各種情報を記憶する。
【００４１】
具体的には、タグメモリ１７１は、論理ブロックを識別するための論理ブロック番号を記憶する。また、タグメモリ１７１は、論理ブロック間の関係性を示す情報（以下、「リンク情報」という）を記憶する。ここで、タグメモリ１７１が記憶するリンク情報について例を挙げて説明する。例えば、１つのパケットＰ１０１が３個の論理ブロックＲ１〜Ｒ３に分割されて記憶されているとする。かかる場合、タグメモリ１７１は、パケットＰ１０１が論理ブロックＲ１〜Ｒ３に記憶されていることを示すリンク情報を記憶する。また、例えば、１つのデータが９個のパケットＰ２０１〜Ｐ２０９に分割されており、かかるパケットＰ２０１〜Ｐ２０９が複数の論理ブロックＲ１１〜Ｒ３０に格納されているとする。かかる場合、タグメモリ１７１は、パケットＰ２０１〜Ｐ２０９が論理ブロックＲ１１〜Ｒ３０に格納されていることを示すリンク情報を記憶する。
【００４２】
方路記憶部１７２は、パケットに設定されているＤＡに対応付けて、かかるパケットの出力先の送信ポートを識別するための番号（以下、受信ポート１１ａ〜１１ｃおよび送信ポート１２ａ〜１２ｃを識別するための番号を「ポート番号」という）を記憶する。方路記憶部１７２の一例を図４に示す。同図に示すように、方路記憶部１７２は、ＭＡＣアドレス、ポート番号といった項目を有する。ＭＡＣアドレスは、パケットに設定されているＤＡを示す。ポート番号は、対応するＭＡＣアドレスがＤＡに設定されているパケットの出力先の送信ポート１２ａ〜１２ｃのポート番号を示す。なお、以下では、図３に示した受信ポート１１ａ〜１１ｃおよび送信ポート１２ａ〜１２ｃに付した参照符号「１１ａ」〜「１１ｃ」および「１２ａ」〜「１２ｃ」をポート番号とする。
【００４３】
すなわち、図４に示した方路記憶部１７２の１行目は、ＤＡに「００：０１：０２：０３：０４：０５」が設定されているパケットが、ポート番号「１２ａ」が示す送信ポート１２ａに出力されることを示している。また、図４に示した方路記憶部１７２の２行目は、ＤＡに「００：０１：０２：０３：０４：０６」が設定されているパケットが、ポート番号「１２ｂ」が示す送信ポート１２ｂに出力されることを示している。
【００４４】
キュー番号記憶部１７３は、ＶＬＡＮ番号に対応付けて、優先度ごとに、中継処理命令を格納するキューを識別するためのキュー番号（以下、「ＱＩＤ：queue  ID」という）を記憶する。キュー番号記憶部１７３の一例を図５に示す。同図に示すように、キュー番号記憶部１７３は、ＶＬＡＮ番号、メンバポート番号、ＱＩＤといった項目を有する。
【００４５】
ＶＬＡＮ番号は、仮想ネットワークを識別するための番号を示す。メンバポート番号は、ＶＬＡＮ番号が示す仮想ネットワーク上で流通するパケットを受信または送信する受信ポート１１ａ〜１１ｃおよび送信ポート１２ａ〜１２ｃのポート番号を示す。ＱＩＤは、対応するＶＬＡＮ番号および優先度が設定されているパケットに基づいて生成された中継処理命令の格納先キューのＱＩＤを示す。
【００４６】
すなわち、図５に示したキュー番号記憶部１７３の１行目は、ＶＬＡＮ番号「１」が示す仮想ネットワーク上で流通するパケットを受信するポートが、受信ポート１１ａであり、流通するパケットを送信するポートが、送信ポート１２ａであることを示している。また、図５に示したキュー番号記憶部１７３の１行目は、ＶＬＡＮ番号が「１」でり、かつ、優先度が「０」〜「７」のいずれかである中継処理命令が、ＱＩＤ「０」が示すキューに格納されることを示している。
【００４７】
制御部１８は、スイッチコア１３を全体制御する制御部であり、リンク情報取得部１８１と、方路決定部１８２と、パケット格納部１８３とを有する。リンク情報取得部１８１は、ポートモジュール群１４からヘッダ情報を入力された場合に、タグメモリ１７１から、かかるヘッダ情報を有するパケットのリンク情報を取得して、取得したリンク情報をパケット格納部１８３へ出力する処理部である。
【００４８】
方路決定部１８２は、方路記憶部１７２に記憶されている各種情報に基づいて、受信したパケットを送信する送信ポートを決定する処理部である。具体的には、方路決定部１８２は、ポートモジュール群１４からヘッダ情報を入力された場合に、方路記憶部１７２から、ヘッダ情報に設定されているＤＡに対応付けて記憶されているポート番号を取得する。そして、方路決定部１８２は、取得したポート番号が示す送信ポート１２ａ〜１２ｃのいずれかに、かかるヘッダ情報を有するパケットを出力することを決定する。
【００４９】
例えば、方路記憶部１７２が図４に示した状態であり、方路決定部１８２が、ＤＡに「００：０１：０２：０３：０４：０５」が設定されているヘッダ情報Ｈ１を、ポートモジュール群１４から入力されたものとする。かかる場合、方路決定部１８２は、方路記憶部１７２からポート番号「１２ａ」を取得する。そして、方路決定部１８２は、取得したポート番号「１２ａ」が示す送信ポート１２ａに、ヘッダ情報Ｈ１を有するパケットを出力することを決定する。
【００５０】
パケット格納部１８３は、中継処理命令を生成し、キュー番号記憶部１７３に記憶されている各種情報に基づいて中継処理命令の格納先キューを決定し、決定したキューに中継処理命令を格納する処理部である。
【００５１】
具体的には、パケット格納部１８３は、ポートモジュール群１４からヘッダ情報を入力された場合に、入力されたヘッダ情報や、かかるヘッダ情報を有するパケットが記憶されているストリームメモリ１６上の論理ブロックを示す論理ブロック番号、リンク情報取得部１８１から入力されたリンク情報などを含む中継処理命令を生成する。
【００５２】
続いて、パケット格納部１８３は、キュー番号記憶部１７３から、ヘッダ情報に設定されているＶＬＡＮ番号と優先度との組合せに対応付けて記憶されているＱＩＤを取得する。続いて、パケット格納部１８３は、方路決定部１８２によって決定された送信ポート１２ａ〜１２ｃのいずれかに対応する送信ポートモジュール１５ａ〜１５ｃが有するキューのうち、キュー番号記憶部１７３から取得したＱＩＤが示すキューに、中継処理命令を格納する。
【００５３】
例えば、方路記憶部１７２が図４に示した状態であり、キュー番号記憶部１７３が図５に示した状態であるものとする。また、制御部１８は、ポートモジュール群１４から、ＤＡ「００：０１：０２：０３：０４：０６」、ＶＬＡＮ番号「２」、かつ、優先度「７」が設定されているヘッダ情報Ｈ２を入力されたものとする。かかる場合、方路決定部１８２は、ヘッダ情報Ｈ２を有するパケットを送信ポート１２ｂに出力することを決定する。続いて、パケット格納部１８３は、中継処理命令を生成して、ＶＬＡＮ番号「２」と優先度「７」との組合せに対応付けてキュー番号記憶部１７３に記憶されているＱＩＤ「１」を取得する。続いて、パケット格納部１８３は、方路決定部１８２によって決定された送信ポート１２ｂに対応する送信ポートモジュール１５ｂが有するキューのうち、優先度「７」に対応付けて設けられたキューであり、かつ、ＱＩＤが「１」であるキューに、生成した中継処理命令を格納する。
【００５４】
次に、図３に示した送信ポートモジュール１５ａ〜１５ｃの構成について説明する。図６は、図３に示した送信ポートモジュール１５ａ〜１５ｃの構成を示すブロック図である。なお、送信ポートモジュール１５ａ〜１５ｃは、いずれも同様の構成を有するため、ここでは、送信ポートモジュール１５ａの構成についてのみ説明する。
【００５５】
同図に示すように、送信ポートモジュール１５ａは、キュー群１５０−０〜１５０−７と、優先制御送信スケジューラ１５６とを有する。キュー群１５０−０は、キュー１５１−０〜１５４−０と、ラウンドロビン制御スケジューラ（以下、「ＤＲＲスケジューラ」という）１５５−０とを有する。キュー１５１−０〜１５４−０は、パケット格納部１８３によって優先度が「０」である中継処理命令が格納される記憶領域である。上述したように、パケット格納部１８３は、ヘッダ情報とキュー番号記憶部１７３に基づいて中継処理命令を格納するキューを、キュー１５１−０〜１５４−０のいずれかに決定する。
【００５６】
ＤＲＲスケジューラ１５５−０は、ＤＲＲ方式によって、キュー１５１−０〜１５４−０から中継処理命令を取り出す処理部である。なお、ＤＲＲスケジューラ１５５−０は、加重率が等しいラウンドロビン方式や、ＷＲＲ（Weighted  Round  Robin：加重ラウンドロビン）方式によって、中継処理命令を取り出してもよい。また、ＤＲＲスケジューラ１５５−０は、本願の出願人によって出願された特開２００４−２４２３３５に開示されているラウンドロビン方式によって、中継処理命令を取り出してもよい。
【００５７】
同様に、キュー群１５０−７は、パケット格納部１８３によって優先度が「７」である中継処理命令が格納されるキュー１５１−７〜１５４−７と、ＤＲＲスケジューラ１５５−７とを有する。同図では、図示することを省略しているが、送信ポートモジュール１５ａは、優先度が「１」〜「６」である中継処理命令が格納されるキュー群１５０−１〜１５０−６も有する。かかるキュー群１５０−１〜１５０−６の構成は、キュー群１５０−０および１５０−７の構成と同様である。
【００５８】
なお、同図では、各々のキュー群１５０−０〜１５０−７は、４個のキュー（キュー群１５０−０の例では、キュー１５１−０〜１５４−０）を有する例を示したが、各々のキュー群１５０−０〜１５０−７は、３個以下のキューを有してもよいし、５個以上のキューを有してもよい。
【００５９】
また、以下では、キュー群１５１−０等が有する各キューのＱＩＤは、上から順に「０」、「１」、「２」、「３」であるものとする。具体的には、キュー１５１−０のＱＩＤが「０」であり、キュー１５２−０のＱＩＤが「１」であり、キュー１５３−０のＱＩＤが「２」であり、キュー１５４−０のＱＩＤが「３」であるものとする。同様に、キュー１５１−７のＱＩＤが「０」であり、キュー１５２−７のＱＩＤが「１」であり、キュー１５３−７のＱＩＤが「２」であり、キュー１５４−７のＱＩＤが「３」であるものとする。なお、各キューに割り当てるＱＩＤは、この例に限られず、すべてのキューに対してユニークなＱＩＤを割り当ててもよい。
【００６０】
優先制御送信スケジューラ１５６は、ＤＲＲスケジューラ１５５−０〜１５５−７によって取り出された中継処理命令のうち、優先度の高い順番に、中継処理命令に従って処理を行う。具体的には、優先制御送信スケジューラ１５６は、ストリームメモリ１６から、中継処理命令に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを読み出して、送信ポート１２ａへ出力する。また、優先制御送信スケジューラ１５６は、中継処理命令にリンク情報が含まれている場合、かかるリンク情報に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ１６から読み出して、送信ポート１２ａへ出力する。優先制御送信スケジューラ１５６は、優先度の高い順番に、中継処理命令に従って、同様のパケット出力処理を行う。
【００６１】
次に、実施例１に係るスイッチ１０によるパケット中継処理の手順について説明する。図７は、実施例１に係るスイッチ１０によるパケット中継処理手順を示すフローチャートである。同図に示すように、スイッチ１０の受信ポート１１ａ〜１１ｃがパケットを受信した場合（ステップＳ１０１肯定）、受信ポートモジュール１４ａ〜１４ｃは、かかるパケットをストリームメモリ１６に書き込む（ステップＳ１０２）。また、受信ポートモジュール１４ａ〜１４ｃは、かかるパケットのヘッダ情報を制御部１８へ出力する（ステップＳ１０３）。
【００６２】
ヘッダ情報を受け付けた制御部１８の方路決定部１８２は、かかるヘッダ情報と、方路記憶部１７２に記憶されている各種情報に基づいて、パケットを送信する送信ポートを決定する（ステップＳ１０４）。続いて、パケット格納部１８３は、受信ポートモジュール１４ａ〜１４ｃから受け付けたヘッダ情報や、かかるヘッダ情報を有するパケットが記憶されている論理ブロックを示す論理ブロック番号、リンク情報などを含む中継処理命令を生成する（ステップＳ１０５）。
【００６３】
続いて、パケット格納部１８３は、ヘッダ情報に設定されているＶＬＡＮ番号と優先度との組合せに対応付けてキュー番号記憶部１７３に記憶されているＱＩＤを取得する（ステップＳ１０６）。続いて、パケット格納部１８３は、方路決定部１８２によって決定された送信ポート１２ａ〜１２ｃに対応する送信ポートモジュール１５ａ〜１５ｃが有するキューのうち、パケットに設定されている優先度に対応付けて設けられたキューであり、かつ、ステップＳ１０６において取得したＱＩＤが示すキューに、中継処理命令を格納する（ステップＳ１０７）。
【００６４】
続いて、送信ポートモジュール１５ａ〜１５ｃのＤＲＲスケジューラ１５５−０〜１５５−７は、ＤＲＲ方式によって、キューから中継処理命令を取り出す（ステップＳ１０８）。具体的には、ＤＲＲスケジューラ１５５−０は、ＤＲＲ方式によって、キュー１５１−０〜１５４−０から中継処理命令を取り出し、ＤＲＲスケジューラ１５５−７は、ＤＲＲ方式によって、キュー１５１−７〜１５４−７から中継処理命令を取り出す。
【００６５】
続いて、送信ポートモジュール１５ａ〜１５ｃの優先制御送信スケジューラ１５６は、ＤＲＲスケジューラ１５５−０〜１５５−７によって取り出された中継処理命令のうち、優先度の高い順番に、中継処理命令に従って、ストリームメモリ１６からパケットを取得して、送信ポート１２ａ〜１２ｃへ出力する（ステップＳ１０９）。具体的には、優先制御送信スケジューラ１５６は、中継処理命令に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ１６から取得して、送信ポート１２ａ〜１２ｃへ出力する。また、優先制御送信スケジューラ１５６は、中継処理命令にリンク情報が含まれている場合、かかるリンク情報に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ１６から取得して、送信ポート１２ａ〜１２ｃへ出力する。
【００６６】
上述してきたように、実施例１に係るスイッチ１０は、パケット格納部１８３が、受信したパケットに係る中継処理命令を、優先度およびＶＬＡＮ番号によって異なるキューに格納し、ＤＲＲスケジューラ１５５−０〜１５５−７が、各キューからＤＲＲ方式によって中継処理命令を取り出して、優先制御送信スケジューラ１５６が、優先度が高い順番に、中継処理命令に従って、パケットを他の装置へ送信するので、受信するパケット全体の優先度を考慮して優先制御を行うとともに、仮想ネットワークごとに帯域制御を行うことができる。
【実施例２】
【００６７】
ところで、上記実施例１では、すべての仮想ネットワークに対して、利用者が所望する所定の帯域制御を行うスイッチの例を示したが、仮想ネットワークの中には、どのような帯域制御を行ってもよい仮想ネットワークが存在する場合もある。例えば、所定のネットワークにおいて、仮想ネットワークＡ〜Ｅに対しては、利用者によって所定の帯域制御を行うように指定され、仮想ネットワークＦ〜Ｊに対しては、利用者によってどのような帯域制御を行ってもよいと指定されるケースが考えられる。そこで、実施例２では、複数の仮想ネットワークのうち、所定の仮想ネットワークに対してのみ、利用者が所望する帯域制御を行うスイッチの例について説明する。
【００６８】
まず、実施例２に係るスイッチ２０の構成について説明する。図８は、実施例２に係るスイッチ２０の構成を示すブロック図である。なお、以下では、図３に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
【００６９】
図８に示すように、スイッチ２０が有するスイッチコア２３は、図３に示したスイッチコア１３が有するポートモジュール群１５、記憶部１７および制御部１８の代わりに、ポートモジュール群２５と、記憶部２７と、制御部２８とを新たに有する。
【００７０】
ポートモジュール群２５は、送信ポート１２ａ〜１２ｃに対応する送信ポートモジュール２５ａ〜２５ｃを有する。送信ポートモジュール２５ａ〜２５ｃの構成については、後に詳述する。
【００７１】
記憶部２７は、図３に示した記憶部１７と比較して、キュー番号記憶部１７３の代わりに、ＶＬＡＮ記憶部２７４を新たに有する。ＶＬＡＮ記憶部２７４の一例を図９に示す。同図に示すように、ＶＬＡＮ記憶部２７４は、ＶＬＡＮ番号、メンバポート番号といった項目を有する。
【００７２】
制御部２８は、図３に示した制御部１８と比較して、方路決定部１８２とパケット格納部１８３との代わりに、方路決定部２８２を新たに有する。方路決定部２８２は、方路記憶部１７２に記憶されている各種情報に基づいて、パケットを送信する送信ポートを決定する。
【００７３】
また、方路決定部２８２は、ポートモジュール群１４からヘッダ情報を入力された場合に、かかるヘッダ情報や、ヘッダ情報を有するパケットが記憶されている論理ブロックを示す論理ブロック番号、リンク情報などを含む中継処理命令を生成する。そして、方路決定部２８２は、生成した中継処理命令を、前述において決定した送信ポート１２ａ〜１２ｃのいずれかに対応する送信ポートモジュール２５ａ〜２５ｃに出力する。例えば、方路決定部２８２は、パケットを送信する送信ポートを送信ポート１２ａに決定した場合、中継処理命令を送信ポートモジュール２５ａに出力する。
【００７４】
次に、図８に示した送信ポートモジュール２５ａ〜２５ｃの構成について説明する。図１０は、図８に示した送信ポートモジュール２５ａ〜２５ｃの構成を示すブロック図である。なお、送信ポートモジュール２５ａ〜２５ｃは、いずれも同様の構成を有するため、ここでは、送信ポートモジュール２５ａの構成についてのみ説明する。また、以下では、図６に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
【００７５】
図１０に示すように、送信ポートモジュール２５ａは、キュー群１５０−０〜１５０−７と、優先制御送信スケジューラ１５６と、キュー番号記憶部２５１と、パケット格納部２５２ａおよび２５２ｂとを有する。
【００７６】
キュー番号記憶部２５１は、ＶＬＡＮ番号に対応付けて、優先度ごとに、ＱＩＤを記憶する。また、キュー番号記憶部２５１は、中継処理命令の格納先のキューを特定しない場合、ＱＩＤに、中継処理命令の格納先のキューを特定しないことを示す情報（以下、「キュー不定情報」という）を記憶する。キュー番号記憶部２５１の一例を図１１に示す。同図に示すように、キュー番号記憶部２５１は、ＶＬＡＮ番号、ＱＩＤといった項目を有する。なお、同図に示した例において、ＱＩＤに設定されている「−」は、キュー不定情報を示している。
【００７７】
すなわち、図１１に示したキュー番号記憶部２５１の２行目は、ＶＬＡＮ番号が「２」である中継処理命令が、どのキューに格納されてもよいことを示している。例えば、ＶＬＡＮ番号が「２」であり、優先度が「０」である中継処理命令が、図１０に示したキュー１５１−０〜１５４−０のいずれのキューに格納されてもよいことを示している。
【００７８】
また、図１１に示したキュー番号記憶部２５１の３行目は、ＶＬＡＮ番号が「３」であり、優先度が「０」〜「３」のいずれかである中継処理命令が、どのキューに格納されてもよいことを示しており、ＶＬＡＮ番号が「３」であり、優先度が「４」〜「７」のいずれかである中継処理命令が、ＱＩＤ「２」のキューに格納されることを示している。
【００７９】
パケット格納部２５２ａおよび２５２ｂは、キュー番号記憶部２５１に記憶されている各種情報に基づいて中継処理命令を格納するキューのＱＩＤを決定するＱＩＤ決定処理を行い、決定したＱＩＤが示すキューに、方路決定部２８２から入力された中継処理命令を格納する処理部である。
【００８０】
ここで、図１２を用いて、図１０に示したパケット格納部２５２ａによるＱＩＤ決定処理について具体的に説明する。図１２は、図１０に示したパケット格納部２５２ａによるＱＩＤ決定処理を説明するための図である。パケット格納部２５２ａは、優先度が「０」である中継処理命令を入力された場合、まず、キュー番号記憶部２５１から、中継処理命令に含まれるＶＬＡＮ番号と優先度「０」との組合せに対応付けて記憶されているＱＩＤを取得する。取得したＱＩＤがキュー不定情報でない場合、パケット格納部２５２ａは、かかるＱＩＤを、中継処理命令を格納するキューのＱＩＤに決定する（ステップＳ１）。
【００８１】
一方、取得したＱＩＤがキュー不定情報である場合、パケット格納部２５２ａは、不特定のＱＩＤを算出する。具体的には、パケット格納部２５２ａは、パケットを受信した受信ポート１１ａ〜１１ｃのいずれかを示すポート番号のＭａｐ値を算出する（ステップＳ２）。例えば、パケット格納部２５２ａは、ポート番号の下位２ビットをＭａｐ値として算出する。
【００８２】
また、パケット格納部２５２ａは、パケットのヘッダ情報を用いてハッシュ値を算出する（ステップＳ３）。例えば、パケット格納部２５２ａは、ＩＰ（Internet  Protocol）アドレスとＴＣＰ（Transmission  Control  Protocol）／ＵＤＰ（User  Datagram  Protocol）ポート番号とＶＬＡＮ番号などの先頭から８ビットごとに、ＣＲＣ−８（Cyclic  Redundancy  Checking：巡回冗長符号）を算出して、算出した複数の巡回冗長符号の排他的論理和演算結果をハッシュ値として算出する。
【００８３】
続いて、パケット格納部２５２ａは、Ｍａｐ値またはハッシュ値のいずれか一方を、中継処理命令を格納するキューのＱＩＤに決定する。そして、パケット格納部２５２ａは、このようにして決定したＱＩＤが示すキューに、中継処理命令を格納する。なお、上記では、Ｍａｐ値やハッシュ値を用いて不特定のＱＩＤを決定する手法を示したが、かかる手法はあくまで一例であり、パケット格納部２５２ａは、他の手法によってＱＩＤを決定してもよい。例えば、パケット格納部２５２ａは、キューに中継処理命令を格納するたびに、格納先のキューを順次変更してもよい。
【００８４】
パケット格納部２５２ｂは、パケット格納部２５２ａとほぼ同様の処理を行う処理部であり、優先度が「７」である中継処理命令を入力された場合に、中継処理命令を生成し、キュー番号記憶部２５１に記憶されている各種情報に基づいて、中継処理命令をキュー１５１−７〜１５４−７のいずれかに格納する。
【００８５】
これにより、どのような帯域制御を行ってもよい仮想ネットワーク上の流通パケットに係る中継処理命令は、不特定のキューに格納されるので、スイッチ２０は、キューを平均的に用いることができ、その結果、資源（キュー）を有効に用いることができる。
【００８６】
次に、実施例２に係るスイッチ２０によるパケット中継処理の手順について説明する。図１３は、実施例２に係るスイッチ２０によるパケット中継処理手順を示すフローチャートである。同図に示すように、スイッチ２０の受信ポート１１ａ〜１１ｃがパケットを受信した場合（ステップＳ２０１肯定）、受信ポートモジュール１４ａ〜１４ｃは、かかるパケットをストリームメモリ１６に書き込む（ステップＳ２０２）。また、受信ポートモジュール１４ａ〜１４ｃは、かかるパケットのヘッダ情報を、制御部２８へ出力する（ステップＳ２０３）。
【００８７】
ヘッダ情報を受け付けた制御部２８の方路決定部２８２は、かかるヘッダ情報と、方路記憶部１７２に記憶されている各種情報に基づいて、パケットを送信する送信ポートを決定する（ステップＳ２０４）。続いて、方路決定部２８２は、中継処理命令を生成して（ステップＳ２０５）、生成した中継処理命令を、ステップＳ２０４において決定した送信ポート１２ａ〜１２ｃのいずれかに対応する送信ポートモジュール２５ａ〜２５ｃに出力する。
【００８８】
中継処理命令を受け付けた送信ポートモジュール２５ａ〜２５ｃのパケット格納部２５２ａまたは２５２ｂは、キュー番号記憶部２５１から、中継処理命令に含まれるＶＬＡＮ番号と優先度との組合せに対応付けて記憶されているＱＩＤを取得する（ステップＳ２０６）。
【００８９】
取得したＱＩＤがキュー不定情報である場合（ステップＳ２０７肯定）、パケット格納部２５２ａまたは２５２ｂは、中継処理命令を格納するキューのＱＩＤを不特定のＱＩＤに決定する（ステップＳ２０８）。例えば、パケット格納部２５２ａまたは２５２ｂは、上述したように、Ｍａｐ値やハッシュ値を算出して、算出した値を、中継処理命令を格納するキューのＱＩＤに決定する。
【００９０】
一方、取得したＱＩＤがキュー不定情報でない場合（ステップＳ２０７否定）、パケット格納部２５２ａまたは２５２ｂは、キュー番号記憶部２５１から取得したＱＩＤを、中継処理命令を格納するキューのＱＩＤに決定する（ステップＳ２０９）。続いて、パケット格納部２５２ａまたは２５２ｂは、ステップＳ２０８またはＳ２０９において決定したＱＩＤが示すキューに、中継処理命令を格納する（ステップＳ２１０）。
【００９１】
続いて、送信ポートモジュール２５ａ〜２５ｃのＤＲＲスケジューラ１５５−０〜１５５−７は、ＤＲＲ方式によって、各キューから中継処理命令を取り出す（ステップＳ２１１）。続いて、優先制御送信スケジューラ１５６は、ＤＲＲスケジューラ１５５−０〜１５５−７によって取り出された中継処理命令のうち、優先度の高い順番に、中継処理命令に従って、ストリームメモリ１６からパケットを取得して、送信ポート１２ａ〜１２ｃへ出力する（ステップＳ２１２）。
【００９２】
上述してきたように、実施例２に係るスイッチ２０は、キュー番号記憶部２５１が、ＶＬＡＮ番号に対応付けて、優先度ごとに、ＱＩＤまたはキュー不定情報を記憶し、パケット格納部２５２ａおよび２５２ｂが、キュー不定情報が記憶されている場合には、どのような帯域制御を行ってもよいと判断して、中継処理命令を不特定のキューに格納するので、利用者によって所定の帯域制御を行うように指定された仮想ネットワークについては、仮想ネットワークまたは仮想ネットワークグループごとに、利用者が所望する帯域制御を行うことができ、さらに、資源（キュー）を有効に用いることができる。
【００９３】
また、キュー番号記憶部２５１には、ＶＬＡＮ番号ごとだけでなく、優先度ごとにもキュー不定情報を設定することができるので、利用者は、優先度ごとに、どのような帯域制御を行ってもよいという指定をすることができる。図１１に示した例を用いて具体的に説明する。利用者は、図１１に示したキュー番号記憶部２５１の２行目のように、仮想ネットワークの単位で、どのような帯域制御を行ってもよいという指定ができる。さらに、利用者は、同図に示したキュー番号記憶部２５１の３行目のように、優先度の単位で、どのような帯域制御を行ってもよいという指定をすることができる。
【００９４】
なお、上記実施例１および２では、パケット格納部１８３等が中継処理命令をキューに格納し、送信ポートモジュール１５ａ等が、キューから中継処理命令を取り出して、かかる中継処理命令に従ってパケットの中継処理を行う例を示したが、かかるパケット中継処理の手法はあくまで一例であり、他の手法によってパケット中継処理を行ってもよい。例えば、図１を用いて説明したように、スイッチ１０および２０は、各キューにパケット自体を格納して、パケット中継処理を行ってもよい。
【００９５】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散、統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散、統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９６】
以上の実施例１および２を含む実施形態に関し、更に以下の付記を開示する。
【００９７】
（付記１）所定の仮想ネットワークに属する装置からパケットを受信する複数の受信ポートと、前記パケットを他の装置へ送信する複数の送信ポートとを有する中継装置であって、
送信ポートごとに、パケットを中継する優先順位を示す優先度と仮想ネットワークを識別するためのＶＬＡＮ番号との組合せに対応付けて設けられた複数のキューと、
パケットに設定されている宛先情報に対応付けて、前記送信ポートを識別するためのポート番号を記憶する方路記憶手段と、
ＶＬＡＮ番号と優先度との組合せに対応付けて、前記キューを識別するためのキュー番号を記憶するキュー番号記憶手段と、
前記受信ポートによってパケットが受信された場合に、該パケットに設定されている宛先情報に対応付けて前記方路記憶手段に記憶されているポート番号が示す送信ポートに該パケットを出力することを決定する方路決定手段と、
前記方路決定手段によって決定された送信ポートに対応する複数のキューのうち、前記パケットに設定されているＶＬＡＮ番号と優先度との組合せに対応付けて前記キュー番号記憶手段に記憶されているキュー番号が示すキューに、前記パケットを格納するパケット格納手段と、
前記パケット格納手段によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて前記他の装置へ送信するパケット送信手段と
を備えたことを特徴とする中継装置。
【００９８】
（付記２）前記パケット送信手段は、同一の優先度に対応付けられた複数のキューから、ラウンドロビン方式によってパケットを取り出すラウンドロビン制御手段と、前記ラウンドロビン制御手段によって取り出されたパケットを、優先度の高い順番に前記他の装置へ送信する優先制御送信手段とを備えたことを特徴とする付記１に記載の中継装置。
【００９９】
（付記３）前記ラウンドロビン制御手段は、前記ラウンドロビン方式として、不足ラウンドロビン方式または加重ラウンドロビン方式のいずれかによって同一の優先度に対応付けられた複数のキューからパケットを取り出すことを特徴とする付記２に記載の中継装置。
【０１００】
（付記４）前記キュー番号記憶手段は、前記ＶＬＡＮ番号に対応付けて、優先度ごとに、キュー番号、または、パケット格納先のキューを特定しないことを示す情報であるキュー不定情報を記憶し、
前記パケット格納手段は、前記受信ポートによって受信されたパケットに設定されているＶＬＡＮタグと優先度との組合せに対応付けて前記キュー番号記憶手段にキュー不定情報が記憶されている場合に、前記方路決定手段によって決定された送信ポートに対応する複数のキューのうち、いずれかのキューに前記パケットを格納させることを特徴とする付記１〜３のいずれか一つに記載の中継装置。
【０１０１】
（付記５）前記パケット格納手段は、前記パケットに設定されているＶＬＡＮタグと優先度との組合せに対応付けて前記キュー番号記憶手段にキュー不定情報が記憶されている場合に、前記方路決定手段によって決定された送信ポートに対応する複数のキューのうち、該パケットを受信した受信ポートを示すポート番号のＭａｐ値、または、該パケットのヘッダ情報のハッシュ値と同一のキュー番号が示すキューに該パケットを格納させることを特徴とする付記４に記載の中継装置。
【０１０２】
（付記６）所定の仮想ネットワークに属する装置からパケットを受信する複数の受信ポートと、前記パケットを他の装置へ送信する複数の送信ポートとを有する中継装置におけるパケット中継方法であって、
前記中継装置が、
パケットに設定されている宛先情報に対応付けて、前記送信ポートを識別するためのポート番号を方路記憶部に記憶する方路記憶工程と、
前記仮想ネットワークを識別するためのＶＬＡＮ番号と、パケットを中継する優先順位を示す優先度との組合せに対応付けて、送信ポートごとに優先度とＶＬＡＮ番号との組合せに対応付けて設けられた複数のキューを識別するためのキュー番号をキュー番号記憶部に記憶するキュー番号記憶工程と、
前記受信ポートによってパケットが受信された場合に、該パケットに設定されている宛先情報に対応付けて前記方路記憶部に記憶されているポート番号が示す送信ポートに該パケットを出力することを決定する方路決定工程と、
前記方路決定工程によって決定された送信ポートに対応する複数のキューのうち、前記パケットに設定されているＶＬＡＮ番号と優先度との組合せに対応付けて前記キュー番号記憶部に記憶されているキュー番号が示すキューに、前記パケットを格納するパケット格納工程と、
前記パケット格納工程によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて前記他の装置へ送信するパケット送信工程と
を含んだことを特徴とするパケット中継方法。
【図面の簡単な説明】
【０１０３】
【図１】実施例１に係るスイッチの概要を説明するための図である。
【図２】実施例１に係るスイッチが適用されるネットワークの構成例を示す図である。
【図３】実施例１に係るスイッチの構成を示すブロック図である。
【図４】方路記憶部の一例を示す図である。
【図５】キュー番号記憶部の一例を示す図である。
【図６】図３に示した送信ポートモジュールの構成を示すブロック図である。
【図７】実施例１に係るスイッチによるパケット中継処理手順を示すフローチャートである。
【図８】実施例２に係るスイッチの構成を示すブロック図である。
【図９】ＶＬＡＮ記憶部の一例を示す図である。
【図１０】図８に示した送信ポートモジュールの構成を示すブロック図である。
【図１１】キュー番号記憶部の一例を示す図である。
【図１２】図１０に示したパケット格納部によるＱＩＤ決定処理を説明するための図である。
【図１３】実施例２に係るスイッチによるパケット中継処理手順を示すフローチャートである。
【符号の説明】
【０１０４】
１                              ネットワーク
２Ａ〜２Ｃ                      サーバシステム
３Ａ〜３Ｃ                      記憶システム
４                              スイッチ群
５                              ネットワークシステム
６                              ルーティングシステム
１０Ａ〜１０Ｆ                  スイッチ
１０、２０                      スイッチ
１１ａ〜１１ｃ                  受信ポート
１２ａ〜１２ｃ                  送信ポート
１３、２３                      スイッチコア
１４、１５、２５                ポートモジュール群
１４ａ〜１４ｃ                  受信ポートモジュール
１５ａ〜１５ｃ、２５ａ〜２５ｃ  送信ポートモジュール
１６                            ストリームメモリ
１７、２７                      記憶部
１８、２８                      制御部
１５０−０〜１５０−７          キュー群
１５１−０〜１５４−０          キュー
１５１−７〜１５４−７          キュー
１５５−０〜１５５−７          ＤＲＲスケジューラ
１５６                          優先制御送信スケジューラ
１７１                          タグメモリ
１７２                          方路記憶部
１７３、２５１                  キュー番号記憶部
１８１                          リンク情報取得部
１８２、２８２                  方路決定部
１８３、２５２ａ、２５２ｂ      パケット格納部
２７４                          ＶＬＡＮ記憶部
【図１】
0005167924.tif 000002
【図２】
0005167924.tif 000003
【図３】
0005167924.tif 000004
【図４】
0005167924.tif 000005
【図５】
0005167924.tif 000006
【図６】
0005167924.tif 000007
【図７】
0005167924.tif 000008
【図８】
0005167924.tif 000009
【図９】
0005167924.tif 000010
【図１０】
0005167924.tif 000011
【図１１】
0005167924.tif 000012
【図１２】
0005167924.tif 000013
【図１３】
0005167924.tif 000014