(57)【要約】【課題】通信装置で消費される電力を削減するための方法と、消費電力が削減された通信装置を提供する。【解決手段】  ある実施形態に係る通信装置は、パケット振り分け部、パケットの処理量が異なる複数の処理回路、選択部を備える。パケット振り分け部は、受信したパケットをパケットの種類を表すパケット種別に応じて振り分ける。選択部は、振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が過去の通信量以上の処理回路のうち、パケットの処理量が相対的に小さい処理回路を、複数の処理回路から選択する。さらに、選択部は、選択した処理回路に振り分けられたパケットを出力する。【選択図】図２
2011097319.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットを前記パケットの種類を表すパケット種別に応じて振り分けるパケット振り分け部と、
前記パケットの処理量が異なる複数の処理回路と、
前記振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が前記過去の通信量以上の処理回路のうち、前記パケットの処理量が相対的に小さい処理回路を前記複数の処理回路から選択し、前記選択した処理回路に前記振り分けられたパケットを出力する選択部
を備えることを特徴とする通信装置。
【請求項２】
前記パケットが受信された時刻についての時刻情報を管理する時刻情報管理部をさらに備え、
前記時刻情報管理部は、前記選択部に前記振り分けられたパケットが受信された時刻を通知し、
前記選択部は、通知された時刻情報に対応する前記過去の通信量に基づいて前記複数の処理回路から前記振り分けられたパケットの処理に用いる処理回路を選択する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記複数の処理回路のうち前記選択部に選択された処理回路に、前記選択された処理回路の動作に用いられるクロックを提供するクロック部をさらに備え、
前記選択部は、前記クロック部に前記選択された処理回路を通知する
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記選択部から一定時間内に入力されたデータ量について、前記選択された処理回路が前記一定時間内に処理するデータ量に占める割合を算出し、前記割合が前記処理回路について予め定められた許容範囲に含まれた値であるかを判断する処理割合算出部をさらに備え、
前記処理割合算出部は、前記割合が前記許容範囲を超えている場合、前記割合が前記許容範囲に含まれる値より大きいことを表す通知を出力し、前記割合が前記許容範囲に満たない場合、前記割合が前記許容範囲に含まれる値より小さいことを表す通知を出力し、
前記選択部は、前記通知に基づいて前記一定時間内に処理するデータ量が前記選択された処理回路よりも大きい処理回路もしくは前記一定時間内に処理するデータ量が前記選択された処理回路よりも小さい処理回路に前記振り分けられたパケットを出力する
ことを特徴とする請求項１から３のいずれか一項に記載の通信装置。
【請求項５】
受信したパケットを、前記パケットの種類を表すパケット種別に応じて振り分け、
前記振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が前記過去の通信量以上の処理回路のうち、前記パケットの処理量が相対的に小さい処理回路を複数の処理回路から選択し、
前記選択した処理回路に前記振り分けられたパケットを出力する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを処理する通信装置および通信方法に関わる。
【背景技術】
【０００２】
近年のインターネットの普及により、通信装置の需要が増大するとともに、通信により消費される電力も増大している。通信による消費電力の増加は著しく、２０２０年には、世界の通信装置で消費される電力は世界で消費される電力の２０％を超える可能性があるという試算結果が得られている。そこで、エネルギー需要量の抑制やエネルギー確保に起因する環境破壊の防止を目的として、例えば、通信装置に組み込むデバイスの使用電力を低くすることにより、通信装置の消費電力を抑制しようとする試みが行われてきている。
【０００３】
また、関連する技術として、図１に示す装置のように、過去の通信量の情報をデータベースに保持し、その情報を基に予測した将来の消費電力で動作する装置も知られている。図１に示すネットワーク間接続装置１０１は、通信量を検出する通信量検出部１０７、データの中継を行う中継処理部１０６、過去の通信量を保持する過去情報データベース１０４、過去の通信量を基に電力消費を制御する省電力制御部１０３から構成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２０５６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述のネットワーク間接続装置では、検出部が検出した通信量を保持し、過去の通信量を基に電力消費を制御している。しかし、過去の通信量の変化に基づいて未来の通信量を予測することは容易ではないため、予測された通信量が現実の通信量と乖離することが多く十分に消費電力を削減できない。また、通信装置に組み込むデバイスの使用電力を低くしても、消費電力の削減は十分ではない。
【０００６】
本発明は、通信装置で消費される電力を削減するための方法と、消費電力が削減された通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のある実施形態に係る通信装置は、パケット振り分け部、パケットの処理量が異なる複数の処理回路、選択部を備える。パケット振り分け部は、受信したパケットを前記パケットの種類を表すパケット種別に応じて振り分ける。選択部は、前記振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が前記過去の通信量以上の処理回路のうち、前記パケットの処理量が相対的に小さい処理回路を、前記複数の処理回路から選択する。さらに、選択部は、選択した処理回路に前記振り分けられたパケットを出力する。
【発明の効果】
【０００８】
通信装置で消費される電力を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】ネットワーク間接続装置の構成を示す図である。
【図２】第１の実施形態に係る通信装置の構成の一例を示す図である。
【図３】トラフィックデータの例を示す図である。
【図４】トラフィックの変動の予測例を示す図である。
【図５】パケットの処理に用いられる回路とトラフィックの関係の例を示す図である。
【図６】第２の実施形態に係る通信装置の一部分の構成例を示す図である。
【図７】クロック制御部から出力されるクロックのタイミングを示すタイミングチャートの一例である。
【図８】第３の実施形態に係る通信装置の一部分の構成例を示す図である。
【図９】第３の実施形態でのスケジューラの動作の一例を示すフローチャートである。
【図１０】第３の実施形態で行われるフィードバック処理を説明する図である。
【発明を実施するための形態】
【００１０】
以下、実施形態について、図面を参照しながら詳細に説明する。
＜第１の実施形態＞
図２は、第１の実施形態に係る通信装置１０の構成の一例を示す図である。通信装置１０は、パケット振り分け部１１、スケジューラ１２、トラフィックデータ１３、セレクタ１４、高速回路１５、中速回路１６、低速回路１７、出力部１８、および、時刻情報管理部１９を備える。
【００１１】
パケット振り分け部１１は、通信装置１０が受信したパケットを予め決められた方法に従って複数のスケジューラ１２のいずれかに振り分ける。図２に示す例では、通信装置１０が受信したパケットを、パケットの種類に応じて、音声データのパケット、動画データのパケット、その他のデータのパケットの３種類に分類してスケジューラ１２ａ〜１２ｃに振り分けている。ここで、入力されたパケットがＩＰパケットである場合、パケット振り分け部１１は、そのパケットのType of Service（ＴＯＳ）フィールドを参照してパケット種別を振り分けることができる。つまり、予め、データの種類に応じてＴＯＳフィールドのPrecedence値が設定されている場合、パケット振り分け部１１は、Precedence値に応じてパケットを振り分けることができる。例えば、パケット振り分け部１１は、Precedence値が５であるパケットを音声パケット、４であるパケットを動画パケット、３であるパケットは一般的なデータのパケットとして振り分ける。なお、パケット振り分け部１１の振り分け方法は、入力されるパケットの種類によって変更することができる。例えば、イーサネットフレームが入力された場合は、Media Access Control（ＭＡＣ）ヘッダのClass of Service（ＣＯＳ）フィールド等を参照することにより、パケットを種別ごとに振り分ける。
【００１２】
以下の説明では、図２に示すようにパケットが３種類に振り分けられる場合について説明するが、いずれの実施形態においても、パケットの振り分け方やパケットを振り分ける種類の数は、実装に応じて任意に変更することができる。例えば、Transmission Control Protocol（ＴＣＰ）パケットのような再送アルゴリズムのあるパケットと、User Datagram Protocol（ＵＤＰ）パケットのような再送アルゴリズムのないパケットの２種類に振り分けることもできる。
【００１３】
スケジューラ１２は、時刻情報管理部１９から得られた時刻情報とトラフィックデータ１３に基づいて、パケット振り分け部１１から入力されたパケットを処理する処理回路を選択する。すなわち、スケジューラ１２は、パケットを処理する回路を選択する選択部として動作する。図２の例では、各々のスケジューラ１２（１２ａ〜１２ｃ）は、高速回路１５（１５ａ〜１５ｃ）、中速回路１６（１６ａ〜１６ｃ）、低速回路１７（１７ａ〜１７ｃ）からパケットを処理する回路を選択する。なお、スケジューラ１２が選択できる回路の数は、実装に応じて任意に変更することができる。スケジューラ１２が回路を選択する方法については後述する。
【００１４】
トラフィックデータ１３は、単位時間当たりにスケジューラ１２に入力されたデータ量を、時刻の関数としてパケットの種類ごとに記録したデータである。トラフィックデータ１３は、メモリ（図示せず）に格納されている。また、オペレータが、媒体に記録されたトラフィックデータ１３を通信装置１０に読み込ませることもできる。トラフィックデータ１３は、後述するように、スケジューラ１２によって、通信量の予測値として用いられる。なお、以下の記載では、ある通信装置が単位時間当たりに送受信するデータ量のことを「通信量」もしくは「トラフィック」と記載することがある。すなわち、情報の転送レートを表す語として「通信量」や「トラフィック」などを用いる。トラフィックデータ１３は、トラフィックを時刻の関数として記録したデータであり、トラフィックの経時変化を表しているともいえる。
【００１５】
トラフィックデータ１３は、音声パケットや動画パケットなどのパケットの種別ごとに１種類ずつ生成することもできるが、曜日や日付によって異なったものとすることもできる。曜日や日付と対応付けられたトラフィックデータ１３を有する場合は、例えば、月曜、金曜、月末は報告のための電話やテレビ会議が多い傾向になる等、曜日や日付に応じたトラフィックのパターンを反映することができる。
【００１６】
図３に音声パケットのトラフィックデータ１３ａの例を示す。図３（ａ）の例では、音声パケットのトラフィックを１日にｎ回測定した結果が、曜日ごとに、時刻の関数として記録されている。トラフィックデータ１３は、月曜日から日曜日のトラフィックが記録されているが、７日間以上のデータを用いて生成することができる。例えば、月曜日から水曜日についてそれぞれ２日、木曜日から日曜日までについて１日ずつの合計１０日間のトラフィックが測定された場合には、月曜日から水曜日については、同時刻に測定されたトラフィックの平均値をトラフィックデータ１３として記録することができる。従って、トラフィックデータ１３を生成するためのトラフィックを測定する日数は、任意とすることができる。予測の精度を上げるために、トラフィックを測定する日数を増やし、それぞれの曜日の測定時点となっている各時刻について複数の測定値の平均値をトラフィックデータ１３とすることが望ましい。各時刻について測定されたデータ数が多い場合、トラフィックデータ１３は平均化された値となる。この場合には、突発的なトラフィックの変動等による異常値の影響を小さくすることができるため、トラフィックデータ１３に基づいて予測されたトラフィックの信頼性を向上することができる。図３（ｂ）は、トラフィックデータ１３の変形例である。図３（ｂ）の例では、トラフィックデータ１３は、日付ごとに、時刻の関数として記録されている。図３（ａ）と図３（ｂ）のいずれに示したトラフィックデータ１３を用いても、スケジューラ１２は、時刻情報管理部１９から得られた時刻情報に対応するトラフィックデータ１３を、トラフィックの予測値とすることができる。
【００１７】
動画パケットのトラフィックデータ１３ｂやその他のデータのパケットのトラフィックデータ１３ｃも、音声パケットのトラフィックデータ１３ａと同様に生成され、トラフィックの予測値として用いられる。
【００１８】
なお、図３（ａ）と図３（ｂ）では、トラフィックの単位をｂｐｓ（bit per second）としているが、これは一例である。トラフィックデータ１３に記録されるトラフィックの単位は、情報の転送効率を表す任意の単位にでき、例えば、バイト毎秒、キロビット毎秒など、実装に応じて変更することができる。
【００１９】
セレクタ１４（１４ａ〜１４ｃ）は、スケジューラ１２の選択した処理回路にパケットを出力する。セレクタ１４には複数の処理回路が接続されている。図２の例では、高速回路１５、中速回路１６、低速回路１７が接続されている。これらの処理回路は、いずれも通信装置１０が受信したパケットを処理する回路である。なお、これらの処理回路は、任意の種類の回路とすることができる。例えば、ヘッダ変換や宛て先の決定、ＣＰＵやその他のネットワークプロセッサ等へのパケットの振り分け、パケットバッファリング、マーキング、優先制御や帯域制御等を行う回路とすることができる。
【００２０】
一定時間あたりに処理できるデータ量は高速回路１５が最も大きく、中速回路１６、低速回路１７の順に小さくなる。また、処理速度も、高速回路１５が最も大きく、中速回路１６、低速回路１７の順に処理速度が小さくなる。処理回路の構成は、実装に応じて任意に設計することができるが、高速回路１５、中速回路１６、低速回路１７の一例を述べる。高速回路１５は、中速回路１６等に比べて加算器や乗算器を多く含み、データビット幅を大きくした回路とすることができる。さらに、中速回路１６などと比べて動作クロックを高速化しており、回路規模が大きく一定時間内に処理するデータ量が多いが、消費電力も大きな回路である。一方、低速回路１７は、例えば、通常ロジックで構成されていて、中速回路１６に比べてデータビット幅が小さく、クロックも低速化した回路とすることができる。低速回路１７は、回路規模が小さく、一定時間内に処理するデータ量も中速回路１６と比べて少ないが、消費電力は小さい。中速回路１６の回路規模は、高速回路１５よりも小さいが低速回路１７よりも大きい。中速回路１６の処理速度は、高速回路１５より低く低速回路１７より高いが、消費電力は、低速回路１７より大きく高速回路１５より小さい。以下の説明では、通信装置１０は、パケットの種類別に、高速回路１５、中速回路１６、および低速回路１７を備えているものとする。高速回路１５、中速回路１６、低速回路１７は、パケットを処理すると出力部１８に出力し、出力部１８は、入力されたパケットを処理して他の通信装置などに送信する。
【００２１】
時刻情報管理部１９は、通信装置１０がパケットを受信した時刻や日付、曜日などの時刻情報を管理し、適宜、スケジューラ１２に通知する。スケジューラ１２は、時刻情報管理部１９から通知された時刻情報に対応するトラフィックデータ１３を参照することにより、パケットを出力する処理回路を選択する。
【００２２】
図４は、トラフィックの変動の予測例を示す図である。以下、図４を参照しながら、スケジューラ１２が図３（ａ）のトラフィックデータ１３を用いて処理回路を選択する方法について説明する。図４は、音声パケットについてのトラフィックデータ１３ａを時刻の関数として表した図の例である。スケジューラ１２は、時刻情報管理部１９から時刻情報を受け取り、時刻情報に応じたトラフィックデータ１３を各時刻に対してのトラフィックの予測量とする。例えば、スケジューラ１２ａは時刻情報管理部１９から「月曜日の時刻Ｔ１」であることを通知されたとする。すると、スケジューラ１２ａは、図３（ａ）を参照し、時刻Ｔ１から一定の時間範囲にある時刻のトラフィックを読み込んで予測値とする。ここでは、スケジューラ１２ａは、音声データについての月曜日のトラフィックは、時刻Ｔ１はＡ（ｂｐｓ）、時刻Ｔ２はＢ（ｂｐｓ）、時刻Ｔ３はＣ（ｂｐｓ）となると予測する。
【００２３】
スケジューラ１２ａは、図４のようなトラフィックの変動の予測を得ると、処理回路の選択に用いる閾値とトラフィックの予測値を比較する。以下の説明では、処理回路の選択に用いる閾値としてスケジューラ１２ａは、それぞれ、第１の切り替え閾値（Ｔｈ１）と第２の切り替え閾値（Ｔｈ２）の２つの閾値を記憶しているか、適宜、メモリから読み出すものとする。スケジューラ１２ａは、トラフィックデータ１３に記録されたトラフィックの値がＴｈ１より小さい場合は、パケットを低速回路１７に割り当てる。一方、トラフィックデータ１３に記録されたトラフィックの値がＴｈ２以上の場合、スケジューラ１２ａは、高速回路１５にパケットを割り当てる。トラフィックがＴｈ１以上であって、さらにＴｈ２未満の場合、スケジューラ１２ａは、パケットを中速回路１６に割り当てる。従って、スケジューラ１２ａは、時刻ａまでと時刻ｄ以降は低速回路１７、時刻ａから時刻ｂまでの間と時刻ｃから時刻ｄまでの間は中速回路１６、時刻ｂから時刻ｃまでは高速回路１５を、パケットを処理する処理回路として選択する。なお、通信装置１０に備えられた処理回路の数に応じて閾値の数も変更することができる。
【００２４】
次に、スケジューラ１２は、選択した処理回路が変更される時刻と処理回路の変更内容（回路変更情報）を記録する。この回路変更情報は、スケジューラ１２が記憶することができ、また、適宜、通信装置１０が備えるメモリ（図示せず）に書き込むことができる。例えば、図４の場合、スケジューラ１２ａは、以下のようなテーブルとして回路変更情報を記録することができる。
時刻ａ  ：  低速回路１７ａ  →  中速回路１６ａ
時刻ｂ  ：  中速回路１６ａ  →  高速回路１５ａ
時刻ｃ  ：  高速回路１５ａ  →  中速回路１６ａ
時刻ｄ  ：  中速回路１６ａ  →  低速回路１７ａ
なお、回路変更情報は、例えば、「時刻ｂから時刻ｃ：高速回路１５ａ」のように、時刻と選択される処理回路の対応とすることもできる。
【００２５】
スケジューラ１２は、パケット振り分け部１１からパケットを受信するときに、時刻情報管理部１９から時刻情報も取得する。パケットが入力されると、スケジューラ１２は、回路変更情報を読み出し、回路変更情報と取得した時刻情報に基づいて、入力されたパケットを選択した回路に割り当てる。
【００２６】
ここで、実装に応じて、回路変更情報を作成するときにスケジューラ１２が読み込むトラフィックデータ１３のデータは、時刻情報管理部１９から通知された時刻以降の時刻のデータとすることもできる。この場合、例えば、時刻情報管理部１９から「月曜日の時刻Ｔ１」であることを通知されたスケジューラ１２ａは、図３（ａ）の時刻Ｔ５以降のデータを読み込んで、図４に示すような予想トラフィックを得る。さらに、スケジューラ１２ａは、前述のように、予想トラフィックと第１および第２の閾値を比較して、パケットを割り当てる処理回路を選択し、時刻Ｔ５以降のパケットの処理に用いる回路変更情報を作成する。このように変形すると、パケットの処理に用いる回路変更情報を、パケットの取得に先立って生成することができる。
【００２７】
スケジューラ１２は、処理回路を選択すると、セレクタ１４に選択した回路を通知する。セレクタ１４は、通知された回路にパケットを出力する。出力されていない回路では、パケットの処理による電力の消費が発生しない。
【００２８】
図５は、パケットの処理に用いられる回路とトラフィックの関係を示す図である。図５は、パケットを振り分けて処理した場合に、パケットの振り分けを行わない場合よりも、振り分けられた個々のパケットの処理に用いられる回路の規模を小さくすることができることを示している。図５（ａ）と図５（ｂ）で用いられる高速回路１５は同じ回路であり、中速回路１６、および低速回路１７も同様に、図５（ａ）と図５（ｂ）で同じ回路を用いているものとする。
【００２９】
図５（ａ）は、パケットの振り分けを行わずに装置が受信したパケットを１つの回路で処理した場合に選択される処理回路を示す図である。図５（ａ）のように振り分けを行わない場合は、時刻ｅから時刻ｆにおいて、高速回路１５が用いられる。一方、同じパケットを、音声パケット、動画パケット、および、その他のデータパケットの３つに振り分けて個々に処理回路を選択すると、図５（ｂ）のように、時刻ｅから時刻ｆでも高速回路１５は選択されないことが多い。
【００３０】
例えば、ある時刻ｇから一定時間内に、通信装置１０に入力されるデータ量は、高速回路１５が一定時間内に処理できるデータ量と同じ（１００％）であったとする。図５（ａ）に示すように、振り分けを行わなければ、時刻ｇでは、最速の処理回路である高速回路１５が選択され消費電力が最大となる。一方、１００％のトラフィックからなるパケットを、パケット振り分け部１１で分類すると、音声、動画、その他のデータが、それぞれ高速回路１５が一定時間内に処理できるデータ量の６０％、３０％、１０％であったとする。ここで、第１の切り替え閾値（Ｔｈ１）を高速回路１５が一定時間内に処理できるデータ量の８０％、第２の切り替え閾値（Ｔｈ２）を高速回路１５が一定時間内に処理できるデータ量の３５％であったとする。すると、音声パケットを扱うスケジューラ１２ａは中速回路１６ａ、動画、その他のデータを扱うスケジューラ１２ｂと１２ｃは、それぞれ低速回路１７ｂ、１７ｃを選択する。高速回路１５は、低速回路１７や中速回路１６よりも消費電力が大きいため、複数の低速回路１７や中速回路１６を動作させるときに消費する電力のほうが１つの高速回路１５を動作させるときに消費する電力よりも大きいことがある。従って、パケット振り分け部１１がパケットを振り分けた後に、振り分けられたパケットごとに処理することにより、パケットを振り分けずに処理する場合に比べて通信装置１０の消費電力を小さくすることができる。さらに、パケットを処理する回路としてスケジューラ１２に選択されていない処理回路は、パケットが入力されないため、消費電力を微小な量に抑えることができる。従って、パケット振り分け部１１によってパケット種別に振り分けて、パケット種別に処理することにより、通信装置１０の消費電力を抑えることができる。
【００３１】
消費電力の大小に影響を与える最も大きなパラメータは回路規模である。本実施形態では、パケットが入力されるフリップフロップ回路（ＦＬＩＰ  ＦＬＯＰ）やＡＮＤ回路、ＯＲ回路等の論理回路を多用する等して回路の規模を大きくした高速回路１５から、なるべく回路の規模を小さくした低速回路１７までの間で処理回路が選択される。処理回路の選択により、なるべく小さな回路規模の処理回路でパケットを処理することにより、大きな消費電力削減が期待できる。言い換えると、パケットの処理に用いる回路規模を、トラフィックの予測値に基づいて最適化することにより、通信装置の消費電力を削減することができる。
【００３２】
以上の説明では、パケットの処理量がトラフィックの予測値以上の処理回路のうち、パケットの処理量が最小の処理回路をスケジューラ１２が選択する場合の例について述べたが、スケジューラ１２の動作を変形することもできる。例えば、スケジューラ１２は、トラフィックの予測値よりもパケットの処理量が大きい処理回路のうちで相対的に処理量が小さい回路に、パケットを割り当てることができる。例えば、４つの処理回路に接続されているスケジューラ１２がトラフィックの予測値よりもパケットの処理量が大きい処理回路を３つ認識したとする。このとき、スケジューラ１２は、認識した３つの処理回路のうち処理量が２番目に大きい処理回路にパケットを割り当てることができる。
【００３３】
＜第２の実施形態＞
第１の実施形態では、パケットが入力されない回路にもクロックが提供されているため、電力消費が発生していたが、第２の実施形態に係る通信装置３０は、パケットを入力しない処理回路へのクロック供給を停止して、さらに消費電力を削減することができる。
【００３４】
図６は、第２の実施形態に係る通信装置３０の一部分の構成例を示す図である。図６では、動画パケットを処理する回路を示しているが、音声パケットやその他のデータパケットの処理回路も同様の回路とすることができる。通信装置３０は、パケット振り分け部１１、スケジューラ１２、トラフィックデータ１３、セレクタ１４、高速回路１５、中速回路１６、低速回路１７、出力部１８、時刻情報管理部１９の他に、クロック制御部３１を備える。
【００３５】
図６に示すように、クロック制御部３１は、高速回路１５、中速回路１６、低速回路１７に接続されている。第２の実施形態でも、パケット振り分け部１１、スケジューラ１２、トラフィックデータ１３、セレクタ１４、出力部１８、時刻情報管理部１９の動作は、第１の実施形態で説明した動作と同様である。高速回路１５、中速回路１６、低速回路１７の回路規模や消費電力などは第１の実施形態と同様とすることができる。なお、これらの回路は、後述するようにクロック制御部３１から入力されるクロックが安定するまでの間に入力されたパケットを格納するためのバッファを備えているものとする。
【００３６】
クロック制御部３１は、接続されている高速回路１５、中速回路１６、および低速回路１７に供給するクロックを生成することができる。さらに、スケジューラ１２の通知に応じて、スケジューラ１２が選択した回路にクロックを供給し、その他の回路へのクロックの供給を停止することができる。図６は、中速回路１６ｂが動画パケットを処理する回路に選択されたことが、スケジューラ１２からクロック制御部３１に通知された場合の動作を示す図である。クロック制御部３１は、中速回路１６ｂで用いられるクロックを生成するとともに、中速回路１６ｂにクロックを供給する。また、低速回路１７ｂと高速回路１５ｂにはクロックを供給しない。このため、低速回路１７ｂと高速回路１５ｂでの電力消費を抑えることができる。なお、クロック制御部３１を「クロック部」と記載することがある。
【００３７】
図７は、クロック制御部３１から出力されるクロックのタイミングを示すタイミングチャートの一例である。図７は、スケジューラ１２ｂが低速回路１７ｂをパケットの処理用に選択した後に高速回路１５ｂを選択した場合の、クロック制御部３１がクロックを出力するタイミングの例を示している。
【００３８】
（１）スケジューラ１２ｂは、トラフィックデータ１３ｂを参照して、高速回路１５ｂを次に入力されるパケット４０の処理に用いる回路として選択する。また、スケジューラ１２ｂは、次に入力されるパケット４０の処理に高速回路１５ｂを用いることを、クロック制御部３１へ通知する。
【００３９】
（２）高速回路１５ｂを処理に用いることがスケジューラ１２ｂから通知されると、クロック制御部３１ｂは、低速回路１７ｂへのクロックの出力を停止する。次に、クロック制御部３１は、高速回路１５ｂで用いられるクロックを生成し、高速回路１５ｂへクロックを供給する。
【００４０】
（３）スケジューラ１２ｂは、入力されたパケットを、セレクタ１４ｂを介して、高速回路１５ｂに出力する。
【００４１】
（４）高速回路１５ｂは、入力されたパケット４０をFirst-In First-Out（ＦＩＦＯ）バッファなどのバッファに蓄積する。ここで、パケット４０がバッファに蓄積される時間は、予め、高速回路１５ｂへクロックの入力が開始されてから入力されるクロックが安定するまでの時間より長くなるように設定されている。
【００４２】
（５）高速回路１５ｂに入力されるクロックが安定すると、高速回路１５ｂはパケット４０の処理を行う。
このように、パケットが入力されていない回路のクロックを停止することにより、消費電力をさらに削減することができる。
【００４３】
なお、本実施形態で用いられるスケジューラ１２も、トラフィックの予測値よりもパケットの処理量が大きい処理回路のうちで相対的に処理量が小さい回路にパケットを割り当てることができる。また、スケジューラ１２は、パケットの処理量がトラフィックの予測値以上の処理回路のうち、パケットの処理量が最小の処理回路にパケットを割り当てることもできる。
【００４４】
＜第３の実施形態＞
第３の実施形態では、スケジューラ１２が選択した処理回路が処理するデータ量と、実際に通信装置５０が受信したパケットの量が乖離していたときに、処理に用いる回路を変更することができる実施形態について説明する。
【００４５】
図８は、第３の実施形態に係る通信装置５０の一部分の構成例を示す図である。図８では、動画パケットを処理する回路を示しているが、音声パケットやその他のデータパケットの処理回路も同様の回路とすることができる。
【００４６】
通信装置５０は、処理容量監視部５１、統計部５２、高速回路５３、中速回路５４、低速回路５５を備え、さらにパケット振り分け部１１、スケジューラ１２、トラフィックデータ１３、セレクタ１４、出力部１８、時刻情報管理部１９を備える。第３の実施形態でも、パケット振り分け部１１、スケジューラ１２、トラフィックデータ１３、セレクタ１４、出力部１８、時刻情報管理部１９の動作は、第１の実施形態で説明した動作と同様である。また、スケジューラ１２は、トラフィックの予測値よりもパケットの処理量が大きい処理回路のうちで、相対的に処理量が小さい処理回路、もしくは、パケットの処理量が最小の処理回路にパケットを割り当てることができる。
【００４７】
統計部５２（５２ａ〜５２ｃ）は、処理回路が一定時間に処理しているデータ量について、その処理回路が一定時間に処理できるデータ量に占める割合（負荷率）を算出する。さらに、統計部５２は、それぞれの処理回路に対して設定された低閾値（ＴｈＬ）と高閾値（ＴｈＨ）を記憶している。統計部５２は、負荷率が高閾値を超えると、過剰処理通知を処理容量監視部５１に出力する。一方、負荷率が低閾値よりも小さくなると、統計部５２は、過小処理通知を処理容量監視部５１に出力する。ここで、負荷率は、選択された処理回路が一定時間に処理できるデータ量に対して、その処理回路が処理しているデータ量の占める割合であるため、選択された回路での「処理割合」ということもできる。従って、統計部５２は、処理割合の算出を行っているということもできる。
【００４８】
統計部５２は、処理容量監視部５１に過剰処理通知や過小処理通知を通知するための信号線を備えている。図８の例は、過剰処理通知と過小処理通知を別個の信号線を用いて通知する場合の回路を示しているが、過剰処理通知と過小処理通知を同一の信号線を用いて通知することもできる。また、低速回路５５は、最も処理速度が小さい回路であるため、低速回路５５から出力された過小処理通知に応じて処理回路を変更できない。このため、図８の例では、低速回路５５に備えられた統計部５２ｃは、過小処理通知を通知するための信号線を備えていない。同様に、高速回路５３に備えられている統計部５２ａは、過剰処理通知を通知するための信号を備えていない。
【００４９】
統計部５２が記憶している低閾値や高閾値、さらに過剰処理通知などの出力を行う基準は、処理回路の構成や動作によって変更することができる。パケットバッファ処理を行う回路に備えられた統計部５２は、予め、バッファ容量を認識しており、バッファ容量に対する蓄積パケット数の統計をとる。例えば、バッファ容量の９０％を高閾値、１０％を低閾値とする。このとき、蓄積パケット数がバッファ容量の９０％を超えると、統計部５２は、過剰処理通知を処理容量監視部５１に出力する。一方、蓄積パケット数がバッファ容量の１０％を下回った場合、処理容量監視部５１に過小処理通知を出力する。
【００５０】
ネットワークプロセッサやDigital Signal Processor（ＤＳＰ）への振り分けを行う回路に備えられた統計部５２は、予め、一定時間にその回路を通過するパケット数の平均値（平均通過量）を記憶している。統計部５２は、例えば、高閾値を平均通過量の２００％、低閾値を平均通過量の２０％と認識しているものとする。統計部５２は、パケットの通過量の統計をとると共に、得られた統計値を高閾値や低閾値と比較する。一定時間の通過パケット数が平均通過量の２００％を超えると統計部５２は過剰処理通知を出力し、一定時間の通過パケット数が２０％未満になると過小処理通知を出力する。
【００５１】
優先制御を行う回路に備えられた統計部５２は、例えば、蓄積可能キュー数を予め認識し、高優先キューの蓄積数の蓄積可能キュー数に占める割合を閾値と比較することができる。例えば、高閾値を、蓄積されている高優先キューの割合が９０％の状態とし、低閾値を蓄積されている高優先キューの割合が１０％の状態とする。この場合、高優先キューの蓄積数が蓄積可能キュー数の９０％を超えると、統計部５２は過剰処理通知を出力し、高優先キューの蓄積数が蓄積可能キュー数の１０％を下回ると過小処理通知を出力する。
【００５２】
マーキング、ヘッダ変換を行う回路に備えられた統計部５２は、ＦＩＦＯ容量を予め認識しており、ＦＩＦＯ蓄積数の統計を閾値と比較する。例えば、ＦＩＦＯ蓄積数がＦＩＦＯ容量の９０％を超えると過剰処理通知を出力し、ＦＩＦＯ蓄積数がＦＩＦＯ容量の１０％未満となると過小処理通知を通知することができる。
【００５３】
処理容量監視部５１は、統計部５２ａ〜５２ｃから、過剰処理通知もしくは過小処理通知を受け取ると、通知を出力した処理回路と受け取った通知の種類をスケジューラ１２に通知する。処理容量監視部５１は、スケジューラ１２への通知の内容を記憶することができる。そこで処理容量監視部５１は、通知を出力した処理回路と受け取った通知の種類をスケジューラ１２に通知した後に、同一の回路から同一の情報を繰り返して受信しても、スケジューラ１２に通知しない。例えば、中速回路５４ｂから過剰処理通知を受け取ったことをスケジューラ１２ｂに通知した後であって、中速回路５４ｂからパケットの転送が高速回路５３ｂに切り換わるまでに、処理容量監視部５１が、中速回路５４ｂから過剰処理通知を受け取ったとする。この場合、処理容量監視部５１は、中速回路５４ｂから過剰処理通知を受け取ったことをスケジューラ１２ｂに通知しない。すなわち、処理容量監視部５１は、スケジューラ１２に対する通知のフィルタリングを行う。
【００５４】
スケジューラ１２は、処理容量監視部５１からの通知に基づいて、パケットを出力する回路を変更する。例えば、中速回路５４から過剰処理通知が出力された旨の通知を受けると、スケジューラ１２は、中速回路５４に一定時間内に入力されているデータ量は、中速回路５４が一定時間に処理することができるデータ量を超える可能性があることを認識する。そこで、スケジューラ１２は、高速回路５３にパケットを割り当てる。すなわち、実際のトラフィックが予想トラフィックよりも多かったと判断し、回路変更情報では中速回路５４へパケットを割り当てることになっているが、パケットの処理回路を高速回路５３に修正する。また、スケジューラ１２は、パケットの処理に用いる回路を処理容量監視部５１とセレクタ１４に通知する。なお、ここで、スケジューラ１２は、選択した処理回路を処理容量監視部５１に通知し、処理容量監視部５１がセレクタ１４に選択された処理回路を通知するように変形することもできる。
【００５５】
一方、中速回路５４から過小処理通知が出力された旨の通知を受けると、スケジューラ１２は、現在のトラフィックは予想トラフィックよりも少ないため、一定時間に処理できるデータ量が中速回路５４よりも小さい回路で処理可能であることを認識する。そこで、スケジューラ１２は、パケットの処理に用いる回路を中速回路５４から低速回路５５に変更する。
【００５６】
ここで、スケジューラ１２は、回路変更情報に回路の変更が記録されている時刻になると、回路変更情報に記録された処理回路にパケットを出力する。例えば、回路変更情報に、図４に示した予想トラフィックのように、時刻ｂから時刻ｃまでは高速回路５３がパケットを処理することが記録されているとする。ここで、時刻ｂの前に中速回路５４の統計部５２ｂが過剰処理通知を出力したことにより、すでにパケットを高速回路５３が処理している場合には、引き続き高速回路５３がパケットを処理する。一方、パケットが低速回路５５によって処理されている場合であっても、時刻ｂから時刻ｃまでは高速回路５３が処理することが回路変更情報に記録されている場合、時刻ｂ以降はトラフィックが増加する可能性が高い。このため、スケジューラ１２は、時刻ｂに、回路変更情報に従って、パケットを処理する回路を低速回路５５から高速回路５３に切り替える。処理回路の切り替え後に、一定時間内に処理するデータ量が高速回路５３よりも少ない回路で処理可能な場合は、高速回路５３の統計部５２ａから出力された過小処理通知に基づいて、スケジューラ１２は、再度、回路を切り替える。
【００５７】
高速回路５３、中速回路５４、および、低速回路５５の回路規模、クロック数、消費電力などは、第１の実施形態で述べた高速回路１５、中速回路１６、低速回路１７と同様に設計することができる。高速回路５３、中速回路５４、低速回路５５は、それぞれ統計部５２ａ〜５２ｃを備え、適宜、統計部５２ａ〜５２ｃが処理に用いる情報を記憶することができる領域を備えている。
【００５８】
図９は、第３の実施形態でのスケジューラ１２の動作の一例を示すフローチャートである。スケジューラ１２は、回路変更情報を参照して、回路の切り替えを行う時間かを確かめる（ステップＳ１）。回路の切り替えを行う時間ではない場合、スケジューラ１２は、処理容量監視部５１から過剰処理通知、もしくは過小処理通知を受け取っているかを確認する（ステップＳ２、Ｓ３）。過小処理通知を受信している場合、スケジューラ１２は、パケットの処理を行う回路として選択している回路よりも一定時間内に処理するデータ量が少ない回路を選択し、選択した回路をセレクタ１４に通知する（ステップＳ４）。一方、過剰処理通知を受信している場合、スケジューラ１２は、パケットの処理を行う回路として選択している回路よりも一定時間内に処理するデータ量が多い回路を選択し、選択した回路をセレクタ１４に通知する（ステップＳ５）。過剰処理通知と過小処理通知のいずれも受信していない場合、スケジューラ１２は、処理回路を変更しない（ステップＳ３）。また、回路変更情報に、回路を変更する時刻として記録されている時刻では、スケジューラ１２は、回路変更情報に記録されている回路をパケットの処理を行う回路として選択し、その旨をセレクタ１４に通知する（ステップＳ６）。
【００５９】
このように、第３の実施形態にかかる通信装置５０では、回路変更情報に記録されている回路の変更よりも短い時間間隔で、スケジューラ１２が、パケットの処理に用いる回路を変更することができる。このため、スケジューラ１２は、実際のトラフィックが予測トラフィックから大きく外れたとしても、実際のトラフィックに合わせた処理回路を選択することができる。
【００６０】
図１０は、第３の実施形態で行われるフィードバック処理を説明する図である。図１０は、トラフィックを時間の関数として表した図であり、破線は予測トラフィックの変化を表し、実線は、実際のトラフィックの変化を表している。時刻ｈまでは予測トラフィックと実際のトラフィックが一致しているが、時刻ｈから時刻ｉでは、実際のトラフィックが予測トラフィックを下回っている。この場合に、回路変更情報に従って処理回路を選択すると、例えば、低速回路５５で処理できるトラフィックを高速回路５３で処理するなど、処理対象のトラフィックに対して処理するデータ量の大きな回路が選択され、無駄な消費電力が発生する。また、時刻ｉ以降は、実際のトラフィックのほうが予測トラフィックを上回っているため、回路変更情報に従って選択された処理回路ではパケットの処理が追いつかずに、パケットが廃棄される恐れがある。一方、第３の実施形態では、時刻ｈおよび時刻ｉで回路変更情報に従って処理回路を選択した後、前述のとおり、統計部５２からの通知に従って処理容量監視部５１がスケジューラ１２に処理回路の処理状況をフィードバックする。従って、本実施形態では、時刻ｈから時刻ｉの間に無駄な消費電力が発生することを防ぐことができ、さらに、時刻ｉ以降のパケットの廃棄を防ぐことができる。すなわち、回路変更情報の記録に比べて短い時間間隔で、パケットの処理に用いる回路規模を最適化することができる。
【００６１】
なお、第１の実施形態の部分で述べたように、トラフィックデータ１３を作成する際に採取されたデータ数が多い場合には、予想トラフィックと実際のトラフィックが大きく乖離する可能性は低くなる。従って、第３の実施形態は、例えば、トラフィックデータ１３を生成するためのデータが少なかった場合や、サンプリングを行った時刻の間隔が大きい場合などに、予想トラフィックからのずれを修正するために用いることができる。
【００６２】
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
いずれの実施形態においても、図２等に示したように、振り分けられたパケットは、各々のスケジューラ１２に接続されている処理回路で処理される。従って、各々の処理回路は、通信装置に入力された全てのパケットを処理するための回路よりも回路規模や消費電力を小さくすることができる。
【００６３】
また、処理回路の構成は、処理するパケットの種類ごとに変更することもできる。この場合、処理対象のパケット種別のトラフィックに応じて高速回路や中速回路を設計することができる。従って、例えば、動画パケットの高速回路で処理できるデータ量を、データパケットの高速回路で処理できるデータ量よりも多くすることができる。そのため動画パケットを処理する中速回路１６ｂとデータパケットを処理する高速回路１５ｃが同じ構成の回路となる場合などもある。言い換えると、例えば、動画パケットの処理回路に比べて音声パケットの処理回路を小規模にするなどの設計を加えることにより、消費電力を小さくすることもできる。
【００６４】
以上の説明では第１〜第３の実施形態を個別に説明したが、これは理解を助けるために過ぎず、第１〜第３の実施形態を組み合わせて実施することも可能である。
なお、以上の説明では、スケジューラ１２が高速回路、中速回路、低速回路の３種類の回路に出力する場合について述べたが、スケジューラ１２に接続される回路の数は任意に変更することができる。また、速度が異なる複数の回路を実際に搭載する代わりに、Field Programmable Gate Array（ＦＰＧＡ）やリコンフィギャラブルLarge Scale Integration（ＬＳＩ）等を用いて物理的に１つのロジックを１タイムで書き換える手法を用いてもよい。
【符号の説明】
【００６５】
１０、３０、５０  通信装置
１１  パケット振り分け部
１２  スケジューラ
１３  トラフィックデータ
１４  セレクタ
１５  高速回路
１６  中速回路
１７  低速回路
１８  出力部
１９  時刻情報管理部
３１  クロック制御部
４０  パケット
５１  処理容量監視部
５２  統計部
５３  高速回路
５４  中速回路
５５  低速回路
【図１】
2011097319.tif 000003
【図２】
2011097319.tif 000004
【図３】
2011097319.tif 000005
【図４】
2011097319.tif 000006
【図５】
2011097319.tif 000007
【図６】
2011097319.tif 000008
【図７】
2011097319.tif 000009
【図８】
2011097319.tif 000010
【図９】
2011097319.tif 000011
【図１０】
2011097319.tif 000012