(57)【要約】【課題】パケット中継装置の動作クロックを低下させた場合においても、パケット中継装置が転送可能なパケット量を一定に保つ技術を提供する。【解決手段】パケット中継装置は、当該パケット中継装置の動作の基準となる所定周波数のクロック信号を生成するクロック生成部と、このクロック信号に基づいて所定のクロックサイクル数でタイマ値をカウントするタイマ部と、単位タイマ値当たりに転送可能なパケット量を所定のパケット量に制限しながら、受信したパケットを中継する中継制御部と、クロック信号の周波数を１／ｎ倍に低減させることにより、当該パケット中継装置の消費電力を低減する電力制御部とを備える。前述のタイマ部は、電力制御部によってクロック信号の周波数が１／ｎ倍に低減された場合に、前述のクロックサイクル数の１／ｎ倍のクロックサイクル数でタイマ値をカウントする。【選択図】図３
2010093410.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを流れるパケットを中継するパケット中継装置であって、
パケットを受信する受信部と、
当該パケット中継装置の動作の基準となる所定周波数のクロック信号を生成するクロック生成部と、
前記クロック信号に基づいて第１のクロックサイクル数でタイマ値をカウントするタイマ部と、
前記タイマ部から前記タイマ値を入力し、該タイマ値に基づく単位タイマ値当たりに転送可能なパケット量を所定のパケット量に制限しながら、前記受信したパケットを、該パケットのヘッダ情報によって指定された転送先に中継する中継制御部と、
前記クロック生成部を制御して、前記クロック信号の周波数を１／ｎ（ｎは１を超える実数）に低減させることにより、当該パケット中継装置の消費電力を低減する電力制御部とを備え、
前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が１／ｎに低減された場合に、前記第１のクロックサイクル数の１／ｎのクロックサイクル数である第２のクロックサイクル数で前記タイマ値をカウントする
パケット中継装置。
【請求項２】
請求項１に記載のパケット中継装置であって、
前記中継制御部は、前記単位タイマ値当たりに受信したパケットの量が、前記所定のパケット量を超えた場合に、前記受信したパケットを帯域違反と判定することで、前記パケット量の制限を行う
パケット中継装置。
【請求項３】
請求項２に記載のパケット中継装置であって、
前記中継制御部は、前記パケットのフローを前記ヘッダ情報に基づいて検出し、該検出されたフロー毎に、前記パケット量の制限を行う
パケット中継装置。
【請求項４】
請求項３に記載のパケット中継装置であって、
前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が１／ｎに低減された場合においても、前記第１のクロックサイクル数でカウントされたタイマ値と、前記第２のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、
前記中継処理部は、前記フロー毎に、前記第１のクロックサイクル数でカウントされたタイマ値を用いるか、前記第２のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択する
パケット中継装置。
【請求項５】
請求項１に記載のパケット中継装置であって、
前記中継制御部は、前記受信したパケットの送信タイミングを、該パケットのパケット長と、前記単位タイマ値当たりに転送可能なパケット量とに応じて遅延させることで、中前記パケット量の制限を行う
パケット中継装置。
【請求項６】
請求項５に記載のパケット中継装置であって、
前記中継制御部は、前記受信したパケットを前記転送先毎にキューイングし、該転送先毎に、前記パケット量の制限を行う
パケット中継装置。
【請求項７】
請求項６に記載のパケット中継装置であって、
前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が１／ｎに低減された場合においても、前記第１のクロックサイクル数でカウントされたタイマ値と、前記第２のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、
前記中継処理部は、前記転送先毎に、前記第１のクロックサイクル数でカウントされたタイマ値を用いるか、前記第２のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択する
パケット中継装置。
【請求項８】
請求項１に記載のパケット中継装置であって、
前記タイマ部は、
前記第１のクロックサイクル数でタイマ値をカウントする通常用タイマ回路と、
前記第２のクロックサイクル数でタイマ値をカウントする省電力用タイマ回路と、
前記電力制御部からの指令に基づき、前記中継制御部に出力するタイマ値を、前記通常用タイマ回路によってカウントしたタイマ値と、前記省電力用タイマ回路によってカウントしたタイマ値とのいずれかに切り換えるセレクタ回路とを備える
パケット中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを中継するパケット中継装置の消費電力を低減する技術に関する。
【背景技術】
【０００２】
スイッチやルータをはじめとするパケット中継装置は、ネットワークの構築にあたって大変重要なデバイスである。近年、ネットワークの大規模化や中継するパケット量の増加に伴い、パケット中継装置の処理能力（パケット中継能力）の向上が著しい。
【０００３】
パケット中継装置の処理能力を高めるには、動作クロックの高速化が不可欠であるが、近年では、動作クロックの高速化に伴ってパケット中継装置が消費する電力量も増大している。そこで、下記特許文献１には、パケット中継装置の利用状態に応じて、動作クロックを低下させることで、パケット中継装置を省電力化する技術が開示されている。
【０００４】
【特許文献１】特開２００７−２２８４９１号公報
【０００５】
ところが、省電力化のためにパケット中継装置の動作クロックを単純に低下させてしまうと、パケット中継装置が単位時間当たりに転送可能なパケットの量が低下してしまうおそれがあった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような問題を考慮し、本発明が解決しようとする課題は、パケット中継装置の動作クロックを低下させた場合においても、パケット中継装置が転送可能なパケット量を一定に保つ技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］ネットワークを流れるパケットを中継するパケット中継装置であって、パケットを受信する受信部と、当該パケット中継装置の動作の基準となる所定周波数のクロック信号を生成するクロック生成部と、前記クロック信号に基づいて第１のクロックサイクル数でタイマ値をカウントするタイマ部と、前記タイマ部から前記タイマ値を入力し、該タイマ値に基づく単位タイマ値当たりに転送可能なパケット量を所定のパケット量に制限しながら、前記受信したパケットを、該パケットのヘッダ情報によって指定された転送先に中継する中継制御部と、前記クロック生成部を制御して、前記クロック信号の周波数を１／ｎに低減させることにより、当該パケット中継装置の消費電力を低減する電力制御部とを備え、前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が１／ｎ（ｎは１を超える実数）に低減された場合に、前記第１のクロックサイクル数の１／ｎのクロックサイクル数である第２のクロックサイクル数で前記タイマ値をカウントするパケット中継装置。
【０００９】
このような構成のパケット中継装置では、消費電力を低減するために動作クロックの周波数が１／ｎに低減された場合には、タイマのカウントが行われるクロックサイクル数も１／ｎとなる。そのため、クロック周波数の低減前後において、タイマ部から出力されるタイマ値の周期は変動しないことになる。この結果、当該パケット中継装置が単位タイマ値当たりに転送可能なパケット量を、動作クロックの切り換えにかかわらず一定に保つことが可能になる。
【００１０】
［適用例２］適用例１に記載のパケット中継装置であって、前記中継制御部は、前記単位タイマ値当たりに受信したパケットの量が、前記所定のパケット量を超えた場合に、前記受信したパケットを帯域違反と判定することで、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、例えば、帯域違反と判定されたパケットを破棄することで、中継を行うパケット量を制限することができる。また帯域違反と判定されたパケットのパケットヘッダ（例えばＩＰｖ４ヘッダのＴＯＳフィールド）を書換えてマーキングすることで、マーキングされずに中継を行うパケット量を制限することができる。また、帯域違反と判定されたパケットに対し、これをパケット中継装置内で蓄積するキューの閾値を浅く変更することで、キューの閾値を変更されずに中継を行うパケット量を制限することができる。
【００１１】
［適用例３］適用例２に記載のパケット中継装置であって、前記中継制御部は、前記パケットのフローを前記ヘッダ情報に基づいて検出し、該検出されたフロー毎に、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、パケットのフロー毎に、中継を行うパケット量を制限することができる。
【００１２】
［適用例４］適用例３に記載のパケット中継装置であって、前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が１／ｎに低減された場合においても、前記第１のクロックサイクル数でカウントされたタイマ値と、前記第２のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、前記中継処理部は、前記フロー毎に、前記第１のクロックサイクル数でカウントされたタイマ値を用いるか、前記第２のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択するパケット中継装置。このようなパケット中継装置であれば、パケットのフロー毎に、単位タイマ値当たりに転送可能なパケット量を一定に保つか否かを選択することが可能になる。
【００１３】
［適用例５］適用例１に記載のパケット中継装置であって、前記中継制御部は、前記受信したパケットの送信タイミングを、該パケットのパケット長と、前記単位タイマ値当たりに転送可能なパケット量とに応じて遅延させることで、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、受信したパケットの送信タイミングを遅延させることで、中継を行うパケット量を制限することができる。
【００１４】
［適用例６］適用例５に記載のパケット中継装置であって、前記中継制御部は、前記受信したパケットを前記転送先毎にキューイングし、該転送先毎に、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、パケットの転送先毎に中継を行うパケット量を制限することができる。
【００１５】
［適用例７］適用例６に記載のパケット中継装置であって、前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が１／ｎに低減された場合においても、前記第１のクロックサイクル数でカウントされたタイマ値と、前記第２のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、前記中継処理部は、前記転送先毎に、前記第１のクロックサイクル数でカウントされたタイマ値を用いるか、前記第２のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択するパケット中継装置。このようなパケット中継装置であれば、パケットの転送先毎に、単位タイマ値当たりに転送可能なパケット量を一定に保つか否かを選択することが可能になる。
【００１６】
［適用例８］適用例１に記載のパケット中継装置であって、前記タイマ部は、前記第１のクロックサイクル数でタイマ値をカウントする通常用タイマ回路と、前記第２のクロックサイクル数でタイマ値をカウントする省電力用タイマ回路と、前記電力制御部からの指令に基づき、前記中継制御部に出力するタイマ値を、前記通常用タイマ回路によってカウントしたタイマ値と、前記省電力用タイマ回路によってカウントしたタイマ値とのいずれかに切り換えるセレクタ回路とを備えるパケット中継装置。このようなパケット中継装置であれば、シンプルな回路構成で２種類のタイマ値を出力可能なタイマ部を構成することができる。
【００１７】
なお、本発明は、上述したパケット中継装置としての構成のほか、パケット中継装置の制御方法や、コンピュータプログラムとしても構成することができる。このコンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。記録媒体としては、例えば、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参酌しつつ実施例に基づき次の順序で説明する。
Ａ．第１実施例：
（Ａ１）第１実施例としてのパケット中継装置の概略構成：
（Ａ２）帯域監視部の詳細な構成：
（Ａ３）帯域監視処理：
Ｂ．第２実施例：
（Ｂ１）第２実施例としてのパケット中継装置の概略構成：
（Ｂ２）パケット送信回路の詳細な構成：
（Ｂ３）帯域監視処理：
Ｃ．変形例：
【００１９】
Ａ．第１実施例：
（Ａ１）第１実施例としてのパケット中継装置の概略構成：
図１は、本発明の第１実施例としてのパケット中継装置１０の概略構成を示す図である。パケット中継装置１０は、異なるネットワーク同士を接続し、これらのネットワーク間で転送されるパケットを中継する装置である。
【００２０】
図１に示すように、パケット中継装置１０は、他の通信機器からパケットを受信するパケット受信回路１２と、パケット受信回路１２によって受信したパケットのヘッダ情報を解析して中継先を判別する処理（以下、中継処理という）を行う中継制御部１４と、中継制御部１４からの指示に基づいてパケットの出力先を切り換えるパケット中継回路１６と、パケット受信回路１２からパケット中継回路１６を介して転送されたパケットを他の通信機器に送信するパケット送信回路１８とを備えている。パケット受信回路１２は、複数の入力回線を備えており、パケット送信回路１８は、複数の出力回線を備えている。なお、パケット受信回路１２とパケット送信回路１８とは、それぞれ複数備えられていることとしてもよい。
【００２１】
パケット中継装置１０は、更に、パーソナルコンピュータ等の管理端末２０から各種設定を受け付けて記憶するレジスタ回路２２と、パケット中継装置１０の電力モードを制御する電力制御ユニット２４と、パケット中継装置１０の動作の基準となるクロック信号を生成するクロック生成回路２５とを備えている。
【００２２】
電力制御ユニット２４は、ＣＰＵ２６とＲＯＭ２８とＲＡＭ３０とリアルタイムクロック３１とを備えている。リアルタイムクロック３１は、上述したクロック生成回路２５とは全く別の回路によって構成されている。ＣＰＵ２６は、ＲＯＭ２８に記憶された電力制御プログラムをＲＡＭ３０にロードして実行することで、パケット中継装置１０の消費電力を調整する制御を行う。本実施例では、電力制御ユニット２４は、リアルタイムクロック３１によって得られる時刻情報に基づき、現在の時刻が夜間（例えば、２３時〜５時）であるかを判断する。そして、夜間であれば、電力モードを省電力モードとし、夜間でなければ、電力モードを通常モードとする。
【００２３】
電力制御ユニット２４は、電力モードを省電力モードとした場合には、クロック生成回路２５に指令を与えて、このクロック生成回路２５が生成するクロック信号の周波数を通常モード時よりも低減させる。本実施例では、このように、パケット中継装置１０の動作の基準となるクロック信号の周波数を低減させることで、パケット中継装置１０の省電力化を行う。なお、本実施例では、現在の時刻に応じて電力モードを切り換えることとするが、パケット受信回路１２が一定期間内に受信するパケット量に基づいて、電力モードを切り換えることとしてもよい。具体的には、一定期間内に受信するパケット量が所定の閾値よりも少なければ、省電力モードとし、多ければ、通常モードとすることができる。また、電力制御ユニット２４は、受信パケット量が増減する時間帯を学習し、受信パケット量が低減する時間帯において、電力モードを省電力モードとする制御も可能である。
【００２４】
クロック生成回路２５は、水晶振動子やＰＬＬ回路によって構成されており、生成したクロック信号を中継制御部１４に供給する。クロック生成回路２５は、電力制御ユニット２４から電力モードを表す制御信号を受信して、その電力モードに応じたクロック信号を生成する。本実施例では、電力制御ユニット２４から受信した制御信号が通常モードを表す場合には、出力するクロック信号の周波数を４００ＭＨｚとする。これに対して、受信した制御信号が省電力モードを表す場合には、出力するクロック信号の周波数を２００ＭＨｚとする。つまり、本実施例では、省電力モードでは、通常モード時よりもクロック周波数を半減させてパケット中継装置１０を動作させる。
【００２５】
中継制御部１４は、クロック生成回路２５から入力したクロック信号に同期して動作するＡＳＩＣ(Application Specific Integrated Circuit)、もしくは、ＦＰＧＡ(Field Programmable Gate Array)によって構成されている。中継制御部１４は、内部回路として、帯域監視部３２とフロー検出部３４と経路検索部３６とを備えている。
【００２６】
帯域監視部３２は、パケット受信回路１２によって受信したパケットの量が、単位時間当たりに許容するパケット量を示す制限レート内に収まるかを、パケットのフロー毎に監視する処理を行う。以下、このような処理を「帯域監視処理」という。本実施例において、「パケット量」とは、パケットのビット数のことをいう。また、「単位時間」とは、後述するタイマ回路６０から出力される所定の数のタイマ値（例えば、タイマ値で１０カウント分）のことをいう。
【００２７】
図２は、帯域監視部３２によって行われる帯域監視処理の概念を示す模式図である。図２には、上面が開口し、底面に穴の空いた所定の深さを有するバケツ状の容器を、帯域監視の様子を示すモデルとして示している。例えば、この容器に上部から注がれた水がこの容器内に収まる限りは、底面の穴から水が一定量ずつ流出していくことになる。ところが、この容器に注がれる水の量が増大してしまうと、底面の穴からは一定量ずつしか水が漏れていかないので、容器から水が溢れてしまうことになる。
【００２８】
つまり、図２に示した容器に注がれる水量を受信パケットのビット数とみなし、容器底面の穴から流出していく水量を、単位時間当たりに許容するパケットのビット数（制限レートR）とみなすと、容器の深さに相当する許容パケット量THR内に受信パケットのビット数が収まる限りは、受信パケットのビット数に増減があっても、パケットは許容されることになる。ところが、受信されるパケットにバースト（＝パケットが一度にまとめて送信されてしまう現象）が発生し、許容パケット量を超えてしまえば、受信されたパケットは帯域違反と判定される。例えば、帯域違反と判定されたパケットを破棄するユーザポリシーの場合には、帯域違反パケットは破棄されて、中継は行われないことになる。以下、本実施例ではこのユーザポリシーの場合を例として説明する。帯域監視部３２は、このようなアルゴリズムで帯域監視処理を行うことで、ネットワークに過剰なトラフィックが流れることを抑制する。このようなアルゴリズムのことを、一般的に、リーキー・バケット・アルゴリズムと呼ぶ。なお、図２には帯域監視処理の概念を示したが、具体的な処理内容については、後で詳しく説明する。
【００２９】
フロー検出部３４（図１参照）は、受信したパケットのヘッダから、そのパケットのフローを検出する。具体的には、フロー検出部３４は、パケットのヘッダに記録されたＶＬＡＮ  ＩＤや、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、送信元ポート番号、宛先ポート番号等のヘッダ情報のうち、所定の組み合わせのヘッダ情報からそのハッシュ値を求める。こうして求められたハッシュ値が、各フローに個別に割り当てられた番号になる。フロー検出部３４は、受信したパケットのフローを検出すると、検出されたフローの番号を帯域監視部３２に通知する。帯域監視部３２は、この通知を受けると、該当するフローに対して上述した帯域監視処理を行う。
【００３０】
経路検索部３６は、パケット受信回路１２によって受信したパケットのヘッダから宛先ＩＰアドレスを識別し、この宛先ＩＰアドレスと所定のルーティングテーブルに基づいて、中継先の出力回線を決定する。経路検索部３６は、出力回線を決定すると、その出力回線の番号をパケット受信回路１２に通知する。パケット受信回路１２は、通知された出力回線の番号をパケットに付加し、パケット中継回路１６にそのパケットを出力する。パケット中継回路１６は、パケット受信回路１２からパケットを入力すると、指定された出力回線を有するパケット送信回路１８にそのパケットを出力する。パケット送信回路１８は、パケットに付加された出力回線の番号に従って、指定された出力回線からパケットを出力する。このとき、パケット送信回路１８は、出力するパケットから出力回線の番号を取り除く。
【００３１】
（Ａ２）帯域監視部の詳細な構成：
続いて、中継制御部１４が備える帯域監視部３２の詳細な構成について説明する。
図３は、帯域監視部３２の詳細な構成を示す図である。図３に示すように、帯域監視部３２は、帯域監視処理に必要な種々のデータが記録された帯域監視テーブルTBLと、帯域監視テーブルTBLへのデータの記録や読み出しを行う帯域監視テーブル制御部４２と、現在受信済みのパケットの量を判定するパケット量判定部４４と、現在受信済みのパケットの量が許容パケット量THRを遵守しているかを判定する監視結果判定部４６とを備えている。
【００３２】
図４は、帯域監視テーブルTBLの構成を示す図である。図４に示すように、帯域監視テーブルTBLには、監視対象のフロー毎に、「エントリ番号」、「制限レートR」、「最終受信タイマ値TLST」、「バーストパケット量CNT」、「許容パケット量THR」が記録されている。エントリ番号は、各フローに固有に与えられた番号であり、フロー検出部３４によって検出されたフローの番号と一致する。制限レートRは、図２に示した容器底面の穴に相当するものであり、単位時間当たりに送信可能なパケットのビット数を示す。最終受信タイマ値TLSTは、そのフローに属するパケットを最後に受信したタイマの値を示す。バーストパケット量CNTは、図２に示した容器内に現時点で残存している水量に相当するものであり、前述の最終受信タイマ値TLSTにおいて制限レートRを越えて受信し帯域違反と判定されなかったパケットの量を示す。許容パケット量THRは、図２に示した容器の深さに相当するものであり、制限レートRを越えて受信を許容するパケットの量を示す。これらの情報のうち、制限レートRおよび許容パケット量THRは、管理端末２０によって管理者からレジスタ回路２２に設定される。帯域監視テーブル制御部４２は、このレジスタ回路２２に設定されたデータを読み出し、読み出したデータを帯域監視テーブルTBLに書き込む。
【００３３】
図３に示したパケット量判定部４４は、帯域監視テーブルTBLから制限レートRを読み込んで記憶する制限レート記憶部５０と、帯域監視テーブルTBLから最終受信タイマ値TLSTを読み込んで記憶する最終受信タイマ値記憶部５２と、帯域監視テーブルTBLからバーストパケット量CNTを読み込んで記憶するバーストパケット量記憶部５４とを備えている。また、パケット量判定部４４は、制限レート記憶部５０と最終受信タイマ値記憶部５２とパケット量記憶部とに記憶された制限レートR、最終受信タイマ値TLST、および、バーストパケット量CNTに基づいて、現在のバーストパケットの量（バーストパケット量NOWCNT）を算出するバーストパケット量算出回路５６と、バーストパケット量算出回路５６が、バーストパケット量NOWCNTを算出する際に用いるタイマ値TNOWをカウントするタイマ回路６０とを備えている。タイマ回路６０から出力されたタイマ値TNOWは、バーストパケット量NOWCNTの算出時だけではなく、帯域監視テーブル制御部４２が最終受信タイマ値TLSTを帯域監視テーブルTBLに書き込む際にも利用される。バーストパケット量算出回路５６によるバーストパケット量NOWCNTの具体的な算出方法については後述する。
【００３４】
タイマ回路６０は、クロック生成回路２５から入力されたクロック信号に同期してタイマ値をカウントする通常用タイマ６２と、通常用タイマ６２の１／２倍の周期でタイマ値をカウントする省電力用タイマ６４と、セレクタ回路６６とを備えている。セレクタ回路６６は、電力制御ユニット２４から受信した制御信号に基づいて、タイマ回路６０から出力するタイマ値を、通常用タイマ６２から出力するか省電力用タイマ６４から出力するかを選択する。
【００３５】
図５は、通常モードにおいてタイマ回路６０から出力されるタイマ値の状態を示すタイミングチャートである。図示するように、通常モード時には、タイマ回路６０は、クロック生成回路２５から４００ＭＨｚのクロック信号を入力する。すると、本実施例では、通常用タイマ６２は、４クロックサイクルにつき１回、つまり、１００ＭＨｚの周波数でタイマ値をカウントアップする。一方、省電力用タイマ６４は、通常用タイマ６２の１／２の周期でタイマ値をカウントするので、２クロックサイクルにつき１回、つまり、２００ＭＨｚの周波数でタイマ値をカウントアップする。セレクタ回路６６は、電力制御ユニット２４から受信した制御信号が通常モードを示す場合には、通常用タイマ６２でカウントした１００ＭＨｚの周波数のタイマ値を出力する。従って、通常モード時には、タイマ回路６０からは、１０ナノ秒毎にカウントアップされるタイマ値が出力されることになる。
【００３６】
図６は、省電力モードにおいてタイマ回路６０から出力されるタイマ値の状態を示すタイミングチャートである。図示するように、省電力モード時には、タイマ回路６０は、クロック生成回路２５から２００ＭＨｚ（＝４００ＭＨｚ／２）のクロック信号を入力する。すると、通常用タイマ６２は、４クロックサイクルにつき１回、つまり、５０ＭＨｚの周波数でタイマ値をカウントアップする。一方、省電力用タイマ６４は、通常用タイマ６２の１／２倍の周期でタイマ値をカウントするので、２クロックサイクルにつき１回、つまり、１００ＭＨｚの周波数でタイマ値をカウントアップする。セレクタ回路６６は、電力制御ユニット２４から受信した制御信号が省電力モードを示す場合には、省電力用タイマ６４でカウントした１００ＭＨｚのタイマ値を出力する。従って、タイマ回路６０からは、省電力モード時においても、通常モード時と同様に、１０ナノ秒毎にカウントアップされるタイマ値が出力されることになる。
【００３７】
図３に示した監視結果判定部４６は、上述したバーストパケット量算出回路５６によって算出されたバーストパケット量NOWCNTを入力して記憶する現在バーストパケット量記憶部７０と、パケット受信回路１２から受信パケットのパケット長LENの通知を受けて記憶するパケット長記憶部７２と、帯域監視テーブルTBLから許容パケット量THRを読み出して記憶する許容パケット量記憶部７４とを備えている。また、監視結果判定部４６は、現在バーストパケット量記憶部７０とパケット長記憶部７２と許容パケット量記憶部７４とに記憶された現在のバーストパケット量NOWCNT、受信パケットのパケット長LEN、および、許容パケット量THRに基づいて、受信したパケットのトラフィックが帯域を遵守しているか否かを判定する判定回路７８を備えている。判定回路７８による判定結果は、パケット受信回路１２に通知される。パケット受信回路１２は、判定回路７８から、帯域を遵守している旨の通知を受けると、受信したパケットをパケット中継回路１６に転送し、帯域違反である旨の通知を受けると、受信したパケットを破棄する。
【００３８】
更に、監視結果判定部４６は、判定回路７８による判定結果に応じて更新されるパケット量CNT2を記憶する更新バーストパケット量記憶部８０と、タイマ回路６０から出力されたタイマ値TNOWを記憶するタイマ値記憶部８２とを備えている。更新バーストパケット量記憶部８０に記憶されたパケット量CNT2は、帯域監視テーブル制御部４２によって読み込まれ、帯域監視テーブルTBL中のバーストパケット量CNTを更新する処理に用いられる。また、タイマ値記憶部８２に記憶されたタイマ値TNOWは、帯域監視テーブル制御部４２によって読み込まれ、帯域監視テーブルTBL中の最終受信タイマ値TLSTを更新する処理に用いられる。
【００３９】
（Ａ３）帯域監視処理：
続いて、本実施例のパケット中継装置１０が実行する帯域監視処理の詳細について説明する。
図７は、帯域監視処理のフローチャートである。まず、パケット受信回路１２がパケットを受信すると（ステップＳ１０）、フロー検出部３４によって、受信したパケットのフローが検出される（ステップＳ１２）。フロー検出部３４は、検出されたフローの番号をヘッダ情報とハッシュ関数とに基づき計算して帯域監視部３２に通知すると、帯域監視部３２内の帯域監視テーブル制御部４２によって、該当するフローのエントリが帯域監視テーブルTBLから検索される（ステップＳ１４）。そして、この検索されたエントリから、制限レートRと最終受信タイマ値TLSTとバーストパケット量CNTと許容パケット量THRとが、それぞれ、図３に示した、制限レート記憶部５０、最終受信タイマ値記憶部５２、バーストパケット量記憶部５４、許容パケット量記憶部７４に読み込まれる（ステップＳ１６）。
【００４０】
帯域監視テーブルTBLから上述した各種情報が読み込まれると、バーストパケット量算出回路５６は、前回、ステップＳ１２で検出されたフローに属するパケットを受信したタイマ値から現在のタイマ値までの経過時間ΔT（タイマ値）を算出する（ステップＳ１８）。具体的には、この経過時間ΔTは、最終受信タイマ値TLSTとタイマ回路６０から出力されたタイマ値TNOWとの差を求めることによって算出される。
【００４１】
続いて、バーストパケット量算出回路５６は、ステップＳ１８において算出された経過時間ΔT内に送信された可能性のあるパケットの最大送信量ΔDECを算出する（ステップＳ２０）。この最大送信量ΔDECは、ステップＳ１８によって算出された経過時間ΔTと、制限レートRとの積を求めることで算出される。最大送信量ΔDECは、経過時間ΔT内に図２の容器の底面の穴から漏れたパケットの量に相当する。
【００４２】
上記ステップＳ２０において、最大送信量ΔDECを算出すると、バーストパケット量算出回路５６は、現在、未送信のパケットが残存しているか（つまり、図２の容器にパケットが残っているか）を判断する（ステップＳ２２）。具体的には、ステップＳ１６において読み込まれたバーストパケット量CNTが、ステップＳ２０で算出された最大送信量ΔDECよりも多い場合に、未送信のパケットが残存していると判断される。
【００４３】
ステップＳ２２において、未送信のパケットが残存していると判断された場合には、バーストパケット量算出回路５６は、現在のバーストパケット量NOWCNTを計算する（ステップＳ２４）。具体的には、現在のバーストパケット量NOWCNTは、ステップＳ１６において読み込まれたパケット量CNTからステップＳ２０において算出された最大送信量ΔDECを差し引いた値となる。一方、ステップＳ２２において、未送信のパケットが残存しないと判断された場合には、バーストパケット量算出回路５６は、現在のバーストパケット量NOWCNTを「０」とする（ステップＳ２６）。ステップＳ２４あるいはステップＳ２６において求められたバーストパケット量NOWCNTは、監視結果判定部４６が有する現在バーストパケット量記憶部７０に読み込まれる。
【００４４】
現在バーストパケット量記憶部７０に現在のバーストパケット量NOWCNTが読み込まれると、判定回路７８は、現在バーストパケット量記憶部７０に記憶された現在のバーストパケット量NOWCNTと、帯域監視テーブルTBLから許容パケット量記憶部７４に読み込まれた許容パケット量THRとを対比して、現在のバーストパケット量NOWCNTが、許容パケット量THRに収まるかを判定する（ステップＳ２８）。判定回路７８は、現在のバーストパケット量NOWCNTが、許容パケット量THRよりも少ない場合に、帯域を遵守していると判断する（ステップＳ３０）。これに対して、現在のバーストパケット量NOWCNTが、許容パケット量THRよりも多ければ、判定回路７８は、帯域違反であると判断し（ステップＳ３２）、受信したパケットを破棄するよう、パケット受信回路１２に指示する。この指示を受けたパケット受信回路１２は、受信したパケットの破棄を行う（ステップＳ３４）。
【００４５】
ステップＳ３０において、帯域を遵守していると判断された場合には、判定回路７８は、パケット長記憶部７２に記憶された受信パケットのパケット長LENを、現在のバーストパケット量NOWCNTに加算し、新たなバーストパケット量CNT2を求める（ステップＳ３６）。一方、ステップＳ３２において、帯域違反と判断された場合には、判定回路７８は、パケット長LENの加算を行うことなく、現在のバーストパケット量NOWCNTを新たなバーストパケット量CNT2として、そのまま適用する（ステップＳ３８）。上述したステップＳ３４において、受信パケットは破棄されるためである。以上の処理によって求められた新たなバーストパケット量CNT2は、更新バーストパケット量記憶部８０に記憶される。
【００４６】
最後に、帯域監視テーブル制御部４２は、更新バーストパケット量記憶部８０に記憶された新たなバーストパケット量CNT2を、帯域監視テーブルTBLにバーストパケット量CNTとして記録し、タイマ値記憶部８２に記憶された現在のタイマ値TNOWを、帯域監視テーブルTBLに最終受信タイマ値TLSTとして記録する（ステップＳ４０）。
【００４７】
以上で説明した本実施例のパケット中継装置１０では、電力制御ユニット２４によって、電力モードが通常モードから省電力モードに移行されると、クロック生成回路２５によって生成される動作クロックが、４００ＭＨｚから２００ＭＨｚに半減する。従って、この動作クロックに基づいて時間が計測されるタイマの値は、通常であれば、その周期が２倍に伸びることになり、例えば、通常モード時に、１タイマ値あたり１０ナノ秒の実時間を要するとすると、省電力モードでは、１タイマ値あたり２０ナノ秒の実時間がかかることになる。そうすると、帯域監視処理において適用される単位時間が変動してしまい、制限レートR、つまり、単位時間当たりに送信可能なパケット量が図８に示すように半減してしまうことになる。
【００４８】
これに対して、本実施例では、タイマ回路６０に、通常用タイマ６２と省電力用タイマ６４とを設け、省電力用タイマ６４は、通常用タイマ６２の半分のクロックサイクル数で、タイマ値をカウントしている。そして、このタイマ回路６０は、電力モードが通常モードのときには、通常用タイマ６２によってカウントされるタイマ値を出力し、省電力モードのときには、省電力用タイマ６４によってカウントされるタイマ値を出力する。そうすると、図５および図６に示すように、タイマ回路６０からは、電力モードにかかわらず、常に、一定間隔でカウントアップされるタイマ値が出力されることになる。この結果、上述した帯域監視処理においても、単位時間が変動することがないので、図９に示すように、制限レートRも電力モードにかかわらず一定に保たれることになる。よって、本実施例のパケット中継装置１０によれば、省電力化を図るために、動作クロックを低減した場合においても、中継可能なパケット量を適切に保つことが可能になる。なお、本実施例では、タイマ回路を２系統設けることになるので、回路規模は増加することになるが、タイマ回路は十から数十程度のフリップフロップ回路を追加するだけで構成することができるため、これによる消費電力の増加は無視し得る程度に過ぎない。
【００４９】
Ｂ．第２実施例：
上述した第１実施例では、帯域違反となった受信パケットを破棄することで、ネットワークに過剰なトラフィックが流れることを抑制している。これに対して、第２実施例では、送信しようとするパケットを所定のバッファにキューイングし、帯域を超過するパケットの送信タイミングを遅延させることで、ネットワークに過剰なトラフィックが流れることを抑制する。一般的に、上述した第１実施例の方式による帯域制限のことを、「ポリシング」といい、以下に説明する第２実施例の方式による帯域制限のことを、「シェーピング」という。
【００５０】
（Ｂ１）第２実施例としてのパケット中継装置の概略構成：
図１０は、第２実施例としてのパケット中継装置１０ｂの概略構成を示す図である。図１と図１０とを比較すれば明らかなように、第１実施例と第２実施例とでは、帯域監視部３２（第２実施例では、帯域監視部３２ｂ）が、第１実施例では、中継制御部１４に備えられているのに対して、第２実施例では、パケット送信回路１８ｂに備えられている点が異なる。なお、第１実施例と第２実施例とで同じ部品には、同じ符号を付して説明する。
【００５１】
（Ｂ２）パケット送信回路の詳細な構成：
図１１は、第２実施例のパケット送信回路１８ｂの詳細な構成を示す図である。図示するように、本実施例のパケット送信回路１８ｂは、帯域監視部３２ｂと物理層回路１１０とを備えている。物理層回路１１０は、帯域監視部３２ｂから受信したパケットを電気信号として出力回線から出力するための回路である。
【００５２】
本実施例の帯域監視部３２ｂは、パケット中継回路１６が出力したパケットを受信する受信インタフェース１１２と、第１実施例と同様に構成されたタイマ回路６０と、パケットの送信を遅延させる時間（タイマ値）を計算する遅延タイマ値計算回路１１４と、受信インタフェース１１２が受信したパケットのキューイング先を判定するキューイング先判定回路１１８と、キューイング先毎にパケットがキューイングされるパケットバッファ１２０と、パケットバッファ１２０に対するパケットの入出力を管理するパケットバッファ管理回路１２２と、キューテーブルTBLbに記録された種々の情報とタイマ回路６０から出力された現在のタイマ値とに基づいて、どのキューからパケットを送信するかを判定する送信判定回路１１６と、パケットバッファ１２０から出力されたパケットを、物理層回路１１０を介して外部に送信する送信インタフェース１２４とを備えている。
【００５３】
キューイング先判定回路１１８は、受信インタフェース１１２が受信したパケットのヘッダ情報に基づいてパケットのキューイング先を判定する。本実施例では、パケットバッファ１２０には、フロー毎にキューが用意されており、キューイング先判定回路１１８は、受信したパケットのヘッダ情報に基づき、そのパケットのフローを検出してキューイング先を判定することとする。本実施例では、このように、パケットのフロー毎にキューを有することとしたが、パケットのヘッダ情報に記録されたＶＬＡＮ  ＩＤや宛先ＩＰアドレス、宛先ＭＡＣアドレス、あるいは、出力回線毎にキューが用意されていてもよい。
【００５４】
パケットバッファ管理回路１２２は、キューイング先判定回路１１８が判定したキューイング先毎に、パケットをパケットバッファ１２０中の該当キューの末尾に書き込む。また、パケットバッファ管理回路１２２は、送信判定回路１１６によってパケットを送信すると判定された場合に、送信対象のキューの先頭にある送信待ちパケットをパケットバッファ１２０から読み出して、送信インタフェース１２４を介して出力する。
【００５５】
遅延タイマ値計算回路１１４は、キューテーブルTBLbに設定されている制限レートRbと、受信したパケットのパケット長LENとに基づいて、そのパケットの送信を遅延させる時間（遅延タイマ値DT）を計算する。遅延タイマ値DTの具体的な計算方法は後述する。
【００５６】
図１２は、キューテーブルTBLbの構成を示す図である。図示するように、キューテーブルTBLbには、キュー毎に個別に割り当てられたキュー番号と、制限レートRbと、最終送信タイマ値TLSTbと、遅延タイマ値DTとが記録されている。制限レートRbは、そのキューから単位時間当たりに送信可能なパケットのビット数を示す。この制限レートRbは、レジスタ回路２２を介して、管理端末２０からキュー毎に設定される。最終送信タイマ値TLSTbは、そのキューからパケットを最後に送信したタイマの値を示す。遅延タイマ値DTは、そのキューからのパケットの送信を遅延させる時間（タイマ値）を示す。
【００５７】
送信判定回路１１６は、キューテーブルTBLbに記録された最終送信タイマ値TLSTbおよび遅延タイマ値DTと、タイマ回路６０から出力された現在のタイマ値TNOWとを比較することで、パケットバッファ１２０からパケットを送信するキューを判定する。パケットを送信するキューの具体的な判定方法は後述する。
【００５８】
（Ｂ３）帯域監視処理：
続いて、第２実施例のパケット中継装置１０ｂが実行する帯域監視処理の詳細について説明する。
図１３は、第２実施例における帯域監視処理のフローチャートである。図示するように、帯域監視部３２ｂは、まず、タイマ回路６０が出力するタイマ値に基づいて、現在のタイマ値が基準タイマ値に達したかを判断する（ステップＳ１００）。基準タイマ値とは、帯域監視部３２ｂがこの帯域監視処理を実行する単位時間である。基準タイマ値は、パケット中継装置１０ｂが送受信するパケットの基準バイト数と、帯域監視部３２ｂがパケットを送信可能な最大帯域とに基づいて、以下の式（１）によって算出することができる。
【００５９】
基準タイマ値［ｓ］＝基準バイト数＊８［ｂｉｔ］／最大帯域［ｂｐｓ］  ・・・（１）
（なお、本実施例では、［ｓ］は秒ではなくタイマ値を示す）
【００６０】
ステップＳ１００において、現在のタイマ値が基準タイマ値に達したと判断された場合には、受信処理（ステップＳ２００）および送信処理（ステップＳ３００）を実行する。現在のタイマ値が基準タイマ値に達していないと判断された場合には、ステップＳ１００の処理をループする。つまり、本実施例では、上述した基準タイマ値ごとに、ステップＳ２００の受信処理とステップＳ３００の送信処理とが繰り返し実行されることになる。
【００６１】
図１４は、受信処理の詳細なフローチャートである。この受信処理の実行が開始されると、まず、受信インタフェース１１２によってパケットが受信されたかが判断され（ステップＳ２０２）、受信インタフェース１１２がパケットを受信した場合には、キューイング先判定回路１１８によって、そのパケットのキューイング先が判定される（ステップＳ２０４）。受信インタフェース１１２がパケットを受信しなかった場合には、後述する送信処理に処理が移行される。
【００６２】
ステップＳ２０４においてキューイング先が判定されると、パケットバッファ管理回路１２２によって、パケットバッファ１２０が参照され、そのキューイング先に該当するキューにパケットが蓄積されているかが判断される（ステップＳ２０６）。該当キューにパケットが蓄積されていない場合には、遅延タイマ値計算回路１１４によって、そのキューからパケットの送信を遅延させる時間（遅延タイマ値DT）が計算される（ステップＳ２０８）。本実施例では、受信インタフェース１１２が受信したパケットのパケット長LENをそのキューの制限レートRbで割ることで遅延タイマ値DTを計算する。この遅延タイマ値DTは、以下の式（２）で表すことができる。この式（２）によれば、遅延タイマ値DTは、そのパケットを次の機会に送信することができる最も早い時間を示すことになる。
【００６３】
ＤＴ＝ＬＥＮ／Ｒｂ  ・・・（２）
【００６４】
ステップＳ２０８において遅延タイマ値DTが計算されると、遅延タイマ値計算回路１１４によって、その値が、キューテーブルTBLb内の該当キューのエントリに記録される（ステップＳ２１０）。そして、パケットバッファ１２０内の該当キューの末尾に、受信されたパケットがパケットバッファ管理回路１２２によって蓄積される（ステップＳ２１２）。なお、ステップＳ２０６において、該当キューにパケットが蓄積されていると判断された場合には、遅延タイマ値DTは計算されずに、受信されたパケットがパケットバッファ１２０内の該当キューの末尾にそのまま蓄積される。既にパケットが蓄積されている場合には、前回の帯域監視処理において、遅延タイマ値DTは既に算出済みであり、キューテーブルTBLbにその遅延タイマ値DTが記録されているからである。以上で説明した受信処理が完了すると、引き続いて送信処理が実行される。
【００６５】
図１５は、送信処理の詳細なフローチャートである。この送信処理の実行が開始されると、まず、送信判定回路１１６によって、タイマ回路６０から出力された現在のタイマ値TNOWと、各キューの送信予定タイマ値とが比較される（ステップＳ３０２）。送信予定タイマ値は、キューテーブルTBLbに記録された各キューの遅延タイマ値DTと最終送信タイマ値TLSTbとの和によって表される。
【００６６】
現在のタイマ値TNOWと送信予定タイマ値とが一致するか、もしくは、現在のタイマ値が送信予定タイマ値を超えるという条件を満たすキューが存在する場合には、そのキューは、パケットを送信する対象の候補となる（以下、「送信対象キュー」という）。送信判定回路１１６は、上述した条件に基づいて、送信対象キューが存在するかどうかを判断する（ステップＳ３０４）。送信対象キューが存在しないと判断された場合には、当該送信処理は終了する。
【００６７】
送信対象キューが存在すると判断された場合には、送信判定回路１１６は、それらの送信対象キューのうち、最も送信予定タイマ値の早いキューを特定する（ステップＳ３０６）。そして、最も送信予定タイマ値の早いキューが特定されると、パケットバッファ管理回路１２２によって、そのキューから、パケットの送信が行われる（ステップＳ３０８）。パケットの送信が行われると、送信判定回路１１６は、キューテーブルTBLb内の該当キューの最終送信タイマ値TLSTbを現在のタイマ値TNOWに更新する（ステップＳ３１０）。
【００６８】
ステップＳ３１０において、最終送信タイマ値TLSTbの更新が行われると、続いて、パケットバッファ管理回路１２２によって、ステップＳ３０６で特定されたキューに、次の蓄積パケットがあるかが判断される（ステップＳ３１２）。次の蓄積パケットがなければ、当該送信処理は終了する。一方、次の蓄積パケットが存在していれば、遅延タイマ値計算回路１１４によって、そのキューについての新たな遅延タイマ値DTが計算される（ステップＳ３１４）。この遅延タイマ値DTは、上述した受信処理のステップＳ２０８と同様に、蓄積されているパケットのパケット長LENを、そのキューの制限レートRbで割った値となる。こうして新たな遅延タイマ値DTが計算されると、その値が、遅延タイマ値計算回路１１４によって、キューテーブルTBLbの該当キューのエントリに書き込まれる（ステップＳ３１６）。以上で説明した一連の処理により、第２実施例における帯域監視処理は終了する。
【００６９】
以上で説明した第２実施例のパケット中継装置１０ｂでは、上記式（２）に示すように、パケットバッファ１２０にキューイングされるパケットのパケット長LENと各キューの制限レートRbとに応じて、そのパケットの送信を遅延させる時間（遅延タイマ値DT）を調整している。式（２）によれば、制限レートRbに対してパケット長LENが長くなる程、遅延タイマ値DTが大きくなることになる。つまり、本実施例では、帯域を超過するパケットの送信をより遅延させることで、帯域の制限を行っている。
【００７０】
本実施例においても、帯域監視部３２ｂが有するタイマ回路６０は、第１実施例と同様に構成されている。そのため、タイマ回路６０から出力されるタイマ値は、電力モードにかかわらず、常に一定間隔でカウントアップされることになる。従って、上述した遅延タイマ値DTの算出元となる制限レートRbの値は、電力モードに応じて変動することがない。この結果、図９に示したように、本実施例においても、第１実施例と同様に、一定の制限レートでパケットの送信を行うことが可能になる。
【００７１】
Ｃ．変形例：
以上、本発明の実施例をいくつか説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ハードウェアによって実現した機能は、ソフトウェアによって実現するものとしてもよいし、その逆も可能である。そのほか、以下に示す種々の変形が可能である。
【００７２】
（Ｃ１）変形例１：
上述した第１実施例では、電力モードが省電力モードに移行した場合には、省電力用タイマ６４から出力されるタイマ値に基づいて全てのフローの帯域監視処理が行われる。これに対して、帯域監視処理に用いるタイマ値を、フロー毎に選択可能としてもよい。
【００７３】
具体的には、図１６に示すように、帯域監視テーブルTBLの各エントリに対して、タイマ選択用のフラグ（以下、「タイマ選択フラグ」という）を記録する項目を加える。そしてこのタイマ選択フラグが「０」の場合には、省電力モード移行時に、省電力用タイマから出力されたタイマ値に基づいて、そのフローについての帯域監視処理を行う。一方、タイマ選択フラグが「１」の場合には、省電力モード移行時に、通常用タイマから出力されたタイマ値に基づいて、そのフローについての帯域監視処理を行う。つまり、タイマ選択フラグが「０」に設定されたフローは、図９に示したように、電力モードが省電力モードに移行しても、制限レートは変動しないが、タイマ選択フラグが「１」に設定されたフローは、図８に示したように、省電力モードに電力モードが移行すると、制限レートが通常よりも半減することになる。
【００７４】
このように、パケットのフローごとに、使用するタイマを選択可能とすれば、例えば、あるフローについては、タイマ選択フラグを「０」とすることで、常に２００Ｍｂｐｓで帯域を監視し、他のフローについては、タイマ選択フラグを「１」とすることで、通常モード時には２００Ｍｂｐｓで帯域を監視し、省電力モード時には１００Ｍｂｐｓで帯域を監視するといった制御を行うことが可能である。つまり、本変形例によれば、省電力モード時においても、一定の帯域を保証する優先ユーザと、省電力モード時には、帯域が低下するが低コストで帯域を提供する非優先ユーザとにユーザを分けることができるので、ユーザをクラス分けした帯域保証サービスを提供することが可能になる。なお、各フローに対するタイマ選択フラグの設定は、レジスタ回路２２を介して、管理端末２０によって行うことが可能である。
【００７５】
なお、フロー毎に使用するタイマを切り換える考え方は、そのまま第２実施例にも適用可能である。具体的には、図１７に示すように、キューテーブルTBLbに対して、タイマ選択フラグを記録する項目を加える。こうすることで、キュー毎に、帯域を常に一定保つか、省電力モード移行時に帯域を半減させるかを選択することが可能になる。
【００７６】
（Ｃ２）変形例２：
上述した第１実施例および第２実施例では、タイマ回路を２系統用意することで、省電力モード移行時における帯域の変動を抑制している。これに対して、タイマは、通常用タイマ６２だけ備えることとし、通常の制限レートRの値が記録された通常用帯域監視テーブルと、２倍の制限レートRが記録された省電力用帯域監視テーブルとの２種類の帯域監視テーブルを用意することとしてもよい。このように２種類のテーブルを用意すれば、電力モードに応じて、利用するテーブルを選択することにより、上述した第１実施例や第２実施例と同様に、帯域を一定に保つことが可能になる。図１８には、通常用帯域監視テーブルと省電力用帯域監視テーブルとを備える帯域監視部の構成例を示した。
【００７７】
（Ｃ３）変形例３：
上述した第１実施例において、電力モードを通常モードから省電力モードに切り換えた直後の帯域監視処理のステップＳ１８では（図７参照）、最終受信タイマ値TLSTの値を、２倍に読み替える処理を行うこととしてもよい。こうすることで、モード切換前後のタイマ値を同一の時間軸に調整することができるので、前回パケット受信時からの経過時間ΔTを正確に計算することが可能になる。この結果、電力モードを移行した瞬間に、帯域に揺らぎが生じてしまうことを抑制することが可能になる。また、第２実施例においても、同様の理由から、電力モードを通常モードから省電力モードに切り換えた直後の帯域監視処理のステップＳ３０２において（図１５参照）、最終送信タイマ値TLSTbおよび遅延タイマ値TDをそのときにだけ、２倍に読み替える処理を行うこととしてもよい。
【００７８】
（Ｃ４）変形例４：
上述した第１実施例および第２実施例では、省電力モード時には、クロック生成回路２５で生成されるクロック信号の周波数を通常モード時よりも半減することとした。しかし、省電力モード時における動作クロックの周波数はこれに限られない。例えば、通常モード時の１／３や１／４などの周波数とすることも可能である。このような場合には、省電力用タイマ６４は、通常用タイマ６２の１／３や１／４の周期でタイマ値をカウントアップすればよい。つまり、クロック生成回路２５で生成されるクロック信号の周波数を１／ｎにした場合には、省電力用タイマ６４は、通常用タイマ６２がタイマ値をカウントアップするクロックサイクル数の１／ｎのクロックサイクル数でタイマ値をカウントアップすれば、上述した実施例のように、制限レートを一定に保つことができる。ただし、ｎは１を超える実数である。なお、クロック信号の周波数を１／ｎにした場合に、省電力用タイマ６４が、通常用タイマ６２がタイマ値をカウントアップするクロックサイクル数の１／ｍのクロックサイクル数でタイマ値をカウントアップすれば（ｍはｎを超える実数）、省電力モード時の制限レートを、通常モード時の制限レートよりも低減することが可能になる。
【図面の簡単な説明】
【００７９】
【図１】第１実施例としてのパケット中継装置１０の概略構成を示す図である。
【図２】帯域監視処理の概念を示す模式図である。
【図３】帯域監視部３２の詳細な構成を示す図である。
【図４】帯域監視テーブルTBLの構成を示す図である。
【図５】通常モードにおいてタイマ回路６０から出力されるタイマ値の状態を示すタイミングチャートである。
【図６】省電力モードにおいてタイマ回路６０から出力されるタイマ値の状態を示すタイミングチャートである。
【図７】帯域監視処理のフローチャートである。
【図８】省電力モード移行時において制限レートが半減する様子を示す図である。
【図９】電力モードにかかわらず制限レートが一定に保たれる様子を示す図である。
【図１０】第２実施例としてのパケット中継装置１０ｂの概略構成を示す図である。
【図１１】第２実施例のパケット送信回路１８ｂの詳細な構成を示す図である。
【図１２】キューテーブルTBLbの構成を示す図である。
【図１３】第２実施例における帯域監視処理のフローチャートである。
【図１４】受信処理の詳細なフローチャートである。
【図１５】送信処理の詳細なフローチャートである。
【図１６】帯域監視テーブルTBLの変形例を示す図である。
【図１７】キューテーブルTBLbの変形例を示す図である。
【図１８】２種類の帯域監視テーブルを備える帯域監視部の構成を示す図である。
【符号の説明】
【００８０】
１０，１０ｂ…パケット中継装置
１２…パケット受信回路
１４…中継制御部
１６…パケット中継回路
１８，１８ｂ…パケット送信回路
２０…管理端末
２２…レジスタ回路
２４…電力制御ユニット
２５…クロック生成回路
２６…ＣＰＵ
２８…ＲＯＭ
３０…ＲＡＭ
３１…リアルタイムクロック
３２，３２ｂ…帯域監視部
３４…フロー検出部
３６…経路検索部
４２…帯域監視テーブル制御部
４４…パケット量判定部
４６…監視結果判定部
５０…制限レート記憶部
５２…最終受信タイマ値記憶部
５４…バーストパケット量記憶部
５６…バーストパケット量算出回路
６０…タイマ回路
６２…通常用タイマ
６４…省電力用タイマ
６６…セレクタ回路
７０…現在バーストパケット量記憶部
７２…パケット長記憶部
７４…許容パケット量記憶部
７８…判定回路
８０…更新バーストパケット量記憶部
８２…タイマ値記憶部
１１０…物理層回路
１１２…受信インタフェース
１１４…遅延タイマ値計算回路
１１６…送信判定回路
１１８…キューイング先判定回路
１２０…パケットバッファ
１２２…パケットバッファ管理回路
１２４…送信インタフェース
【図１】
2010093410.tif 000003
【図２】
2010093410.tif 000004
【図３】
2010093410.tif 000005
【図４】
2010093410.tif 000006
【図５】
2010093410.tif 000007
【図６】
2010093410.tif 000008
【図７】
2010093410.tif 000009
【図８】
2010093410.tif 000010
【図９】
2010093410.tif 000011
【図１０】
2010093410.tif 000012
【図１１】
2010093410.tif 000013
【図１２】
2010093410.tif 000014
【図１３】
2010093410.tif 000015
【図１４】
2010093410.tif 000016
【図１５】
2010093410.tif 000017
【図１６】
2010093410.tif 000018
【図１７】
2010093410.tif 000019
【図１８】
2010093410.tif 000020