説明

通信装置および通信方法

【課題】通信装置で消費される電力を削減するための方法と、消費電力が削減された通信装置を提供する。
【解決手段】
ある実施形態に係る通信装置は、パケット振り分け部、パケットの処理量が異なる複数の処理回路、選択部を備える。パケット振り分け部は、受信したパケットをパケットの種類を表すパケット種別に応じて振り分ける。選択部は、振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が過去の通信量以上の処理回路のうち、パケットの処理量が相対的に小さい処理回路を、複数の処理回路から選択する。さらに、選択部は、選択した処理回路に振り分けられたパケットを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットを処理する通信装置および通信方法に関わる。
【背景技術】
【0002】
近年のインターネットの普及により、通信装置の需要が増大するとともに、通信により消費される電力も増大している。通信による消費電力の増加は著しく、2020年には、世界の通信装置で消費される電力は世界で消費される電力の20%を超える可能性があるという試算結果が得られている。そこで、エネルギー需要量の抑制やエネルギー確保に起因する環境破壊の防止を目的として、例えば、通信装置に組み込むデバイスの使用電力を低くすることにより、通信装置の消費電力を抑制しようとする試みが行われてきている。
【0003】
また、関連する技術として、図1に示す装置のように、過去の通信量の情報をデータベースに保持し、その情報を基に予測した将来の消費電力で動作する装置も知られている。図1に示すネットワーク間接続装置101は、通信量を検出する通信量検出部107、データの中継を行う中継処理部106、過去の通信量を保持する過去情報データベース104、過去の通信量を基に電力消費を制御する省電力制御部103から構成される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−205695号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
前述のネットワーク間接続装置では、検出部が検出した通信量を保持し、過去の通信量を基に電力消費を制御している。しかし、過去の通信量の変化に基づいて未来の通信量を予測することは容易ではないため、予測された通信量が現実の通信量と乖離することが多く十分に消費電力を削減できない。また、通信装置に組み込むデバイスの使用電力を低くしても、消費電力の削減は十分ではない。
【0006】
本発明は、通信装置で消費される電力を削減するための方法と、消費電力が削減された通信装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のある実施形態に係る通信装置は、パケット振り分け部、パケットの処理量が異なる複数の処理回路、選択部を備える。パケット振り分け部は、受信したパケットを前記パケットの種類を表すパケット種別に応じて振り分ける。選択部は、前記振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が前記過去の通信量以上の処理回路のうち、前記パケットの処理量が相対的に小さい処理回路を、前記複数の処理回路から選択する。さらに、選択部は、選択した処理回路に前記振り分けられたパケットを出力する。
【発明の効果】
【0008】
通信装置で消費される電力を削減することができる。
【図面の簡単な説明】
【0009】
【図1】ネットワーク間接続装置の構成を示す図である。
【図2】第1の実施形態に係る通信装置の構成の一例を示す図である。
【図3】トラフィックデータの例を示す図である。
【図4】トラフィックの変動の予測例を示す図である。
【図5】パケットの処理に用いられる回路とトラフィックの関係の例を示す図である。
【図6】第2の実施形態に係る通信装置の一部分の構成例を示す図である。
【図7】クロック制御部から出力されるクロックのタイミングを示すタイミングチャートの一例である。
【図8】第3の実施形態に係る通信装置の一部分の構成例を示す図である。
【図9】第3の実施形態でのスケジューラの動作の一例を示すフローチャートである。
【図10】第3の実施形態で行われるフィードバック処理を説明する図である。
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を参照しながら詳細に説明する。
<第1の実施形態>
図2は、第1の実施形態に係る通信装置10の構成の一例を示す図である。通信装置10は、パケット振り分け部11、スケジューラ12、トラフィックデータ13、セレクタ14、高速回路15、中速回路16、低速回路17、出力部18、および、時刻情報管理部19を備える。
【0011】
パケット振り分け部11は、通信装置10が受信したパケットを予め決められた方法に従って複数のスケジューラ12のいずれかに振り分ける。図2に示す例では、通信装置10が受信したパケットを、パケットの種類に応じて、音声データのパケット、動画データのパケット、その他のデータのパケットの3種類に分類してスケジューラ12a〜12cに振り分けている。ここで、入力されたパケットがIPパケットである場合、パケット振り分け部11は、そのパケットのType of Service(TOS)フィールドを参照してパケット種別を振り分けることができる。つまり、予め、データの種類に応じてTOSフィールドのPrecedence値が設定されている場合、パケット振り分け部11は、Precedence値に応じてパケットを振り分けることができる。例えば、パケット振り分け部11は、Precedence値が5であるパケットを音声パケット、4であるパケットを動画パケット、3であるパケットは一般的なデータのパケットとして振り分ける。なお、パケット振り分け部11の振り分け方法は、入力されるパケットの種類によって変更することができる。例えば、イーサネットフレームが入力された場合は、Media Access Control(MAC)ヘッダのClass of Service(COS)フィールド等を参照することにより、パケットを種別ごとに振り分ける。
【0012】
以下の説明では、図2に示すようにパケットが3種類に振り分けられる場合について説明するが、いずれの実施形態においても、パケットの振り分け方やパケットを振り分ける種類の数は、実装に応じて任意に変更することができる。例えば、Transmission Control Protocol(TCP)パケットのような再送アルゴリズムのあるパケットと、User Datagram Protocol(UDP)パケットのような再送アルゴリズムのないパケットの2種類に振り分けることもできる。
【0013】
スケジューラ12は、時刻情報管理部19から得られた時刻情報とトラフィックデータ13に基づいて、パケット振り分け部11から入力されたパケットを処理する処理回路を選択する。すなわち、スケジューラ12は、パケットを処理する回路を選択する選択部として動作する。図2の例では、各々のスケジューラ12(12a〜12c)は、高速回路15(15a〜15c)、中速回路16(16a〜16c)、低速回路17(17a〜17c)からパケットを処理する回路を選択する。なお、スケジューラ12が選択できる回路の数は、実装に応じて任意に変更することができる。スケジューラ12が回路を選択する方法については後述する。
【0014】
トラフィックデータ13は、単位時間当たりにスケジューラ12に入力されたデータ量を、時刻の関数としてパケットの種類ごとに記録したデータである。トラフィックデータ13は、メモリ(図示せず)に格納されている。また、オペレータが、媒体に記録されたトラフィックデータ13を通信装置10に読み込ませることもできる。トラフィックデータ13は、後述するように、スケジューラ12によって、通信量の予測値として用いられる。なお、以下の記載では、ある通信装置が単位時間当たりに送受信するデータ量のことを「通信量」もしくは「トラフィック」と記載することがある。すなわち、情報の転送レートを表す語として「通信量」や「トラフィック」などを用いる。トラフィックデータ13は、トラフィックを時刻の関数として記録したデータであり、トラフィックの経時変化を表しているともいえる。
【0015】
トラフィックデータ13は、音声パケットや動画パケットなどのパケットの種別ごとに1種類ずつ生成することもできるが、曜日や日付によって異なったものとすることもできる。曜日や日付と対応付けられたトラフィックデータ13を有する場合は、例えば、月曜、金曜、月末は報告のための電話やテレビ会議が多い傾向になる等、曜日や日付に応じたトラフィックのパターンを反映することができる。
【0016】
図3に音声パケットのトラフィックデータ13aの例を示す。図3(a)の例では、音声パケットのトラフィックを1日にn回測定した結果が、曜日ごとに、時刻の関数として記録されている。トラフィックデータ13は、月曜日から日曜日のトラフィックが記録されているが、7日間以上のデータを用いて生成することができる。例えば、月曜日から水曜日についてそれぞれ2日、木曜日から日曜日までについて1日ずつの合計10日間のトラフィックが測定された場合には、月曜日から水曜日については、同時刻に測定されたトラフィックの平均値をトラフィックデータ13として記録することができる。従って、トラフィックデータ13を生成するためのトラフィックを測定する日数は、任意とすることができる。予測の精度を上げるために、トラフィックを測定する日数を増やし、それぞれの曜日の測定時点となっている各時刻について複数の測定値の平均値をトラフィックデータ13とすることが望ましい。各時刻について測定されたデータ数が多い場合、トラフィックデータ13は平均化された値となる。この場合には、突発的なトラフィックの変動等による異常値の影響を小さくすることができるため、トラフィックデータ13に基づいて予測されたトラフィックの信頼性を向上することができる。図3(b)は、トラフィックデータ13の変形例である。図3(b)の例では、トラフィックデータ13は、日付ごとに、時刻の関数として記録されている。図3(a)と図3(b)のいずれに示したトラフィックデータ13を用いても、スケジューラ12は、時刻情報管理部19から得られた時刻情報に対応するトラフィックデータ13を、トラフィックの予測値とすることができる。
【0017】
動画パケットのトラフィックデータ13bやその他のデータのパケットのトラフィックデータ13cも、音声パケットのトラフィックデータ13aと同様に生成され、トラフィックの予測値として用いられる。
【0018】
なお、図3(a)と図3(b)では、トラフィックの単位をbps(bit per second)としているが、これは一例である。トラフィックデータ13に記録されるトラフィックの単位は、情報の転送効率を表す任意の単位にでき、例えば、バイト毎秒、キロビット毎秒など、実装に応じて変更することができる。
【0019】
セレクタ14(14a〜14c)は、スケジューラ12の選択した処理回路にパケットを出力する。セレクタ14には複数の処理回路が接続されている。図2の例では、高速回路15、中速回路16、低速回路17が接続されている。これらの処理回路は、いずれも通信装置10が受信したパケットを処理する回路である。なお、これらの処理回路は、任意の種類の回路とすることができる。例えば、ヘッダ変換や宛て先の決定、CPUやその他のネットワークプロセッサ等へのパケットの振り分け、パケットバッファリング、マーキング、優先制御や帯域制御等を行う回路とすることができる。
【0020】
一定時間あたりに処理できるデータ量は高速回路15が最も大きく、中速回路16、低速回路17の順に小さくなる。また、処理速度も、高速回路15が最も大きく、中速回路16、低速回路17の順に処理速度が小さくなる。処理回路の構成は、実装に応じて任意に設計することができるが、高速回路15、中速回路16、低速回路17の一例を述べる。高速回路15は、中速回路16等に比べて加算器や乗算器を多く含み、データビット幅を大きくした回路とすることができる。さらに、中速回路16などと比べて動作クロックを高速化しており、回路規模が大きく一定時間内に処理するデータ量が多いが、消費電力も大きな回路である。一方、低速回路17は、例えば、通常ロジックで構成されていて、中速回路16に比べてデータビット幅が小さく、クロックも低速化した回路とすることができる。低速回路17は、回路規模が小さく、一定時間内に処理するデータ量も中速回路16と比べて少ないが、消費電力は小さい。中速回路16の回路規模は、高速回路15よりも小さいが低速回路17よりも大きい。中速回路16の処理速度は、高速回路15より低く低速回路17より高いが、消費電力は、低速回路17より大きく高速回路15より小さい。以下の説明では、通信装置10は、パケットの種類別に、高速回路15、中速回路16、および低速回路17を備えているものとする。高速回路15、中速回路16、低速回路17は、パケットを処理すると出力部18に出力し、出力部18は、入力されたパケットを処理して他の通信装置などに送信する。
【0021】
時刻情報管理部19は、通信装置10がパケットを受信した時刻や日付、曜日などの時刻情報を管理し、適宜、スケジューラ12に通知する。スケジューラ12は、時刻情報管理部19から通知された時刻情報に対応するトラフィックデータ13を参照することにより、パケットを出力する処理回路を選択する。
【0022】
図4は、トラフィックの変動の予測例を示す図である。以下、図4を参照しながら、スケジューラ12が図3(a)のトラフィックデータ13を用いて処理回路を選択する方法について説明する。図4は、音声パケットについてのトラフィックデータ13aを時刻の関数として表した図の例である。スケジューラ12は、時刻情報管理部19から時刻情報を受け取り、時刻情報に応じたトラフィックデータ13を各時刻に対してのトラフィックの予測量とする。例えば、スケジューラ12aは時刻情報管理部19から「月曜日の時刻T」であることを通知されたとする。すると、スケジューラ12aは、図3(a)を参照し、時刻Tから一定の時間範囲にある時刻のトラフィックを読み込んで予測値とする。ここでは、スケジューラ12aは、音声データについての月曜日のトラフィックは、時刻TはA(bps)、時刻TはB(bps)、時刻TはC(bps)となると予測する。
【0023】
スケジューラ12aは、図4のようなトラフィックの変動の予測を得ると、処理回路の選択に用いる閾値とトラフィックの予測値を比較する。以下の説明では、処理回路の選択に用いる閾値としてスケジューラ12aは、それぞれ、第1の切り替え閾値(Th)と第2の切り替え閾値(Th)の2つの閾値を記憶しているか、適宜、メモリから読み出すものとする。スケジューラ12aは、トラフィックデータ13に記録されたトラフィックの値がThより小さい場合は、パケットを低速回路17に割り当てる。一方、トラフィックデータ13に記録されたトラフィックの値がTh以上の場合、スケジューラ12aは、高速回路15にパケットを割り当てる。トラフィックがTh以上であって、さらにTh未満の場合、スケジューラ12aは、パケットを中速回路16に割り当てる。従って、スケジューラ12aは、時刻aまでと時刻d以降は低速回路17、時刻aから時刻bまでの間と時刻cから時刻dまでの間は中速回路16、時刻bから時刻cまでは高速回路15を、パケットを処理する処理回路として選択する。なお、通信装置10に備えられた処理回路の数に応じて閾値の数も変更することができる。
【0024】
次に、スケジューラ12は、選択した処理回路が変更される時刻と処理回路の変更内容(回路変更情報)を記録する。この回路変更情報は、スケジューラ12が記憶することができ、また、適宜、通信装置10が備えるメモリ(図示せず)に書き込むことができる。例えば、図4の場合、スケジューラ12aは、以下のようなテーブルとして回路変更情報を記録することができる。
時刻a : 低速回路17a → 中速回路16a
時刻b : 中速回路16a → 高速回路15a
時刻c : 高速回路15a → 中速回路16a
時刻d : 中速回路16a → 低速回路17a
なお、回路変更情報は、例えば、「時刻bから時刻c:高速回路15a」のように、時刻と選択される処理回路の対応とすることもできる。
【0025】
スケジューラ12は、パケット振り分け部11からパケットを受信するときに、時刻情報管理部19から時刻情報も取得する。パケットが入力されると、スケジューラ12は、回路変更情報を読み出し、回路変更情報と取得した時刻情報に基づいて、入力されたパケットを選択した回路に割り当てる。
【0026】
ここで、実装に応じて、回路変更情報を作成するときにスケジューラ12が読み込むトラフィックデータ13のデータは、時刻情報管理部19から通知された時刻以降の時刻のデータとすることもできる。この場合、例えば、時刻情報管理部19から「月曜日の時刻T」であることを通知されたスケジューラ12aは、図3(a)の時刻T以降のデータを読み込んで、図4に示すような予想トラフィックを得る。さらに、スケジューラ12aは、前述のように、予想トラフィックと第1および第2の閾値を比較して、パケットを割り当てる処理回路を選択し、時刻T以降のパケットの処理に用いる回路変更情報を作成する。このように変形すると、パケットの処理に用いる回路変更情報を、パケットの取得に先立って生成することができる。
【0027】
スケジューラ12は、処理回路を選択すると、セレクタ14に選択した回路を通知する。セレクタ14は、通知された回路にパケットを出力する。出力されていない回路では、パケットの処理による電力の消費が発生しない。
【0028】
図5は、パケットの処理に用いられる回路とトラフィックの関係を示す図である。図5は、パケットを振り分けて処理した場合に、パケットの振り分けを行わない場合よりも、振り分けられた個々のパケットの処理に用いられる回路の規模を小さくすることができることを示している。図5(a)と図5(b)で用いられる高速回路15は同じ回路であり、中速回路16、および低速回路17も同様に、図5(a)と図5(b)で同じ回路を用いているものとする。
【0029】
図5(a)は、パケットの振り分けを行わずに装置が受信したパケットを1つの回路で処理した場合に選択される処理回路を示す図である。図5(a)のように振り分けを行わない場合は、時刻eから時刻fにおいて、高速回路15が用いられる。一方、同じパケットを、音声パケット、動画パケット、および、その他のデータパケットの3つに振り分けて個々に処理回路を選択すると、図5(b)のように、時刻eから時刻fでも高速回路15は選択されないことが多い。
【0030】
例えば、ある時刻gから一定時間内に、通信装置10に入力されるデータ量は、高速回路15が一定時間内に処理できるデータ量と同じ(100%)であったとする。図5(a)に示すように、振り分けを行わなければ、時刻gでは、最速の処理回路である高速回路15が選択され消費電力が最大となる。一方、100%のトラフィックからなるパケットを、パケット振り分け部11で分類すると、音声、動画、その他のデータが、それぞれ高速回路15が一定時間内に処理できるデータ量の60%、30%、10%であったとする。ここで、第1の切り替え閾値(Th)を高速回路15が一定時間内に処理できるデータ量の80%、第2の切り替え閾値(Th)を高速回路15が一定時間内に処理できるデータ量の35%であったとする。すると、音声パケットを扱うスケジューラ12aは中速回路16a、動画、その他のデータを扱うスケジューラ12bと12cは、それぞれ低速回路17b、17cを選択する。高速回路15は、低速回路17や中速回路16よりも消費電力が大きいため、複数の低速回路17や中速回路16を動作させるときに消費する電力のほうが1つの高速回路15を動作させるときに消費する電力よりも大きいことがある。従って、パケット振り分け部11がパケットを振り分けた後に、振り分けられたパケットごとに処理することにより、パケットを振り分けずに処理する場合に比べて通信装置10の消費電力を小さくすることができる。さらに、パケットを処理する回路としてスケジューラ12に選択されていない処理回路は、パケットが入力されないため、消費電力を微小な量に抑えることができる。従って、パケット振り分け部11によってパケット種別に振り分けて、パケット種別に処理することにより、通信装置10の消費電力を抑えることができる。
【0031】
消費電力の大小に影響を与える最も大きなパラメータは回路規模である。本実施形態では、パケットが入力されるフリップフロップ回路(FLIP FLOP)やAND回路、OR回路等の論理回路を多用する等して回路の規模を大きくした高速回路15から、なるべく回路の規模を小さくした低速回路17までの間で処理回路が選択される。処理回路の選択により、なるべく小さな回路規模の処理回路でパケットを処理することにより、大きな消費電力削減が期待できる。言い換えると、パケットの処理に用いる回路規模を、トラフィックの予測値に基づいて最適化することにより、通信装置の消費電力を削減することができる。
【0032】
以上の説明では、パケットの処理量がトラフィックの予測値以上の処理回路のうち、パケットの処理量が最小の処理回路をスケジューラ12が選択する場合の例について述べたが、スケジューラ12の動作を変形することもできる。例えば、スケジューラ12は、トラフィックの予測値よりもパケットの処理量が大きい処理回路のうちで相対的に処理量が小さい回路に、パケットを割り当てることができる。例えば、4つの処理回路に接続されているスケジューラ12がトラフィックの予測値よりもパケットの処理量が大きい処理回路を3つ認識したとする。このとき、スケジューラ12は、認識した3つの処理回路のうち処理量が2番目に大きい処理回路にパケットを割り当てることができる。
【0033】
<第2の実施形態>
第1の実施形態では、パケットが入力されない回路にもクロックが提供されているため、電力消費が発生していたが、第2の実施形態に係る通信装置30は、パケットを入力しない処理回路へのクロック供給を停止して、さらに消費電力を削減することができる。
【0034】
図6は、第2の実施形態に係る通信装置30の一部分の構成例を示す図である。図6では、動画パケットを処理する回路を示しているが、音声パケットやその他のデータパケットの処理回路も同様の回路とすることができる。通信装置30は、パケット振り分け部11、スケジューラ12、トラフィックデータ13、セレクタ14、高速回路15、中速回路16、低速回路17、出力部18、時刻情報管理部19の他に、クロック制御部31を備える。
【0035】
図6に示すように、クロック制御部31は、高速回路15、中速回路16、低速回路17に接続されている。第2の実施形態でも、パケット振り分け部11、スケジューラ12、トラフィックデータ13、セレクタ14、出力部18、時刻情報管理部19の動作は、第1の実施形態で説明した動作と同様である。高速回路15、中速回路16、低速回路17の回路規模や消費電力などは第1の実施形態と同様とすることができる。なお、これらの回路は、後述するようにクロック制御部31から入力されるクロックが安定するまでの間に入力されたパケットを格納するためのバッファを備えているものとする。
【0036】
クロック制御部31は、接続されている高速回路15、中速回路16、および低速回路17に供給するクロックを生成することができる。さらに、スケジューラ12の通知に応じて、スケジューラ12が選択した回路にクロックを供給し、その他の回路へのクロックの供給を停止することができる。図6は、中速回路16bが動画パケットを処理する回路に選択されたことが、スケジューラ12からクロック制御部31に通知された場合の動作を示す図である。クロック制御部31は、中速回路16bで用いられるクロックを生成するとともに、中速回路16bにクロックを供給する。また、低速回路17bと高速回路15bにはクロックを供給しない。このため、低速回路17bと高速回路15bでの電力消費を抑えることができる。なお、クロック制御部31を「クロック部」と記載することがある。
【0037】
図7は、クロック制御部31から出力されるクロックのタイミングを示すタイミングチャートの一例である。図7は、スケジューラ12bが低速回路17bをパケットの処理用に選択した後に高速回路15bを選択した場合の、クロック制御部31がクロックを出力するタイミングの例を示している。
【0038】
(1)スケジューラ12bは、トラフィックデータ13bを参照して、高速回路15bを次に入力されるパケット40の処理に用いる回路として選択する。また、スケジューラ12bは、次に入力されるパケット40の処理に高速回路15bを用いることを、クロック制御部31へ通知する。
【0039】
(2)高速回路15bを処理に用いることがスケジューラ12bから通知されると、クロック制御部31bは、低速回路17bへのクロックの出力を停止する。次に、クロック制御部31は、高速回路15bで用いられるクロックを生成し、高速回路15bへクロックを供給する。
【0040】
(3)スケジューラ12bは、入力されたパケットを、セレクタ14bを介して、高速回路15bに出力する。
【0041】
(4)高速回路15bは、入力されたパケット40をFirst-In First-Out(FIFO)バッファなどのバッファに蓄積する。ここで、パケット40がバッファに蓄積される時間は、予め、高速回路15bへクロックの入力が開始されてから入力されるクロックが安定するまでの時間より長くなるように設定されている。
【0042】
(5)高速回路15bに入力されるクロックが安定すると、高速回路15bはパケット40の処理を行う。
このように、パケットが入力されていない回路のクロックを停止することにより、消費電力をさらに削減することができる。
【0043】
なお、本実施形態で用いられるスケジューラ12も、トラフィックの予測値よりもパケットの処理量が大きい処理回路のうちで相対的に処理量が小さい回路にパケットを割り当てることができる。また、スケジューラ12は、パケットの処理量がトラフィックの予測値以上の処理回路のうち、パケットの処理量が最小の処理回路にパケットを割り当てることもできる。
【0044】
<第3の実施形態>
第3の実施形態では、スケジューラ12が選択した処理回路が処理するデータ量と、実際に通信装置50が受信したパケットの量が乖離していたときに、処理に用いる回路を変更することができる実施形態について説明する。
【0045】
図8は、第3の実施形態に係る通信装置50の一部分の構成例を示す図である。図8では、動画パケットを処理する回路を示しているが、音声パケットやその他のデータパケットの処理回路も同様の回路とすることができる。
【0046】
通信装置50は、処理容量監視部51、統計部52、高速回路53、中速回路54、低速回路55を備え、さらにパケット振り分け部11、スケジューラ12、トラフィックデータ13、セレクタ14、出力部18、時刻情報管理部19を備える。第3の実施形態でも、パケット振り分け部11、スケジューラ12、トラフィックデータ13、セレクタ14、出力部18、時刻情報管理部19の動作は、第1の実施形態で説明した動作と同様である。また、スケジューラ12は、トラフィックの予測値よりもパケットの処理量が大きい処理回路のうちで、相対的に処理量が小さい処理回路、もしくは、パケットの処理量が最小の処理回路にパケットを割り当てることができる。
【0047】
統計部52(52a〜52c)は、処理回路が一定時間に処理しているデータ量について、その処理回路が一定時間に処理できるデータ量に占める割合(負荷率)を算出する。さらに、統計部52は、それぞれの処理回路に対して設定された低閾値(Th)と高閾値(Th)を記憶している。統計部52は、負荷率が高閾値を超えると、過剰処理通知を処理容量監視部51に出力する。一方、負荷率が低閾値よりも小さくなると、統計部52は、過小処理通知を処理容量監視部51に出力する。ここで、負荷率は、選択された処理回路が一定時間に処理できるデータ量に対して、その処理回路が処理しているデータ量の占める割合であるため、選択された回路での「処理割合」ということもできる。従って、統計部52は、処理割合の算出を行っているということもできる。
【0048】
統計部52は、処理容量監視部51に過剰処理通知や過小処理通知を通知するための信号線を備えている。図8の例は、過剰処理通知と過小処理通知を別個の信号線を用いて通知する場合の回路を示しているが、過剰処理通知と過小処理通知を同一の信号線を用いて通知することもできる。また、低速回路55は、最も処理速度が小さい回路であるため、低速回路55から出力された過小処理通知に応じて処理回路を変更できない。このため、図8の例では、低速回路55に備えられた統計部52cは、過小処理通知を通知するための信号線を備えていない。同様に、高速回路53に備えられている統計部52aは、過剰処理通知を通知するための信号を備えていない。
【0049】
統計部52が記憶している低閾値や高閾値、さらに過剰処理通知などの出力を行う基準は、処理回路の構成や動作によって変更することができる。パケットバッファ処理を行う回路に備えられた統計部52は、予め、バッファ容量を認識しており、バッファ容量に対する蓄積パケット数の統計をとる。例えば、バッファ容量の90%を高閾値、10%を低閾値とする。このとき、蓄積パケット数がバッファ容量の90%を超えると、統計部52は、過剰処理通知を処理容量監視部51に出力する。一方、蓄積パケット数がバッファ容量の10%を下回った場合、処理容量監視部51に過小処理通知を出力する。
【0050】
ネットワークプロセッサやDigital Signal Processor(DSP)への振り分けを行う回路に備えられた統計部52は、予め、一定時間にその回路を通過するパケット数の平均値(平均通過量)を記憶している。統計部52は、例えば、高閾値を平均通過量の200%、低閾値を平均通過量の20%と認識しているものとする。統計部52は、パケットの通過量の統計をとると共に、得られた統計値を高閾値や低閾値と比較する。一定時間の通過パケット数が平均通過量の200%を超えると統計部52は過剰処理通知を出力し、一定時間の通過パケット数が20%未満になると過小処理通知を出力する。
【0051】
優先制御を行う回路に備えられた統計部52は、例えば、蓄積可能キュー数を予め認識し、高優先キューの蓄積数の蓄積可能キュー数に占める割合を閾値と比較することができる。例えば、高閾値を、蓄積されている高優先キューの割合が90%の状態とし、低閾値を蓄積されている高優先キューの割合が10%の状態とする。この場合、高優先キューの蓄積数が蓄積可能キュー数の90%を超えると、統計部52は過剰処理通知を出力し、高優先キューの蓄積数が蓄積可能キュー数の10%を下回ると過小処理通知を出力する。
【0052】
マーキング、ヘッダ変換を行う回路に備えられた統計部52は、FIFO容量を予め認識しており、FIFO蓄積数の統計を閾値と比較する。例えば、FIFO蓄積数がFIFO容量の90%を超えると過剰処理通知を出力し、FIFO蓄積数がFIFO容量の10%未満となると過小処理通知を通知することができる。
【0053】
処理容量監視部51は、統計部52a〜52cから、過剰処理通知もしくは過小処理通知を受け取ると、通知を出力した処理回路と受け取った通知の種類をスケジューラ12に通知する。処理容量監視部51は、スケジューラ12への通知の内容を記憶することができる。そこで処理容量監視部51は、通知を出力した処理回路と受け取った通知の種類をスケジューラ12に通知した後に、同一の回路から同一の情報を繰り返して受信しても、スケジューラ12に通知しない。例えば、中速回路54bから過剰処理通知を受け取ったことをスケジューラ12bに通知した後であって、中速回路54bからパケットの転送が高速回路53bに切り換わるまでに、処理容量監視部51が、中速回路54bから過剰処理通知を受け取ったとする。この場合、処理容量監視部51は、中速回路54bから過剰処理通知を受け取ったことをスケジューラ12bに通知しない。すなわち、処理容量監視部51は、スケジューラ12に対する通知のフィルタリングを行う。
【0054】
スケジューラ12は、処理容量監視部51からの通知に基づいて、パケットを出力する回路を変更する。例えば、中速回路54から過剰処理通知が出力された旨の通知を受けると、スケジューラ12は、中速回路54に一定時間内に入力されているデータ量は、中速回路54が一定時間に処理することができるデータ量を超える可能性があることを認識する。そこで、スケジューラ12は、高速回路53にパケットを割り当てる。すなわち、実際のトラフィックが予想トラフィックよりも多かったと判断し、回路変更情報では中速回路54へパケットを割り当てることになっているが、パケットの処理回路を高速回路53に修正する。また、スケジューラ12は、パケットの処理に用いる回路を処理容量監視部51とセレクタ14に通知する。なお、ここで、スケジューラ12は、選択した処理回路を処理容量監視部51に通知し、処理容量監視部51がセレクタ14に選択された処理回路を通知するように変形することもできる。
【0055】
一方、中速回路54から過小処理通知が出力された旨の通知を受けると、スケジューラ12は、現在のトラフィックは予想トラフィックよりも少ないため、一定時間に処理できるデータ量が中速回路54よりも小さい回路で処理可能であることを認識する。そこで、スケジューラ12は、パケットの処理に用いる回路を中速回路54から低速回路55に変更する。
【0056】
ここで、スケジューラ12は、回路変更情報に回路の変更が記録されている時刻になると、回路変更情報に記録された処理回路にパケットを出力する。例えば、回路変更情報に、図4に示した予想トラフィックのように、時刻bから時刻cまでは高速回路53がパケットを処理することが記録されているとする。ここで、時刻bの前に中速回路54の統計部52bが過剰処理通知を出力したことにより、すでにパケットを高速回路53が処理している場合には、引き続き高速回路53がパケットを処理する。一方、パケットが低速回路55によって処理されている場合であっても、時刻bから時刻cまでは高速回路53が処理することが回路変更情報に記録されている場合、時刻b以降はトラフィックが増加する可能性が高い。このため、スケジューラ12は、時刻bに、回路変更情報に従って、パケットを処理する回路を低速回路55から高速回路53に切り替える。処理回路の切り替え後に、一定時間内に処理するデータ量が高速回路53よりも少ない回路で処理可能な場合は、高速回路53の統計部52aから出力された過小処理通知に基づいて、スケジューラ12は、再度、回路を切り替える。
【0057】
高速回路53、中速回路54、および、低速回路55の回路規模、クロック数、消費電力などは、第1の実施形態で述べた高速回路15、中速回路16、低速回路17と同様に設計することができる。高速回路53、中速回路54、低速回路55は、それぞれ統計部52a〜52cを備え、適宜、統計部52a〜52cが処理に用いる情報を記憶することができる領域を備えている。
【0058】
図9は、第3の実施形態でのスケジューラ12の動作の一例を示すフローチャートである。スケジューラ12は、回路変更情報を参照して、回路の切り替えを行う時間かを確かめる(ステップS1)。回路の切り替えを行う時間ではない場合、スケジューラ12は、処理容量監視部51から過剰処理通知、もしくは過小処理通知を受け取っているかを確認する(ステップS2、S3)。過小処理通知を受信している場合、スケジューラ12は、パケットの処理を行う回路として選択している回路よりも一定時間内に処理するデータ量が少ない回路を選択し、選択した回路をセレクタ14に通知する(ステップS4)。一方、過剰処理通知を受信している場合、スケジューラ12は、パケットの処理を行う回路として選択している回路よりも一定時間内に処理するデータ量が多い回路を選択し、選択した回路をセレクタ14に通知する(ステップS5)。過剰処理通知と過小処理通知のいずれも受信していない場合、スケジューラ12は、処理回路を変更しない(ステップS3)。また、回路変更情報に、回路を変更する時刻として記録されている時刻では、スケジューラ12は、回路変更情報に記録されている回路をパケットの処理を行う回路として選択し、その旨をセレクタ14に通知する(ステップS6)。
【0059】
このように、第3の実施形態にかかる通信装置50では、回路変更情報に記録されている回路の変更よりも短い時間間隔で、スケジューラ12が、パケットの処理に用いる回路を変更することができる。このため、スケジューラ12は、実際のトラフィックが予測トラフィックから大きく外れたとしても、実際のトラフィックに合わせた処理回路を選択することができる。
【0060】
図10は、第3の実施形態で行われるフィードバック処理を説明する図である。図10は、トラフィックを時間の関数として表した図であり、破線は予測トラフィックの変化を表し、実線は、実際のトラフィックの変化を表している。時刻hまでは予測トラフィックと実際のトラフィックが一致しているが、時刻hから時刻iでは、実際のトラフィックが予測トラフィックを下回っている。この場合に、回路変更情報に従って処理回路を選択すると、例えば、低速回路55で処理できるトラフィックを高速回路53で処理するなど、処理対象のトラフィックに対して処理するデータ量の大きな回路が選択され、無駄な消費電力が発生する。また、時刻i以降は、実際のトラフィックのほうが予測トラフィックを上回っているため、回路変更情報に従って選択された処理回路ではパケットの処理が追いつかずに、パケットが廃棄される恐れがある。一方、第3の実施形態では、時刻hおよび時刻iで回路変更情報に従って処理回路を選択した後、前述のとおり、統計部52からの通知に従って処理容量監視部51がスケジューラ12に処理回路の処理状況をフィードバックする。従って、本実施形態では、時刻hから時刻iの間に無駄な消費電力が発生することを防ぐことができ、さらに、時刻i以降のパケットの廃棄を防ぐことができる。すなわち、回路変更情報の記録に比べて短い時間間隔で、パケットの処理に用いる回路規模を最適化することができる。
【0061】
なお、第1の実施形態の部分で述べたように、トラフィックデータ13を作成する際に採取されたデータ数が多い場合には、予想トラフィックと実際のトラフィックが大きく乖離する可能性は低くなる。従って、第3の実施形態は、例えば、トラフィックデータ13を生成するためのデータが少なかった場合や、サンプリングを行った時刻の間隔が大きい場合などに、予想トラフィックからのずれを修正するために用いることができる。
【0062】
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
いずれの実施形態においても、図2等に示したように、振り分けられたパケットは、各々のスケジューラ12に接続されている処理回路で処理される。従って、各々の処理回路は、通信装置に入力された全てのパケットを処理するための回路よりも回路規模や消費電力を小さくすることができる。
【0063】
また、処理回路の構成は、処理するパケットの種類ごとに変更することもできる。この場合、処理対象のパケット種別のトラフィックに応じて高速回路や中速回路を設計することができる。従って、例えば、動画パケットの高速回路で処理できるデータ量を、データパケットの高速回路で処理できるデータ量よりも多くすることができる。そのため動画パケットを処理する中速回路16bとデータパケットを処理する高速回路15cが同じ構成の回路となる場合などもある。言い換えると、例えば、動画パケットの処理回路に比べて音声パケットの処理回路を小規模にするなどの設計を加えることにより、消費電力を小さくすることもできる。
【0064】
以上の説明では第1〜第3の実施形態を個別に説明したが、これは理解を助けるために過ぎず、第1〜第3の実施形態を組み合わせて実施することも可能である。
なお、以上の説明では、スケジューラ12が高速回路、中速回路、低速回路の3種類の回路に出力する場合について述べたが、スケジューラ12に接続される回路の数は任意に変更することができる。また、速度が異なる複数の回路を実際に搭載する代わりに、Field Programmable Gate Array(FPGA)やリコンフィギャラブルLarge Scale Integration(LSI)等を用いて物理的に1つのロジックを1タイムで書き換える手法を用いてもよい。
【符号の説明】
【0065】
10、30、50 通信装置
11 パケット振り分け部
12 スケジューラ
13 トラフィックデータ
14 セレクタ
15 高速回路
16 中速回路
17 低速回路
18 出力部
19 時刻情報管理部
31 クロック制御部
40 パケット
51 処理容量監視部
52 統計部
53 高速回路
54 中速回路
55 低速回路

