説明

情報処理装置及びパケット複製方法

【課題】マルチキャストのバーストコピー時のキュー溢れを防ぐ。
【解決手段】パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューを備え、受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定し、前記特定された出力ポートの帯域、又は、前記特定されたポートに対応する送信キューの滞留数に基づいて、前記特定されたポートに対応する送信キューが溢れる可能性を判定し、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク中継装置に関し、より詳細には、ネットワーク中継装置におけるマルチキャストコピー方法に関するものである。
【背景技術】
【0002】
IPネットワークにおける動画配信サービスの本格化に伴い、動画配信サービスの高品質化が要求されている。ルータ/スイッチにおいては、効率的な動画配信を実現させるマルチキャスト処理の品質を向上させる為に、QoS制御の重要性が高まっている。例えば、コスト削減の為、ひとつのルータ/スイッチに収容可能なインタフェース数/ユーザ数を増大させること、及び回線種別の多様化が求められている。また、動画配信サービス等の大容量データ通信に対応する為、ルータ/スイッチでより高速な回線を収容しワイヤレートで処理することが求められている。
【0003】
特許文献1には、宛先検索前に優先度毎のキューを設け、マルチキャストコピー処理の優先度制御を行う方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−166294号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術では、検索エンジンによる宛先検索によってマルチキャスト処理の優先度制御が可能となるが、出力回線帯域を越える性能でマルチキャストのバーストコピーが発生すると、転送エンジンの送信キューで、キュー溢れが発生する場合がある。
【0006】
キュー溢れの可能性を低減させるには転送エンジンの送信キューのサイズを大きくする必要があるが、キューのサイズは有限である為、1回のマルチキャスト処理に対するコピー数の制限が必要となる。
【0007】
本発明は、上記した課題に鑑みて、マルチキャストのバーストコピー時のキュー溢れの可能性を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0009】
[適用例1] 適用例1のマルチキャストコピー方法は、送信検索部でのコピー性能を可変とするマルチキャストコピー帯域制御工程を備えることを特徴とする。又は、上記マルチキャストコピー方法の工程を実施するネットワーク中継装置を提供することができる。
【0010】
適用例1のマルチキャストコピー方法及びネットワーク中継装置によれば、送信検索部におけるマルチキャストコピー性能の帯域制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することができる。
【0011】
[適用例2] 適用例2のマルチキャストコピー方法は、送信検索部での優先度毎のコピー性能を可変とするマルチキャストコピー帯域制御工程を備えることを特徴とする。又は、上記マルチキャストコピー方法の工程を実施するネットワーク中継装置を提供することができる。
【0012】
適用例2のマルチキャストコピー方法及びネットワーク中継装置によれば、送信検索部でのマルチキャストコピー性能の帯域制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することができ、さらに、フロー毎の優先制御が可能になる。
【0013】
[適用例3] 適用例3のマルチキャストコピー方法は、転送処理部の回線毎の送信キューの状態に応じて、送信検索部で回線毎のコピー抑止状態を保持し、宛先テーブルアクセスにおいてコピー抑止状態のポートはコピーをスキップするマルチキャストコピー抑止工程を備えることを特徴とする。又は、上記マルチキャストコピー方法の工程を実施するネットワーク中継装置を提供することができる。
【0014】
適用例3のマルチキャストコピー方法及びネットワーク中継装置によれば、送信検索部における、回線毎のマルチキャストコピー抑止制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することができる。
【0015】
上記の本発明の代表的な一例を示せば次の通りである。すなわち、パケットを送受信する情報処理装置であって、パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定し、前記特定された出力ポートの帯域、又は、前記特定されたポートに対応する送信キューの滞留数の少なくとも一方に基づいて、前記特定されたポートに対応する送信キューが溢れる可能性を判定し、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする。
【0016】
本発明の形態は、ネットワーク中継装置及びマルチキャストコピー方法に限るものではなく、例えば、ネットワーク中継装置とは異なる他のネットワーク機器、マルチキャスト装置の機能をコンピュータに実現させるためのプログラムなどの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【発明の効果】
【0017】
本発明の一実施形態によれば、多様な回線帯域に対応し、コピー数の制限がなく、転送処理部での送信キューのサイズを大きくする必要がなく、マルチキャストコピー帯域を制御することによって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することが可能となる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態としてのルータ装置を用いたネットワークシステムを示す説明図である。
【図2】本発明の第1の実施形態のルータ装置の構成を示す説明図である。
【図3】本発明の第1の実施形態のパケット送信回路及び送信検索部の構成を示す説明図である。
【図4】本発明の第1の実施形態の宛先テーブルの一例を示す説明図である。
【図5】本発明の第1の実施形態の帯域設定テーブルの一例を示す説明図である。
【図6】本発明の第1の実施形態のルータ装置のヘッダ処理部が実行する送信検索処理を示すフローチャートである。
【図7】本発明の第2の実施形態における、ルータ装置のパケット送信回路及び送信検索部の詳細な構成を示す説明図である。
【図8】本発明の第2の実施形態の優先度毎帯域設定テーブルの一例を示す説明図である。
【図9】本発明の第2の実施形態における、ルータ装置のヘッダ処理部が実行する送信検索処理を示すフローチャートである。
【図10】本発明の第3の実施形態における、ルータ装置のパケット送信回路及び送信検索部の詳細な構成を示す説明図である。
【図11】本発明の第3の実施形態のコピー抑止テーブルの一例を示す説明図である。
【図12】本発明の第3の実施形態のルータ装置のヘッダ処理部が実行する送信検索処理を示すフローチャートである。
【図13】本発明の第1の実施形態のルータ装置のヘッダ処理部等が実行する帯域設定処理を示すフローチャートである。
【図14】本発明の第3の実施形態のルータ装置のヘッダ処理部等が実行するコピー抑止状態設定処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
以上説明した本発明の構成及び作用を一層明らかにするために、以下本発明を適用したネットワーク中継装置について説明する。
【0020】
A.第1の実施形態:
A1.ネットワーク中継装置の構成:
図1は、本発明の第1の実施形態としてのルータ装置を用いたネットワークシステムを示す説明図である。このネットワークシステム10は、3つのルータ装置RT10〜RT30を有するマルチキャストネットワークNW10と、サーバ装置SV10と、2つのL2(レイヤ2)スイッチ装置SW10〜SW20と、4つのクライアント装置CL10〜CL40とを備えるネットワークシステムである。
【0021】
第1ルータ装置RT10には、サーバ装置SV10及びルータ装置RT20が接続されている。第2ルータ装置RT20には、2つのルータ装置RT10及びRT30が接続されている。第3ルータ装置RT30には、ルータ装置RT20及び2つのL2スイッチ装置SW10〜SW20が接続されている。L2スイッチ装置SW10には、ルータ装置RT30及び2つのクライアント装置CL10〜CL20が接続されている。L2スイッチ装置SW20には、ルータ装置RT30及び2つのクライアント装置CL30〜CL40が接続されている。
【0022】
サーバ装置SV10は、ルータ装置RT10へマルチキャストパケットを配信し、ルータ装置RT10〜RT20は、マルチキャストパケットを中継する。ルータ装置RT30は、クライアント装置CL10〜CL20向けのマルチキャストパケットを2つ生成し、それらをL2スイッチ装置SW10へ転送する。同様に、ルータ装置RT30は、クライアント装置CL30〜CL40向けのマルチキャストパケットを2つ生成し、それらをL2スイッチ装置SW20へ転送する。L2スイッチ装置SW10は、クライアント装置CL10及びCL20へ、マルチキャストパケットを振り分ける。L2スイッチ装置SW20は、クライアント装置CL30及びCL40へ、マルチキャストパケットを振り分ける。クライアント装置CL10〜CL40はマルチキャストパケットを受信する。
【0023】
図2は、本発明の第1の実施形態のルータ装置RTの構成を示す説明図である。ここで、ルータ装置RTの構成として、主に図1に示す第3のルータ装置RT30の構成を説明するが、第1〜第2のルータ装置RT10〜RT20の構成も図2に示すルータ装置RTと同じである。このルータ装置RTは、入力ポートを介して、パケットを受信するm個のパケット受信回路100−1〜mと、各パケット受信回路100からの検索指示に従い、ヘッダ情報に基づいてm個あるパケット送信回路400−1〜mのどのパケット送信回路に送るかを決定する受信検索部200と、受信検索部の検索結果に従って、パケット送信回路へスイッチングするスイッチ部300と、出力ポートを介して、パケットを送信するパケット送信回路400と、各パケット送信回路400からの検索指示に従い、ヘッダ情報及び受信検索部の検索結果に基づいて複数ある出力ポートのどのポートに送るかを決定する送信検索部500と、を有している。
【0024】
なお、本明細書において、回線ポート(又は単にポートとも記載する)のうち、ルータ装置RTへのパケットの入力に使用されるものを入力ポートとも記載し、ルータ装置RTからのパケットの出力に使用されるものを出力ポートとも記載する。
【0025】
図3は、本発明の第1の実施形態のパケット送信回路400及び送信検索部500の構成を示す説明図である。
【0026】
パケット送信回路400は、スイッチ部300からパケットを受信し、受信キューにキューイングを行う受信キュー制御部410と、出力ポートへのパケットを送信する為に、送信キューにキューイングを行う送信キュー制御部420と、を有している。なお、各パケット送信回路400は、1つの受信キューと、出力ポートと同数の送信キューと、を有する。受信キューは、パケット受信回路100が受信し、スイッチ部300を経由してパケット送信回路400に入力されたパケットを保持する。各送信キューは、各出力ポートに対応し、各出力ポートから出力されるパケットを保持する。
【0027】
送信検索部500は、ヘッダ処理部510と、メモリ550と、を有している。
【0028】
ヘッダ処理部510は、受信されたパケットを送信すべき出力ポートを決定する処理(「宛先検索処理」とも呼ぶ)を実行する。ヘッダ処理部510は、後述する種々の機能を実現するために設計されたASIC(Application Specific Integrated Circuit:特定用途向け集積回路)である。また、ヘッダ処理部510は、宛先検索部511と、コピー生成部512と、出力帯域制御部513と、帯域設定部514と、を有している。
【0029】
メモリ550は、宛先検索処理に利用される種々のデータを格納する。図3の例では、メモリ550は、宛先テーブル551と、帯域設定テーブル552と、を格納している。これらのテーブルは、出力先の決定と、出力帯域制御に利用される(詳細は後述)。
【0030】
図4は、本発明の第1の実施形態の宛先テーブル551の一例を示す説明図である。宛先テーブル551は、マルチキャストIDに対応する、複数のVLAN−IDと出力ポート番号の組と、終了識別子と、Nextポインタと、を格納する。
【0031】
VLAN−IDは、VLAN(仮想ローカルエリアネットワーク)の識別番号である。VLANは、レイヤ2レベルで互いに通信可能な1以上の回線ポートで構成されるグループを表している。ルータ装置RTでは、レイヤ3レベルでの通信処理、つまり複数のVLAN間の通信処理のみを行う為、1つのVLAN−IDに対応するポートは1つのみである。また、他の宛先情報を得るためのNextポインタが記憶されている場合には終了識別子が0に設定され、これ以上宛先情報がなく、Nextポインタがない場合には終了識別子が1に設定される。ヘッダ処理部510は、マルチキャストIDと、VLAN−IDとポート番号との対応関係を、マルチキャストルーティングプロトコル、またはユーザの指示に従って設定する。ユーザの指示は、例えば、ルータ装置RTの操作パネル(図示せず)、または、ルータ装置RTに接続された管理端末(図示せず)を介して入力され得る。
【0032】
図5は、本発明の第1の実施形態の帯域設定テーブル552の一例を示す説明図である。帯域設定テーブル552は、出力ポートに対応して設定された帯域(Mbps)を格納する。
【0033】
帯域設定部514は、出力ポートと、帯域との対応関係を、ルータ装置RTの実装情報、ユーザの指示、パケット送信回路400のキューの状態、またはそれらの組合せに従って設定する。
【0034】
パケット送信回路400のキューの状態に従う帯域設定は、具体的には、次のように行われる。パケット送信回路400の送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を超えた場合に、その送信キューが溢れそうであることを帯域設定部514に通知する。この所定の閾値は、例えば、ベンダによって予め指定されたものであってもよいし、ユーザによって指定されたものであってもよい。
【0035】
なお、キューの滞留数とは、キューの混雑の程度を示す指標であり、例えば、キューに滞留しているパケットの数、それらのパケットのデータ量、又は使用率等であってもよい。滞留数が大きいほど、キューの空き容量が少ない(すなわちキューが溢れそうである)ことを意味する。
【0036】
帯域設定部514は、送信キュー制御部420から、送信キューが溢れそうであることを通知されると、その送信キューに対応する出力ポートの設定帯域を所定の値分減らす。この所定の値は、例えば、ベンダによって予め指定されたものであってもよいし、ユーザによって指定されたものであってもよい。送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を下回った場合に、その送信キューが空いてきたことを帯域設定部514に通知する。帯域設定部514は、送信キュー制御部420から、送信キューが空いてきたことを通知されると、その送信キューに対応する出力ポートの設定帯域を、所定の値分増やす。
【0037】
さらに、パケット送信回路400の受信キュー制御部410は、受信キューの滞留数が所定の閾値を超えた場合に、受信キューが溢れそうであることを帯域設定部514に通知する。帯域設定部514は、受信キュー制御部410から、受信キューが溢れそうであることを通知されると、全出力ポートの設定帯域を所定の値分増やす。
【0038】
上記の送信キューの状態に従う帯域設定及び受信キューの状態に従う帯域設定のうち、いずれか一方のみが実行されてもよいし、両方が実行されてもよい。ただし、受信キューが溢れそうになったときに送信キューの帯域を増やすと、それによって送信キューが溢れる可能性が高まる。このため、実際には、両方の帯域設定を同時に実行した場合、それらが衝突する可能性がある。そのような場合は、受信キューの状態に従う帯域設定を優先することが望ましい。これは、1つしかない受信キューが溢れると、そのときに受信したパケットは、それがどのポートから出力されるべきものであっても消失してしまうのに対して、送信キューの溢れは混雑しているポートのみで発生し、空いているポートではキューの溢れが発生せずにパケットを送信できるためである。すなわち、受信キューの溢れを防ぐことによって、空いている回線のパケットが、混雑している別の回線の影響を受けて消失することを防ぐことができる。
【0039】
ここで、上記のようなキューの状態に従う帯域設定処理の具体的な一例を説明する。
【0040】
図13は、本発明の第1の実施形態のルータ装置RTのヘッダ処理部510等が実行する帯域設定処理(ステップS130)を示すフローチャートである。
【0041】
最初に、パケット送信回路400の送信キュー制御部420は、受信キューの滞留数が所定の閾値を上回ったか否かを判定する(ステップS1300)。受信キューの滞留数が所定の閾値を上回ったと判定された場合、送信キュー制御部420は、受信キューが溢れそうであることを示す通知を帯域設定部514に送信する。
【0042】
この通知を受けた帯域設定部514は、複数の送信ポートのうち一つについて、設定帯域が最大値であるか否かを判定する(ステップS1301)。設定帯域が最大値でない場合、帯域設定部514は、その送信ポートの設定帯域を、所定の値だけ増やし(ステップS1302)、次にステップS1303を実行する。一方、設定帯域が最大値である場合、その送信ポートの設定帯域をそれ以上増やすことができないため、帯域設定部514は、ステップS1302を実行せずにステップS1303を実行する。
【0043】
ステップ1303において、帯域設定部514は、全ての送信ポートについてステップS1301の判定が終了したか否かを判定する。全ての送信ポートについてステップS1301の判定が終了していない場合、処理はステップS1301に戻り、残りの送信ポートの一つについて、設定帯域が最大値であるか否かが判定される。一方、全ての送信ポートについてステップS1301の判定が終了した場合、帯域設定処理が終了する。
【0044】
ステップS1300において、受信キューの滞留数が所定の閾値を上回っていないと判定された場合、送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を上回ったか否かを判定する(ステップS1304)。いずれかの送信キューの滞留数が所定の閾値を上回ったと判定された場合、送信キュー制御部420は、その送信キューが溢れそうであることを示す通知を帯域設定部514に送信する。
【0045】
この通知を受けた帯域設定部514は、その送信キューに対応する出力ポートの設定帯域が0であるか否かを判定する(ステップS1305)。その送信キューに対応する出力ポートの設定帯域が0でない場合、帯域設定部514は、その出力ポートの設定帯域を所定の値だけ減らし(ステップS1306)、次にステップS1307を実行する。一方、その送信キューに対応する出力ポートの設定帯域が0である場合、それ以上設定帯域を減らすことができないため、帯域設定部514は、ステップS1306を実行せずにステップS1307を実行する。
【0046】
ステップS1307において、帯域設定部514は、対応する送信キューの滞留数が所定の閾値を上回り、かつ、ステップS1305の判定がまだ行われていない出力ポートが残っているか否かを判定する。該当する出力ポートが残っている場合、処理はステップS1305に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、帯域設定処理が終了する。
【0047】
ステップS1304において、いずれの送信キューの滞留数も所定の閾値を上回っていないと判定された場合、送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を下回ったか否かを判定する(ステップS1308)。いずれかの送信キューの滞留数が所定の閾値を下回ったと判定された場合、送信キュー制御部420は、その送信キューが空いてきたことを示す通知を帯域設定部514に送信する。
【0048】
この通知を受けた帯域設定部514は、その送信キューに対応する出力ポートの設定帯域が最大値であるか否かを判定する(ステップS1309)。その送信キューに対応する出力ポートの設定帯域が最大値でない場合、帯域設定部514は、その出力ポートの設定帯域を所定の値だけ増やし(ステップS1310)、次にステップS1311を実行する。一方、その送信キューに対応する出力ポートの設定帯域が最大値である場合、それ以上設定帯域を増やすことができないため、帯域設定部514は、ステップS1310を実行せずにステップS1311を実行する。
【0049】
ステップS1311において、帯域設定部514は、対応する送信キューの滞留数が所定の閾値を下回り、かつ、ステップS1309の判定がまだ行われていない出力ポートが残っているか否かを判定する。該当する出力ポートが残っている場合、処理はステップS1309に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、帯域設定処理が終了する。
【0050】
ステップS1308において、いずれの送信キューの滞留数も所定の閾値を下回っていないと判定された場合、帯域設定処理が終了する。
【0051】
なお、ステップS1300における所定の閾値、ステップS1304における所定の閾値及びステップS1308における所定の閾値は、同一の値であってもよいし、それぞれ異なる値であってもよい。同様に、ステップS1302における所定の値、ステップS1306における所定の値及びステップS1310における所定の値は、同一の値であってもよいし、それぞれ異なる値であってもよい。これらの所定の閾値及び所定の値は、既に説明したように、ベンダによって予め指定されてもよいし、ユーザによって指定されてもよい。
【0052】
A2.送信検索処理:
図6は、本発明の第1の実施形態のルータ装置RTのヘッダ処理部510が実行する送信検索処理(ステップS60)を示すフローチャートである。
【0053】
最初のステップS600では、宛先検索部511は、パケット送信回路400から受信パケットのヘッダ情報(より詳細には、ヘッダ情報に含まれる宛先情報)と、受信処理結果と、宛先テーブル551とを参照することによって、受信パケットを送信すべき複数の回線ポート(例えば、図4に示すVLAN−ID“10”〜“16”に対応する出力ポート番号によって識別される回線ポート)を検索する。宛先検索部511は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートをコピー生成部512に通知する。
【0054】
次のステップS601では、コピー生成部512は、宛先検索部511から通知された複数の回線ポートから、未選択で送信されていない1回線ポートを選択する。コピー生成部512は選択した1回線ポートを出力帯域制御部513に通知する。
【0055】
次のステップS602では、出力帯域制御部513は、コピー生成部512から通知された回線ポートの出力帯域を計算する。この出力帯域は、例えば、現在までの所定の時間内に、通知された回線ポートから出力されたデータ量の実測値を、その所定の時間で除算することによって計算される。さらに、出力帯域制御部513は、帯域設定部514を介して、帯域設定テーブル552を参照することによって、通知された回線ポートの設定帯域を取得する。
【0056】
次に、出力帯域制御部513は、出力帯域の計算結果と、取得した設定帯域とを比較する(ステップS603)。出力帯域が設定帯域を超えていない場合は、選択されたポートからパケットを出力するよう、パケット送信回路400へ送信検索結果を通知する(ステップS604)。送信検索結果は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートから出力する指示を含む。なお、送信検索結果はコピー生成部512によって生成され、出力帯域制御部513は、送信検索結果をパケット送信回路に通知するタイミングを制御する。送信検索結果を通知されたパケット送信回路400は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートに対応する送信キューに格納する。送信キューに格納されたパケットは、格納された順に、その送信キューに対応するポートから出力される。
【0057】
出力帯域が設定帯域を超えている場合は、再度ステップS602に戻る。この場合、前回ステップS602で出力帯域が計算されてから今回ステップS602に戻るまでに時間に、選択されたポートからパケットが出力されていないため、今回のステップS602で計算された出力帯域は、前回のそれより低くなっている可能性がある。出力帯域制御部513は、出力帯域が設定帯域以下になるまで、ステップS602〜S603のループを繰り返すことによって、設定帯域を越えて出力しないようにパケット送信回路400を制御する。
【0058】
一般に、出力ポートにおける出力帯域(すなわち実測された帯域)が高いほど、その出力ポートに対応する送信キューが溢れる可能性が高くなる。実際に溢れが発生するか否かは、その出力ポートに接続された回線の速度等にも依存する。設定帯域は、送信キューが溢れる可能性が高いか否か、言い換えると、送信キューの溢れを防ぐためにコピーのタイミングを遅らせるか否かを判定するための閾値として使用される。ステップS603において、出力帯域が設定帯域を超えた場合、送信キューが溢れる可能性が高いと判定される。この場合、出力帯域が設定帯域以下になるまで、送信検索結果が通知されない(ステップS602〜S604)。これによって、パケットのコピーが作成され、そのコピーが送信キューに格納されるタイミングが遅くなる。その結果、送信キューが溢れる可能性が低減される。
【0059】
設定帯域の値が固定されていても、適切に定められていれば、キューの溢れを防ぐ効果を得ることができる。しかし、さらにキューの滞留数に応じて設定帯域を変更することによって、回線の混雑状況等に応じて、キューの溢れを防ぐ効果をより高めることができる。
【0060】
ステップS602〜S604によれば、設定帯域が低いほど、選択されたポートに対応する送信キューに新たなパケットが格納されるタイミングが遅れる。このため、送信キューは溢れにくくなるが、それによって、受信したパケットの送信が滞るため、受信キューの溢れは発生しやすくなる。逆に、設定帯域が高いほど、送信キューは溢れやすくなり、受信キューは溢れにくくなる。
【0061】
図5及び図13を参照して説明したように、受信キューが溢れそうな場合及び送信キューが空いてきた場合には設定帯域が高くなるように変更され、送信キューが溢れそうな場合には設定帯域が低くなるように変更される。このように変更された設定帯域に基づいてステップS602〜S604を実行することによって、受信キュー及び送信キューが溢れにくくなるようにパケットのコピー及び出力が制御される。
【0062】
次のステップS605では、コピー生成部512は、未選択回線ポートがあるか否かを確認する。未選択回線ポートがある場合はステップS601に戻って、コピー生成部512が未選択1回線ポートを選択する。未選択回線ポートがない場合は、コピー生成部512は、宛先テーブル551の終了識別子を参照して、宛先情報が終了したか否か(すなわち宛先テーブル551に登録された全ての出力ポート番号の参照が終了したか否か)を確認する(ステップS606)。終了識別子が「1」である場合、宛先情報が終了したため、送信検索処理を終了する。終了識別子が「0」である場合、宛先情報が終了していないため、コピー生成部512は、Nextポインタを宛先検索部511に通知する。
【0063】
次のステップS607では、宛先検索部511は、コピー生成部512から通知されたNextポインタから、宛先テーブル551を参照することによって、受信パケットを送信すべき複数の回線ポート(例えば、図4に示すVLAN−ID“17”〜“23”に対応する出力ポート番号によって識別される回線ポート)を検索する。宛先検索部511は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートをコピー生成部512に通知し、再度ステップS601以降の処理を行う。
【0064】
A3.効果:
以上説明した第1の実施形態におけるルータ装置RTによれば、送信検索部500でのマルチキャストコピー性能の帯域制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減し、これによって、キュー溢れに起因するパケットの消失を防ぐことができる。
【0065】
B.第2の実施形態:
B1.ネットワーク中継装置の構成:
第2の実施形態における、ネットワークシステムの構成は、ルータ装置RTにおける送信検索部500の機能構成が異なる点を除き、第1の実施例と同様である。すなわち、図1及び図2は第2の実施形態にも適用される。
【0066】
図7は、本発明の第2の実施形態における、ルータ装置RTのパケット送信回路400及び送信検索部500の詳細な構成を示す説明図である。
【0067】
第2の実施形態のパケット送信回路400は、基本的に第1の実施形態において説明したものと同じである。ただし、第2の実施形態のパケット送信回路400は、出力ポートと優先度との組に対応する送信キューを有する。具体的には、本実施形態では後述するように高優先度と低優先度の2種類の優先度が設定されるため、各出力ポートについて、高優先度に対応する送信キュー及び低優先度に対応する送信キューの2つが設けられる。
【0068】
第2の実施形態におけるヘッダ処理部510は、第1の実施形態と同様に、宛先検索部511と、コピー生成部512と、出力帯域制御部513と、帯域設定部514と、を有する。第2の実施形態のヘッダ処理部510は、さらに、振り分け部518と、低優先宛先検索部515と、低優先コピー生成部516と、低優先出力帯域制御部517と、優先制御スケジューラ519と、を有する。
【0069】
なお、第1の実施形態と同様、ヘッダ処理部510は、例えばASICによって実現される。宛先検索部511及び低優先宛先検索部515は、それぞれ独立した宛先検索回路として実装されてもよいが、1つの宛先検索回路の動作時間を分割することによって、仮想的な2つの宛先検索部が実装されてもよい。同様に、コピー生成部512及び低優先コピー生成部516は、それぞれ独立したコピー生成回路として実装されてもよいが、1つのコピー生成回路の動作時間を分割することによって、仮想的な2つのコピー生成部が実装されてもよい。出力帯域制御部513及び低優先出力帯域制御部517は、それぞれ独立した出力帯域制御回路として実装されてもよいが、1つの出力帯域制御回路の動作時間を分割することによって、仮想的な2つの出力帯域制御部が実装されてもよい。
【0070】
第2の実施形態のメモリ550は、第1の実施形態と同様に、宛先テーブル551(図4)を有する。第2の実施形態のメモリ550は、さらに、帯域設定テーブル552に代えて優先度毎帯域設定テーブル552aを有する。
【0071】
図8は、本発明の第2の実施形態の優先度毎帯域設定テーブル552aの一例を示す説明図である。優先度毎帯域設定テーブル552aは、出力ポートと優先度の組に対応する(すなわち各送信キューに対応する)、帯域(Mbps)を格納する。各送信キューに対応する帯域の設定方法は、第1の実施形態と同様であるため(図5及び図13参照)、説明を省略する。
【0072】
B2.送信検索処理:
第2の実施形態における、ルータ装置RTのヘッダ処理部510が実行する送信先検索処理は、振り分け部518及び優先制御スケジューラ519に関する処理が追加されている点を除き、第1の実施形態の送信先検索処理(図6)と同様である。
【0073】
図9は、本発明の第2の実施形態における、ルータ装置RTのヘッダ処理部510が実行する送信検索処理(ステップS90)を示すフローチャートである。
【0074】
最初のステップS900では、振り分け部518は、パケット送信回路400から通知された受信処理結果の優先度情報に従って、優先度毎処理系の振り分け選択を行う。具体的には、振り分け部518は、優先度が高優先の場合は、受信パケットのヘッダ情報と、受信処理結果とを宛先検索部511に通知する。優先度が低優先の場合は、受信パケットのヘッダ情報と、受信処理結果とを低優先宛先検索部515に通知する。
【0075】
なお、優先度は、どのような基準に基づいて定められてもよい。例えば、一般的なQoS(Quality of Service)の制御に使用されるパケット内の特定のフィールドの値に基づいて優先度が定められてもよいし、パケットのヘッダを参照してパケットのプロトコルを特定し、そのプロトコルに応じて優先度が定められてもよい。受信パケットの優先度を決定する処理は、パケット受信回路100によって実行され、パケット送信回路は、その優先度が付与されたパケットを受信する。
【0076】
以後、高優先と判定された受信パケットに関するステップS901〜S908の処理は、宛先検索部511、コピー生成部512及び出力帯域制御部513によって実行され、低優先と判定された受信パケットに関するステップS901〜S908の処理は、低優先宛先検索部515、低優先コピー生成部516及び低優先出力帯域制御部517によって実行される。以下、各ステップの処理について説明する。
【0077】
次のステップS901において宛先検索部511が実行する処理は、第1の実施形態(ステップS600)と同様である。一方、低優先宛先検索部515は、ステップS901において、振り分け部518から通知された受信パケットのヘッダ情報と、受信処理結果と、宛先テーブル551とを参照することによって、受信パケットを送信すべき複数の回線ポートを検索する。低優先宛先検索部515は、宛先検索結果として、受信パケットを送信すべき複数の回線ポート(例えば、図4に示すVLAN−ID“10”〜“16”に対応する出力ポート番号によって識別される回線ポート)を低優先コピー生成部516に通知する。
【0078】
次のステップS902においてコピー生成部512が実行する処理は、第1の実施形態(ステップS601)と同様である。一方、低優先コピー生成部516は、ステップS902において、低優先宛先検索部515から通知された複数の回線ポートから、未選択で送信されていない1回線ポートを選択する。低優先コピー生成部516は選択した1回線ポートを低優先出力帯域制御部517に通知する。
【0079】
次のステップS903において出力帯域制御部513が実行する処理は、第1の実施形態(ステップS602)と同様である。ただし、出力帯域制御部513は、帯域設定テーブル552aを参照することによって、通知された回線ポートの高優先側の設定帯域を取得する。一方、低優先出力帯域制御部517は、低優先コピー生成部516から通知された回線ポートの出力帯域を計算する。この計算方法は、出力帯域制御部513によって使用されるものと同様である。さらに、低優先出力帯域制御部517は、帯域設定部514を介して、帯域設定テーブル552aを参照することによって、通知された回線ポートの低優先側の設定帯域を取得する。
【0080】
次に、出力帯域制御部513は、出力帯域の計算結果と、取得した高優先側の設定帯域とを比較する(ステップS904)。出力帯域が高優先側の設定帯域を超えていない場合は、出力帯域制御部513は、優先制御スケジューラ519に送信検索結果を通知する。同様に、低優先出力帯域制御部517は、出力帯域の計算結果と、取得した低優先側の設定帯域とを比較し、出力帯域が低優先側の設定帯域を超えていない場合は、優先制御スケジューラ519に送信検索結果を通知する。
【0081】
優先制御スケジューラ519は、出力帯域制御部513及び低優先出力帯域制御部517から通知された送信検索結果の内、いずれをパケット送信回路400に通知するかを優先度情報に従って選択する。優先制御スケジューラ519は、選択されたポートからパケットを出力するよう、選択された送信検索結果をパケット送信回路400へ通知する(ステップS905)。
【0082】
具体的には、優先制御スケジューラ519は、出力帯域制御部513から送信検索結果を通知された場合、その送信検索結果をパケット送信回路400に通知し、低優先出力帯域制御部517から送信検索結果を通知された場合、その送信検索結果をパケット送信回路400に通知し、出力帯域制御部513及び低優先出力帯域制御部517の両方から送信検索結果を通知された場合、所定の規則に従って、それらの送信検索結果をパケット送信回路400に通知する。例えば、優先制御スケジューラ519は、出力帯域制御部513から通知された送信検索結果及び低優先出力帯域制御部517から通知された送信検索結果を交互にパケット送信回路400に通知してもよいし、出力帯域制御部513から通知された送信検索結果を優先的にパケット送信回路400に通知してもよい。
【0083】
この通知を受けたパケット送信回路400は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートに対応する送信キューに(すなわち、出力帯域制御部513から送信検索結果を通知された場合はそのポートの高優先側の送信キューに、低優先出力帯域制御部517から送信検索結果を通知された場合はそのポートの低優先側の送信キューに)格納する。送信キューに格納されたパケットは、格納された順に、その送信キューに対応するポートから出力される。
【0084】
ステップS904において、出力帯域が高優先側の設定帯域を超えていると出力帯域制御部513が判定した場合、及び、出力帯域が低優先側の設定帯域を超えていると低優先出力帯域制御部517が判定した場合は、再度ステップS903に戻る。第1の実施形態と同様に、出力帯域制御部513及び低優先出力帯域制御部517は、出力帯域が設定帯域以下になるまで、ステップS903〜S904のループを繰り返すことによって、設定帯域を越えて出力しないようにパケット送信回路400を制御する。
【0085】
次のステップS906及びS907においてコピー生成部512が実行する処理は、第1の実施形態(ステップS605)と同様である。一方、低優先コピー生成部516は、未選択回線ポートがあるか否かを確認する(ステップS906)。未選択回線ポートがある場合はステップS902に戻って、低優先コピー生成部516が未選択1回線ポートを選択する。未選択回線ポートがない場合は、低優先コピー生成部516は、宛先テーブル551の終了識別子を参照して、宛先情報が終了したか否かを確認する(ステップS907)。終了識別子が「1」である場合、宛先情報が終了したため、送信検索処理を終了する。終了識別子が「0」である場合、宛先情報が終了していないため、低優先コピー生成部516は、Nextポインタを低優先宛先検索部515に通知する。
【0086】
次のステップS908において宛先検索部511が実行する処理は、第1の実施形態(ステップS607)と同様である。一方、低優先宛先検索部515は、低優先コピー生成部516から通知されたNextポインタから、宛先テーブル551を参照することによって、受信パケットを送信すべき複数の回線ポート(例えば、図4に示すVLAN−ID“17”〜“23”に対応する出力ポート番号によって識別される回線ポート)を検索する。低優先宛先検索部515は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートを低優先コピー生成部516に通知し、再度ステップS902以降の処理を行う。
【0087】
B3.効果:
以上説明した第2の実施形態におけるルータ装置RTによれば、第1の実施形態のルータ装置RTと同様に、マルチキャストのバーストコピー時のキュー溢れの可能性を低減し、これによって、キュー溢れに起因するパケットの消失を防ぐという作用・効果を得ることができる。
【0088】
さらに、ルータ装置RTでは、フロー毎の帯域制御及び優先制御が可能となる。具体的には、各出力ポートについて、高優先のパケットが格納される高優先側の送信キューと、低優先のパケットが格納される低優先側の送信キューとが設けられ、高優先のパケットと低優先のパケットがそれぞれ独立に処理される。これによって、低優先のパケットが混雑している場合にも、高優先のパケットが低優先のパケットを追い越すことが可能になり、また、低優先のパケットのバーストコピーに起因する送信キューの溢れが高優先のパケットの消失を引き起こすことを防ぐことができる。
【0089】
C.第3の実施形態:
C1.ネットワーク中継装置の構成:
第3の実施形態における、ネットワークシステムの構成は、ルータ装置RTにおけるパケット送信回路400及び送信検索部500の機能構成が異なる点を除き、第1の実施形態と同様である。すなわち、図1及び図2は第3の実施形態にも適用される。
【0090】
図10は、本発明の第3の実施形態における、ルータ装置RTのパケット送信回路400及び送信検索部500の詳細な構成を示す説明図である。第3の実施形態におけるヘッダ処理部510は、第1の実施形態と同様に、宛先検索部511と、コピー生成部512と、を有する。第3の実施形態におけるヘッダ処理部510は、さらに、コピー抑止制御部520を有する。
【0091】
メモリ550は、第1の実施形態と同様に、宛先テーブル551(図4)を有する。第3の実施形態では、メモリ550は、帯域設定テーブル552に代えてコピー抑止テーブル553を備える。
【0092】
図11は、本発明の第3の実施形態のコピー抑止テーブル553の一例を示す説明図である。コピー抑止テーブル553は、出力ポートに対応する、コピー抑止識別子を格納する。コピー抑止識別子は、後述するように、各出力ポートから出力されるパケットのコピーが抑止されているか否かを示す情報である。
【0093】
コピー抑止制御部520は、出力ポートと、コピー抑止識別子との対応関係を、パケット送信回路400の送信キューの状態に従って設定する。
【0094】
パケット送信回路400の送信キューの状態に従うコピー抑止設定は、具体的には、次のように行われる。パケット送信回路400の送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を超えた場合に、送信キューが溢れそうであることをコピー抑止制御部520に通知する。この所定の閾値は、例えば、ベンダによって予め指定されたものであってもよいし、ユーザによって指定されたものであってもよい。コピー抑止制御部520は、送信キュー制御部420から、送信キューが溢れそうであることを通知されると、その送信キューに対応する出力ポートのコピー抑止識別子設定を、抑止状態「1」に設定する。一方、いずれかの送信キューの滞留数が、ベンダにより予め指定された、若しくはユーザによって指定された閾値を下回った場合に、送信キュー制御部420は、その送信キューが空いてきたことをコピー抑止制御部520に通知する。コピー抑止制御部520は、送信キュー制御部420から、送信キューが空いてきたことを通知されると、その送信キューに対応する出力ポートのコピー抑止識別子設定を、抑止解除状態「0」に設定する。
【0095】
ここで、上記のような送信キューの状態に従うコピー抑止状態設定処理の具体的な一例を説明する。
【0096】
図14は、本発明の第3の実施形態のルータ装置RTのヘッダ処理部510等が実行するコピー抑止状態設定処理(ステップS130)を示すフローチャートである。
【0097】
最初に、パケット送信回路400の送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を上回ったか否かを判定する(ステップS1400)。いずれかの送信キューの滞留数が所定の閾値を上回ったと判定された場合、送信キュー制御部420は、その送信キューが溢れそうであることを示す通知を帯域設定部514に送信する。
【0098】
この通知を受けた帯域設定部514は、その送信キューに対応する出力ポートのコピー抑止識別子を、コピー抑止状態を示す値「1」に設定する(ステップS1401)。
【0099】
次に、帯域設定部514は、対応する送信キューの滞留数が所定の閾値を上回り、かつ、ステップS1401がまだ行われていない出力ポートが残っているか否かを判定する(ステップS1402)。該当する出力ポートが残っている場合、処理はステップS1401に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、コピー抑止状態設定処理が終了する。
【0100】
ステップS1400において、いずれの送信キューの滞留数も所定の閾値を上回っていないと判定された場合、送信キュー制御部420は、いずれかの送信キューの滞留数が所定の閾値を下回ったか否かを判定する(ステップS1403)。いずれかの送信キューの滞留数が所定の閾値を下回ったと判定された場合、送信キュー制御部420は、その送信キューが空いてきたことを示す通知を帯域設定部514に送信する。
【0101】
この通知を受けた帯域設定部514は、その送信キューに対応する出力ポートのコピー抑止識別子を、コピー抑止解除状態を示す値「0」に設定する(ステップS1404)。
【0102】
次に、帯域設定部514は、対応する送信キューの滞留数が所定の閾値を下回り、かつ、ステップS1404がまだ行われていない出力ポートが残っているか否かを判定する(ステップS1405)。該当する出力ポートが残っている場合、処理はステップS1404に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、コピー抑止状態設定処理が終了する。
【0103】
ステップS1403において、いずれの送信キューの滞留数も所定の閾値を下回っていないと判定された場合も、コピー抑止状態設定処理が終了する。
【0104】
図14では省略されているが、受信キューの滞留数が所定の閾値を上回る場合は、送信キューの滞留数にかかわらず、各出力ポートのコピー抑止識別子を「0」に設定することが望ましい。これは、第1の実施形態において説明したように、空いている回線のパケットが混雑している別の回線の影響を受けて消失することを防ぐために、受信キューの溢れを優先的に防止することが望ましいためである。
【0105】
なお、ステップS1400における所定の閾値及びステップS1403における所定の閾値は、同一の値であってもよいし、それぞれ異なる値であってもよい。これらの所定の閾値は、既に説明したように、ベンダによって予め指定されてもよいし、ユーザによって指定されてもよい。
【0106】
C2.送信検索処理:
図12は、本発明の第3の実施形態のルータ装置RTのヘッダ処理部510が実行する送信検索処理(ステップS120)を示すフローチャートである。
【0107】
最初のステップS1200では、宛先検索部511は、パケット送信回路400から受信パケットのヘッダ情報と、受信処理結果と、宛先テーブル551とを参照することによって、受信パケットを送信すべき複数の回線ポート(例えば、図4に示すVLAN−ID“10”〜“16”に対応する出力ポート番号によって識別される回線ポート)を検索する。さらに、宛先検索部511は、該当処理パケットのコピー抑止実行フラグを「0」に設定する。宛先検索部511は、宛先検索結果として、受信パケットを送信すべき複数の回線ポート及びコピー抑止実行フラグをコピー生成部512に通知する。
【0108】
なお、コピー抑止実行フラグとは、受信パケットごとに保持されるフラグであり、その受信パケットのコピーを送信すべき出力ポートのうち、コピー抑止中であるためにまだ当該コピーを取得していない出力ポートがあるか否かを示す。
【0109】
次のステップS1201では、コピー生成部512は、宛先検索部511から通知された複数の回線ポートから、未選択で送信されていない1回線ポートを選択する。
【0110】
次のステップS1202では、コピー生成部512は、コピー抑止制御部520を介して、コピー抑止テーブル553を参照することによって、選択した回線ポートのコピー抑止識別子を取得する。そして、コピー生成部512は、取得したコピー抑止識別子の値に基づいて、選択した回線ポートがコピー抑止中であるか否かを判定する(ステップS1203)。図11の例では、コピー生成部512は、選択した回線ポートのコピー抑止識別子が「1」である場合にコピー抑止中であり、「0」である場合にコピー抑止中でないと判定する。
【0111】
なお、図11を参照して説明したように、回線ポートに対応する送信キューが溢れそうである場合にコピー抑止識別子が「1」に設定される。すなわち、ステップS1203においてコピー抑止中であると判定されたことは、送信キューが溢れる可能性が高いことを意味する。
【0112】
コピー抑止中でない場合は、コピー生成部512は、選択されたポートからパケットを出力するよう、パケット送信回路400へ送信検索結果を通知する(ステップS1204)。この通知を受けたパケット送信回路400は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートに対応する送信キューに格納する。送信キューに格納されたパケットは、格納された順に、その送信キューに対応するポートから出力される。
【0113】
一方、コピー抑止中である場合は、コピー生成部512は、選択した回線ポートへのパケットのコピーを発生させずに、コピー抑止実行フラグを「1」に設定する(ステップS1205)。
【0114】
次のステップS1206では、コピー生成部512は、未選択回線ポートがあるか否かを判定する。未選択回線ポートがある場合はステップS1201に戻って、コピー生成部512が未選択の1回線ポートを選択する。未選択回線ポートがない場合は、コピー生成部512は、終了識別子に基づいて、宛先情報が終了したか否かを判定する(ステップS1207)。終了識別子が「0」である場合、宛先情報が終了していないため、コピー生成部512は、Nextポインタを宛先検索部511に通知する。
【0115】
次のステップS1208では、宛先検索部511は、コピー生成部512から通知されたNextポインタに基づいて、宛先テーブル551を参照することによって、受信パケットを送信すべき複数の回線ポート(例えば、図4に示すVLAN−ID“17”〜“23”に対応する出力ポート番号によって識別される回線ポート)を検索する。宛先検索部511は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートをコピー生成部512に通知し、再度ステップS1201以降の処理を行う。
【0116】
ステップS1207において、終了識別子が「1」である場合、宛先情報が終了したため、コピー生成部512は、コピー抑止実行フラグを確認する(ステップS1209)。コピー抑止実行フラグが「0」である場合、コピー抑止が実行されていない(すなわち、検索された全ての宛先に対応するポートの送信キューへの受信パケットのコピーの格納が終了している)ため、送信検索処理を終了する。コピー抑止実行フラグが「1」である場合、コピー抑止が実行されている(すなわち、検索された宛先に対応するいずれかのポートの送信キューへの受信パケットのコピーの格納が終了していない)ため、コピー抑止した回線を識別する情報を宛先検索部511に通知する。宛先検索部511は、コピー生成部512から通知されたコピー抑止回線情報と、受信パケットのヘッダ情報と、受信処理結果と、宛先テーブル551とを参照することによって、受信パケットを送信すべき複数の回線ポートのうち、コピー済みの回線ポートを除いた回線ポートを検索し、検索された回線ポートを対象として再度ステップS1200以降の処理を行う。
【0117】
ステップS1203〜S1205を実行することによって、コピー抑止識別子が「1」であるポートから送信されるべきパケットをコピーするタイミングが遅れる。これによって、コピー抑止識別子が「1」に設定されたポートに対応する送信キューにパケットが格納されるタイミングが遅れるため、当該送信キューは溢れにくくなる。図11及び図14を参照して説明したように、送信キューが溢れそうな場合にはコピー抑止識別子が「1」に設定され、送信キューが空いてきた場合にはコピー抑止識別子が「0」に設定される。このように設定されたコピー抑止識別子に基づいてステップS1203〜S1205を実行することによって、送信キューが溢れにくくなるようにパケットのコピー及び出力が制御される。
【0118】
C3.効果:
以上説明した第3の実施形態におけるルータ装置RTによれば、第1及び第2の実施形態のような帯域の柔軟な制御はできないが、複雑な帯域制御処理及びそれに関連する設定を不要としながら、第1の実施例のルータ装置RTと同様に、マルチキャストのバーストコピー時のキュー溢れの可能性を低減し、これによって、キュー溢れに起因するパケットの消失を防ぐという作用・効果を得ることができる。
【0119】
D.その他の実施形態:
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【0120】
例えば、前述の実施形態では、ルータ装置RTでのIPマルチキャストにおけるコピー処理に本発明を適用していたが、他の実施形態において、レイヤ2スイッチでのイーサネット(登録商標)のフラッディングにおけるコピー処理に本発明を適用しても良い。
【0121】
また、前述の実施形態では、ネットワークシステムの構成としては、図1に示したネットワークシステム10に限らず、任意の構成を採用可能である。ルータ装置RTの数、及び、回線の数は、任意に選択可能である。また、経路も任意に構築され得る。また、ルータ装置RTの構成としても、図2に示す構成に限らず、種々の構成を採用可能である。
【0122】
また、前述の実施形態では、複数のルータ装置RT間における、マルチキャストの例を示したが、他の実施形態において、サーバコンピュータやストレージなど他のネットワークに接続される機器での、パケットコピー機能に本発明を適用しても良い。
【符号の説明】
【0123】
10 ネットワークシステム
100‐1〜100‐m パケット受信回路
200‐1〜200‐m 受信検索部
300 スイッチ部
400‐1〜400‐m パケット送信回路
410 受信キュー制御部
420 送信キュー制御部
500‐1〜500‐m 送信検索部
510 ヘッダ処理部
511 宛先検索部
512 コピー生成部
513 出力帯域制御部
514 帯域設定部
515 低優先宛先検索部
516 低優先コピー生成部
517 低優先出力帯域制御部
518 振り分け部
519 優先制御スケジューラ
520 コピー抑止制御部
550 メモリ
551 宛先テーブル
552 帯域設定テーブル
553 コピー抑止テーブル
NW10 マルチキャストネットワーク
RT、RT10〜RT30 ルータ装置
SW10〜SW20 レイヤ2スイッチ装置
SV10 サーバ装置
CL10〜CL40 クライアント装置

