(57)【特許請求の範囲】
【請求項１】
通信パケットを中継する中継装置であって、
複数の入力用物理ポートを備え、入力としての前記通信パケットを受信する入力部と、
複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、
前記複数の入力用物理ポートのうちの、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報を含む受渡情報を入力値として、出力が入力に対して集約される所定の関数によって求められた値に応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と
を備えた中継装置。
【請求項２】
前記受渡情報は、受け付けた通信パケットのヘッダ情報に含まれ、該通信パケットの送信先に応じて定まる送信先情報をさらに含む、請求項１記載の中継装置。
【請求項３】
通信パケットを中継する中継装置であって、
複数の入力用物理ポートを有し、入力としての前記通信パケットを前記入力用物理ポートで受信する入力部と、
複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、
前記受け付けた通信パケットのヘッダ情報に含まれ、該通信パケットの送信先に応じて定まる送信先情報を用いて、出力が入力に対して集約される所定の関数としての第１の関数によって求められた第１の値と、前記複数の入力用物理ポートのうちから、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報を用いて、前記所定の関数としての第２の関数によって求められた第２の値とに応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信
のために出力する帯域制御部と
を備えた中継装置。
【請求項４】
請求項３記載の中継装置であって、
前記複数のキューは、複数の階層で構成され、
前記振分部は、前記第１の値に応じて、前記複数の階層のうちの１つの階層の複数のキューに対して前記通信パケットを振り分ける第１の処理と、前記第２の値に応じて、他の階層の複数のキューに対して前記通信パケットを振り分ける第２の処理とを段階的に行う
中継装置。
【請求項５】
請求項１ないし請求項４のいずれか記載の中継装置であって、
更に、前記複数のキューにおける輻輳による前記通信パケットの廃棄量を前記キューごとに検出する廃棄検出部と、
前記キューごとに検出した廃棄量のいずれかが所定値以上である場合に、前記所定の関数を、予め用意した他の関数に変更する関数変更部と
を備えた中継装置。
【請求項６】
複数の入力用物理ポートと複数のキューとを備える中継装置が通信パケットを中継する中継方法であって、
通信パケットを前記入出力用物理ポートで受信し、
前記複数の入力用物理ポートのうちの、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報を含む受渡情報を入力値として、出力が入力に対して集約される所定の関数によって求められた値に応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納し、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信する
中継方法。
【請求項７】
複数の入力用物理ポートと複数のキューとを備える中継装置が通信パケットを中継する中継方法であって、
通信パケットを前記入出力用物理ポートで受信し、
前記受け付けた通信パケットのヘッダ情報に含まれ、該通信パケットの送信先に応じて定まる送信先情報を用いて、出力が入力に対して集約される所定の関数としての第１の関数によって求められた第１の値と、前記複数の入力用物理ポートのうちから、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報を用いて、前記所定の関数としての第２の関数によって求められた第２の値とに応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納し、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信する
中継方法。
【請求項８】
通信パケットを中継する中継装置であって、
入力としての前記通信パケットを受信する入力部と、
複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、
該通信パケットの受け渡しに関する受渡情報を入力値として、出力が入力に対して集約される所定の関数によって求められた値に応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と、を備え
更に、前記複数のキューにおける輻輳度を前記キュー毎に検出する輻輳検出部と、
通信パケットのヘッダ情報に基づいて重要度を判定する重要度判定部と、を備え、
前記輻輳検出部において前記キューごとに検出した輻輳度のいずれかが所定値以上であると判断された場合に、
前記振分部は、前記輻輳度が所定値以上であると判断したキューに振り分ける通信パケットを前記重要度判定部に転送し、
前記重要度判定部は、前記振分部から転送された通信パケットの重要度を判定し、判定した重要度に基づいて前記通信パケットの廃棄優先度を決定し、決定した廃棄優先度を前記通信パケットに付加して前記振分部に転送し、
前記振分部は、前記重要度が付加された通信パケットを前記複数のキューのいずれかへ振り分け、
前記バッファ部は、前記振分部から振り分けられた通信パケットに付加された廃棄優先度を参照し、前記廃棄優先度と前記廃棄優先度に対応して定められた閾値とに基づいて、
前記通信パケットをキューに格納するか否かを判断する、中継装置。
【請求項９】
請求項１ないし請求項５のいずれか記載の中継装置であって、
更に、前記複数のキューにおける輻輳度を前記キュー毎に検出する輻輳検出部と、
前記キューごとに検出した輻輳度のいずれかが所定値以上である場合に、前記所定の関数を、予め用意した他の関数に変更する関数変更部と
を備えた中継装置。
【請求項１０】
通信パケットを中継する中継装置であって、
入力としての前記通信パケットを受信する入力部と、
複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、
該通信パケットの受け渡しに関する受渡情報を入力値として、出力が入力に対して集約される所定の関数によって求められた値に応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と、を備え
更に、前記複数のキューにおける輻輳度を前記キュー毎に検出する輻輳検出部と、
通信パケットのヘッダ情報に基づいて重要度を判定する重要度判定部と、を備え、
さらに、
前記入力部が受信した通信パケットのヘッダ情報に含まれる値から前記通信パケットの転送優先度を決定する優先度判定部と、
前記転送優先度毎に振り分けるキューの範囲を定義するキュー定義部と、を備える中継装置。
【請求項１１】
請求項１０に記載の中継装置であって、
前記優先度判定部は、通信パケットのヘッダ情報から転送優先度を決定し、
前記振分部は、前記キュー定義部によって前記転送優先度に対して定められたキューの範囲に前記通信パケットを振り分ける、中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信パケットの中継技術に関し、さらに詳しくは、送信帯域制御技術に関する。
【背景技術】
【０００２】
近年、動画や音声といった電子的なコンテンツをネットワーク経由でリアルタイム配信する、いわゆるストリーミング技術が普及している。かかるストリーミングを、インターネットを介して実現する場合、多数のユーザ間で同一の回線を共用使用できるため、帯域あたりのコストを低く抑えることができる。一方で、通信パケットの廃棄量を抑制して通信品質（QoS：Quality of Service）を確保することが求められている。このようなことから、中継装置にシェーパを搭載し、一度に多量に送信されるデータを一定レートに平滑化して転送する技術が知られている（例えば、下記特許文献１）。
【０００３】
特許文献１では、ユーザやサービスに対応したフロー条件を予め構成定義情報として設定しておき、受信した通信パケットを、フローごとに用意したキューに一旦蓄積して、予め定めたシェーピング条件（送出帯域値や優先度）に基づいて通信パケットの転送を行う技術を開示している。かかる技術は、ユーザごと、または、サービスごとに、予め定めた通信品質を確保することができる。
【０００４】
しかしながら、特許文献１の技術では、ユーザやサービスごとにフローを設定する必要があるため、多数のユーザやサービスに対応することが困難であった。例えば、数百万のユーザごとにフローを設定する場合、キューの数をユーザ数と同一数の数百万確保することは困難であった。仮に、数百万のキューを確保したとしても、記憶媒体の容量が膨大となることや、受信した通信パケットの振り分けに過大な負荷が生じることから、大幅なコスト増加を招くこととなり、現実的ではなかった。しかも、アクティブ率の低いユーザも含め、全てのユーザに対してキューを確保することは非効率であった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３４６２４６号公報
【特許文献２】特開２００７−８２１２７号公報
【特許文献３】特許第３７６６２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の問題の少なくとも一部を考慮し、本発明が解決しようとする課題は、キューとして用いるバッファの容量を抑制しつつ、通信品質を確保することができる中継技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
［適用例１］通信パケットを中継する中継装置であって、
入力としての前記通信パケットを受信する入力部と、
複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、
該通信パケットの受け渡しに関する受渡情報を入力値として、出力が入力に対して集約される所定の関数によって求められた値に応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、
前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と
を備えた中継装置。
かかる構成の中継装置によれば、受信した通信パケットが、受渡情報に基づいて複数のキューに分散化される。このため、輻輳時の通信パケットの廃棄の影響をキューごとに分離することができる。その結果、輻輳の影響がトラフィック全体に及ぶことを抑制して、通信品質を確保することができる。しかも、フローごとにキューを確保する必要がないので、キューとして用いるバッファの容量を抑制することができる。
【０００８】
［適用例２］前記受渡情報は、受け付けた通信パケットのヘッダ情報に含まれ、該通信パケットの送信先に応じて定まる送信先情報である適用例１記載の中継装置。
かかる構成の中継装置によれば、受信した通信パケットが、宛先情報に基づいて複数のキューに分散化される。このため、輻輳時の通信パケットの廃棄の影響をキューごとに分離することができる。その結果、特定の宛先に起因して輻輳が生じた場合に、その影響がトラフィック全体に及ぶことを抑制することができる。
【０００９】
［適用例３］適用例１記載の中継装置であって、前記入力部は、複数の入力用物理ポートを備え、前記受渡情報は、前記複数の入力用物理ポートのうちの、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報である中継装置。
かかる構成の中継装置によれば、受信した通信パケットが、ポート情報に基づいて複数のキューに分散化される。このため、輻輳時の通信パケットの廃棄の影響をキューごとに分離することができる。その結果、特定の送信元に起因して輻輳が生じた場合に、その影響がトラフィック全体に及ぶことを抑制することができる。
【００１０】
［適用例４］適用例１記載の中継装置であって、前記入力部は、複数の入力用物理ポートを備え、前記振分部は、前記受け付けた通信パケットのヘッダ情報に含まれ、該通信パケットの送信先に応じて定まる送信先情報を前記受渡情報として用いて、前記所定の関数としての第１の関数によって求められた第１の値と、前記複数の入力用物理ポートのうちから、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報を前記受渡情報として用いて、前記所定の関数としての第２の関数によって求められた第２の値とに応じて、前記通信パケットの振り分けを行う中継装置。
かかる構成の中継装置によれば、受信した通信パケットが、宛先情報とポート情報とに基づいて複数のキューに分散化される。このため、輻輳時の通信パケットの廃棄の影響をキューごとに分離することができる。その結果、特定の宛先および／または送信元に起因して輻輳が生じた場合に、その影響がトラフィック全体に及ぶことを抑制することができる。
【００１１】
［適用例５］適用例４記載の中継装置であって、前記複数のキューは、複数の階層で構成され、前記振分部は、前記第１の値に応じて、前記複数の階層のうちの１つの階層の複数のキューに対して前記通信パケットを振り分ける第１の処理と、前記第２の値に応じて、他の階層の複数のキューに対して前記通信パケットを振り分ける第２の処理とを段階的に行う中継装置。
かかる構成の中継装置は、複数のキューが階層的に構成され、第１の値に応じた通信パケットの振り分けと、第２の値に応じた通信パケットの振り分けとを段階的に行うので、各振り分けプロセスを単純化することができる。
【００１２】
［適用例６］適用例１ないし適用例５のいずれか記載の中継装置であって、更に、前記複数のキューにおける輻輳による前記通信パケットの廃棄量を前記キューごとに検出する廃棄検出部と、前記キューごとに検出した廃棄量のいずれかが所定値以上である場合に、前記所定の関数を、予め用意した他の関数に変更する関数変更部とを備えた中継装置。
かかる構成の中継装置は、複数のキューのいずれかにおいて、輻輳による通信パケットの廃棄量が所定値以上となると、通信パケットの振り分けに用いる所定の関数を変更する。したがって、所定の関数を用いた通信パケットの分散化に結果的に偏りが生じた場合に、当該偏りを是正することが可能となる。
【００１３】
［適用例７］通信パケットを中継する中継装置であって、複数の入力用物理ポートを備え、入力としての前記通信パケットを受信する入力部と、複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、前記複数の入力用物理ポートのうちの前記通信パケットを受信した入力用物理ポートに応じて、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部とを備えた中継装置。
かかる構成の中継装置は、通信パケットを受信した入力用物理ポートに応じて、受信した通信パケットを、複数のキューのいずれかへ振り分けて格納し、キューごとに帯域を制御して、複数のキューに蓄積された通信パケットを送信のために出力する。したがって、受信した通信パケットが、通信パケットを受信した入力用物理ポートに基づいて複数のキューに分散化されるので、特定の送信元に起因して輻輳が生じた場合に、その影響がトラフィック全体に及ぶことを抑制することができる。しかも、フローごとにキューを確保する必要がないので、キューとして用いるバッファの容量を抑制することができる。
【００１４】
また、本発明は、中継装置のほか、適用例８の中継方法、中継プログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
［適用例８］複数のキューを備える中継装置が通信パケットを中継する中継方法であって、通信パケットを受信し、前記受信した通信パケットの受け渡しに関する受渡情報を用いて、出力が入力に対して集約される所定の関数によって求められた値に応じて、前記複数のキューに対して分散的に振り分けて、前記通信パケットを該複数のキューに格納し、前記キューごとに帯域を制御して、前記複数のキューに蓄積された通信パケットを送信する中継方法。
【００１５】
［適用例９］適用例１ないし適用例６のいずれか記載の中継装置であって、更に、前記複数のキューにおける輻輳度を前記キュー毎に検出する輻輳検出部と、通信パケットのヘッダ情報に基づいて重要度を判定する重要度判定部と、を備え、前記輻輳検出部において前記キューごとに検出した輻輳度のいずれかが所定値以上であると判断された場合に、前記振分部は、前記輻輳度が所定値以上であると判断したキューに振り分ける通信パケットを前記重要度判定部に転送し、前記重要度判定部は、前記振分部から転送された通信パケットの重要度を判定し、判定した重要度に基づいて前記通信パケットの廃棄優先度を決定し、決定した廃棄優先度を前記通信パケットに付加して前記振分部に転送し、前記振分部は、前記重要度が付加された通信パケットを前記複数のキューのいずれかへ振り分け、前記バッファ部は、前記振分部から振り分けられた通信パケットに付加された廃棄優先度を参照し、前記廃棄優先度と前記廃棄優先度に対応して定められた閾値とに基づいて、前記通信パケットをキューに格納するか否かを判断する、中継装置。
かかる構成の中継装置は、重要度判定部を備え、輻輳状態と判定されたキューへ振り分けられる通信パケットの重要度に応じて廃棄優先度を付加することができるため、重要度が高い通信パケットは廃棄優先度が高く設定され、重要度が低い通信パケットは廃棄優先度が低く設定されるようになり、重要度が高い通信パケットが廃棄されにくくすることができる。また、重要度判定部が処理するのは輻輳状態と判定されたキューへ振り分けられる通信パケットに限定されるため、重要度判定部は全ての通信パケットを処理できる処理能力を備える必要がなく、装置コストの増加を抑える効果もある。
【００１６】
[適用例１０]適用例１ないし適用例６のいずれか記載の中継装置であって、更に、前記複数のキューにおける輻輳度を前記キュー毎に検出する輻輳検出部と、前記キューごとに検出した輻輳度のいずれかが所定値以上である場合に、前記所定の関数を、予め用意した他の関数に変更する関数変更部とを備えた中継装置。
かかる構成の中継装置は、複数のキューのいずれかにおいて、輻輳度が所定値以上となると、通信パケットの振り分けに用いる所定の関数を変更する。したがって、所定の関数を用いた通信パケットの分散化に結果的に偏りが生じた場合に、当該偏りを是正することが可能となる。
【００１７】
[適用例１１]適用例１ないし適用例６のいずれか記載の中継装置であって、前記入力部が受信した通信パケットのヘッダ情報に含まれる値から前記通信パケットの転送優先度を決定する優先度判定部と、前記転送優先度毎に振り分けるキューの範囲を定義するキュー定義部とを備える中継装置。
[適用例１２]適用例１１に記載の中継装置であって、前記優先度判定部は、通信パケットのヘッダ情報から転送優先度を決定し、前記振分部は、前記キュー定義部によって前記転送優先度に対して定められたキューの範囲に前記通信パケットを振り分ける、中継装置。
かかる適用例１１，１２の構成の中継装置によれば、優先度判定部を備えて、通信パケットの転送優先度を判定して、キュー定義部に従い、転送優先度別に振り分けるキューの範囲を分別するため、高優先のパケットを少ない遅延で優先送信しつつ、各優先度においてキューとして用いるバッファ部１３０の容量を抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の中継装置の実施例としてのルータＲＴ１，ＲＴ２を用いたネットワークの構成例を示す説明図である。
【図２】ルータＲＴ１の概略構成を示す機能ブロック図である。
【図３】第２実施例としてのルータＲＴ１の概略構成を示す機能ブロック図である。
【図４】第３実施例としてのルータＲＴ１の概略構成を示す機能ブロック図である。
【図５】第４実施例としてのルータＲＴ１の概略構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１９】
Ａ．第１実施例：
本発明の実施例について説明する。
Ａ−１．ネットワーク構成：
本発明の中継装置の実施例としてのルータＲＴ１，ＲＴ２を用いたネットワークの構成例を、通信システム２０として図１に示す。通信システム２０は、動画等のコンテンツをストリーミングによってユーザに提供するネットワークシステムである。図示するように、通信システム２０は、サーバＳＶ１，ＳＶ２と、ルータＲＴ１〜ＲＴ５と、パーソナルコンピュータＰＣ１〜ＰＣ３とを備えている。
【００２０】
サーバＳＶ１，ＳＶ２は、コンテンツを提供するサーバであり、各種コンテンツを記憶している。このサーバＳＶ１，ＳＶ２は、ルータＲＴ１に直接的に接続されている。なお、ルータＲＴ１に接続されるサーバの数は、説明を簡単にするために２つとして示しているが、３以上であってもよい。
【００２１】
ルータＲＴ１は、ネットワークＮＴに接続されている。本実施例では、ネットワークＮＴは、インターネットである。ただし、ネットワークＮＴの種類は、特に限定するものではなく、専用回線などのＷＡＮ（Wide Area Network）であってもよいし、ＬＡＮ（Local Area Network）であってもよい。
【００２２】
また、ネットワークＮＴには、ルータＲＴ２が接続されている。本実施例では、サーバＳＶ１，ＳＶ２，ルータＲＴ１，ＲＴ２は、コンテンツ配信サービスを行うＩＳＰ（Internet Service Provider）が設置するものである。このルータＲＴ２は、各家庭Ａ〜Ｃに設置されたルータＲＴ３〜ＲＴ５を介して、パーソナルコンピュータＰＣ１〜ＰＣ３にそれぞれ接続されている。ルータＲＴ２とルータＲＴ３〜ＲＴ５との間には、他の中継装置や集線装置が介在してもよい。
【００２３】
パーソナルコンピュータＰＣ１〜ＰＣ３は、汎用のパーソナルコンピュータである。なお、ルータＲＴ３〜ＲＴ５に接続される端末は、サーバＳＶ１，ＳＶ２の配信するコンテンツを利用可能なものであればよく、例えば、ネットワーク対応テレビなどであってもよい。また、ルータＲＴ３〜ＲＴ５には、複数の端末が接続されていてもよい。また、ルータＲＴ２は、説明を簡単にするために、家庭Ａ〜Ｃのネットワークに接続されるものとしたが、実際には、例えば、数千や数万の家庭のネットワークに接続するものとすることができる。
【００２４】
かかる通信システム２０において、サーバＳＶ１，ＳＶ２は、パーソナルコンピュータＰＣ１〜ＰＣ３から、コンテンツの利用要求を受け付けると、指定されたコンテンツを、利用要求を行ったパーソナルコンピュータＰＣ１〜ＰＣ３に配信する。ルータＲＴ１，ＲＴ２は、サーバＳＶ１，ＳＶ２が配信する通信パケットを受信すると、それぞれの通信パケットを一旦バッファに蓄積し、平滑化してパーソナルコンピュータＰＣ１〜ＰＣ３に向けて転送する。パーソナルコンピュータＰＣ１〜ＰＣ３は、ルータＲＴ３〜ＲＴ５を介して、この転送された通信パケットを受信して、予めインストールされたアプリケーションで利用する。
【００２５】
Ａ−２．ルータＲＴ１，ＲＴ２の概略構成：
ルータＲＴ１，ＲＴ２の概略構成と、通信パケットの平滑化制御とについて説明する。ルータＲＴ１，ＲＴ２は、本実施例においては同一構成であるので、以下では、特に断る場合を除いて、ルータＲＴ１の構成について説明する。ルータＲＴ１の概略構成を図２に示す。ルータＲＴ１は、入力部１１０と振分部１２０とバッファ部１３０と帯域制御部１４０と出力部１５０と廃棄検出部１６０と関数変更部１７０とを備えている。
【００２６】
入力部１１０は、外部から通信パケットを受信するインタフェースである。本実施例では、入力部１１０は、２つの物理ポートを備えている。この２つの物理ポートには、サーバＳＶ１，ＳＶ２が接続される。入力部１１０は、サーバＳＶ１，ＳＶ２から通信パケットを受信して、入力を受け付ける。なお、入力部１１０は、３つ以上の物理ポートを備えていてもよい。この場合、入力部１１０は、３以上のサーバに接続されてもよい。本実施例においては、入力部１１０は、通信パケットに、ポート情報をヘッダ情報として付加する構成とした。
【００２７】
振分部１２０は、入力部１１０が受け付けた通信パケットを、後述するバッファ部１３０に確保されたキューＱ１〜Ｑｎ（ｎは２以上の任意の整数）のいずれかへ振り分ける回路である。この振り分けは、受け付けた通信パケットの受け渡しに関する受渡情報を入力値として所定の関数によって求められた値に応じて行われる。本実施例においては、所定の関数としてハッシュ関数を用いた。すなわち、振分部１２０は、受渡情報を用いて算出されたハッシュ値に応じて、通信パケットをキューＱ１〜Ｑｎに振り分ける。
【００２８】
本実施例では、ハッシュ関数は、１〜ｎの整数のいずれかをハッシュ値として出力するものを用い、ハッシュ値と同一番号のキューＱ１〜Ｑｎに通信パケットを振り分けるものとした。このように、ハッシュ値のとり得る値と、キューの数とを合わせることによって、効率的に振り分けを行うことができる。ただし、ハッシュ値のとり得る値と、キューの数とは、必ずしも一致させる必要はない。例えば、ハッシュ値とキューとの対応関係を予め定めておき、その対応関係に基づいて振り分けを行ってもよい。あるいは、ハッシュ値を所定数で割った余りに応じて、振り分けを行ってもよい。つまり、通信パケットの振り分けに用いる所定の関数は、最終的に、出力が入力に対して集約されるものであればよい。
【００２９】
振分部１２０は、宛先判定部１２１とポート判定部１２２とを備えている。宛先判定部１２１は、受渡情報として、送信先情報を取得する回路である。送信先情報とは、通信パケットのヘッダ情報に含まれ、当該通信パケットの送信先に応じて定まる情報である。本実施例においては、宛先判定部１２１は、送信先情報として、宛先ＩＰアドレスを取得する。本実施例では、宛先判定部１２１は、取得した宛先ＩＰアドレスをハッシュ関数の入力値とする構成とした。
【００３０】
ポート判定部１２２は、受渡情報として、ポート情報を取得する回路である。ポート情報とは、入力部１１０が備える２つの物理ポートのうちの、通信パケットを受け付けた物理ポートを識別可能な情報である。本実施例では、ポート情報は、入力部１１０の各物理ポートに予め割り当てられた識別番号である。本実施例においては、ポート判定部１２２は、通信パケットのヘッダ情報を参照して、入力部１１０が付加したポート情報を取得する。ただし、ポート情報の取得方法は、かかる構成に限るものではない。例えば、ルータＲＴ１のＣＰＵ（図示せず）などが、受信した通信パケットごとにポート情報をルータＲＴ１のメモリに記憶して管理する構成とする場合には、ポート判定部１２２は、当該メモリを読み出すことによって、ポート情報を取得してもよい。
【００３１】
振分部１２０は、宛先判定部１２１を用いた通信パケットの振り分けと、ポート判定部１２２を用いた通信パケットの振り分けとを選択可能に構成されている。具体的には、振分部１２０は、宛先判定部１２１とポート判定部１２２とを切り替える切替回路を備えている（図示省略）。この切替回路は、本実施例では、ルータＲＴ１のＣＰＵからの切替指示を受け付けて、当該指示に応じて、宛先判定部１２１とポート判定部１２２とのうちの一方を接続し、他方を非接続とする。切替指示は、ルータＲＴ１に直接的または間接的に接続された所定の端末からＷＥＢブラウザを介してルータＲＴ１にアクセスし、ルータＲＴ１が送信する設定画面を利用してユーザから受け付けてもよいし、ルータＲＴ１が備えるＧＵＩ（Graphical User Interface）や、ディップスイッチを利用して受け付けてもよい。なお、以上の説明からも明らかなように、振分部１２０は、宛先判定部１２１、ポート判定部１２２のいずれか一方のみを備える構成としてもよいことは勿論である。
【００３２】
本実施例においては、サーバＳＶ１，ＳＶ２に直接的に接続されるルータＲＴ１では、振分部１２０は、ポート判定部１２２を用いた通信パケットの振り分けを行うものとした。また、パーソナルコンピュータＰＣ１〜ＰＣ３に相対的に近いルータＲＴ２では、宛先判定部１２１を用いた通信パケットの振り分けを行うものとした。なお、本実施例では、宛先判定部１２１を用いた通信パケットの振り分けと、ポート判定部１２２を用いた通信パケットの振り分けとでは、異なるハッシュ関数を用いるものとした。ルータＲＴ１では、ルータＲＴ１に接続されるサーバの数を考慮して、バッファ部１３０のキューの数を設定する。また、ルータＲＴ２では、接続する家庭ネットワークの数を考慮して、バッファ部１３０のキューの数を設定する。このため、キューの数に応じて、ハッシュ関数を変えた方が効率的だからである。ただし、宛先判定部１２１を用いた通信パケットの振り分けと、ポート判定部１２２を用いた通信パケットの振り分けとで同一のハッシュ関数を用いてもよい。
【００３３】
バッファ部１３０は、入力部１１０が受け付けた通信パケットを一時的に蓄積するバッファであり、複数のキューＱ１〜Ｑｎが確保されている。本実施例では、キューＱ１〜Ｑｎの各々には、同一の記憶容量が割り当てられている。複数のキューＱ１〜Ｑｎには、上述したように、振分部１２０が決定した振り分けによって、受信した各々の通信パケットが格納される。なお、輻輳時には、キューＱ１〜Ｑｎの容量を超える通信パケットは、廃棄される。例えば、キューに容量分の通信パケットが既に蓄積されている場合には、新たにバッファ部１３０に入力される通信パケットは、キューに格納されずに破棄される。
【００３４】
帯域制御部１４０は、キューＱ１〜Ｑｎごとに帯域を制御して、キューＱ１〜Ｑｎに蓄積された通信パケットを送信のために、出力部１５０に出力する。具体的には、帯域制御部１４０は、予め設定された帯域制御ルールに基づいてスケジューリングを行い、キューＱ１〜Ｑｎから順次通信パケットを読み出して、出力部１５０に出力する。出力部１５０は、通信パケットを外部へ送信するインタフェースである。本実施例では、均等割り当て方式によってスケジュールリングを行うこととした。具体的には、キューＱ１〜Ｑｎに蓄積された通信パケットは、キューＱ１〜Ｑｎ間で均等な頻度で読み出される。ただし、スケジューリングアルゴリズムは、特に限定するものではなく、例えば、重み付け均等割り当て方式などであってもよい。また、最低帯域保証方式、最大帯域規制方式、余剰帯域重み付け分配方式などを用いてもよい。
【００３５】
廃棄検出部１６０は、キューＱ１〜Ｑｎの輻輳時の通信パケットの廃棄量をキューＱ１〜Ｑｎごとに検出する回路である。本実施例においては、キューＱ１〜Ｑｎごとに、廃棄されるデータ量をカウントするものとした。ただし、キューＱ１〜Ｑｎへの入力量と、キューＱ１〜Ｑｎからの出力量との所定期間内における差分値から、廃棄量を検出してもよい。この回路は、キューＱ１〜Ｑｎにおける通信パケットの廃棄量のいずれかが所定値以上となると、後述する関数変更部１７０に所定の信号を出力する。廃棄検出部１６０の検出量は廃棄量に限定する必要はなく、キューＱ１〜Ｑｎのキュー長に応じた輻輳度でも良い。
【００３６】
関数変更部１７０は、振分部１２０が使用したハッシュ関数の識別情報を記憶するメモリ領域を備えている。関数変更部１７０は、廃棄検出部１６０から所定の信号を受け付けると、振分部１２０に対して、使用履歴のないハッシュ関数の識別情報を振分部１２０に出力して、当該識別情報に対応するハッシュ関数を振分部１２０に使用させる。つまり、振分部１２０は、同一の入力値に対して出力値が異なる複数のハッシュ関数を記憶しており、関数変更部１７０の指示に基づいて、使用するハッシュ関数を変更する。なお、関数変更部１７０の機能は、振分部１２０が備えていてもよい。
【００３７】
Ａ−３．効果：
上述したルータＲＴ１，ＲＴ２は、受信した通信パケットの受け渡しに関する受渡情報を入力値として、出力が入力に対して集約される所定の関数によって求められた値に応じて、受信した通信パケットを、複数のキューＱ１〜Ｑｎのいずれかへ振り分けて格納する。そして、ルータＲＴ１，ＲＴ２は、キューＱ１〜Ｑｎごとに帯域を制御して、複数のキューＱ１〜Ｑｎに蓄積された通信パケットを出力部１５０に出力する。このため、受信した通信パケットが、受渡情報に基づいて分散化されて、複数のキューＱ１〜Ｑｎに格納される。したがって、輻輳時の通信パケットの廃棄の影響をキューＱ１〜Ｑｎごとに分離することができる。その結果、輻輳の影響がトラフィック全体に及ぶことを抑制して、通信品質を確保することができる。しかも、フローごとにキューを確保する必要がないので、キューとして用いるバッファ部１３０の容量を抑制することができる。換言すれば、同時サポート可能なフロー数に制限がないので、多数のユーザに対して、サーバＳＶ１，ＳＶ２から所定の品質のサービスを提供することができ、汎用性が向上する。また、フローごとにキューを割り当てる必要がないので、フロー定義等の定義情報の設定工数を低減し、ネットワーク運用者の負荷を軽減することができる。
【００３８】
また、ルータＲＴ１，ＲＴ２は、送信先情報を用いて所定の関数によって求められた値に応じて、受信した通信パケットを、複数のキューＱ１〜Ｑｎのいずれかへ振り分けることができる。このため、受信した通信パケットが、宛先情報に基づいて複数のキューＱ１〜Ｑｎに分散化される。したがって、パーソナルコンピュータＰＣ１〜ＰＣ３のいずれかのトラフィックに起因して輻輳が生じた場合に、輻輳の要因となったパーソナルコンピュータ以外のパーソナルコンピュータＰＣ１〜ＰＣ３のトラフィックについて、通信品質を確保することができる。かかる効果は、サーバＳＶ１，ＳＶ２から見て相対的に遠い側、換言すれば、パーソナルコンピュータＰＣ１〜ＰＣ３から見て相対的に近い側のルータ（上述の例ではルータＲＴ２）において、特に顕著となる。しかも、フローごとにキューを確保する必要がないので、キューとして用いるバッファ部１３０の容量を抑制することができる。かかる効果は、キューの数ｎを想定されるフローの数よりも少なくした場合に得ることができる。
【００３９】
また、ルータＲＴ１，ＲＴ２は、ポート情報を用いて所定の関数によって求められた値に応じて、受信した通信パケットを、複数のキューＱ１〜Ｑｎのいずれかへ振り分けることができる。このため、受信した通信パケットが、ポート情報に基づいて複数のキューＱ１〜Ｑｎに分散化される。したがって、サーバＳＶ１，ＳＶ２のいずれかのトラフィックに起因して輻輳が生じた場合に、輻輳の要因となったサーバ以外のサーバＳＶ１，ＳＶ２のトラフィックについて、通信品質を確保することができる。かかる効果は、サーバＳＶ１，ＳＶ２から見て相対的に近い側、換言すれば、パーソナルコンピュータＰＣ１〜ＰＣ３から見て相対的に遠い側のルータにおいて、顕著となる。
【００４０】
特に、ルータＲＴ１は、サーバＳＶ１，ＳＶ２に直接的に接続されるので、かかる効果を確実に奏することができる。例えば、ルータＲＴ１が他のルータを介してサーバに接続される場合には、ルータＲＴ１が備える複数の物理ポートのいずれかに偏ってサーバが接続されることもあり得る。この場合、送信先ごとにキューを分散化させる効果が、直接的に接続される場合と比べて希薄となる。ルータＲＴ１をサーバに直接的に接続すれば、このような事象を避けることができる。しかも、関数を用いることによって、サーバごとにキューを確保する必要がないので、サーバの数が多い場合に、キューとして用いるバッファ部１３０の容量を抑制することができる。かかる効果は、キューの数ｎをサーバの数よりも少なくした場合に得ることができる。
【００４１】
また、ルータＲＴ１，ＲＴ２は、複数のキューＱ１〜Ｑｎのいずれかにおいて、輻輳による通信パケットの廃棄量が所定値以上となると、通信パケットの振り分けに用いる所定の関数を変更する。所定の関数が固定されていると、通信パケットの各キューへの分散化に結果的に偏りが生じた場合に、これを回避することができない。一方、本実施例の構成によれば、所定の関数を変更することで、通信パケットの所定のキューへの偏りを解消し得る。換言すれば、通信パケットの廃棄量が所定値以上になることを回避して、通信品質を一定以上に保つことができる。
【００４２】
Ｂ．第２実施例：
本発明の第２実施例について説明する。第２実施例としてのルータＲＴ１は、宛先情報とポート情報とに基づいて通信パケットの振り分けを行う点が第１実施例と異なり、その他の点については、第１実施例と同様である。第２実施例としてのルータＲＴ１の概略構成を図３に示す。図３の説明においては、第１実施例（図２参照）と同一の構成要素については、図２と同一の符号を付して、説明を省略する。また、２つの構成要素が第１実施例の１つの構成要素に対応する場合には、対応する第１実施例の構成に付した符号の末尾に「ａ」，「ｂ」を付してこれらを区別し、説明を簡略化する。図３に示すように、第２実施例としてのルータＲＴ１は、入力部１１０，振分部１２０ａ，１２０ｂ、バッファ部１３０ａ，１３０ｂ、帯域制御部１４０ａ，１４０ｂ、出力部１５０、廃棄検出部１６０ａ，１６０ｂ、関数変更部１７０ａ，１７０ｂを備えている。
【００４３】
第２実施例としてのルータＲＴ１では、入力部１１０が受け付けた通信パケットは、まず、振分部１２０ａに入力される。振分部１２０ａは、ポート判定部１２２を備えており、ポート情報に基づいて、通信パケットをバッファ部１３０ａのキューＱ１〜Ｑｊ（ｊは２以上の任意の整数）に振り分ける。帯域制御部１４０ａは、バッファ部１３０ａのキューＱ１〜Ｑｊから、予め設定された帯域制御ルールに基づいて、通信パケットを読み出して、振分部１２０ｂに出力する。
【００４４】
振分部１２０ｂは、宛先判定部１２１を備えており、宛先情報に基づいて、通信パケットをバッファ部１３０ｂのキューＱ１〜Ｑｋ（ｋは２以上の任意の整数）に振り分ける。帯域制御部１４０ｂは、バッファ部１３０ｂのキューＱ１〜Ｑｋから、予め設定された帯域制御ルールに基づいて、通信パケットを読み出して、出力部１５０に出力する。このように、ルータＲＴ１は、送信先情報に基づいた通信パケットの振り分けと、ポート情報に基づいた通信パケットの振り分けとを順次連続して段階的に行う。
【００４５】
バッファ部１３０ａの各キューのいずれかにおいて、通信パケットの廃棄量が所定値以上になると、廃棄検出部１６０ａは、これを検知して、関数変更部１７０ａを介して、振分部１２０ａが用いる所定の関数を変更させる。同様に、バッファ部１３０ｂの各キューのいずれかにおいて、通信パケットの廃棄量が所定値以上になると、廃棄検出部１６０ｂは、これを検知して、関数変更部１７０ｂを介して、振分部１２０ｂが用いる所定の関数を変更させる。
【００４６】
かかる構成のルータＲＴ１は、送信先情報を入力値として所定の関数によって求められた値と、ポート情報を入力値として所定の関数によって求められた値とに応じて、受信した通信パケットを、複数のキューへ振り分ける。このため、受信した通信パケットが、宛先情報とポート情報とに基づいて各キューに分散化される。したがって、パーソナルコンピュータＰＣ１〜ＰＣ３および／またはサーバＳＶ１，ＳＶ２のトラフィックに起因して輻輳が生じた場合に、その影響がトラフィック全体に及ぶことを抑制することができる。なお、送信先情報に基づく振り分けと、ポート情報に基づく振り分けとは、処理順序を上述の例と逆にしてもよい。
【００４７】
しかも、キューがキューＱ１〜Ｑｊと、キューＱ１〜Ｑｋとに階層的に構成され、送信先情報に基づいた通信パケットの振り分けと、ポート情報に基づいた通信パケットの振り分けとを段階的に行うので、各振り分けプロセスを単純化することができる。ただし、キューを階層的に構成することは必須ではない。例えば、送信先情報を用いて算出されたハッシュ値と、ポート情報を用いて算出されたハッシュ値との組み合わせに応じて、通信パケットを振り分ける構成としてもよい。
【００４８】
Ｃ．第３実施例
Ｃ−１．装置構成
本発明の第３実施例について説明する。第３実施例としてのルータＲＴ１は、輻輳状態と判定されたキューへ振り分けられる通信パケットを重要度判定部１９０に転送し、通信パケットの重要度に応じて廃棄優先度を変更する点が第１実施例と大きく異なる。以下、具体的に説明する。
【００４９】
第３実施例としてのルータＲＴ１の概略構成を図４に示す。図４に示すように、第３実施例としてのルータＲＴ１は、入力部１１０，振分部１２０，バッファ部１３０、帯域制御部１４０、出力部１５０、廃棄検出部１６０、処理変更部１８０、重要度判定部１９０を備えている。第１実施例からは処理変更部１８０、重要度判定部１９０が追加された点が大きく異なる。また特に振分部１２０、バッファ部１３０の処理にも変更があるため、以下で具体的に説明する。
【００５０】
第３実施例としてのルータＲＴ１では、入力部１１０が受け付けた通信パケットは、まず、振分部１２０に入力される。振分部１２０は、宛先判定部１２１またはポート判定部１２２により宛先情報またはポート情報に基づいて、通信パケットをバッファ部１３０のキューＱ１〜Ｑｎ（ｎは２以上の任意の整数）に振り分けるが、振り分けを行う際、通信パケットに対して廃棄優先度を示す制御ヘッダを付加してからキューＱ１〜Ｑｎへ振り分ける。このとき振分部１２０は、入力部１１０から入力した通信パケットについて最も高い廃棄優先度を設定する。なお、詳細は後述するが、廃棄優先度が高い通信パケットは、輻輳時にバッファ部１３０で廃棄されにくく、廃棄優先度が低い通信パケットは輻輳時にバッファ部１３０で廃棄されやすくなる。廃棄優先度は多段階に設定可能であり、段数に制約はない。
【００５１】
本実施例のバッファ部１３０の各キューＱ１〜Ｑｎは廃棄制御機能を備えている。廃棄制御とは、キューが複数の閾値を備え、キューに入力する通信パケットの廃棄優先度と対応する閾値を比較し、キュー長が対応する閾値を超えていた場合、通信パケットはキューに入力されず廃棄される制御である。つまり、第１実施例では、キュー長がキューの容量（キューの容量に対して１００％の閾値）を超えている場合は受信した通信パケットを一律廃棄するという制御であったが、本実施例では廃棄優先度が高い通信パケットは、キュー長がキューの容量（キューの容量に対して１００％の閾値）を超えていた場合に廃棄されるが、廃棄優先度が低い通信パケットはキュー長がキューの容量に対して予め設定した閾値（例えば、キューの容量に対して５０％の閾値）を越えていた場合に廃棄される。このように本実施例におけるバッファ部１３０では、廃棄優先度が高い通信パケットは廃棄されにくく、廃棄優先度が低い通信パケットは廃棄されやすくなるように廃棄制御が行われる。閾値は多段階に設定可能であり、廃棄優先度に応じて任意の段数で設定可能である。なお、バッファ部１３０は通信パケットの制御ヘッダを参照して廃棄優先度を判断し、キューに通信パケットを格納する際には制御ヘッダを削除してから当該通信パケットをキューへ格納する。
【００５２】
帯域制御部１４０は、第１実施例と同様に、バッファ部１３０のキューＱ１〜Ｑｎから、予め設定された帯域制御ルールに基づいて、通信パケットを読み出して、出力部１５０に出力する。
【００５３】
廃棄検出部１６０は、第１実施例と同様に、キューＱ１〜Ｑｎの輻輳時の通信パケットの廃棄量または輻輳度をキューＱ１〜Ｑｎごとに検出する。また、キューＱ１〜Ｑｎにおける通信パケットの廃棄量または輻輳度のいずれかが所定値以上になると、処理変更部１８０に所定の信号を出力する。なお、この所定の信号には、通信パケットの廃棄量または輻輳度のいずれかが所定値以上になったキュー、つまり輻輳状態と判定されたキューを特定するための情報が含まれる。
【００５４】
本実施例における処理変更部１８０は、廃棄検出部１６０から所定の信号を受け付けると、振分部１２０に対して、輻輳状態と判定されたキューへ振り分けられる通信パケットを、バッファ部１３０へ出力せずに重要度判定部１９０へ出力するよう指示する。振分部１２０は、処理変更部１８０の指示を受け、輻輳状態と判定されたキューへ振り分ける予定の通信パケット（制御ヘッダが付加された通信パケット）を重要度判定部１９０へ出力する。なお、ここで振分部１２０は制御ヘッダが付加された通信パケット全体を重要度判定部１９０へ出力するのではなく、通信パケットのヘッダ情報（制御ヘッダを含む）のみを重要度判定部１９０へ出力してもよい。また、処理変更部１８０の機能は、振分部１２０が備えていてもよいし、処理変更部１８０は、第１実施例における関数変更部１７０と同様の機能を更に備えていてもよい。
【００５５】
重要度判定部１９０は、振分部１２０から入力された通信パケットの所定のヘッダ情報に基づいて、当該通信パケットの重要度を判定する。この際、レイヤ２〜レイヤ７のいずれのヘッダ情報フィールドに基づいて重要度を判定してもよく、例えば特許文献３記載のＭＰＥＧにおけるＩ，Ｐ，Ｂピクチャやその高周波成分・低周波成分の区別や、装置内転送優先度、ＩＰパケットのＤｉｆｆＳｅｒｖコードポイント、プロトコル情報、ポート番号など任意のヘッダ情報に基づいて判定することができる。重要度判定部１９０は、判定した重要度に応じて当該通信パケットの廃棄優先度を決定し、通信パケットの制御ヘッダに格納された廃棄優先度を書き換える。重要度判定部１９０は、廃棄優先度が書き換えられた通信パケットを振分部１２０に出力し、振分部１２０では、重要度判定部１９０から入力された通信パケットをバッファ部１３０内の元々予定していたキューへ振り分ける。なお、重要度は廃棄優先度と同じく多段階に判定可能である。
【００５６】
このように、本実施例によれば、輻輳状態と判定されたキューへ振り分けられる通信パケットの重要度に応じて廃棄優先度を変更することができるため、重要度が高い通信パケットは廃棄優先度が高く設定され、重要度が低い通信パケットは廃棄優先度が低く設定されるようになり、重要度が高い通信パケットがバッファ部１３０で廃棄されにくくすることができる。また、重要度判定部１９０が処理するのは輻輳状態と判定されたキューへ振り分けられる通信パケットに限定される。このため、重要度判定部１９０は全ての通信パケットを処理できる処理能力を備える必要がなく、装置コストの増加を抑える効果もある。
【００５７】
Ｃ−２．効果
重要度判定部１９０を備えない従来のルータでは、輻輳発生時に重要度に無関係にパケットが廃棄される。このため、例えば、端末ＰＣ１〜３に届くフローから映像を再生する場合に、映像の基本的な輪郭を表す低周波成分も確率的に廃棄され、視聴者のＱｏＥ（Ｑｕａｌｉｔｙ  ｏｆ  Ｅｘｐｒｉｅｎｃｅ）が大きく低下していた。
【００５８】
第３実施例では、重要度判定部１９０を備え、輻輳状態と判定されたキューへ振り分けられる通信パケットの重要度に応じて廃棄優先度を変更することができるため、重要度が高い通信パケットは廃棄優先度が高く設定され、重要度が低い通信パケットは廃棄優先度が低く設定されるようになり、重要度が高い通信パケットがバッファ部１３０で廃棄されにくくすることができる。例えば、廃棄優先度の低いＭＰＥＧの高周波成分のパケットから優先的に廃棄されるため、結果的に廃棄優先度の高いＭＰＥＧの基本的輪郭部分のパケットは廃棄されにくくなり、結果として視聴者のＱｏＥの大きな低下を回避できる。また、重要度判定部１９０が処理するのは輻輳状態と判定されたキューへ振り分けられる通信パケットに限定される。このため、重要度判定部１９０は全ての通信パケットを処理できる処理能力を備える必要がなく、装置コストの増加を抑える効果もある。
【００５９】
Ｄ．第４実施例
Ｄ−１．装置構成
本発明の第４実施例について説明する。第４実施例としてのルータＲＴ１は、通信パケットのヘッダ情報から転送優先度を判定して、転送優先度に応じて通信パケットを振分けるキューの範囲を限定する点で第１実施例と大きく異なる。
【００６０】
第４実施例としてのルータＲＴ１の概略構成を図５に示す。図５の説明においては、第１実施例と同一の構成要素については、図２と同一の符号を付して、説明を省略する。図５に示すように、第４実施例としてのルータＲＴ１は、入力部１１０、振分部１２０、宛先判定部１２１、ポート判定部１２２、優先度判定部１２３、キュー定義部１２４、バッファ部１３０、帯域制御部１４０、出力部１５０、廃棄検出部１６０、関数変更部１７０を備えている。
【００６１】
優先度判定部１２３は、通信パケットのヘッダ情報の一部から転送優先度を判定する。具体的には、ＩＰヘッダ情報に含まれるプロトコル番号またはＴＣＰヘッダ・ＵＤＰヘッダに含まれる宛先ポート番号または送信元ポート番号といったパラメータを識別して、これらの識別したパラメータがあらかじめ設定した単一の値または複数の値の範囲内に当てはまる場合に、当該通信パケットに特定の転送優先度を与える。もしくは、あらかじめ設定した値に当てはまらない場合に、特定の転送優先度を与えても良い。ヘッダ情報から識別して転送優先度の判断基準とするパラメータは単一のパラメータであっても、複数のパラメータの組合せであってもよい。また、転送優先度は２つ、または、それ以上の段階を設けても良い。
【００６２】
キュー定義部は、優先度判定部１２３が判定した通信パケットの転送優先度に対応するキュー番号の範囲を定義する。実施例１ではルータＲＴ１に存在するキューＱ１〜Ｑｎの全域を対象として振分けを行うが、本実施例においては、転送優先度別に、振分対象とするキューの範囲を限定する。キューの範囲は複数個であっても１個でも良い。また、転送優先度別に限定されるキューの範囲は、異なる転送優先度間で独立した範囲を指定してもよいし、異なる転送優先度間で重複する範囲を指定しても良い。キューの範囲が複数個に渡る場合は、実施例１によって宛先判定部１２１またはポート判定部１２２が算出したハッシュ値に応じて、キューへの振分けを行う。キューの範囲が１個である場合には、実施例１によって算出したハッシュ値は使わず、指定のキューへキューイングを行う。
【００６３】
転送優先度の具体例として、ルーティングプロトコルまたは近隣探索（ＡＲＰ，ＮＤＰ）、またはネットワーク冗長化制御に用いられるような制御パケットを最高優先度とし、動画ストリームや音声（ＶｏＩＰ）といったリアルタイム性を要求される通信パケットを高優先度、その他のフロー（Ｗｅｂ，Ｍａｉｌ，ＦＴＰ，Ｐ２Ｐといった通信に用いられるプロトコル）の通信パケットを低優先度とする、などのように転送優先度を決定することが考えられる。この場合、優先度判定部１２３は、受信した通信パケットのヘッダ情報を参照して、当該通信パケットの転送優先度を決定する。
【００６４】
キュー定義部には、例えば最高優先度の通信パケットはキューＱ１へ、高優先度の通信パケットはキューＱ２〜キューＱｋ（ｋは２以上でｎより小さい整数）へ、低優先度の通信パケットはキューＱｋ＋１〜キューＱｎへ振り分けるようにキュー番号の範囲が定義されている。このため、宛先判定部１２１またはポート判定部１２２は、最高優先度の通信パケットはキューＱ１へ、高優先度の通信パケットはキューＱ２〜キューＱｋのいずれかへ、低優先度の通信パケットはキューＱｋ＋１〜キューＱｎのいずれかへ振り分けるように動作する。振り分けるキュー番号の範囲が決定した後の宛先判定部１２１またはポート判定部１２２の動作は実施例１と同様である。
【００６５】
帯域制御部１４０では、転送優先度が「最高優先度」の通信パケットが格納されたキューＱ１から優先的に通信パケットを読み出すように動作し、続いて転送優先度が「高優先度」の通信パケットが格納されたキューＱ２〜キューＱｋ、「低優先度」の通信パケットが格納されたキューＱｋ＋１〜キューＱｎの順に優先的に通信パケットを読み出す。
【００６６】
Ｄ−２．効果
第４実施例では、優先度判定部１２３を備えて、通信パケットの転送優先度を判定して、キュー定義部１２４に従い、転送優先度別に振り分けるキューの範囲を分別し、帯域制御部１４０が転送優先度が高いキューの通信パケットを優先的に読み出すように帯域制御する。これにより、高優先のパケットを保護しつつ、各優先度においてキューとして用いるバッファ部１３０の容量を抑制することができる。
【００６７】
Ｅ．変形例：
上述した実施例の変形例について説明する。
Ｅ−１．変形例１：
上述した実施形態においては、ルータＲＴ１，ＲＴ２が、送信先情報として、宛先ＩＰアドレスを用いて通信パケットの振り分けを行う構成について示したが、送信先情報は、宛先ＩＰアドレスに限るものではなく、通信パケットの送信先に応じて定まる情報であればよい。例えば、ルータＲＴ１，ＲＴ２が転送するフレームがイーサネット（登録商標）のフレームである場合には、宛先ＭＡＣアドレスを送信先情報として用いてもよい。あるいは、ＴＣＰヘッダに含まれる送信先ポート番号を送信先情報として用いてもよい。サーバＳＶ１，ＳＶ２は、通信パケットの宛先ごとに送信先ポート番号を個別に設定することが多いので、こうしても、宛先に応じて通信パケットの振り分けを行うことができる。あるいは、ルータＲＴ１，ＲＴ２がＶＬＡＮ（Virtual LAN）をサポートしている場合には、ＶＬＡＮ番号を送信先情報として用いてもよい。ＶＬＡＮ番号は、例えば、ヘッダに付加されるＶＬＡＮタグを参照して取得することができる。
【００６８】
Ｅ−２．変形例２：
上述の実施形態においては、サーバＳＶ１，ＳＶ２に直接的に接続されるルータＲＴ１と、家庭ネットワークに最も近いルータＲＴ２とにおいて、宛先情報やポート情報に基づく帯域制御を行う構成について示したが、係る構成をルータＲＴ１とルータＲＴ２との間に設置されるルータに適用してもよい。こうしても、上述した効果をある程度奏することができる。
【００６９】
Ｅ−３．変形例３：
上述の実施形態においては、ポート情報を入力値として所定の関数によって求められた値に応じて、通信パケットを複数のキューへの振り分ける構成について示したが、通信パケットを受信した物理ポートに応じて、直接的に振り分け先のキューを決定する構成としてもよい。こうしても、ルータＲＴ１の備える物理ポート数が少ない場合には、簡単な構成で、通信パケットの送信元のトラフィックに起因して輻輳が生じた場合に、その影響がトラフィック全体に及ぶことを抑制することができる。なお、この場合、物理ポート数とキューの数とは同一にしなくてもよい。例えば、物理ポート２つごとに、キューを１つ割り当てる構成としてもよい。
【００７０】
Ｅ−４．変形例４：
上述したルータＲＴ１，ＲＴ２の構成要素のうち、ハードウェアで構成した要素の一部または全部をソフトウェアで実現する構成としてもよいし、ソフトウェアで構成した要素の一部または全部をハードウェアで実現する構成としてもよい。
【００７１】
以上、本発明の実施形態について説明したが、上述した実施形態における構成要素のうち、独立クレームに記載された要素に対応する要素以外の要素は、付加的な要素であり、適宜省略、または、組み合わせが可能である。また、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、中継装置のほかに、複数の中継装置を備えた通信システム、中継方法、中継プログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
【符号の説明】
【００７２】
２０…通信システム
１１０…入力部
１２０，１２０ａ，１２０ｂ…振分部
１２１…宛先判定部
１２２…ポート判定部
１２３…優先度判定部
１２４…キュー定義部
１３０，１３０ａ，１３０ｂ…バッファ部
１４０，１４０ａ，１４０ｂ…帯域制御部
１５０…出力部
１６０，１６０ａ，１６０ｂ…廃棄検出部
１７０，１７０ａ，１７０ｂ…関数変更部
１８０…処理変更部
１９０…重要度判定部
Ａ〜Ｃ…家庭
ＮＴ…ネットワーク
ＰＣ１〜ＰＣ３…パーソナルコンピュータ
ＲＴ１〜ＲＴ５…ルータ
ＳＶ１，ＳＶ２…サーバ
【図１】
0005659125.tif 000002
【図２】
0005659125.tif 000003
【図３】
0005659125.tif 000004
【図４】
0005659125.tif 000005
【図５】
0005659125.tif 000006