(57)【特許請求の範囲】
【請求項１】
パケットを送受信する情報処理装置であって、
パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、
いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、前記各出力ポートの帯域を制御する出力帯域制御部と、を備え、
前記各出力ポートに設定された帯域の値を含む帯域設定情報を保持し、
前記出力帯域制御部は、
前記特定された出力ポートにおいて実測された帯域の値が、前記特定された出力ポートに設定された帯域の値より大きい場合に、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力しないことによって、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、帯域設定部をさらに備え、
前記帯域設定部は、
前記受信キューの滞留数が所定の閾値を上回った場合、前記各出力ポートに設定された帯域の値を増加させ、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を減少させ、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を下回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を増加させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、複数の前記宛先検索部と、複数の前記コピー生成部と、複数の前記出力帯域制御部と、振り分け部と、スケジューラと、を備え、
前記振り分け部は、前記受信したパケットに含まれる情報に基づいて、前記受信したパケットの優先度を指定し、
前記複数の宛先検索部は、第１の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する第１の宛先検索部と、前記第１の優先度より低い第２の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する第２の宛先検索部と、を含み、
前記複数のコピー生成部は、前記第１の優先度が指定されたパケットの複製の作成の指示を生成する第１のコピー生成部と、前記第２の優先度が指定されたパケットの複製の作成の指示を生成する第２のコピー生成部と、を含み、
前記複数の出力帯域制御部は、前記第１の優先度が指定されたパケットの複製を出力する出力ポートの帯域を制御する第１の出力帯域制御部と、前記第２の優先度が指定されたパケットの複製を出力する出力ポートの帯域を制御する第２の出力帯域制御部と、を含み、
前記スケジューラは、前記優先度に基づく所定の規則に従って、前記複数の出力帯域制御部から出力された、前記受信したパケットの複製を作成する指示を前記パケット送信部に出力することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する一つの宛先検索回路と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成する一つのコピー生成回路と、前記各出力ポートの帯域を制御する一つの出力帯域制御回路と、を備え、
前記複数の宛先検索部の各々は、前記一つの宛先検索回路の動作時間を分割することによって生成された仮想的な宛先検索回路であり、
前記複数のコピー生成部の各々は、前記一つのコピー生成回路の動作時間を分割することによって生成された仮想的なコピー生成回路であり、
前記複数の出力帯域制御部の各々は、前記一つの出力帯域制御回路の動作時間を分割することによって生成された仮想的な出力帯域制御回路であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
パケットを送受信する情報処理装置であって、
パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、
いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、を備え、
前記コピー生成部は、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合に、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力し、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力しないことによって、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする情報処理装置。
【請求項６】
前記コピー生成部は、前記受信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューの滞留数にかかわらず、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
パケットを送受信する情報処理装置が実行するパケット複製方法であって、
前記情報処理装置は、
パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、
いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、前記各出力ポートの帯域を制御する出力帯域制御部と、を備え、
前記各出力ポートに設定された帯域の値を含む帯域設定情報を保持し、
前記パケット複製方法は、
受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する第１手順と、
前記特定された出力ポートにおいて実測された帯域及び前記特定された出力ポートに設定された帯域に基づいて、前記特定された出力ポートに対応する送信キューが溢れる可能性を判定する第２手順と、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御する第３手順と、を含み、
前記第２手順は、前記特定された出力ポートにおいて実測された帯域の値が、前記特定された出力ポートに設定された帯域の値より大きい場合に、前記出力帯域制御部が、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定する手順を含み、
前記第３手順は、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記出力帯域制御部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力せず、前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記出力帯域制御部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とするパケット複製方法。
【請求項８】
前記パケット複製方法は、さらに、
前記受信キューの滞留数が所定の閾値を上回った場合、前記各出力ポートに設定された帯域の値を増加させる手順と、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を減少させる手順と、
前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を下回った場合、前記特定された出力ポートに対応する送信キューに設定された帯域の値を増加させる手順と、を含むことを特徴とする請求項７に記載のパケット複製方法。
【請求項９】
前記情報処理装置は、複数の前記宛先検索部と、複数の前記コピー生成部と、複数の前記出力帯域制御部と、振り分け部と、スケジューラと、を備え、
前記複数の宛先検索部は、第１の宛先検索部及び第２の宛先検索部を含み、
前記複数のコピー生成部は、第１のコピー生成部及び第２のコピー生成部を含み、
前記複数の出力帯域制御部は、第１の出力帯域制御部及び第２の出力帯域制御部を含み、
前記方法は、さらに、前記振り分け部が、前記受信したパケットに含まれる情報に基づいて、前記受信したパケットの優先度を指定する手順を含み、
前記第１手順は、前記第１の宛先検索部が、第１の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する手順と、前記第２の宛先検索部が、前記第１の優先度より低い第２の優先度が指定された前記パケットの複製を送信する一つ以上の出力ポートを特定する手順と、を含み、
前記第２手順は、前記第１の出力帯域制御部が、前記第１の優先度が指定されたパケットを送信するために特定された前記出力ポートに対応する送信キューが溢れる可能性を判定する手順と、前記第２の出力帯域制御部が、前記第２の優先度が指定されたパケットを送信するために特定された前記出力ポートに対応する送信キューが溢れる可能性を判定する手順と、を含み
前記第３手順は、前記第１の優先度が指定されたパケットを送信するために特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記第１の出力帯域制御部が、前記特定された出力ポートに対応する送信キューに前記第１の優先度が指定されたパケットの複製を格納するタイミングを遅らせるように、前記第１の優先度が指定されたパケットの複製の作成を制御する手順と、前記第２の優先度が指定されたパケットを送信するために特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記第２の出力帯域制御部が、前記特定された出力ポートに対応する送信キューに前記第２の優先度が指定されたパケットの複製を格納するタイミングを遅らせるように、前記第２の優先度が指定されたパケットの複製の作成を制御する手順と、を含み、
前記方法は、さらに、前記スケジューラが、前記優先度に基づく所定の規則に従って、前記複数の出力帯域制御部から出力された、前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とする請求項７に記載のパケット複製方法。
【請求項１０】
パケットを送受信する情報処理装置が実行するパケット複製方法であって、
前記情報処理装置は、
パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、
いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、
前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、を備え、
前記パケット複製方法は、
受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する第１手順と、
前記特定された出力ポートに対応する送信キューの滞留数に基づいて、前記特定された出力ポートに対応する送信キューが溢れる可能性を判定する第２手順と、
前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御する第３手順と、を含み、
前記第２手順は、前記特定された出力ポートに対応する送信キューの滞留数が所定の閾値を上回った場合に、前記コピー生成部が、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定する手順を含み、
前記第３手順は、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記コピー生成部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力せず、前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記コピー生成部が、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とするパケット複製方法。
【請求項１１】
前記第３手順は、前記受信キューの滞留数が所定の閾値を上回った場合、前記特定された出力ポートに対応する送信キューの滞留数にかかわらず、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力する手順を含むことを特徴とする請求項１０に記載のパケット複製方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関し、より詳細には、ネットワーク中継装置におけるマルチキャストコピー方法に関するものである。
【背景技術】
【０００２】
ＩＰネットワークにおける動画配信サービスの本格化に伴い、動画配信サービスの高品質化が要求されている。ルータ／スイッチにおいては、効率的な動画配信を実現させるマルチキャスト処理の品質を向上させる為に、ＱｏＳ制御の重要性が高まっている。例えば、コスト削減の為、ひとつのルータ／スイッチに収容可能なインタフェース数／ユーザ数を増大させること、及び回線種別の多様化が求められている。また、動画配信サービス等の大容量データ通信に対応する為、ルータ／スイッチでより高速な回線を収容しワイヤレートで処理することが求められている。
【０００３】
特許文献１には、宛先検索前に優先度毎のキューを設け、マルチキャストコピー処理の優先度制御を行う方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１６６２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、検索エンジンによる宛先検索によってマルチキャスト処理の優先度制御が可能となるが、出力回線帯域を越える性能でマルチキャストのバーストコピーが発生すると、転送エンジンの送信キューで、キュー溢れが発生する場合がある。
【０００６】
キュー溢れの可能性を低減させるには転送エンジンの送信キューのサイズを大きくする必要があるが、キューのサイズは有限である為、１回のマルチキャスト処理に対するコピー数の制限が必要となる。
【０００７】
本発明は、上記した課題に鑑みて、マルチキャストのバーストコピー時のキュー溢れの可能性を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００９】
［適用例１］  適用例１のマルチキャストコピー方法は、送信検索部でのコピー性能を可変とするマルチキャストコピー帯域制御工程を備えることを特徴とする。又は、上記マルチキャストコピー方法の工程を実施するネットワーク中継装置を提供することができる。
【００１０】
適用例１のマルチキャストコピー方法及びネットワーク中継装置によれば、送信検索部におけるマルチキャストコピー性能の帯域制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することができる。
【００１１】
［適用例２］  適用例２のマルチキャストコピー方法は、送信検索部での優先度毎のコピー性能を可変とするマルチキャストコピー帯域制御工程を備えることを特徴とする。又は、上記マルチキャストコピー方法の工程を実施するネットワーク中継装置を提供することができる。
【００１２】
適用例２のマルチキャストコピー方法及びネットワーク中継装置によれば、送信検索部でのマルチキャストコピー性能の帯域制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することができ、さらに、フロー毎の優先制御が可能になる。
【００１３】
［適用例３］  適用例３のマルチキャストコピー方法は、転送処理部の回線毎の送信キューの状態に応じて、送信検索部で回線毎のコピー抑止状態を保持し、宛先テーブルアクセスにおいてコピー抑止状態のポートはコピーをスキップするマルチキャストコピー抑止工程を備えることを特徴とする。又は、上記マルチキャストコピー方法の工程を実施するネットワーク中継装置を提供することができる。
【００１４】
適用例３のマルチキャストコピー方法及びネットワーク中継装置によれば、送信検索部における、回線毎のマルチキャストコピー抑止制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することができる。
【００１５】
上記の本発明の代表的な一例を示せば次の通りである。すなわち、パケットを送受信する情報処理装置であって、パケットを受信する複数の入力ポートと、受信した前記パケットの複製を出力する複数の出力ポートとを備え、いずれかの前記入力ポートが受信したパケットを保持する受信キューと、各々が前記各出力ポートに対応し、前記各出力ポートから出力されるパケットを保持する複数の送信キューと、を備え、前記受信したパケットの複製の作成、前記受信したパケットの複製の前記送信キューへの格納及び前記送信キューに格納されたパケットの出力を実行するパケット送信部と、前記受信したパケットに含まれる宛先情報に基づいて、前記受信したパケットの複製を送信する一つ以上の出力ポートを特定する宛先検索部と、前記特定された各出力ポートから送信される前記受信したパケットの複製の作成の指示を生成するコピー生成部と、前記各出力ポートの帯域を制御する出力帯域制御部と、を備え、前記各出力ポートに設定された帯域の値を含む帯域設定情報を保持し、前記出力帯域制御部は、前記特定された出力ポートにおいて実測された帯域の値が、前記特定された出力ポートに設定された帯域の値より大きい場合に、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定し、前記特定された出力ポートに対応する送信キューが溢れる可能性が低いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力し、前記特定された出力ポートに対応する送信キューが溢れる可能性が高いと判定された場合に、前記特定された出力ポートから送信される前記受信したパケットの複製を作成する指示を前記パケット送信部に出力しないことによって、前記特定された出力ポートに対応する送信キューに前記受信したパケットの複製を格納するタイミングを遅らせるように、前記受信したパケットの複製の作成を制御することを特徴とする。
【００１６】
本発明の形態は、ネットワーク中継装置及びマルチキャストコピー方法に限るものではなく、例えば、ネットワーク中継装置とは異なる他のネットワーク機器、マルチキャスト装置の機能をコンピュータに実現させるためのプログラムなどの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【発明の効果】
【００１７】
本発明の一実施形態によれば、多様な回線帯域に対応し、コピー数の制限がなく、転送処理部での送信キューのサイズを大きくする必要がなく、マルチキャストコピー帯域を制御することによって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態としてのルータ装置を用いたネットワークシステムを示す説明図である。
【図２】本発明の第１の実施形態のルータ装置の構成を示す説明図である。
【図３】本発明の第１の実施形態のパケット送信回路及び送信検索部の構成を示す説明図である。
【図４】本発明の第１の実施形態の宛先テーブルの一例を示す説明図である。
【図５】本発明の第１の実施形態の帯域設定テーブルの一例を示す説明図である。
【図６】本発明の第１の実施形態のルータ装置のヘッダ処理部が実行する送信検索処理を示すフローチャートである。
【図７】本発明の第２の実施形態における、ルータ装置のパケット送信回路及び送信検索部の詳細な構成を示す説明図である。
【図８】本発明の第２の実施形態の優先度毎帯域設定テーブルの一例を示す説明図である。
【図９】本発明の第２の実施形態における、ルータ装置のヘッダ処理部が実行する送信検索処理を示すフローチャートである。
【図１０】本発明の第３の実施形態における、ルータ装置のパケット送信回路及び送信検索部の詳細な構成を示す説明図である。
【図１１】本発明の第３の実施形態のコピー抑止テーブルの一例を示す説明図である。
【図１２】本発明の第３の実施形態のルータ装置のヘッダ処理部が実行する送信検索処理を示すフローチャートである。
【図１３】本発明の第１の実施形態のルータ装置のヘッダ処理部等が実行する帯域設定処理を示すフローチャートである。
【図１４】本発明の第３の実施形態のルータ装置のヘッダ処理部等が実行するコピー抑止状態設定処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以上説明した本発明の構成及び作用を一層明らかにするために、以下本発明を適用したネットワーク中継装置について説明する。
【００２０】
Ａ．第１の実施形態：
Ａ１．ネットワーク中継装置の構成：
図１は、本発明の第１の実施形態としてのルータ装置を用いたネットワークシステムを示す説明図である。このネットワークシステム１０は、３つのルータ装置ＲＴ１０〜ＲＴ３０を有するマルチキャストネットワークＮＷ１０と、サーバ装置ＳＶ１０と、２つのＬ２（レイヤ２）スイッチ装置ＳＷ１０〜ＳＷ２０と、４つのクライアント装置ＣＬ１０〜ＣＬ４０とを備えるネットワークシステムである。
【００２１】
第１ルータ装置ＲＴ１０には、サーバ装置ＳＶ１０及びルータ装置ＲＴ２０が接続されている。第２ルータ装置ＲＴ２０には、２つのルータ装置ＲＴ１０及びＲＴ３０が接続されている。第３ルータ装置ＲＴ３０には、ルータ装置ＲＴ２０及び２つのＬ２スイッチ装置ＳＷ１０〜ＳＷ２０が接続されている。Ｌ２スイッチ装置ＳＷ１０には、ルータ装置ＲＴ３０及び２つのクライアント装置ＣＬ１０〜ＣＬ２０が接続されている。Ｌ２スイッチ装置ＳＷ２０には、ルータ装置ＲＴ３０及び２つのクライアント装置ＣＬ３０〜ＣＬ４０が接続されている。
【００２２】
サーバ装置ＳＶ１０は、ルータ装置ＲＴ１０へマルチキャストパケットを配信し、ルータ装置ＲＴ１０〜ＲＴ２０は、マルチキャストパケットを中継する。ルータ装置ＲＴ３０は、クライアント装置ＣＬ１０〜ＣＬ２０向けのマルチキャストパケットを２つ生成し、それらをＬ２スイッチ装置ＳＷ１０へ転送する。同様に、ルータ装置ＲＴ３０は、クライアント装置ＣＬ３０〜ＣＬ４０向けのマルチキャストパケットを２つ生成し、それらをＬ２スイッチ装置ＳＷ２０へ転送する。Ｌ２スイッチ装置ＳＷ１０は、クライアント装置ＣＬ１０及びＣＬ２０へ、マルチキャストパケットを振り分ける。Ｌ２スイッチ装置ＳＷ２０は、クライアント装置ＣＬ３０及びＣＬ４０へ、マルチキャストパケットを振り分ける。クライアント装置ＣＬ１０〜ＣＬ４０はマルチキャストパケットを受信する。
【００２３】
図２は、本発明の第１の実施形態のルータ装置ＲＴの構成を示す説明図である。ここで、ルータ装置ＲＴの構成として、主に図１に示す第３のルータ装置ＲＴ３０の構成を説明するが、第１〜第２のルータ装置ＲＴ１０〜ＲＴ２０の構成も図２に示すルータ装置ＲＴと同じである。このルータ装置ＲＴは、入力ポートを介して、パケットを受信するｍ個のパケット受信回路１００−１〜ｍと、各パケット受信回路１００からの検索指示に従い、ヘッダ情報に基づいてｍ個あるパケット送信回路４００−１〜ｍのどのパケット送信回路に送るかを決定する受信検索部２００と、受信検索部の検索結果に従って、パケット送信回路へスイッチングするスイッチ部３００と、出力ポートを介して、パケットを送信するパケット送信回路４００と、各パケット送信回路４００からの検索指示に従い、ヘッダ情報及び受信検索部の検索結果に基づいて複数ある出力ポートのどのポートに送るかを決定する送信検索部５００と、を有している。
【００２４】
なお、本明細書において、回線ポート（又は単にポートとも記載する）のうち、ルータ装置ＲＴへのパケットの入力に使用されるものを入力ポートとも記載し、ルータ装置ＲＴからのパケットの出力に使用されるものを出力ポートとも記載する。
【００２５】
図３は、本発明の第１の実施形態のパケット送信回路４００及び送信検索部５００の構成を示す説明図である。
【００２６】
パケット送信回路４００は、スイッチ部３００からパケットを受信し、受信キューにキューイングを行う受信キュー制御部４１０と、出力ポートへのパケットを送信する為に、送信キューにキューイングを行う送信キュー制御部４２０と、を有している。なお、各パケット送信回路４００は、１つの受信キューと、出力ポートと同数の送信キューと、を有する。受信キューは、パケット受信回路１００が受信し、スイッチ部３００を経由してパケット送信回路４００に入力されたパケットを保持する。各送信キューは、各出力ポートに対応し、各出力ポートから出力されるパケットを保持する。
【００２７】
送信検索部５００は、ヘッダ処理部５１０と、メモリ５５０と、を有している。
【００２８】
ヘッダ処理部５１０は、受信されたパケットを送信すべき出力ポートを決定する処理（「宛先検索処理」とも呼ぶ）を実行する。ヘッダ処理部５１０は、後述する種々の機能を実現するために設計されたＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）である。また、ヘッダ処理部５１０は、宛先検索部５１１と、コピー生成部５１２と、出力帯域制御部５１３と、帯域設定部５１４と、を有している。
【００２９】
メモリ５５０は、宛先検索処理に利用される種々のデータを格納する。図３の例では、メモリ５５０は、宛先テーブル５５１と、帯域設定テーブル５５２と、を格納している。これらのテーブルは、出力先の決定と、出力帯域制御に利用される（詳細は後述）。
【００３０】
図４は、本発明の第１の実施形態の宛先テーブル５５１の一例を示す説明図である。宛先テーブル５５１は、マルチキャストＩＤに対応する、複数のＶＬＡＮ−ＩＤと出力ポート番号の組と、終了識別子と、Ｎｅｘｔポインタと、を格納する。
【００３１】
ＶＬＡＮ−ＩＤは、ＶＬＡＮ（仮想ローカルエリアネットワーク）の識別番号である。ＶＬＡＮは、レイヤ２レベルで互いに通信可能な１以上の回線ポートで構成されるグループを表している。ルータ装置ＲＴでは、レイヤ３レベルでの通信処理、つまり複数のＶＬＡＮ間の通信処理のみを行う為、１つのＶＬＡＮ−ＩＤに対応するポートは１つのみである。また、他の宛先情報を得るためのＮｅｘｔポインタが記憶されている場合には終了識別子が０に設定され、これ以上宛先情報がなく、Ｎｅｘｔポインタがない場合には終了識別子が１に設定される。ヘッダ処理部５１０は、マルチキャストＩＤと、ＶＬＡＮ−ＩＤとポート番号との対応関係を、マルチキャストルーティングプロトコル、またはユーザの指示に従って設定する。ユーザの指示は、例えば、ルータ装置ＲＴの操作パネル（図示せず）、または、ルータ装置ＲＴに接続された管理端末（図示せず）を介して入力され得る。
【００３２】
図５は、本発明の第１の実施形態の帯域設定テーブル５５２の一例を示す説明図である。帯域設定テーブル５５２は、出力ポートに対応して設定された帯域（Ｍｂｐｓ）を格納する。
【００３３】
帯域設定部５１４は、出力ポートと、帯域との対応関係を、ルータ装置ＲＴの実装情報、ユーザの指示、パケット送信回路４００のキューの状態、またはそれらの組合せに従って設定する。
【００３４】
パケット送信回路４００のキューの状態に従う帯域設定は、具体的には、次のように行われる。パケット送信回路４００の送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を超えた場合に、その送信キューが溢れそうであることを帯域設定部５１４に通知する。この所定の閾値は、例えば、ベンダによって予め指定されたものであってもよいし、ユーザによって指定されたものであってもよい。
【００３５】
なお、キューの滞留数とは、キューの混雑の程度を示す指標であり、例えば、キューに滞留しているパケットの数、それらのパケットのデータ量、又は使用率等であってもよい。滞留数が大きいほど、キューの空き容量が少ない（すなわちキューが溢れそうである）ことを意味する。
【００３６】
帯域設定部５１４は、送信キュー制御部４２０から、送信キューが溢れそうであることを通知されると、その送信キューに対応する出力ポートの設定帯域を所定の値分減らす。この所定の値は、例えば、ベンダによって予め指定されたものであってもよいし、ユーザによって指定されたものであってもよい。送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を下回った場合に、その送信キューが空いてきたことを帯域設定部５１４に通知する。帯域設定部５１４は、送信キュー制御部４２０から、送信キューが空いてきたことを通知されると、その送信キューに対応する出力ポートの設定帯域を、所定の値分増やす。
【００３７】
さらに、パケット送信回路４００の受信キュー制御部４１０は、受信キューの滞留数が所定の閾値を超えた場合に、受信キューが溢れそうであることを帯域設定部５１４に通知する。帯域設定部５１４は、受信キュー制御部４１０から、受信キューが溢れそうであることを通知されると、全出力ポートの設定帯域を所定の値分増やす。
【００３８】
上記の送信キューの状態に従う帯域設定及び受信キューの状態に従う帯域設定のうち、いずれか一方のみが実行されてもよいし、両方が実行されてもよい。ただし、受信キューが溢れそうになったときに送信キューの帯域を増やすと、それによって送信キューが溢れる可能性が高まる。このため、実際には、両方の帯域設定を同時に実行した場合、それらが衝突する可能性がある。そのような場合は、受信キューの状態に従う帯域設定を優先することが望ましい。これは、１つしかない受信キューが溢れると、そのときに受信したパケットは、それがどのポートから出力されるべきものであっても消失してしまうのに対して、送信キューの溢れは混雑しているポートのみで発生し、空いているポートではキューの溢れが発生せずにパケットを送信できるためである。すなわち、受信キューの溢れを防ぐことによって、空いている回線のパケットが、混雑している別の回線の影響を受けて消失することを防ぐことができる。
【００３９】
ここで、上記のようなキューの状態に従う帯域設定処理の具体的な一例を説明する。
【００４０】
図１３は、本発明の第１の実施形態のルータ装置ＲＴのヘッダ処理部５１０等が実行する帯域設定処理（ステップＳ１３０）を示すフローチャートである。
【００４１】
最初に、パケット送信回路４００の送信キュー制御部４２０は、受信キューの滞留数が所定の閾値を上回ったか否かを判定する（ステップＳ１３００）。受信キューの滞留数が所定の閾値を上回ったと判定された場合、送信キュー制御部４２０は、受信キューが溢れそうであることを示す通知を帯域設定部５１４に送信する。
【００４２】
この通知を受けた帯域設定部５１４は、複数の送信ポートのうち一つについて、設定帯域が最大値であるか否かを判定する（ステップＳ１３０１）。設定帯域が最大値でない場合、帯域設定部５１４は、その送信ポートの設定帯域を、所定の値だけ増やし（ステップＳ１３０２）、次にステップＳ１３０３を実行する。一方、設定帯域が最大値である場合、その送信ポートの設定帯域をそれ以上増やすことができないため、帯域設定部５１４は、ステップＳ１３０２を実行せずにステップＳ１３０３を実行する。
【００４３】
ステップ１３０３において、帯域設定部５１４は、全ての送信ポートについてステップＳ１３０１の判定が終了したか否かを判定する。全ての送信ポートについてステップＳ１３０１の判定が終了していない場合、処理はステップＳ１３０１に戻り、残りの送信ポートの一つについて、設定帯域が最大値であるか否かが判定される。一方、全ての送信ポートについてステップＳ１３０１の判定が終了した場合、帯域設定処理が終了する。
【００４４】
ステップＳ１３００において、受信キューの滞留数が所定の閾値を上回っていないと判定された場合、送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を上回ったか否かを判定する（ステップＳ１３０４）。いずれかの送信キューの滞留数が所定の閾値を上回ったと判定された場合、送信キュー制御部４２０は、その送信キューが溢れそうであることを示す通知を帯域設定部５１４に送信する。
【００４５】
この通知を受けた帯域設定部５１４は、その送信キューに対応する出力ポートの設定帯域が０であるか否かを判定する（ステップＳ１３０５）。その送信キューに対応する出力ポートの設定帯域が０でない場合、帯域設定部５１４は、その出力ポートの設定帯域を所定の値だけ減らし（ステップＳ１３０６）、次にステップＳ１３０７を実行する。一方、その送信キューに対応する出力ポートの設定帯域が０である場合、それ以上設定帯域を減らすことができないため、帯域設定部５１４は、ステップＳ１３０６を実行せずにステップＳ１３０７を実行する。
【００４６】
ステップＳ１３０７において、帯域設定部５１４は、対応する送信キューの滞留数が所定の閾値を上回り、かつ、ステップＳ１３０５の判定がまだ行われていない出力ポートが残っているか否かを判定する。該当する出力ポートが残っている場合、処理はステップＳ１３０５に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、帯域設定処理が終了する。
【００４７】
ステップＳ１３０４において、いずれの送信キューの滞留数も所定の閾値を上回っていないと判定された場合、送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を下回ったか否かを判定する（ステップＳ１３０８）。いずれかの送信キューの滞留数が所定の閾値を下回ったと判定された場合、送信キュー制御部４２０は、その送信キューが空いてきたことを示す通知を帯域設定部５１４に送信する。
【００４８】
この通知を受けた帯域設定部５１４は、その送信キューに対応する出力ポートの設定帯域が最大値であるか否かを判定する（ステップＳ１３０９）。その送信キューに対応する出力ポートの設定帯域が最大値でない場合、帯域設定部５１４は、その出力ポートの設定帯域を所定の値だけ増やし（ステップＳ１３１０）、次にステップＳ１３１１を実行する。一方、その送信キューに対応する出力ポートの設定帯域が最大値である場合、それ以上設定帯域を増やすことができないため、帯域設定部５１４は、ステップＳ１３１０を実行せずにステップＳ１３１１を実行する。
【００４９】
ステップＳ１３１１において、帯域設定部５１４は、対応する送信キューの滞留数が所定の閾値を下回り、かつ、ステップＳ１３０９の判定がまだ行われていない出力ポートが残っているか否かを判定する。該当する出力ポートが残っている場合、処理はステップＳ１３０９に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、帯域設定処理が終了する。
【００５０】
ステップＳ１３０８において、いずれの送信キューの滞留数も所定の閾値を下回っていないと判定された場合、帯域設定処理が終了する。
【００５１】
なお、ステップＳ１３００における所定の閾値、ステップＳ１３０４における所定の閾値及びステップＳ１３０８における所定の閾値は、同一の値であってもよいし、それぞれ異なる値であってもよい。同様に、ステップＳ１３０２における所定の値、ステップＳ１３０６における所定の値及びステップＳ１３１０における所定の値は、同一の値であってもよいし、それぞれ異なる値であってもよい。これらの所定の閾値及び所定の値は、既に説明したように、ベンダによって予め指定されてもよいし、ユーザによって指定されてもよい。
【００５２】
Ａ２．送信検索処理：
図６は、本発明の第１の実施形態のルータ装置ＲＴのヘッダ処理部５１０が実行する送信検索処理（ステップＳ６０）を示すフローチャートである。
【００５３】
最初のステップＳ６００では、宛先検索部５１１は、パケット送信回路４００から受信パケットのヘッダ情報（より詳細には、ヘッダ情報に含まれる宛先情報）と、受信処理結果と、宛先テーブル５５１とを参照することによって、受信パケットを送信すべき複数の回線ポート（例えば、図４に示すＶＬＡＮ−ＩＤ“１０”〜“１６”に対応する出力ポート番号によって識別される回線ポート）を検索する。宛先検索部５１１は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートをコピー生成部５１２に通知する。
【００５４】
次のステップＳ６０１では、コピー生成部５１２は、宛先検索部５１１から通知された複数の回線ポートから、未選択で送信されていない１回線ポートを選択する。コピー生成部５１２は選択した１回線ポートを出力帯域制御部５１３に通知する。
【００５５】
次のステップＳ６０２では、出力帯域制御部５１３は、コピー生成部５１２から通知された回線ポートの出力帯域を計算する。この出力帯域は、例えば、現在までの所定の時間内に、通知された回線ポートから出力されたデータ量の実測値を、その所定の時間で除算することによって計算される。さらに、出力帯域制御部５１３は、帯域設定部５１４を介して、帯域設定テーブル５５２を参照することによって、通知された回線ポートの設定帯域を取得する。
【００５６】
次に、出力帯域制御部５１３は、出力帯域の計算結果と、取得した設定帯域とを比較する（ステップＳ６０３）。出力帯域が設定帯域を超えていない場合は、選択されたポートからパケットを出力するよう、パケット送信回路４００へ送信検索結果を通知する（ステップＳ６０４）。送信検索結果は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートから出力する指示を含む。なお、送信検索結果はコピー生成部５１２によって生成され、出力帯域制御部５１３は、送信検索結果をパケット送信回路に通知するタイミングを制御する。送信検索結果を通知されたパケット送信回路４００は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートに対応する送信キューに格納する。送信キューに格納されたパケットは、格納された順に、その送信キューに対応するポートから出力される。
【００５７】
出力帯域が設定帯域を超えている場合は、再度ステップＳ６０２に戻る。この場合、前回ステップＳ６０２で出力帯域が計算されてから今回ステップＳ６０２に戻るまでに時間に、選択されたポートからパケットが出力されていないため、今回のステップＳ６０２で計算された出力帯域は、前回のそれより低くなっている可能性がある。出力帯域制御部５１３は、出力帯域が設定帯域以下になるまで、ステップＳ６０２〜Ｓ６０３のループを繰り返すことによって、設定帯域を越えて出力しないようにパケット送信回路４００を制御する。
【００５８】
一般に、出力ポートにおける出力帯域（すなわち実測された帯域）が高いほど、その出力ポートに対応する送信キューが溢れる可能性が高くなる。実際に溢れが発生するか否かは、その出力ポートに接続された回線の速度等にも依存する。設定帯域は、送信キューが溢れる可能性が高いか否か、言い換えると、送信キューの溢れを防ぐためにコピーのタイミングを遅らせるか否かを判定するための閾値として使用される。ステップＳ６０３において、出力帯域が設定帯域を超えた場合、送信キューが溢れる可能性が高いと判定される。この場合、出力帯域が設定帯域以下になるまで、送信検索結果が通知されない（ステップＳ６０２〜Ｓ６０４）。これによって、パケットのコピーが作成され、そのコピーが送信キューに格納されるタイミングが遅くなる。その結果、送信キューが溢れる可能性が低減される。
【００５９】
設定帯域の値が固定されていても、適切に定められていれば、キューの溢れを防ぐ効果を得ることができる。しかし、さらにキューの滞留数に応じて設定帯域を変更することによって、回線の混雑状況等に応じて、キューの溢れを防ぐ効果をより高めることができる。
【００６０】
ステップＳ６０２〜Ｓ６０４によれば、設定帯域が低いほど、選択されたポートに対応する送信キューに新たなパケットが格納されるタイミングが遅れる。このため、送信キューは溢れにくくなるが、それによって、受信したパケットの送信が滞るため、受信キューの溢れは発生しやすくなる。逆に、設定帯域が高いほど、送信キューは溢れやすくなり、受信キューは溢れにくくなる。
【００６１】
図５及び図１３を参照して説明したように、受信キューが溢れそうな場合及び送信キューが空いてきた場合には設定帯域が高くなるように変更され、送信キューが溢れそうな場合には設定帯域が低くなるように変更される。このように変更された設定帯域に基づいてステップＳ６０２〜Ｓ６０４を実行することによって、受信キュー及び送信キューが溢れにくくなるようにパケットのコピー及び出力が制御される。
【００６２】
次のステップＳ６０５では、コピー生成部５１２は、未選択回線ポートがあるか否かを確認する。未選択回線ポートがある場合はステップＳ６０１に戻って、コピー生成部５１２が未選択１回線ポートを選択する。未選択回線ポートがない場合は、コピー生成部５１２は、宛先テーブル５５１の終了識別子を参照して、宛先情報が終了したか否か（すなわち宛先テーブル５５１に登録された全ての出力ポート番号の参照が終了したか否か）を確認する（ステップＳ６０６）。終了識別子が「１」である場合、宛先情報が終了したため、送信検索処理を終了する。終了識別子が「０」である場合、宛先情報が終了していないため、コピー生成部５１２は、Ｎｅｘｔポインタを宛先検索部５１１に通知する。
【００６３】
次のステップＳ６０７では、宛先検索部５１１は、コピー生成部５１２から通知されたＮｅｘｔポインタから、宛先テーブル５５１を参照することによって、受信パケットを送信すべき複数の回線ポート（例えば、図４に示すＶＬＡＮ−ＩＤ“１７”〜“２３”に対応する出力ポート番号によって識別される回線ポート）を検索する。宛先検索部５１１は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートをコピー生成部５１２に通知し、再度ステップＳ６０１以降の処理を行う。
【００６４】
Ａ３．効果：
以上説明した第１の実施形態におけるルータ装置ＲＴによれば、送信検索部５００でのマルチキャストコピー性能の帯域制御によって、マルチキャストのバーストコピー時のキュー溢れの可能性を低減し、これによって、キュー溢れに起因するパケットの消失を防ぐことができる。
【００６５】
Ｂ．第２の実施形態：
Ｂ１．ネットワーク中継装置の構成：
第２の実施形態における、ネットワークシステムの構成は、ルータ装置ＲＴにおける送信検索部５００の機能構成が異なる点を除き、第１の実施例と同様である。すなわち、図１及び図２は第２の実施形態にも適用される。
【００６６】
図７は、本発明の第２の実施形態における、ルータ装置ＲＴのパケット送信回路４００及び送信検索部５００の詳細な構成を示す説明図である。
【００６７】
第２の実施形態のパケット送信回路４００は、基本的に第１の実施形態において説明したものと同じである。ただし、第２の実施形態のパケット送信回路４００は、出力ポートと優先度との組に対応する送信キューを有する。具体的には、本実施形態では後述するように高優先度と低優先度の２種類の優先度が設定されるため、各出力ポートについて、高優先度に対応する送信キュー及び低優先度に対応する送信キューの２つが設けられる。
【００６８】
第２の実施形態におけるヘッダ処理部５１０は、第１の実施形態と同様に、宛先検索部５１１と、コピー生成部５１２と、出力帯域制御部５１３と、帯域設定部５１４と、を有する。第２の実施形態のヘッダ処理部５１０は、さらに、振り分け部５１８と、低優先宛先検索部５１５と、低優先コピー生成部５１６と、低優先出力帯域制御部５１７と、優先制御スケジューラ５１９と、を有する。
【００６９】
なお、第１の実施形態と同様、ヘッダ処理部５１０は、例えばＡＳＩＣによって実現される。宛先検索部５１１及び低優先宛先検索部５１５は、それぞれ独立した宛先検索回路として実装されてもよいが、１つの宛先検索回路の動作時間を分割することによって、仮想的な２つの宛先検索部が実装されてもよい。同様に、コピー生成部５１２及び低優先コピー生成部５１６は、それぞれ独立したコピー生成回路として実装されてもよいが、１つのコピー生成回路の動作時間を分割することによって、仮想的な２つのコピー生成部が実装されてもよい。出力帯域制御部５１３及び低優先出力帯域制御部５１７は、それぞれ独立した出力帯域制御回路として実装されてもよいが、１つの出力帯域制御回路の動作時間を分割することによって、仮想的な２つの出力帯域制御部が実装されてもよい。
【００７０】
第２の実施形態のメモリ５５０は、第１の実施形態と同様に、宛先テーブル５５１（図４）を有する。第２の実施形態のメモリ５５０は、さらに、帯域設定テーブル５５２に代えて優先度毎帯域設定テーブル５５２ａを有する。
【００７１】
図８は、本発明の第２の実施形態の優先度毎帯域設定テーブル５５２ａの一例を示す説明図である。優先度毎帯域設定テーブル５５２ａは、出力ポートと優先度の組に対応する（すなわち各送信キューに対応する）、帯域（Ｍｂｐｓ）を格納する。各送信キューに対応する帯域の設定方法は、第１の実施形態と同様であるため（図５及び図１３参照）、説明を省略する。
【００７２】
Ｂ２．送信検索処理：
第２の実施形態における、ルータ装置ＲＴのヘッダ処理部５１０が実行する送信先検索処理は、振り分け部５１８及び優先制御スケジューラ５１９に関する処理が追加されている点を除き、第１の実施形態の送信先検索処理（図６）と同様である。
【００７３】
図９は、本発明の第２の実施形態における、ルータ装置ＲＴのヘッダ処理部５１０が実行する送信検索処理（ステップＳ９０）を示すフローチャートである。
【００７４】
最初のステップＳ９００では、振り分け部５１８は、パケット送信回路４００から通知された受信処理結果の優先度情報に従って、優先度毎処理系の振り分け選択を行う。具体的には、振り分け部５１８は、優先度が高優先の場合は、受信パケットのヘッダ情報と、受信処理結果とを宛先検索部５１１に通知する。優先度が低優先の場合は、受信パケットのヘッダ情報と、受信処理結果とを低優先宛先検索部５１５に通知する。
【００７５】
なお、優先度は、どのような基準に基づいて定められてもよい。例えば、一般的なＱｏＳ（Quality of Service）の制御に使用されるパケット内の特定のフィールドの値に基づいて優先度が定められてもよいし、パケットのヘッダを参照してパケットのプロトコルを特定し、そのプロトコルに応じて優先度が定められてもよい。受信パケットの優先度を決定する処理は、パケット受信回路１００によって実行され、パケット送信回路は、その優先度が付与されたパケットを受信する。
【００７６】
以後、高優先と判定された受信パケットに関するステップＳ９０１〜Ｓ９０８の処理は、宛先検索部５１１、コピー生成部５１２及び出力帯域制御部５１３によって実行され、低優先と判定された受信パケットに関するステップＳ９０１〜Ｓ９０８の処理は、低優先宛先検索部５１５、低優先コピー生成部５１６及び低優先出力帯域制御部５１７によって実行される。以下、各ステップの処理について説明する。
【００７７】
次のステップＳ９０１において宛先検索部５１１が実行する処理は、第１の実施形態（ステップＳ６００）と同様である。一方、低優先宛先検索部５１５は、ステップＳ９０１において、振り分け部５１８から通知された受信パケットのヘッダ情報と、受信処理結果と、宛先テーブル５５１とを参照することによって、受信パケットを送信すべき複数の回線ポートを検索する。低優先宛先検索部５１５は、宛先検索結果として、受信パケットを送信すべき複数の回線ポート（例えば、図４に示すＶＬＡＮ−ＩＤ“１０”〜“１６”に対応する出力ポート番号によって識別される回線ポート）を低優先コピー生成部５１６に通知する。
【００７８】
次のステップＳ９０２においてコピー生成部５１２が実行する処理は、第１の実施形態（ステップＳ６０１）と同様である。一方、低優先コピー生成部５１６は、ステップＳ９０２において、低優先宛先検索部５１５から通知された複数の回線ポートから、未選択で送信されていない１回線ポートを選択する。低優先コピー生成部５１６は選択した１回線ポートを低優先出力帯域制御部５１７に通知する。
【００７９】
次のステップＳ９０３において出力帯域制御部５１３が実行する処理は、第１の実施形態（ステップＳ６０２）と同様である。ただし、出力帯域制御部５１３は、帯域設定テーブル５５２ａを参照することによって、通知された回線ポートの高優先側の設定帯域を取得する。一方、低優先出力帯域制御部５１７は、低優先コピー生成部５１６から通知された回線ポートの出力帯域を計算する。この計算方法は、出力帯域制御部５１３によって使用されるものと同様である。さらに、低優先出力帯域制御部５１７は、帯域設定部５１４を介して、帯域設定テーブル５５２ａを参照することによって、通知された回線ポートの低優先側の設定帯域を取得する。
【００８０】
次に、出力帯域制御部５１３は、出力帯域の計算結果と、取得した高優先側の設定帯域とを比較する（ステップＳ９０４）。出力帯域が高優先側の設定帯域を超えていない場合は、出力帯域制御部５１３は、優先制御スケジューラ５１９に送信検索結果を通知する。同様に、低優先出力帯域制御部５１７は、出力帯域の計算結果と、取得した低優先側の設定帯域とを比較し、出力帯域が低優先側の設定帯域を超えていない場合は、優先制御スケジューラ５１９に送信検索結果を通知する。
【００８１】
優先制御スケジューラ５１９は、出力帯域制御部５１３及び低優先出力帯域制御部５１７から通知された送信検索結果の内、いずれをパケット送信回路４００に通知するかを優先度情報に従って選択する。優先制御スケジューラ５１９は、選択されたポートからパケットを出力するよう、選択された送信検索結果をパケット送信回路４００へ通知する（ステップＳ９０５）。
【００８２】
具体的には、優先制御スケジューラ５１９は、出力帯域制御部５１３から送信検索結果を通知された場合、その送信検索結果をパケット送信回路４００に通知し、低優先出力帯域制御部５１７から送信検索結果を通知された場合、その送信検索結果をパケット送信回路４００に通知し、出力帯域制御部５１３及び低優先出力帯域制御部５１７の両方から送信検索結果を通知された場合、所定の規則に従って、それらの送信検索結果をパケット送信回路４００に通知する。例えば、優先制御スケジューラ５１９は、出力帯域制御部５１３から通知された送信検索結果及び低優先出力帯域制御部５１７から通知された送信検索結果を交互にパケット送信回路４００に通知してもよいし、出力帯域制御部５１３から通知された送信検索結果を優先的にパケット送信回路４００に通知してもよい。
【００８３】
この通知を受けたパケット送信回路４００は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートに対応する送信キューに（すなわち、出力帯域制御部５１３から送信検索結果を通知された場合はそのポートの高優先側の送信キューに、低優先出力帯域制御部５１７から送信検索結果を通知された場合はそのポートの低優先側の送信キューに）格納する。送信キューに格納されたパケットは、格納された順に、その送信キューに対応するポートから出力される。
【００８４】
ステップＳ９０４において、出力帯域が高優先側の設定帯域を超えていると出力帯域制御部５１３が判定した場合、及び、出力帯域が低優先側の設定帯域を超えていると低優先出力帯域制御部５１７が判定した場合は、再度ステップＳ９０３に戻る。第１の実施形態と同様に、出力帯域制御部５１３及び低優先出力帯域制御部５１７は、出力帯域が設定帯域以下になるまで、ステップＳ９０３〜Ｓ９０４のループを繰り返すことによって、設定帯域を越えて出力しないようにパケット送信回路４００を制御する。
【００８５】
次のステップＳ９０６及びＳ９０７においてコピー生成部５１２が実行する処理は、第１の実施形態（ステップＳ６０５）と同様である。一方、低優先コピー生成部５１６は、未選択回線ポートがあるか否かを確認する（ステップＳ９０６）。未選択回線ポートがある場合はステップＳ９０２に戻って、低優先コピー生成部５１６が未選択１回線ポートを選択する。未選択回線ポートがない場合は、低優先コピー生成部５１６は、宛先テーブル５５１の終了識別子を参照して、宛先情報が終了したか否かを確認する（ステップＳ９０７）。終了識別子が「１」である場合、宛先情報が終了したため、送信検索処理を終了する。終了識別子が「０」である場合、宛先情報が終了していないため、低優先コピー生成部５１６は、Ｎｅｘｔポインタを低優先宛先検索部５１５に通知する。
【００８６】
次のステップＳ９０８において宛先検索部５１１が実行する処理は、第１の実施形態（ステップＳ６０７）と同様である。一方、低優先宛先検索部５１５は、低優先コピー生成部５１６から通知されたＮｅｘｔポインタから、宛先テーブル５５１を参照することによって、受信パケットを送信すべき複数の回線ポート（例えば、図４に示すＶＬＡＮ−ＩＤ“１７”〜“２３”に対応する出力ポート番号によって識別される回線ポート）を検索する。低優先宛先検索部５１５は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートを低優先コピー生成部５１６に通知し、再度ステップＳ９０２以降の処理を行う。
【００８７】
Ｂ３．効果：
以上説明した第２の実施形態におけるルータ装置ＲＴによれば、第１の実施形態のルータ装置ＲＴと同様に、マルチキャストのバーストコピー時のキュー溢れの可能性を低減し、これによって、キュー溢れに起因するパケットの消失を防ぐという作用・効果を得ることができる。
【００８８】
さらに、ルータ装置ＲＴでは、フロー毎の帯域制御及び優先制御が可能となる。具体的には、各出力ポートについて、高優先のパケットが格納される高優先側の送信キューと、低優先のパケットが格納される低優先側の送信キューとが設けられ、高優先のパケットと低優先のパケットがそれぞれ独立に処理される。これによって、低優先のパケットが混雑している場合にも、高優先のパケットが低優先のパケットを追い越すことが可能になり、また、低優先のパケットのバーストコピーに起因する送信キューの溢れが高優先のパケットの消失を引き起こすことを防ぐことができる。
【００８９】
Ｃ．第３の実施形態：
Ｃ１．ネットワーク中継装置の構成：
第３の実施形態における、ネットワークシステムの構成は、ルータ装置ＲＴにおけるパケット送信回路４００及び送信検索部５００の機能構成が異なる点を除き、第１の実施形態と同様である。すなわち、図１及び図２は第３の実施形態にも適用される。
【００９０】
図１０は、本発明の第３の実施形態における、ルータ装置ＲＴのパケット送信回路４００及び送信検索部５００の詳細な構成を示す説明図である。第３の実施形態におけるヘッダ処理部５１０は、第１の実施形態と同様に、宛先検索部５１１と、コピー生成部５１２と、を有する。第３の実施形態におけるヘッダ処理部５１０は、さらに、コピー抑止制御部５２０を有する。
【００９１】
メモリ５５０は、第１の実施形態と同様に、宛先テーブル５５１（図４）を有する。第３の実施形態では、メモリ５５０は、帯域設定テーブル５５２に代えてコピー抑止テーブル５５３を備える。
【００９２】
図１１は、本発明の第３の実施形態のコピー抑止テーブル５５３の一例を示す説明図である。コピー抑止テーブル５５３は、出力ポートに対応する、コピー抑止識別子を格納する。コピー抑止識別子は、後述するように、各出力ポートから出力されるパケットのコピーが抑止されているか否かを示す情報である。
【００９３】
コピー抑止制御部５２０は、出力ポートと、コピー抑止識別子との対応関係を、パケット送信回路４００の送信キューの状態に従って設定する。
【００９４】
パケット送信回路４００の送信キューの状態に従うコピー抑止設定は、具体的には、次のように行われる。パケット送信回路４００の送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を超えた場合に、送信キューが溢れそうであることをコピー抑止制御部５２０に通知する。この所定の閾値は、例えば、ベンダによって予め指定されたものであってもよいし、ユーザによって指定されたものであってもよい。コピー抑止制御部５２０は、送信キュー制御部４２０から、送信キューが溢れそうであることを通知されると、その送信キューに対応する出力ポートのコピー抑止識別子設定を、抑止状態「１」に設定する。一方、いずれかの送信キューの滞留数が、ベンダにより予め指定された、若しくはユーザによって指定された閾値を下回った場合に、送信キュー制御部４２０は、その送信キューが空いてきたことをコピー抑止制御部５２０に通知する。コピー抑止制御部５２０は、送信キュー制御部４２０から、送信キューが空いてきたことを通知されると、その送信キューに対応する出力ポートのコピー抑止識別子設定を、抑止解除状態「０」に設定する。
【００９５】
ここで、上記のような送信キューの状態に従うコピー抑止状態設定処理の具体的な一例を説明する。
【００９６】
図１４は、本発明の第３の実施形態のルータ装置ＲＴのヘッダ処理部５１０等が実行するコピー抑止状態設定処理（ステップＳ１３０）を示すフローチャートである。
【００９７】
最初に、パケット送信回路４００の送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を上回ったか否かを判定する（ステップＳ１４００）。いずれかの送信キューの滞留数が所定の閾値を上回ったと判定された場合、送信キュー制御部４２０は、その送信キューが溢れそうであることを示す通知を帯域設定部５１４に送信する。
【００９８】
この通知を受けた帯域設定部５１４は、その送信キューに対応する出力ポートのコピー抑止識別子を、コピー抑止状態を示す値「１」に設定する（ステップＳ１４０１）。
【００９９】
次に、帯域設定部５１４は、対応する送信キューの滞留数が所定の閾値を上回り、かつ、ステップＳ１４０１がまだ行われていない出力ポートが残っているか否かを判定する（ステップＳ１４０２）。該当する出力ポートが残っている場合、処理はステップＳ１４０１に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、コピー抑止状態設定処理が終了する。
【０１００】
ステップＳ１４００において、いずれの送信キューの滞留数も所定の閾値を上回っていないと判定された場合、送信キュー制御部４２０は、いずれかの送信キューの滞留数が所定の閾値を下回ったか否かを判定する（ステップＳ１４０３）。いずれかの送信キューの滞留数が所定の閾値を下回ったと判定された場合、送信キュー制御部４２０は、その送信キューが空いてきたことを示す通知を帯域設定部５１４に送信する。
【０１０１】
この通知を受けた帯域設定部５１４は、その送信キューに対応する出力ポートのコピー抑止識別子を、コピー抑止解除状態を示す値「０」に設定する（ステップＳ１４０４）。
【０１０２】
次に、帯域設定部５１４は、対応する送信キューの滞留数が所定の閾値を下回り、かつ、ステップＳ１４０４がまだ行われていない出力ポートが残っているか否かを判定する（ステップＳ１４０５）。該当する出力ポートが残っている場合、処理はステップＳ１４０４に戻り、残りの出力ポートについての処理が実行される。一方、該当する出力ポートが残っていない場合、コピー抑止状態設定処理が終了する。
【０１０３】
ステップＳ１４０３において、いずれの送信キューの滞留数も所定の閾値を下回っていないと判定された場合も、コピー抑止状態設定処理が終了する。
【０１０４】
図１４では省略されているが、受信キューの滞留数が所定の閾値を上回る場合は、送信キューの滞留数にかかわらず、各出力ポートのコピー抑止識別子を「０」に設定することが望ましい。これは、第１の実施形態において説明したように、空いている回線のパケットが混雑している別の回線の影響を受けて消失することを防ぐために、受信キューの溢れを優先的に防止することが望ましいためである。
【０１０５】
なお、ステップＳ１４００における所定の閾値及びステップＳ１４０３における所定の閾値は、同一の値であってもよいし、それぞれ異なる値であってもよい。これらの所定の閾値は、既に説明したように、ベンダによって予め指定されてもよいし、ユーザによって指定されてもよい。
【０１０６】
Ｃ２．送信検索処理：
図１２は、本発明の第３の実施形態のルータ装置ＲＴのヘッダ処理部５１０が実行する送信検索処理（ステップＳ１２０）を示すフローチャートである。
【０１０７】
最初のステップＳ１２００では、宛先検索部５１１は、パケット送信回路４００から受信パケットのヘッダ情報と、受信処理結果と、宛先テーブル５５１とを参照することによって、受信パケットを送信すべき複数の回線ポート（例えば、図４に示すＶＬＡＮ−ＩＤ“１０”〜“１６”に対応する出力ポート番号によって識別される回線ポート）を検索する。さらに、宛先検索部５１１は、該当処理パケットのコピー抑止実行フラグを「０」に設定する。宛先検索部５１１は、宛先検索結果として、受信パケットを送信すべき複数の回線ポート及びコピー抑止実行フラグをコピー生成部５１２に通知する。
【０１０８】
なお、コピー抑止実行フラグとは、受信パケットごとに保持されるフラグであり、その受信パケットのコピーを送信すべき出力ポートのうち、コピー抑止中であるためにまだ当該コピーを取得していない出力ポートがあるか否かを示す。
【０１０９】
次のステップＳ１２０１では、コピー生成部５１２は、宛先検索部５１１から通知された複数の回線ポートから、未選択で送信されていない１回線ポートを選択する。
【０１１０】
次のステップＳ１２０２では、コピー生成部５１２は、コピー抑止制御部５２０を介して、コピー抑止テーブル５５３を参照することによって、選択した回線ポートのコピー抑止識別子を取得する。そして、コピー生成部５１２は、取得したコピー抑止識別子の値に基づいて、選択した回線ポートがコピー抑止中であるか否かを判定する（ステップＳ１２０３）。図１１の例では、コピー生成部５１２は、選択した回線ポートのコピー抑止識別子が「１」である場合にコピー抑止中であり、「０」である場合にコピー抑止中でないと判定する。
【０１１１】
なお、図１１を参照して説明したように、回線ポートに対応する送信キューが溢れそうである場合にコピー抑止識別子が「１」に設定される。すなわち、ステップＳ１２０３においてコピー抑止中であると判定されたことは、送信キューが溢れる可能性が高いことを意味する。
【０１１２】
コピー抑止中でない場合は、コピー生成部５１２は、選択されたポートからパケットを出力するよう、パケット送信回路４００へ送信検索結果を通知する（ステップＳ１２０４）。この通知を受けたパケット送信回路４００は、受信パケットをコピーし、そのコピーされたパケットを、選択されたポートに対応する送信キューに格納する。送信キューに格納されたパケットは、格納された順に、その送信キューに対応するポートから出力される。
【０１１３】
一方、コピー抑止中である場合は、コピー生成部５１２は、選択した回線ポートへのパケットのコピーを発生させずに、コピー抑止実行フラグを「１」に設定する（ステップＳ１２０５）。
【０１１４】
次のステップＳ１２０６では、コピー生成部５１２は、未選択回線ポートがあるか否かを判定する。未選択回線ポートがある場合はステップＳ１２０１に戻って、コピー生成部５１２が未選択の１回線ポートを選択する。未選択回線ポートがない場合は、コピー生成部５１２は、終了識別子に基づいて、宛先情報が終了したか否かを判定する（ステップＳ１２０７）。終了識別子が「０」である場合、宛先情報が終了していないため、コピー生成部５１２は、Ｎｅｘｔポインタを宛先検索部５１１に通知する。
【０１１５】
次のステップＳ１２０８では、宛先検索部５１１は、コピー生成部５１２から通知されたＮｅｘｔポインタに基づいて、宛先テーブル５５１を参照することによって、受信パケットを送信すべき複数の回線ポート（例えば、図４に示すＶＬＡＮ−ＩＤ“１７”〜“２３”に対応する出力ポート番号によって識別される回線ポート）を検索する。宛先検索部５１１は、宛先検索結果として、受信パケットを送信すべき複数の回線ポートをコピー生成部５１２に通知し、再度ステップＳ１２０１以降の処理を行う。
【０１１６】
ステップＳ１２０７において、終了識別子が「１」である場合、宛先情報が終了したため、コピー生成部５１２は、コピー抑止実行フラグを確認する（ステップＳ１２０９）。コピー抑止実行フラグが「０」である場合、コピー抑止が実行されていない（すなわち、検索された全ての宛先に対応するポートの送信キューへの受信パケットのコピーの格納が終了している）ため、送信検索処理を終了する。コピー抑止実行フラグが「１」である場合、コピー抑止が実行されている（すなわち、検索された宛先に対応するいずれかのポートの送信キューへの受信パケットのコピーの格納が終了していない）ため、コピー抑止した回線を識別する情報を宛先検索部５１１に通知する。宛先検索部５１１は、コピー生成部５１２から通知されたコピー抑止回線情報と、受信パケットのヘッダ情報と、受信処理結果と、宛先テーブル５５１とを参照することによって、受信パケットを送信すべき複数の回線ポートのうち、コピー済みの回線ポートを除いた回線ポートを検索し、検索された回線ポートを対象として再度ステップＳ１２００以降の処理を行う。
【０１１７】
ステップＳ１２０３〜Ｓ１２０５を実行することによって、コピー抑止識別子が「１」であるポートから送信されるべきパケットをコピーするタイミングが遅れる。これによって、コピー抑止識別子が「１」に設定されたポートに対応する送信キューにパケットが格納されるタイミングが遅れるため、当該送信キューは溢れにくくなる。図１１及び図１４を参照して説明したように、送信キューが溢れそうな場合にはコピー抑止識別子が「１」に設定され、送信キューが空いてきた場合にはコピー抑止識別子が「０」に設定される。このように設定されたコピー抑止識別子に基づいてステップＳ１２０３〜Ｓ１２０５を実行することによって、送信キューが溢れにくくなるようにパケットのコピー及び出力が制御される。
【０１１８】
Ｃ３．効果：
以上説明した第３の実施形態におけるルータ装置ＲＴによれば、第１及び第２の実施形態のような帯域の柔軟な制御はできないが、複雑な帯域制御処理及びそれに関連する設定を不要としながら、第１の実施例のルータ装置ＲＴと同様に、マルチキャストのバーストコピー時のキュー溢れの可能性を低減し、これによって、キュー溢れに起因するパケットの消失を防ぐという作用・効果を得ることができる。
【０１１９】
Ｄ．その他の実施形態：
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【０１２０】
例えば、前述の実施形態では、ルータ装置ＲＴでのＩＰマルチキャストにおけるコピー処理に本発明を適用していたが、他の実施形態において、レイヤ２スイッチでのイーサネット（登録商標）のフラッディングにおけるコピー処理に本発明を適用しても良い。
【０１２１】
また、前述の実施形態では、ネットワークシステムの構成としては、図１に示したネットワークシステム１０に限らず、任意の構成を採用可能である。ルータ装置ＲＴの数、及び、回線の数は、任意に選択可能である。また、経路も任意に構築され得る。また、ルータ装置ＲＴの構成としても、図２に示す構成に限らず、種々の構成を採用可能である。
【０１２２】
また、前述の実施形態では、複数のルータ装置ＲＴ間における、マルチキャストの例を示したが、他の実施形態において、サーバコンピュータやストレージなど他のネットワークに接続される機器での、パケットコピー機能に本発明を適用しても良い。
【符号の説明】
【０１２３】
１０  ネットワークシステム
１００‐１〜１００‐ｍ  パケット受信回路
２００‐１〜２００‐ｍ  受信検索部
３００  スイッチ部
４００‐１〜４００‐ｍ  パケット送信回路
４１０  受信キュー制御部
４２０  送信キュー制御部
５００‐１〜５００‐ｍ  送信検索部
５１０  ヘッダ処理部
５１１  宛先検索部
５１２  コピー生成部
５１３  出力帯域制御部
５１４  帯域設定部
５１５  低優先宛先検索部
５１６  低優先コピー生成部
５１７  低優先出力帯域制御部
５１８  振り分け部
５１９  優先制御スケジューラ
５２０  コピー抑止制御部
５５０  メモリ
５５１  宛先テーブル
５５２  帯域設定テーブル
５５３  コピー抑止テーブル
ＮＷ１０  マルチキャストネットワーク
ＲＴ、ＲＴ１０〜ＲＴ３０  ルータ装置
ＳＷ１０〜ＳＷ２０  レイヤ２スイッチ装置
ＳＶ１０  サーバ装置
ＣＬ１０〜ＣＬ４０  クライアント装置
【図１】
0005617800.tif 000002
【図２】
0005617800.tif 000003
【図３】
0005617800.tif 000004
【図４】
0005617800.tif 000005
【図５】
0005617800.tif 000006
【図６】
0005617800.tif 000007
【図７】
0005617800.tif 000008
【図８】
0005617800.tif 000009
【図９】
0005617800.tif 000010
【図１０】
0005617800.tif 000011
【図１１】
0005617800.tif 000012
【図１２】
0005617800.tif 000013
【図１３】
0005617800.tif 000014
【図１４】
0005617800.tif 000015