【特許請求の範囲】
【請求項1】
受信したパケットを前記パケットの種類を表すパケット種別に応じて振り分けるパケット振り分け部と、
前記パケットの処理量が異なる複数の処理回路と、
前記振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が前記過去の通信量以上の処理回路のうち、前記パケットの処理量が相対的に小さい処理回路を前記複数の処理回路から選択し、前記選択した処理回路に前記振り分けられたパケットを出力する選択部
を備えることを特徴とする通信装置。
【請求項2】
前記パケットが受信された時刻についての時刻情報を管理する時刻情報管理部をさらに備え、
前記時刻情報管理部は、前記選択部に前記振り分けられたパケットが受信された時刻を通知し、
前記選択部は、通知された時刻情報に対応する前記過去の通信量に基づいて前記複数の処理回路から前記振り分けられたパケットの処理に用いる処理回路を選択する
ことを特徴とする請求項1に記載の通信装置。
【請求項3】
前記複数の処理回路のうち前記選択部に選択された処理回路に、前記選択された処理回路の動作に用いられるクロックを提供するクロック部をさらに備え、
前記選択部は、前記クロック部に前記選択された処理回路を通知する
ことを特徴とする請求項1または2に記載の通信装置。
【請求項4】
前記選択部から一定時間内に入力されたデータ量について、前記選択された処理回路が前記一定時間内に処理するデータ量に占める割合を算出し、前記割合が前記処理回路について予め定められた許容範囲に含まれた値であるかを判断する処理割合算出部をさらに備え、
前記処理割合算出部は、前記割合が前記許容範囲を超えている場合、前記割合が前記許容範囲に含まれる値より大きいことを表す通知を出力し、前記割合が前記許容範囲に満たない場合、前記割合が前記許容範囲に含まれる値より小さいことを表す通知を出力し、
前記選択部は、前記通知に基づいて前記一定時間内に処理するデータ量が前記選択された処理回路よりも大きい処理回路もしくは前記一定時間内に処理するデータ量が前記選択された処理回路よりも小さい処理回路に前記振り分けられたパケットを出力する
ことを特徴とする請求項1から3のいずれか一項に記載の通信装置。
【請求項5】
受信したパケットを、前記パケットの種類を表すパケット種別に応じて振り分け、
前記振り分けられたパケットと同じパケット種別のパケットの過去の通信量に基づいて、パケットの処理量が前記過去の通信量以上の処理回路のうち、前記パケットの処理量が相対的に小さい処理回路を複数の処理回路から選択し、
前記選択した処理回路に前記振り分けられたパケットを出力する
ことを特徴とする通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−97319(P2011−97319A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−248581(P2009−248581)
【出願日】平成21年10月29日(2009.10.29)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】