【特許請求の範囲】
【請求項1】
パケットを送受信する情報処理装置であって、
パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、
いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、
受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定し、
前記特定された出力ポートの帯域、又は、前記特定されたポートに対応する送信キューの滞留数の少なくとも一方に基づいて、前記特定されたポートに対応する送信キューが溢れる可能性を判定し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする情報処理装置。
【請求項2】
前記情報処理装置は、
前記各出力ポートに設定された帯域の値を含む帯域設定情報を保持し、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、前記各出力ポートの帯域を制御する出力帯域制御部と、を備え、
前記出力帯域制御部は、
前記特定された出力ポートにおいて実測された帯域の値が、前記特定された出力ポートに設定された帯域の値より大きい場合に、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力しないことによって、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、帯域設定部をさらに備え、
前記帯域設定部は、
前記受信キューの滞留数が所定の閾値を上回った場合、前記各出力ポートに設定された帯域の値を増加させ、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を減少させ、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を下回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を増加させることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、複数の前記宛先検索部と、複数の前記コピー生成部と、複数の前記出力帯域制御部と、振り分け部と、スケジューラと、を備え、
前記振り分け部は、前記受信したパケットに含まれる情報に基づいて、前記受信したパケットの優先度を指定し、
前記複数の宛先検索部は、第1の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する第1の宛先検索部と、前記第1の優先度より低い第2の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する第2の宛先検索部と、を含み、
前記複数のコピー生成部は、前記第1の優先度が指定されたパケットの複製の作成の指示を生成する第1のコピー生成部と、前記第2の優先度が指定されたパケットの複製の作成の指示を生成する第2のコピー生成部と、を含み、
前記複数の出力帯域制御部は、前記第1の優先度が指定されたパケットの複製を出力する出力ポートの帯域を制御する第1の出力帯域制御部と、前記第2の優先度が指定されたパケットの複製を出力する出力ポートの帯域を制御する第2の出力帯域制御部と、を含み、
前記スケジューラは、前記優先度に基づく所定の規則に従って、前記複数の出力帯域制御部から出力された、前記受信したパケットの複製を作成する指示を前記パケット送信部に出力することを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記情報処理装置は、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する一つの宛先検索回路と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成する一つのコピー生成回路と、前記各出力ポートの帯域を制御する一つの出力帯域制御回路と、を備え、
前記複数の宛先検索部の各々は、前記一つの宛先検索回路の動作時間を分割することによって生成された仮想的な宛先検索回路であり、
前記複数のコピー生成部の各々は、前記一つのコピー生成回路の動作時間を分割することによって生成された仮想的なコピー生成回路であり、
前記複数の出力帯域制御部の各々は、前記一つの出力帯域制御回路の動作時間を分割することによって生成された仮想的な出力帯域制御回路であることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記情報処理装置は、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、を備え、
前記コピー生成部は、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合に、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力しないことによって、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記コピー生成部は、前記受信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューの滞留数にかかわらず、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
パケットを送受信する情報処理装置が実行するパケット複製方法であって、
前記情報処理装置は、
パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、
いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、
前記パケット複製方法は、
受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する第1手順と、
前記特定された出力ポートの帯域、又は、前記特定されたポートに対応する送信キューの滞留数の少なくとも一方に基づいて、前記特定されたポートに対応する送信キューが溢れる可能性を判定する第2手順と、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御する第3手順と、を含むことを特徴とするパケット複製方法。
【請求項9】
前記情報処理装置は、
前記各出力ポートに設定された帯域の値を含む帯域設定情報を保持し、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、前記各出力ポートの帯域を制御する出力帯域制御部と、を備え、
前記第2手順は、前記特定された出力ポートにおいて実測された帯域の値が、前記特定された出力ポートに設定された帯域の値より大きい場合に、前記出力帯域制御部が、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定する手順を含み、
前記第3手順は、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記出力帯域制御部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力せず、前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記出力帯域制御部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とする請求項8に記載のパケット複製方法。
【請求項10】
前記パケット複製方法は、さらに、
前記受信キューの滞留数が所定の閾値を上回った場合、前記各出力ポートに設定された帯域の値を増加させる手順と、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を減少させる手順と、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を下回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を増加させる手順と、を含むことを特徴とする請求項9に記載のパケット複製方法。
【請求項11】
前記情報処理装置は、複数の前記宛先検索部と、複数の前記コピー生成部と、複数の前記出力帯域制御部と、振り分け部と、スケジューラと、を備え、
前記複数の宛先検索部は、第1の宛先検索部及び第2の宛先検索部を含み、
前記複数のコピー生成部は、第1のコピー生成部及び第2のコピー生成部を含み、
前記複数の出力帯域制御部は、第1の出力帯域制御部及び第2の出力帯域制御部を含み、
前記方法は、さらに、前記振り分け部が、前記受信したパケットに含まれる情報に基づいて、前記受信したパケットの優先度を指定する手順を含み、
前記第1手順は、前記第1の検索部が、第1の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する手順と、前記第2の検索部が、前記第1の優先度より低い第2の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する手順と、を含み、
前記第2手順は、前記第1の出力帯域制御部が、前記第1の優先度が指定されたパケットを送信するために特定された前記出力ポートに対応する送信キューが溢れる可能性を判定する手順と、前記第2の出力帯域制御部が、前記第2の優先度が指定されたパケットを送信するために特定された前記出力ポートに対応する送信キューが溢れる可能性を判定する手順と、を含み
前記第3手順は、前記第1の優先度が指定されたパケットを送信するために特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記第1の出力帯域制御部が、前記特定された出力ポートに対応する送信キューに前記第1の優先度が指定されたパケットの複製を格納するタイミングを遅らせるように、前記第1の優先度が指定されたパケットの複製の作成を制御する手順と、前記第2の優先度が指定されたパケットを送信するために特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記第2の出力帯域制御部が、前記特定された出力ポートに対応する送信キューに前記第2の優先度が指定されたパケットの複製を格納するタイミングを遅らせるように、前記第2の優先度が指定されたパケットの複製の作成を制御する手順と、を含み、
前記方法は、さらに、前記スケジューラが、前記優先度に基づく所定の規則に従って、前記複数の出力帯域制御部から出力された、前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とする請求項9に記載のパケット複製方法。
【請求項12】
前記情報処理装置は、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、を備え、
前記第2手順は、前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合に、前記コピー生成部が、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定する手順を含み、
前記第3手順は、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記コピー生成部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力せず、前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記コピー生成部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とする請求項8に記載のパケット複製方法。
【請求項13】
前記第3手順は、前記受信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューの滞留数にかかわらず、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とする請求項12に記載のパケット複製方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate