<第1の実施形態>
[通信システムの構成例]
図1は、本発明の実施形態におけるデータ転送装置100を含む通信システムの構成例を示している。この図に示すデータ転送装置100は、例えばLAN(Local Area Network)などを経由して通信端末装置200と接続される。また、例えばインターネットとしての基幹ネットワーク400を経由して通信端末装置300と接続される。そして、データ転送装置100は、通信端末装置200と通信端末装置300との間で送受信されるパケットのデータを中継する。つまり、通信端末装置200から送信される通信パケットを基幹ネットワーク400を経由して通信端末装置300に転送する。また、通信端末装置300から基幹ネットワーク400を経由して送信されるパケットを通信端末装置200に転送する。通信端末装置200と通信端末装置300は移動体通信端末装置やサーバ装置、パソコンなどであるが、通信可能な装置であればよいため、これらの装置に限られるものではない。
[データ転送装置の構成例]
図2は、データ転送装置100の構成例を示している。この図に示すデータ転送装置100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、記憶部103、通信部104および電源部105を備える。これらの部位は、データバス106を介して接続されている。
CPU101は、記憶部103に記憶されるプログラムを実行することにより、データ転送装置100としての所定の機能を実現する。
RAM102は、主記憶装置として機能するもので、CPU101が実行すべきプログラムが記憶部103から読み出されて展開される。また、RAM102は、CPU101が演算処理を実行する際の作業領域として使用される。
記憶部103は、補助記憶装置として機能するもので、CPU101により実行されるプログラムや各種データを格納する。なお、この記憶部103には、例えばハードディスクやフラッシュメモリなどの半導体記憶装置を採用することができる。
通信部104は、LANや基幹ネットワーク400などの伝送路を経由して他の通信端末装置と通信を行う。本実施形態では、上記LANや基幹ネットワーク400に通信端末装置200や通信端末装置300が接続されており、これにより、通信部104は、通信端末装置200および通信端末装置300とそれぞれ通信を行うことができる。
電源部105は、商用交流電源またはバッテリから供給される電力を、直流による所定値の電源電圧に変換し、同図に示す各部に対応するチップやボードなどに対して供給する。また、電源部105は、CPU101によるスリープ制御に応じて、所定部位に供給すべき電源電圧の停止や電圧値の変更などを実行することで、スリープ状態を設定する。
[データ転送装置の機能構成例]
図3は、第1の実施形態において、データ転送装置100のCPU101がプログラムを実行することにより実現されるスリープ制御のための機能構成例を示している。また、この図においては、記憶部103が記憶するデータのうち、スリープ制御に対応するデータとして、フローデータベース130、消費電力削減率下限値132およびパラメータテーブル133が示される。
また、同図においては、通信部104の構成が示される。通信部104は通信制御部141a、141bおよびパケット転送部142を備える。通信制御部141aおよび141bは、ルーティングなどの通信制御を実行する。ここでは、通信制御部141aに対してLANの伝送路経由で通信端末装置200が接続され、通信制御部141bに対して、基幹ネットワーク400経由で通信端末装置300が接続されているものとする。パケット転送部142は、例えば通信端末装置間のデータ転送にあたり、輻輳制御などの所定の制御を実行する。
上記構成の通信部104において、通信端末装置200から送信されたパケットは、通信制御部141aにて受信され、パケット転送部142に出力される。パケット転送部142は、通信制御部141aから入力されたパケットについて輻輳制御などを行い、所定タイミングで通信制御部141bに出力する。通信制御部141bは、パケット転送部142から入力されたパケットを通信端末装置300に送信するための経路を決定し、この経路に対してパケットを送出する。
また、逆に、通信端末装置300から送出されたパケットは、通信制御部141bからパケット転送部142に入力される。パケット転送部142は入力されたパケットについて輻輳制御などを行ったうえで、所定タイミングで通信制御部141aに出力する。通信制御部141aは、パケット転送部142から入力されたパケットを通信端末装置200に送信するための経路を決定し、この経路に対してパケットを送出する。
同図においては、CPU101により実現されるスリープ制御に関連する機能部として、フロー情報抽出部111、データベース登録部112、次フロー開始時刻予測部113、閾値設定部114およびスリープ判定部115を備える。
フロー情報抽出部111は、パケット転送部142に入力されたパケットごとにフロー情報を抽出する。
ここで、フローとは、複数の同じ通信端末装置の間で送受信され、かつ、同じアプリケーションが処理するデータを格納するパケット群の単位をいう。そして、フロー情報は、パケットにおけるヘッダ(IP(Internet Protocol)ヘッダおよびTCP(Transmission Control Protocol)ヘッダおよびUDP(User Datagram Protocol)ヘッダなど)のフィールドに格納される情報のうち、フローを一意に特定するのに必要となる情報群であり、具体的には、送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号および宛先ポート番号となる。
送信元IPアドレスは、IPヘッダに格納される情報であり、パケットの送信元である通信端末装置のIPアドレスを示す。宛先IPアドレスは、IPヘッダに格納される情報であり、パケットの宛先である通信端末装置のIPアドレスを示す。プロトコル番号は、IPヘッダに格納される情報であり、トランスポート層で規定されるネットワークプロトコルの種類を示す番号である。
送信元ポート番号は、TCPヘッダに格納される情報であり、送信元の通信端末装置においてパケット送出のための処理を行ったアプリケーションを示す番号である。宛先ポート番号は、TCPヘッダに格納される情報であり、パケットの宛先として指定するアプリケーションを示す番号である。これらの情報により、パケットのフローが特定される。つまり、パケットを送受信する通信端末装置とアプリケーションとが特定される。
なお、上記のようにフローを特定するにあたり、IPヘッダやTCPヘッダから得られる情報を利用しているが、パケットを送受信する通信端末装置とアプリケーションとを特定できればよく、フローを特定するための手法やアルゴリズムとしては本実施形態では特に限定されるべきものではない。その他の一例として、TCPやUDPよりも上位のアプリケーションヘッダを利用することでもフローを特定することができる。
データベース登録部112は、パケット転送部142が受信したパケットごとのフロー情報をフローデータベース130に登録する。このために、データベース登録部112は、パケット転送部142が入力したパケットごとに対応してフロー情報抽出部111が抽出したフロー情報に受信時刻を対応付けてエントリを生成する。そして、このエントリをフローデータベース130に登録する。受信時刻は、対応のパケットが受信された時刻、つまり、パケット転送部142に入力された時刻を示す。
図4は、フローデータベース130の構造例を示している。この図に示すように、フローデータベース130のエントリ131は、受信したパケットごとの送信元IPアドレス131a、宛先IPアドレス131b、プロトコル番号131c、送信元ポート番号131d、宛先ポート番号131eおよび受信時刻131fが対応付けられた構造を有する。したがって、フローデータベース130を参照すれば、過去に受信したパケットがどのフローに該当するものであるのかを特定できることになる。
説明を図3に戻す。次フロー開始時刻予測部113は、次のフローの受信が開始される時刻(次フロー開始時刻)を予測する。
図5を参照して、次フロー開始時刻予測部113による次フロー開始時刻tsnの予測処理の一例について説明しておく。図5にはパケット転送部142が受信(入力)したパケットから成るフローが示される。パケットは、図示するように、開始時刻tsから受信が開始された後、或るまとまった数のパケットが連続して受信される期間と、パケットの受信が停止される期間とを交互に繰り返す。そして、フローにおける最後のパケットが受信される終了時刻teに至ると、1つのフローの受信が完了する。この開始時刻tsから終了時刻teまでの期間をフロー継続期間Ωとして定義する。
次フロー開始時刻予測部113は、次フロー開始時刻tsnの予測にあたり、まず、フローデータベース130において登録されているエントリをフローごとに分類する。このためには、送信元IPアドレス131a、宛先IPアドレス131b、プロトコル番号131c、送信元ポート番号131d、宛先ポート番号131eが共通のエントリ131ごとに分類を行えばよい。
そのうえで、次フロー開始時刻予測部113は、各フローについてのフロー継続時間Ωを算出する。具体例として、次フロー開始時刻予測部113は、同じフローのエントリが示す受信時刻における最も早い時刻を開始時刻ts、最も遅い時刻を終了時刻teとして抽出する。そして、これらの抽出した開始時刻tsから終了時刻teまでの期間をフロー継続期間Ωとして求める。
次に、次フロー開始時刻予測部113は、上記のように求めたフローごとのフロー継続期間Ωに基づいてフロー開始間隔xを予測するための演算を行う。フロー開始間隔xは、図5に示されるように、現時刻において最後に受信したフローの開始時刻tsから次のフローが開始されるまでの期間である。そして、上記開始時刻tsから予測したフロー開始間隔xを経過した時刻を加算すれば、次フロー開始時刻tsnが求められる。つまり、次フロー開始時刻tsnの予測結果が得られる。
なお、上記のように次フロー開始時刻tsnを予測するにあたり、現時刻以降におけるフロー開始間隔xを予測するための手法やアルゴリズムとしては本実施形態では特に限定されるべきものではない。一例として、次フロー開始時刻tsnまでのフロー開始間隔xは、過去におけるフロー開始間隔xの実測値の平均として求めることができる。
説明を図3に戻す。閾値設定部114は、消費電力削減率下限値132とパラメータテーブル133を利用して、スリープ判定部115がスリープ状態に遷移すべきか否かの判定に用いる閾値Δを設定する。
スリープ判定部115は、次フロー開始時刻予測部113により算出された平均フロー開始間隔λと、閾値設定部114により設定された閾値Δを利用して、フロー停止期間ω(図5参照)において、スリープ状態を設定させるべきか否かについての判定を行う。
スリープ判定部115は、スリープ状態に遷移させるべきと判定した場合、予測された次フロー開始時刻tsnまでの期間から起動時間Tuを減算することで、フロー休止期間ωにおいてスリープ状態を設定可能なスリープ対象期間Tspの時間長を算出する。そして、このスリープ対象期間Tspにおいてスリープ状態が設定されるように電源部105に対する制御を実行する。この制御に応じて、電源部105は、所定の部位に対する電源電圧の供給を停止させてスリープ状態を設定する。また、スリープ状態を設定するにあたり、電源電圧の電圧値を起動時よりも低い所定値とすべきときには、電源電圧をスリープ状態に応じた所定値に変更することも行う。
[スリープ制御について]
図5に示したように、フローは、或る数のパケットがフロー継続期間Ωにわたって受信される。そして、フロー継続期間Ωが終了すると、この後のパケットが送信されないフロー停止期間ωを経た時刻tsnに至って、次のフローの受信が開始される。
フロー停止期間ωは、トラフィック量に応じて異なるが、フロー継続期間Ωにおけるパケットの停止期間と比較すれば長時間となる傾向にある。また、例えばフロー停止期間ωは、数秒程度の場合もあれば、数分から数十分以上にわたる場合もある。そこで、このフロー停止期間ωにおいてデータ転送装置100をスリープ状態に設定すれば、起動状態のままとしておく場合よりも消費電力を低減することが可能になる。
ただし、フロー停止期間ωにおいてスリープ状態を設定した場合には、次フロー開始時刻tsnに至る前のタイミングでスリープ状態を解除して起動状態とする必要がある。このため、図5に示すように、フロー停止期間ωは、スリープ状態を設定可能なスリープ対象期間Tspと、これに続く起動時間Tuにより形成されることになる。起動時間Tuは、スリープ状態を解除してデータ転送装置100の起動を開始させてから通信が可能となるまでの期間である。
また、上記起動時間Tuは、数十ミリ秒から数秒程度の比較的長い時間が必要である。したがって、フローの受信頻度が比較的高く、起動回数が多くなるほど、起動時間Tuも多くなるため、単位時間当たりの起動時間Tuの合計である総起動待ち時間が増加する傾向にある。
図5に示すように、起動時間Tuにおいてデータ転送装置100が起動状態にあるときの消費電力Puは、スリープ状態時の消費電力Piよりも大きくなる。したがって、フローの受信頻度が比較的高いためにフロー停止期間ωも短くなるような状況では、消費電力の削減効果が低いのに係わらず単位時間における総起動待ち時間が増加することで、通信端末装置が通信を開始するまでの待ち時間が増加する。すなわち、利用者に対して通信開始までの待ち時間が多く発生することとなり、ネットワーク利用品質が低下する。
そこで、本実施形態においては、スリープ状態を設定することによる消費電力の削減効果と、単位時間における総起動待ち時間とのバランスが適切となるようにスリープ制御を実行する。本実施形態では、このようなスリープ制御の実現のために、閾値設定部114が閾値Δを設定し、スリープ判定部115が上記閾値Δを利用して、スリープ状態を設定すべきか否かの判定を行う。
以下、第1の実施形態におけるスリープ制御について説明する。すなわち、閾値設定部114による閾値Δの設定と、スリープ判定部115によるスリープ状態設定可否の判定処理の手法例について説明する。まず、スリープ判定部115によるスリープ状態設定可否の判定処理について説明する。
スリープ判定部115は、フローが一定の確率でランダムに生起するポアゾン分布に従うものであることを前提としたうえで、閾値Δを含む以下の条件式が成立するか否かに応じてスリープ状態設定の可否を判定する。
{(x−Ω)×Pi}−{(x−Tu−Ω)×Ps+Tu×Pu}>△
そして、スリープ判定部115は、上記の条件式が成立した場合にスリープ状態を設定するものと判定し、成立しない場合にスリープ状態を設定せずに起動状態を維持させるものと判定する。
上記条件式の左辺における各項の定義は図5に示されている。つまり、上記条件式による演算は、フロー開始間隔x、起動時間Tu、フロー継続期間Ω、スリープ状態時の消費電力Ps、起動状態時の消費電力Pu、空転状態時の消費電力Piを利用している。稼働状態においては、パケットが受信される期間に対応してデータを転送する期間と、パケットが停止される期間に対応してデータ転送も停止される期間が存在する。空転状態は、この稼働状態において、データ転送が停止される期間の状態である。
したがって、条件式の左辺は、図5のスリープ対象期間Tspにおいてスリープ状態を設定しなかった場合のフロー停止期間ωの消費電力量から、スリープ対象期間Tspにおいてスリープ状態を設定した場合のフロー停止期間ωの消費電力量を減算するというものになる。したがって、閾値Δは、スリープ状態を設定した場合と設定しない場合の消費電力量の差分値に対応していることになる。
次に、閾値設定部114による閾値Δの設定処理例について説明する。閾値設定部114は、閾値Δの設定にあたり、記憶部103に記憶される消費電力削減率下限値132とパラメータテーブル133を利用する。
消費電力削減率とは、スリープ状態を設定しない場合の消費電力を100%として、スリープ状態を設定した場合における消費電力の低下率をいう。消費電力削減率下限値132は、スリープ状態を設定することが有意であるとみなされる消費電力削減率の数値を示す。記憶部103には、予め所定の条件を考慮して設定された消費電力削減率下限値132としての値が記憶される。
具体例として、消費電力削減率下限値132が「15%」であるとすると、消費電力削減率が15%以上であれば、スリープ状態の設定が有意なものであるとみなされる。これに対して、消費電力削減率が15%未満の場合には、スリープ状態の設定は有意ではないとみなされる。つまり、例えば総起動待ち時間の増加を考慮すれば、スリープ状態を設定することのメリットはないと捉えられる。
パラメータテーブル133は、平均フロー開始間隔λと消費電力差分値δと消費電力比と総起動待ち時間との関係を示したテーブルである。このパラメータテーブル133の内容は、演算やシミュレーションなどによって求めることができる。図6は、このパラメータテーブル133が示す内容をグラフ化したものである。
図6に示されるグラフにおいて、縦軸が消費電力比であり、横軸が総起動待ち時間である。消費電力比は、フロー停止期間ωにおいてスリープ状態を設定するようにスリープ制御を行った場合の単位時間の消費電力量を、スリープ状態を設定しないとした場合の単位時間の消費電力量で除算した値である。この消費電力比は、すなわち、単位時間における消費電力削減率に相当する。具体的に、消費電力削減率は(1−消費電力比)として一意に表される。上記単位時間としては、或る程度の長時間であるほうが誤差が小さくなるために好ましい。ここでは、一例として、上記単位時間を1日(24時間)としている。
総起動待ち時間は、フロー停止期間ωにおいてスリープ状態を設定するようにスリープ制御を行った場合の単位時間の起動時間Tuの合計を示す。なお、この総起動待ち時間についても、上記単位時間については1日(24時間)としている。
また、図6における14本の特性線f5〜f150は、それぞれ、一定の平均フロー開始間隔λに対応する特性を示す。つまり、特性線f5はλ=5、f10はλ=10、f15はλ=15、f20はλ=20、f25はλ=25、f30はλ=30、f40はλ=40、f50はλ=50、f60はλ=60、f70はλ=70、f80はλ=80、f90はλ=90、f100はλ=100、f150はλ=150に対応する特性をそれぞれ示す。
平均フロー開始間隔λは、平均フロー開始間隔λは、フロー開始間隔x(図5参照)の平均値である。平均フロー開始間隔λは、フローデータベース130が格納するエントリ131から抽出したフローごとの開始時刻tsに基づいて求めることができる。
さらに、上記特性線f5〜f150の各々は、消費電力差分値δに応じてプロットされている。消費電力差分値δは、先に説明した条件式の左辺を演算して求められる値であり、前述のようにスリープ状態を設定した場合と設定しない場合の消費電力量の差分値を示す。具体例として、特性線f40には、プロット点p0、p4、p8、p12、p16が示されている。プロット点p0、p4、p8、p12、p16は、それぞれ、消費電力差分値δ=0、4、8、12、16に対応している。例えば、線f40のプロット点p0は、平均フロー開始間隔λ=40、かつ消費電力差分値δ=0のとき、総起動待ち時間は約6200秒、消費電力比は約0.8であることを示している。この消費電力差分値δが閾値Δの候補となる。
閾値設定部114は、一具体例として、以下のように閾値Δを設定する。閾値Δを設定するにあたり、閾値設定部114は平均フロー開始間隔λを算出する。平均フロー開始間隔λは、一例として以下のように算出する。つまり、閾値設定部114は、フローデータベース130に格納される情報を利用して、過去におけるフローごとの開始時刻tsを抽出する。そして、抽出された開始時刻tsに基づいて、過去の所定数のフロー開始間隔xの実測値を算出する。過去における1つのフロー開始間隔xの実測値は、1つの開始時刻tsと、その次の開始時刻tsとの差分として求めることができる。そして、このように求められた複数のフロー開始間隔xの平均値を算出する。この平均値が平均フロー開始間隔λとなる。なお、次フロー開始時刻予測部113が次フロー開始時刻tsnを予測するにあたり、フロー開始間隔xの平均値を算出するようにされている場合には、次フロー開始時刻予測部113により算出された平均値を平均フロー開始間隔λとしてそのまま利用することもできる。
そして、閾値設定部114は、上記のように求められた平均フロー開始間隔λと、記憶部103から読み込んだ消費電力削減率下限値132に相当する消費電力比に対応付けられた消費電力差分値δを、パラメータテーブル133から特定する。この処理は、図6との対応では以下のようになる。
ここでは、平均フロー開始間隔λについて10秒と算出されたものとする。消費電力削減率下限値132は、前述の15%であるとする。消費電力削減率下限値132が15%ということは、図6における消費電力比が85%以下の範囲であれば消費電力が有効であり、スリープ制御すべきであることを意味している。
そこで、平均フロー開始間隔λ=10に対応する特性線f10を参照すると、消費電力差分値δ=0のプロット点P11が約90%の消費電力比となっている。そこで、この場合には、特性線f10について消費電力差分値δ=0よりも小さい値に対応させて延長するように補間し、この補間された特性線f10が消費電力比0.85となる点の消費電力差分値δの値を求める。そして、このように求められた消費電力差分値δをスリープ判定部115が利用する閾値Δとして設定する。
上記ように設定された閾値Δに基づいてスリープ判定部115がスリープ状態設定可否を判定してスリープ状態設定のための制御を実行した場合の消費電力比と総起動待ち時間の特性を図7に示す。
図7(a)は、消費電力比の特性を示している。この図において縦軸が消費電力比であり、横軸が平均フロー開始間隔λである。また、この図においては、本実施形態によるスリープ制御の特性とともに、比較として、先行技術(非特許文献2)に基づいてスリープ制御を実行したことにより、フロー停止期間ωにおいてスリープ状態が設定された場合の特性が示されている。
この図において示される先行技術の特性において、平均フロー開始間隔λ=10の場合の特性に着目してみる。すると、消費電力比は0.89であり、総起動待ち時間は約6900秒となっている。この特性は、消費電力削減率が10%程度とされて消費電力削減効果は低いのにも係わらず、総起動待ち時間が著しく長くなってしまっている状態といえる。この場合には、消費電力の削減よりも総起動待ち時間の短縮を優先させた方が適切であるということがいえる。
これに対して、第1の実施形態のスリープ制御では、平均フロー開始間隔λ=5、10の場合にはスリープ状態を設定しないように動作する。これにより、図7(a)に示すように、平均フロー開始間隔λ=5、10の場合には、消費電力比はいずれも「1」となるが、図7(b)に示すように、総起動待ち時間についてはいずれにおいても「0」とすることができる。また、平均フロー開始間隔λ=15、30、60の場合の消費電力比と総起動待ち時間の特性は同様となる。この特性は、フローの発生分布(トラフィック分布)に対して、消費電力の低減と総起動待ち時間の短縮について、いずれにも偏ることなく適切に制御されているものとみることができる。
[処理手順例]
図8のフローチャートは、第1実施形態におけるデータ転送装置100がスリープ制御のために実行する処理手順例を示している。この図に示す処理は、図3のCPU101における機能部のいずれかが適宜実行する。
まず、フロー情報抽出部111は、通信部104にて受信されたパケット、つまり、パケット転送部142に入力されたパケットごとに、前述のフロー情報を抽出する(ステップS101)。次に、データベース登録部112は、抽出されたフロー情報と受信時刻から成るエントリ131を生成し、フローデータベース130に登録する(ステップS102)。
次フロー開始時刻予測部113は、前述のように、フローデータベース130に格納される情報を利用してフロー継続時間Ωを算出し(ステップS103)、このフロー継続時間Ωに基づき、次フロー開始時刻tsnを予測する(ステップS104)。
また、閾値設定部114は、フローデータベース130に格納される情報と、消費電力削減率下限値132と、パラメータテーブル133とを利用して、先に図5および図6を参照して説明したように、閾値Δを設定する(ステップS104)。なお、このステップS105としての閾値Δ設定のための処理手順例については、図9により後述する。
スリープ判定部115は、上記ステップS105により設定された閾値Δを含む前述の条件式について演算し(ステップS106)、この演算結果から条件式が成立するか否かについて判定する(ステップS107)。
次に、スリープ判定部115は、上記条件式が成立すると判定した場合(ステップS107−YES)、スリープ対象期間Tspにおいてスリープ状態が設定されるように電源部105を制御する(ステップS108)。これに対して、上記条件式が成立しないと判定した場合(ステップS107−NO)、スリープ判定部115は、スリープ対象期間Tspにおいてスリープ状態が設定されることなく起動状態が維持されるように電源部105を制御する(ステップS109)。
図9のフローチャートは、上記図8のステップS105としての閾値Δ設定のための処理手順例を示している。閾値設定部114は、前述のように、フローデータベース130の情報を利用して平均フロー開始間隔λを算出する(ステップS201)。
また、閾値設定部114は、記憶部103から消費電力削減率下限値132を読み込むとともに(ステップS202)、パラメータテーブル133を読み込む(ステップS203)。
そして、閾値設定部114は、図6にて説明したように、パラメータテーブル133から、平均フロー開始間隔λの条件のもとで、消費電力削減率下限値132に対応する消費電力比に対応する消費電力差分値δを特定する(ステップS204)。そして、このように特定された消費電力差分値δを閾値Δとして設定する(ステップS205)。
<第2の実施形態>
[データ転送装置の機能構成例]
続いて、第2の実施形態について説明する。第2の実施形態において、通信システム構成およびデータ転送装置100のハードウェア構成は、それぞれ、図1および図2と同様でよい。
先の第1の実施形態においては、閾値Δを設定するにあたり、現在のトラフィック量の指標として求めた平均フロー開始間隔λの条件のもとで、予め設定された消費電力削減率下限値132に基づいて閾値Δを設定することとしていた。そして、消費電力削減率下限値132より小さい消費電力削減率しか得られない場合にはスリープ状態を設定しないように制御を行うこととしていた、
これに対して、第2の実施形態においては、消費電力削減率下限値132に代えて、予め設定された目標消費電力削減率に基づいて閾値Δを設定する。これにより、スリープ状態を設定するにあたり、消費電力比が目標消費電力削減率に対応する値で一定となるように制御される。
図10は、第2の実施形態に対応するデータ転送装置100の機能構成例を示している。この図において、図3と同一部分には同一符号を付して説明を省略する。この図に示すデータ転送装置100は、記憶部103において、消費電力削減率下限値132に代えて目標消費電力削減率132Aを記憶する。目標消費電力削減率132Aは、所定の条件等を考慮して予め設定された消費電力削減率の目標値である。
閾値設定部114は、消費電力削減率下限値132に代えて上記目標消費電力削減率132Aを利用して閾値Δを設定する。
ここで、図6を再度参照して、第2の実施形態における閾値Δの設定処理について説明する。なお、ここでは具体例として、目標消費電力削減率132Aについて20%が設定されている場合を想定する。
第2の実施形態においても、閾値設定部114は、トラフィック分布を示す値として平均フロー開始間隔λを算出する。ここでは、平均フロー開始間隔λ=40秒と算出された場合を想定する。
閾値設定部114は、パラメータテーブル133から平均フロー開始間隔λ=40秒の条件において、20%の目標消費電力削減率132Aに対応した消費電力比となる消費電力差分値δを特定する。20%の目標消費電力削減率132Aに対応した消費電力比は、すなわち80%となる。
閾値設定部114は、図6において平均フロー開始間隔λ=40秒に対応する特性線f40に相当するパラメータ群を、パラメータテーブル133から抽出する。特性線f40において、消費電力比が80%となる位置はプロット点P12である。このプロット点P12は、消費電力差分値δ=12に対応する。つまり、平均フロー開始間隔λ=40秒において、20%の目標消費電力削減率132Aとなる条件を満たす消費電力差分値δは「12」である。閾値設定部114は、抽出したパラメータ群から、平均フロー開始間隔λ=40と目標消費電力削減率「20%」のパラメータに対応する消費電力差分値δを特定する。このように特定された消費電力差分値δが「12」であることになる。そこで、閾値設定部114は、閾値Δ=12を設定する。
図11は、上記のように20%の目標消費電力削減率132Aが設定されている場合の第2の実施形態におけるスリープ制御の特性を、先行技術(非特許文献2)に基づくスリープ制御の特性と比較して示している。
図11(a)(b)に示されるように、トラフィックが増加している状態に相当する平均フロー開始間隔λ=5、10の状態では、先行技術と同様のスリープ制御となることで、消費電力比および総起動待ち時間の特性も先行技術と同様となっている。しかし、トラフィックが減少した状態に対応する平均フロー開始間隔λ=15、30、60の状態となると、本実施形態では、図11(a)に示すように、消費電力比は0.8(80%)で一定となる。この状態は、先行技術と比較すれば、消費電力削減率は少なくなってはいるものの、必要とされる消費電力削減率が意図したとおりに得られていることを示している。
そして、図11(b)に示すように、消費電力削減率が抑えられた代わりに、平均フロー開始間隔λ=15、30、60における総起動待ち時間が大幅に短縮されている。具体的に、先行技術の場合の平均フロー開始間隔λ=15、30、60における総起動待ち時間は、それぞれ、約8400秒、約7500秒、約4600秒とされていた。これに対して、本実施形態における平均フロー開始間隔λ=15、30、60における総起動待ち時間は、それぞれ、約7700秒、約3400秒、約1500秒となる。
[処理手順例]
第2実施形態におけるスリープ制御のための処理としては、先に図8のフローチャートに示した処理手順例と同様でよい。ただし、ステップS105としての閾値Δ設定のための処理手順については、図12のフローチャートに示すものとなる。
図12において、閾値設定部114は、図9のステップS201と同様に、フローデータベース130の情報を利用して平均フロー開始間隔λを算出する(ステップS301)。
また、閾値設定部114は、記憶部103から目標消費電力削減率132Aを読み込む(ステップS302)。また、パラメータテーブル133を読み込む(ステップS303)。
そして、閾値設定部114は、図6を参照して説明したように、平均フロー開始間隔λの条件のもとで、目標消費電力削減率132Aに相当する消費電力比に対応する消費電力差分値δをパラメータテーブル133から特定する(ステップS304)。そして、このように特定された消費電力差分値δを閾値Δとして設定する(ステップS305)。スリープ判定部115は、このように設定された閾値Δを利用して、図8のステップS106からS109の処理を実行する。これにより、図11に例示したように、一定以上の平均フロー開始間隔λの条件において、目標消費電力削減率132Aに対応する消費電力比で一定となるようにスリープ制御が行われ、これに伴って、総起動待ち時間が大幅に短縮される。つまり、必要とされる消費電力削減率を確保しつつ、総起動待ち時間も大幅に短縮させることが可能とされている。
<第3の実施形態>
[データ転送装置の機能構成例]
続いて、第3の実施形態について説明する。第3の実施形態において、通信システム構成およびデータ転送装置100のハードウェア構成は、それぞれ、図1および図2と同様でよい。
第3の実施形態においては、先の第1、第2の実施形態における消費電力削減率下限値132または目標消費電力削減率132Aに代えて、総起動待ち時間の目標値を利用して閾値Δを設定する。これにより、トラフィック分布に対して総起動待ち時間が所望の一定値となるようにスリープ状態を設定するスリープ制御が行われる。
図13は、第3の実施形態に対応するデータ転送装置100の機能構成例を示している。この図において、図3および図10と同一部分には同一符号を付して説明を省略する。この図に示すデータ転送装置100は、記憶部103において、消費電力削減率下限値132または目標消費電力削減率132Aに代えて、目標総起動待ち時間132Bを記憶する。目標総起動待ち時間132Bは、所定の条件等を考慮して予め設定された消費電力削減率の目標値である。そして、閾値設定部114は、消費電力削減率下限値132または目標消費電力削減率132Aに代えて、目標総起動待ち時間132Bを利用して閾値Δを設定する。
図6を参照して、第3の実施形態における閾値Δの設定処理について説明する。なお、ここでは具体例として、目標総起動待ち時間132Bとして4000秒が設定されている場合を想定する。
第3の実施形態において、閾値設定部114は、トラフィック分布を示す値として平均フロー開始間隔λを算出する。ここでも、平均フロー開始間隔λ=40秒と算出された場合を想定する。
閾値設定部114は、パラメータテーブル133から平均フロー開始間隔λ=40秒の条件において、目標総起動待ち時間132Bが示す4000秒の総起動待ち時間に対応する消費電力差分値δを特定することになる。
そこで、閾値設定部114は、図6においてグラフとして示されるパラメータテーブル133において、平均フロー開始間隔λ=40秒に対応する特性線f40を参照する。特性線f40において、総起動待ち時間が4000秒となる位置はプロット点P8であり、このプロット点P8が対応する消費電力差分値δは「8」となる。このように、平均フロー開始間隔λ=40秒のもとで総起動待ち時間が4000秒となる消費電力差分値δは「8」であることが特定される。そこで、閾値設定部114は、閾値Δ=8を設定する。
図14は、第3の実施形態において、上記のように4000秒の目標総起動待ち時間132Bが設定されている場合のスリープ制御の特性を、先行技術(非特許文献2)に基づくスリープ制御の特性と比較して示している。
図14(a)(b)に示されるように、平均フロー開始間隔λ=5の状態ではスリープ状態に設定する制御が実行されないため、消費電力比および総起動待ち時間の特性は先行技術と同様となる。一方、平均フロー開始間隔λ=10、15、30、60の状態では、図14(b)に示すように、総起動待ち時間が4000秒で一定となるようにスリープ状態を設定するスリープ制御が実行される。なお、図14(a)に示されるように、この平均フロー開始間隔λ=10、15、30、60における本実施形態の消費電力比は、先行技術と比較して高くはなっているものの、総起動待ち時間の短縮との兼ね合いでは、消費電力が有効に削減されているといえる。
[処理手順例]
第2実施形態においてスリープ制御のための処理としては、先に図8のフローチャートに示した処理手順例と同様でよい。ただし、ステップS105としての閾値Δ設定のための処理手順については、図12のフローチャートに示すものとなる。
図12において、閾値設定部114は、図9のステップS201と同様に、フローデータベース130の情報を利用して平均フロー開始間隔λを算出する(ステップS401)。
また、閾値設定部114は、記憶部103から目標総起動待ち時間132Bを読み込む(ステップS402)。また、パラメータテーブル133を読み込む(ステップS403)。
そして、閾値設定部114は、図6を参照して説明したように、平均フロー開始間隔λの条件のもとで、目標総起動待ち時間132Bに対応する消費電力差分値δをパラメータテーブル133から特定する(ステップS404)。そして、このように特定された消費電力差分値δを閾値Δとして設定する(ステップS405)。スリープ判定部115は、このように設定された閾値Δを利用して、図8のステップS106からS109の処理を実行する。これにより、図14に例示したように、一定以上の平均フロー開始間隔λの条件において、目標総起動待ち時間132Bが示す総起動待ち時間で一定となるようにスリープ制御が行われる。これにより、総起動待ち時間の短縮消費電力の有効な削減を両立させている。
なお、これまでの実施形態におけるスリープ状態とは、例えば、休止状態などともいわれる。本実施形態のスリープ状態とは、これまでの説明から理解されるように、所定の回路部への電源供給が停止される、または、供給される電源電圧の電圧値を低下させることで、稼働状態よりも消費電力が少なくなる状態をいう。
また、上述のデータ転送装置は、内部にコンピュータシステムを有している。そして、上述したスリープ制御の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、図3、図10および図13などに示される機能部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各種処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。