(57)【要約】【課題】従来のサーバー装置では、処理能力と省電力化を両立することが困難である問題があった。【解決手段】本発明にかかるサーバー装置の省電力方法は、プログラムに応じたプロセスを実行する演算部からの指示に基づきデータの送受信を行う第１、第２のネットワークインタフェースを有するサーバー装置における省電力方法であって、第１のネットワークインタフェースの通信帯域を広帯域に設定し、第２のネットワークインタフェースの通信帯域を狭帯域に設定し、演算部において実行中のプロセスを予め設定されたプロセス帯域定義情報に応じて第１、第２のネットワークインタフェースのいずれかに割り当て、第１、第２のネットワークインタフェースにおけるデータの送受信量に応じて第１、第２のネットワークインタフェースの通信帯域を制御する。【選択図】図５
2010161705.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに応じたプロセスを実行する演算部からの指示に基づきデータの送受信を行う第１、第２のネットワークインタフェースを有するサーバー装置における省電力方法であって、
前記第１のネットワークインタフェースの通信帯域を広帯域に設定し、
前記第２のネットワークインタフェースの通信帯域を狭帯域に設定し、
前記演算部において実行中の前記プロセスを予め設定されたプロセス帯域定義情報に応じて前記第１、第２のネットワークインタフェースのいずれかに割り当て、
前記第１、第２のネットワークインタフェースにおけるデータの送受信量に応じて前記第１、第２のネットワークインタフェースの通信帯域を制御するサーバー装置における省電力方法。
【請求項２】
前記サーバー装置の自状態が待機状態であるとことが検出された場合、前記第１のネットワークインタフェース及び前記第２のネットワークインタフェースの設定帯域を狭帯域に設定する請求項１に記載のサーバー装置における省電力方法。
【請求項３】
前記第１のネットワークインタフェースに割り当てられたプロセスの使用帯域を計算し、
前記使用帯域が予め設定された使用帯域の閾値以下である場合は前記第１のネットワークインタフェースの帯域設定を狭くし、
前記使用帯域が前記使用帯域の閾値よりも広帯域である場合は前記第１のネットワークインタフェースの帯域設定を初期値に戻す請求項１又は２に記載のサーバー装置における省電力方法。
【請求項４】
前記第１、第２のネットワークインタフェースが用いる通信バッファに予め設定されたデータ量の閾値以上のデータ量が蓄積されている場合は前記第２のネットワークインタフェースの帯域設定を広くし、
前記通信バッファに蓄積されたデータが前記データ量の閾値よりも少ない場合は前記第２のネットワークインタフェースの帯域設定を初期値に戻す請求項１又は２に記載のサーバー装置における省電力方法。
【請求項５】
予め設定されたデフォルト帯域情報に基づき、前記第１、第２のネットワークインタフェースの通信帯域の初期値を設定する請求項１乃至４のいずれか１項に記載のサーバー装置における省電力方法。
【請求項６】
プログラムに応じたプロセスを実行する演算部からの指示に基づきデータの送受信を行う第１、第２のネットワークインタフェースを有するサーバー装置において、前記演算部上で実行される省電力制御プログラムであって、
メモリに格納されるデフォルト帯域情報に基づき前記第１のネットワークインタフェースの通信帯域を広帯域に設定し、
前記デフォルト帯域情報に基づき前記第２のネットワークインタフェースの通信帯域を狭帯域に設定し、
前記演算部において実行中の前記プロセスを前記メモリに格納されたプロセス帯域定義情報に応じて前記第１、第２のネットワークインタフェースのいずれかに割り当て、
前記第１、第２のネットワークインタフェースにおけるデータの送受信量に応じて前記第１、第２のネットワークインタフェースの通信帯域を制御する省電力制御プログラム。
【請求項７】
前記省電力制御プログラムは、
前記第１、第２のネットワークインタフェースの前記通信帯域を設定する制御プログラムと、
前記演算部において実行されているプロセスを監視し、監視結果を前記制御プログラムに通知する監視プログラムと、を含む請求項６に記載の省電力制御プログラム。
【請求項８】
前記サーバー装置の自状態が待機状態であることが検出された場合、前記第１のネットワークインタフェース及び前記第２のネットワークインタフェースの設定帯域を狭帯域に設定する請求項５又は６に記載の省電力制御プログラム。
【請求項９】
前記第１のネットワークインタフェースに割り当てられたプロセスの使用帯域を計算し、
前記使用帯域が予め設定された使用帯域の閾値以下である場合は前記第１のネットワークインタフェースの帯域設定を狭くし、
前記使用帯域が前記使用帯域の閾値よりも広帯域である場合は前記第１のネットワークインタフェースの帯域設定を初期値に戻す請求項６乃至８のいずれか１項に記載の省電力制御プログラム。
【請求項１０】
前記第１、第２のネットワークインタフェースが用いる通信バッファに予め設定されたデータ量の閾値以上のデータ量が蓄積されている場合は前記第２のネットワークインタフェースの帯域設定を広くし、
前記通信バッファに蓄積されたデータが前記データ量の閾値よりも少ない場合は前記第２のネットワークインタフェースの帯域設定を初期値に戻す請求項６乃至８のいずれか１項に記載の省電力制御プログラム。
【請求項１１】
前記メモリに格納されたデフォルト帯域情報に基づき、前記第１、第２のネットワークインタフェースの通信帯域の初期値を設定する請求項６乃至１０のいずれか１項に記載の省電力制御プログラム。
【請求項１２】
プログラムに応じたプロセスを実行する演算部と、
プロセス毎に必要な通信帯域を定義したプロセス帯域情報を格納するメモリと、
前記演算部からの指示に基づき広帯域でデータの送受信を行う第１のネットワークインタフェースと、
前記演算部からの指示に基づき狭帯域でデータの送受信を行う第２のネットワークインタフェースと、
前記演算部において実行中の前記プロセスの状態を監視するプロセス監視部と、
前記プロセス監視部による監視結果及び前記プロセス帯域定義情報に応じて前記第１、第２のネットワークインタフェースのいずれかに前記プロセスを割り当てるプロセス割り当て部と、
前記第１、第２のネットワークインタフェースにおけるデータの送受信量を監視する通信状態監視部と、
前記通信状態監視部による監視結果に応じて前記第１、第２のネットワークインタフェースの通信帯域を制御する帯域制御部と、
を有するサーバー装置。
【請求項１３】
前記帯域制御部は、前記メモリに格納された自状態情報に基づき前記サーバー装置の自状態が待機状態であることが検出された場合、前記第１のネットワークインタフェース及び前記第２のネットワークインタフェースの設定帯域を狭帯域に設定する請求項１２に記載のサーバー装置。
【請求項１４】
前記第１のネットワークインタフェースに割り当てられたプロセスの使用帯域を計算する使用帯域計算部を有し、
前記帯域制御部は、前記使用帯域が前記メモリに格納された使用帯域の閾値以下である場合は前記第１のネットワークインタフェースの帯域設定を狭くし、前記使用帯域が前記使用帯域の閾値よりも広帯域である場合は前記第１のネットワークインタフェースの帯域設定を初期値に戻す請求項１２又は１３に記載のサーバー装置。
【請求項１５】
前記帯域設定部は、前記メモリに設定され、前記第１、第２のネットワークインタフェースが送受信するデータを一時的に格納する通信バッファ領域を参照し、前記メモリに格納されたデータ量の閾値以上のデータが前記通信バッファに蓄積されている場合は前記第２のネットワークインタフェースの帯域設定を広くし、前記通信バッファに蓄積されたデータが前記データ量の閾値以下である場合は前記第２のネットワークインタフェースの帯域設定を初期値に戻す請求項１２又は１３に記載のサーバー装置。
【請求項１６】
前記帯域設定部は、前記メモリに格納されたデフォルト帯域情報に基づき、前記第１、第２のネットワークインタフェースの通信帯域の初期値を設定する請求項１２乃至１５のいずれか１項に記載のサーバー装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーバー装置における省電力方法、省電力制御プログラム及びサーバー装置に関し、特に複数のネットワークインタフェースを有するサーバー装置における省電力方法、省電力制御プログラム及びサーバー装置に関する。
【背景技術】
【０００２】
近年、ネットワーク技術の高度化によりネットワークの大規模化やネットワークを介して伝送されるデータの大容量化が顕著になってきている。このような、ネットワーク技術の高度化に伴いネットワークに接続されるサーバー装置の高性能化も進んでいる。一方、高性能なサーバー装置では、高い処理能力を実現するために消費電力が著しく増大しており、サーバー装置及びネットワークに接続される機器の省電力化が課題となっている。
【０００３】
そこで、ネットワークに接続されるサーバー装置又はネットワークに接続される機器において省電力化を実現する技術が多く提案されている。特許文献１には、ネットワーク上でデータの中継を行うネットワーク中継装置に関する省電力化技術の一例が開示されている。特許文献１に記載のネットワーク中継装置は、インタフェース部と、第１中継処理部と、１つ以上の第２中継処理部とを有する。インタフェース部は、回線との接続のための物理インタフェース部を複数有する。第１中継処理部は、パケットに関連付けられた宛先情報に基づいて、パケットを送出すべき回線を決定する中継決定処理を実行する。第２中継処理部は、第１中継処理部の代わりに中継決定処理を実行する。ここで、特許文献１に記載のネットワーク中継装置では、第１中継処理部が中継決定処理を担当している間に、第２中継処理部の中の対象中継処理部の動作モードを第１中継処理部の動作モードとは異なるモードに設定し、この設定処理の完了の後に、第１中継処理部の代わりに対象中継処理部による中継決定処理を開始させる。これにより、特許文献１に記載のネットワーク中継装置では、中継処理の中断時間が過剰に長くなることを抑制しつつ、消費電力を制御する。
【０００４】
しかしながら、大容量のデータの送受信を行うサーバー装置が接続されるネットワークでは、ネットワーク上に常時大容量のデータが伝送される。つまり、このようなネットワークではデータの伝送が途切れることがない。そのため、常時大容量のデータが伝送されるネットワークでは、特許文献１に記載されたような動作モードの切り換えを行うことができず、ネットワークに接続される機器の省電力化を実現することができない問題がある。一方、サーバー装置における省電力化技術が特許文献２に開示されている。
【０００５】
特許文献２では、サーバー装置等の本体機器に接続されるネットワークインタフェースにおける省電力方法の一例が開示されている。特許文献２に記載のネットワークインタフェースは、ネットワークを介して送受信されるパケット信号を検出する。そして、パケットの検出結果に応じて、ネットワークインタフェースに搭載されるＣＰＵのクロック周波数を制御する。これにより、特許文献２では、パケット通信量に応じたネットワークインタフェースの省電力化を実現する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２２８４９０号公報
【特許文献２】特開２００４−４８５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載された省電力化方法のように、ネットワークインタフェースの動作モードを変更することで省電力化を実現する場合、動作モードの切り替わり時にネットワークを介した通信が中断されることがある。高い処理能力が要求されるサーバー装置では、通信の中断は処理能力の低下の一因となるため、特許文献１に記載の省電力化方法は採用できない問題がある。
【課題を解決するための手段】
【０００８】
本発明にかかるサーバー装置における省電力方法の一態様は、プログラムに応じたプロセスを実行する演算部からの指示に基づきデータの送受信を行う第１、第２のネットワークインタフェースを有するサーバー装置における省電力方法であって、前記第１のネットワークインタフェースの通信帯域を広帯域に設定し、前記第２のネットワークインタフェースの通信帯域を狭帯域に設定し、前記演算部において実行中の前記プロセスを予め設定されたプロセス帯域定義情報に応じて前記第１、第２のネットワークインタフェースのいずれかに割り当て、前記第１、第２のネットワークインタフェースにおけるデータの送受信量に応じて前記第１、第２のネットワークインタフェースの通信帯域を制御する。
【０００９】
本発明にかかる省電力制御プログラムの一態様は、プログラムに応じたプロセスを実行する演算部からの指示に基づきデータの送受信を行う第１、第２のネットワークインタフェースを有するサーバー装置において、前記演算部上で実行される省電力制御プログラムであって、メモリに格納されるデフォルト帯域情報に基づき前記第１のネットワークインタフェースの通信帯域を広帯域に設定し、前記デフォルト帯域情報に基づき前記第２のネットワークインタフェースの通信帯域を狭帯域に設定し、前記演算部において実行中の前記プロセスを前記メモリに格納されたプロセス帯域定義情報に応じて前記第１、第２のネットワークインタフェースのいずれかに割り当て、前記第１、第２のネットワークインタフェースにおけるデータの送受信量に応じて前記第１、第２のネットワークインタフェースの通信帯域を制御する。
【００１０】
本発明にかかるサーバー装置の一態様は、プログラムに応じたプロセスを実行する演算部と、プロセス毎に必要な通信帯域を定義したプロセス帯域情報を格納するメモリと、前記演算部からの指示に基づき広帯域でデータの送受信を行う第１のネットワークインタフェースと、前記演算部からの指示に基づき狭帯域でデータの送受信を行う第２のネットワークインタフェースと、前記演算部において実行中の前記プロセスの状態を監視するプロセス監視部と、前記プロセス監視部による監視結果及び前記プロセス帯域定義情報に応じて前記第１、第２のネットワークインタフェースのいずれかに前記プロセスを割り当てるプロセス割り当て部と、前記第１、第２のネットワークインタフェースにおけるデータの送受信量を監視する通信状態監視部と、前記通信状態監視部による監視結果に応じて前記第１、第２のネットワークインタフェースの通信帯域を制御する帯域制御部と、を有する。
【発明の効果】
【００１１】
本発明にかかるサーバー装置における省電力方法、省電力制御プログラム及びサーバー装置によれば、通信を途切れさせることなくサーバー装置の省電力化を実現できる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかるサーバー装置のブロック図である。
【図２】実施の形態１にかかるサーバー装置のメモリに格納されるプロセス帯域定義テーブルの一例を示す図である。
【図３】実施の形態１にかかるサーバー装置のメモリに格納される閾値情報の一例を示す図である。
【図４】実施の形態１にかかるサーバー装置のメモリに格納されるデフォルト帯域情報の一例を示す図である。
【図５】実施の形態１にかかるサーバー装置の動作手順を示すフローチャートである。
【図６】実施の形態１にかかるサーバー装置におけるサーバー状態監視処理の詳細な動作手順を示すフローチャートである。
【図７】実施の形態１にかかるサーバー装置におけるプロセス監視処理の詳細な動作手順を示すフローチャートである。
【図８】実施の形態１にかかるサーバー装置における通信状態監視処理の詳細な動作手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかるサーバー装置の省電力方法は、サーバー装置に搭載される省電力制御プログラムがサーバー装置のハードウェアを制御することにより実現されるものである。なお、省電力制御プログラムにより実現される機能をハードウェアとしてサーバー装置上に搭載してもよい。
【００１４】
図１に本実施の形態にかかるサーバー装置のブロック図を示す。図１では、サーバー装置として、サーバー１ａ及びサーバー１ｂとが示されている。このサーバー１ａとサーバー１ｂは、ともに同一構成である。本発明にかかるサーバー装置の省電力方法は、１台のサーバー装置のみであっても適用可能であるが、サーバー装置の状態に応じて処理内容が変わるため、説明のために図１では２台のサーバー装置を示した。なお、以下の説明において、サーバー１ａとサーバー１ｂとにおいて同じものには同一の符号を付し、サーバー１ａ側の構成要素には符号の最後にａを付し、サーバー１ｂ側の構成要素には符号の最後にｂを付す。
【００１５】
以下でサーバー装置について説明するが、サーバー１ａとサーバー１ｂは同一構成であるため、サーバー１ａについて説明を行い、サーバー１ｂについては説明を省略する。なお、サーバー１ａは実際にサーバー装置としての動作を行っている運用系のサーバー装置であって、サーバー１ｂはサーバー装置としての動作を行っていない待機系のサーバー装置である。つまり、図１に示されるサーバー装置は、サーバー１ａ及びサーバー１ｂによる冗長構成を有する。
【００１６】
図１に示すように、サーバー１ａは、メモリ２ａ、演算部（例えば、ＣＰＵ：Central Processing Unit）３ａ、ネットワークインタフェース（以下の説明では場合に応じてＮＩＣ（Network Interface Card）と称す）４ａ、５ａを有する。サーバー１ａは、ネットワークインタフェース４ａ、５ａを介してネットワーク６に接続されているものとする。本実施の形態にかかるサーバー装置では、ネットワークインタフェース４ａ、５ａにより、ネットワーク接続が冗長化されており、この冗長構成されたネットワークインタフェースを用いてサーバー装置の省電力化を実現する。
【００１７】
メモリ２ａは、サーバー装置において用いられる各種データが格納される。このメモリ２ａは、記憶装置であればよく、例えば、ハードディスク等であっても構わない。また、メモリ２ａは、サーバー装置に対して外付けされる記憶装置であってもよく、サーバー装置により用いられるデータが格納されるものであればよい。本実施の形態では、メモリ２ａには、省電力制御プログラムと、ユーザー定義情報３０ａ、システム情報４０ａが格納される。なお、本実施の形態において用いられる省電力制御プログラムは、制御プログラム１０ａと、監視プログラム２０ａを含む。これらのプログラム及び情報についての詳細は後述する。
【００１８】
ＣＰＵ３ａは、プログラムを実行してサーバー１ａの各種機能を実現する。このとき、ＣＰＵ３ａは、プログラムに基づく動作をプロセスとして扱う。また、ＣＰＵ３ａは、メモリ２ａから制御プログラム１０ａと監視プログラム２０ａとを読み出し、これらプログラムに基づく動作をプロセスとして実行する。さらに、ＣＰＵ３ａは、プログラムの実行に伴いメモリ２ａを一時記憶装置として用いる。つまり、メモリ２ａには、ＣＰＵ３ａで使われる各種データ又は情報が保存される。なお、ＣＰＵ３ａ、メモリ２ａ、ネットワークインタフェース４ａ、５ａは、互いに内部バスを介して接続される。
【００１９】
ネットワークインタフェース４ａ、５ａは、サーバー１ａとネットワーク６とを接続するためのインタフェースである。本実施の形態では、ネットワークインタフェース４ａ、５ａは、それぞれＣＰＵ３ａにおいて実行される制御プログラム１０ａにより使用帯域が設定される。このとき、ネットワークインタフェース４ａ、５ａは異なる使用帯域が設定される。本実施の形態では、広帯域設定側のネットワークインタフェースを第１のネットワークインタフェース（例えば、ネットワークインタフェース４ａ）と称し、狭帯域設定側のネットワークインタフェースを第２のネットワークインタフェース（例えば、ネットワークインタフェース５ａ）と称す。
【００２０】
次に、メモリ２ａに格納されているプログラム及び情報の詳細について説明する。まず、省電力制御を行うために用いられる省電力制御プログラムについて説明する。省電力制御プログラムは、制御プログラム１０ａと、監視プログラム２０ａとを含む。この監視プログラム２０ａは、サーバー１ａの状態を監視し、その監視結果を制御プログラム１０ａに通知するものである。また、制御プログラム１０ａは、監視プログラム２０ａからの通知に応じてネットワークインタフェース４ａ、５ａを制御することでネットワークインタフェース４ａ、５ａの消費電力の最適化を行う。
【００２１】
制御プログラム１０ａは、帯域制御部１１ａとプロセス割り当て部１２ａを有する。監視プログラム２０ａは、プロセス監視部２１ａ、サーバー状態監視部２２ａ、通信状態監視部２３ａ、使用帯域算出部（ｐｐｓ（packet per second）算出部）２４ａを有する。これら各部は、プログラムであって、ＣＰＵ３ａにおいて実行されることでそれぞれの機能が実現される。
【００２２】
帯域制御部１１ａは、監視プログラム２０ａにより実現される各機能からの通知に基づきネットワークインタフェース４ａ、５ａの使用帯域設定を変更する。また、帯域制御部１１ａは、サーバー１ａの起動時にデフォルト帯域情報３３ａを参照し、ネットワークインタフェース４ａ、５ａの使用帯域の初期値を設定する。この初期化後にサーバー１ａの運用が開始されるが、運用中の帯域制御部１１ａの動作は、監視プログラム２０ａの通知に基づき行われる。
【００２３】
ここで、ユーザー定義情報３０ａに含まれるデフォルト帯域情報３３ａの一例を図２に示す。図２に示すように、デフォルト帯域情報３３ａには、ネットワークインタフェース毎に使用帯域の初期値が定義される。図２に示す例では、ネットワークインタフェース４ａの使用帯域の初期値は１０Ｇｂｐｓであって、ネットワークインタフェース５ａの使用帯域の初期値は１０００Ｍｂｐｓである。つまり、本実施の形態では、ネットワークインタフェース４ａが広帯域側のネットワークインタフェースとして用いられ、ネットワークインタフェース５ａが狭帯域側のネットワークインタフェース５ａとして用いられる。
【００２４】
プロセス割り当て部１２ａは、監視プログラム２０ａのプロセス監視部２１ａから通知されるプロセスを当該通知内容に応じてネットワークインタフェース４ａ、５ａのいずれかに割り当てる。これにより、各プロセスが利用するネットワークインタフェースは、ネットワークインタフェース４ａ、５ａのいずれか一方に決定される。
【００２５】
プロセス監視部２１ａは、ＣＰＵ３ａにおいて実行されているプロセスの状態を監視する。より具体的には、ＣＰＵ１０は、実行中のプロセスを特定するための情報をシステム情報４０ａとしてメモリ２ａに格納し、プロセス監視部２１ａはメモリ２ａに格納されたプロセス情報を参照する。これにより、プロセス監視部２１ａは、ＣＰＵ３ａにおいて実行されているプロセスの状態を検知する。図１に示されるシステム情報４０ａのプロセス４１ａがプロセス情報である。また、プロセス監視部２１ａは、ユーザー定義情報３０ａに含まれるプロセス必要帯域情報（例えば、プロセス必要帯域定義テーブル３１ａ）を参照する。そして、プロセス監視部２１ａは、検知したプロセスがプロセス必要帯域定義テーブル３１ａに定義されたプロセスであるか否かを判断し、検知したプロセスがプロセス必要帯域定義テーブル３１ａに定義されたプロセスである場合は、プロセス必要帯域定義テーブル３１ａに定義された必要帯域の情報と共に検知したプロセスの情報をプロセス割り当て部に通知する。
【００２６】
ここで、ユーザー定義情報３０ａに含まれるプロセス必要帯域定義テーブル３１ａの一例を図３に示す。図３に示すように、プロセス必要帯域定義テーブル３１ａには、プロセス毎に必要となる通信帯域が定義される。図３に示す例では、プロセスＡには１０００Ｍｂｐｓが必要であり、プロセスＢには１０Ｇｂｐｓが必要であり、プロセスＣには１００Ｍｂｐｓが必要である。つまり、本実施の形態では、プロセスＡが検知された場合には、プロセスＡは１０Ｇｂｐｓの使用帯域が設定されるネットワークインタフェース４ａに割り当てられる。また、プロセスＢ、Ｃが検知された場合には、プロセスＢ、Ｃは、１０００Ｍｂｐｓの使用帯域が定義されるネットワークインタフェース５ａに割り当てられる。
【００２７】
プロセス割り当て部１２ａは、監視プログラム２０ａのプロセス監視部２１ａから通知されるプロセスを当該通知内容に応じてネットワークインタフェース４ａ、５ａのいずれかに割り当てる。これにより、各プロセスが利用するネットワークインタフェースは、ネットワークインタフェース４ａ、５ａのいずれか一方に決定される。
【００２８】
サーバー状態監視部２２ａは、システム情報４０ａに含まれるサーバー状態情報４４ａを参照してサーバー１ａの状態に変更が生じたことを検知する。そして、サーバー状態監視部２２ａは、サーバー１ａの状態の変更に応じてネットワークインタフェース４ａ、５ａの使用帯域設定を変更するように制御プログラムに通知する。このサーバー状態情報４４ａは、システム情報４０ａに含まれる情報であって、ＣＰＵ３ａがサーバー１ａの運用状態に応じて格納する情報である。
【００２９】
帯域制御部１１ａは、サーバー状態監視部２２ａからの通知に基づきネットワークインタフェース４ａ、５ａの使用帯域設定を変更する。より具体的には、サーバー１ａが待機状態に移行したことが通知された場合、帯域制御部１１ａは、ネットワークインタフェース４ａ、５ａをともに狭帯域設定に変更する。一方、サーバー１ａが運用状態に移行したことが通知された場合、帯域制御部１１ａは、デフォルト帯域情報３３ａの初期値（デフォルト値）に従ってネットワークインタフェース４ａ、５ａの使用帯域を設定する。
【００３０】
通信状態監視部２３ａは、システム情報４０ａに定義される通信バッファ、及び、ｐｐｓ算出部２４ａから提供される実使用帯域情報を監視し、帯域制御部１１ａにネットワークインタフェース４ａ、５ａの使用帯域設定の変更を通知する。
【００３１】
より具体的には、通信状態監視部２３ａは、デフォルト値に従い狭帯域設定がなされたネットワークインタフェース５ａに対応した通信バッファに蓄積されるデータ量を検知する。そして、通信状態監視部２３ａは、検知したデータ量がユーザー定義情報３０ａに含まれる閾値情報３２ａに定義されるデータ量の閾値を上回った場合に帯域制御部１１ａにネットワークインタフェース５ａの帯域を広げる指示を通知する。通信状態監視部２３ａは、ネットワークインタフェース５ａの帯域を広げた後、検知したデータ量がユーザー定義情報３０ａに含まれる閾値情報に定義されるデータ量の閾値を下回った場合には帯域制御部１１ａにネットワークインタフェース５ａの帯域をデフォルト値に戻す指示を通知する。
【００３２】
また、通信状態監視部２３ａは、デフォルト値に従い広帯域設定がなされたネットワークインタフェース４ａの実使用帯域情報の通知を受ける。そして、通信状態監視部２３ａは、実使用帯域情報の値がユーザー定義情報３０ａに含まれる閾値情報３２ａに定義される使用帯域の閾値を下回った場合に帯域制御部１１ａにネットワークインタフェース４ａの帯域を狭くする指示を通知する。通信状態監視部２３ａは、ネットワークインタフェース５ａの帯域を広げた後、実使用帯域情報の値がユーザー定義情報３０ａに含まれる閾値情報３２ａに定義される使用帯域の閾値を上回った場合には帯域制御部１１ａにネットワークインタフェース４ａの帯域をデフォルト値に戻す指示を通知する。
【００３３】
なお、本実施の形態では、通信バッファは、システム情報４０ａに含まれる情報の１つとして扱われる。また、通信バッファは、ネットワークインタフェース４ａに対して設けられるＮＩＣ４ａ用通信バッファ４２ａと、ネットワークインタフェース５ａに対して設けられるＮＩＣ５ａ用通信バッファ４３ａを含む。
【００３４】
ここで、ユーザー定義情報３０ａに含まれる閾値情報３２ａの一例を図４に示す。図４に示すように、閾値情報３２ａには、通信バッファ（ＮＩＣバッファ）の使用率の閾値情報及びネットワークインタフェースの使用帯域（ＮＩＣ使用帯域）の閾値情報が含まれる。つまり、本実施の形態では、通信バッファの容量の８０％を超えた場合に、ネットワークインタフェース５ａの使用帯域が広げられ、ネットワークインタフェース４ａの実使用帯域情報が１０００Ｍｂｐｓを下回った場合にネットワークインタフェース４ａの使用帯域が狭められる。
【００３５】
ｐｐｓ算出部２４ａは、メモリ２ａに格納されるＮＩＣ４ａパケット情報４５ａ及びＮＩＣパケット情報４６ａに基づきネットワークインタフェース４ａ、５ａの使用帯域を算出し、算出結果を制御プログラム１０ａに通知する。ＮＩＣ４ａパケット情報４５ａ及びＮＩＣパケット情報４６ａには、ネットワークインタフェース４ａ、５ａが送受信するパケット情報が格納される。そして、ｐｐｓ算出部２４ａは、このパケット情報に基づき１秒当たりの送受信データ量を算出し、これをネットワークインタフェースが実際に利用している使用帯域値（実使用帯域情報）として通信状態監視部２３ａに通知する。
【００３６】
なお、ユーザー定義情報３０ａのプロセス必要帯域定義テーブル３１ａ、閾値情報３２ａ、デフォルト帯域情報３３ａは、それぞれユーザーが任意の値を定義するものである。また、システム情報４０ａは、プロセス４１ａ、ＮＩＣ４ａ用通信バッファ４２ａ、ＮＩＣ５ａ用通信バッファ４３ａ、サーバー状態情報４４ａ、ＮＩＣ４ａパケット情報４５ａ、ＮＩＣ５ａパケット情報４６ａを含む。システム情報４０ａに含まれるこれらの情報は、ＣＰＵ３ａにて実行されるＯＳ（Operating System）又はミドルウェアによって提供されるものである。
【００３７】
続いて、本実施の形態にかかるサーバー装置の動作について説明する。図１では２つのサーバー装置を示したが、２つのサーバー装置は同じ動作となるためここではサーバー１ａの動作についてのみ説明する。
【００３８】
そこで、サーバー１ａの動作手順を示すフローチャートを図５に示す。図５に示すように、サーバー１ａは、電源が投入され動作が開始されると、まず、制御プログラム１０ａをＣＰＵ３ａが読み込んで実行する（ステップＳ１）。そして、ＣＰＵ３ａは、制御プログラム１０ａのうち帯域制御部１１ａを実行し、デフォルト帯域情報３３ａに定義されるデフォルト値を読み込む（ステップＳ２）。その後、ＣＰＵ３ａは、帯域制御部１１ａの機能に基づきネットワークインタフェース４ａ、５ａの使用帯域をデフォルト値に従って設定する（ステップＳ３）。
【００３９】
ステップＳ３に続いてサーバー１ａは、運用系のサーバー装置として動作を開始する。一方、ステップＳ３の後、サーバー１ｂは、待機系のサーバー装置として動作を開始する。なお、このステップＳ３までの処理は、初期化処理であり、ステップＳ３の処理が完了するまでの期間にＣＰＵ３ａは、ＯＳやミドルウェア等の動作に必要なプログラムの読み込みを行う。
【００４０】
サーバー１ａは運用系のサーバー装置として動作を開始すると、監視プログラム２０ａの読み込みを行う（ステップＳ４）。そして、監視プログラム２０ａのサーバー状態監視部２２ａを実行してサーバー状態監視処理を行う（ステップＳ５）。また、監視プログラム２０ａのプロセス監視部２１ａを実行しプロセス監視処理を行う（ステップＳ６）。また、監視プログラム２０ａの通信状態監視部２３ａを実行して通信状態監視処理を行う（ステップＳ７）。サーバー１ａは、ステップＳ５〜Ｓ７の処理を行うことで、ＣＰＵ３ａにおいて実行されているプロセスに応じたネットワークインタフェース４ａ、５ａの使用帯域の制御を行う。このステップＳ５〜Ｓ７の処理はサーバー１ａが運用系のサーバー装置として動作している期間繰り返し行われる。
【００４１】
ここで、ステップＳ５〜Ｓ７の処理についての詳細をそれぞれ説明する。まず、ステップＳ５のサーバー状態監視処理の詳細について説明する。図６にサーバー状態監視処理の動作手順を示すフローチャートを示す。このサーバー状態監視処理は、サーバー状態監視部２２ａ及び帯域制御部１１ａにより実行される。
【００４２】
図６に示すように、サーバー状態監視処理では、まず、サーバー状態監視部２２ａがシステム情報４０ａのサーバー状態情報４４ａを読み込む（ステップＳ１０）。続いて、サーバー状態監視部２２ａは、サーバー１ａの現状態が待機系であるか否かをサーバー状態情報４４ａに基づき判断する（ステップＳ１１）。ステップＳ１１において、サーバー１ａが待機系であると判断された場合（ステップＳ１１のＹＥＳの枝）、サーバー状態監視部２２ａは、さらに、サーバー１ａの前状態が運用系であったのか、非動作状態であったのかを判断する（ステップＳ１２）。ステップＳ１２において、サーバー１ａの前状態が運用系又は非動作状態であれば（ステップＳ１２のＹＥＳの枝）、サーバー状態監視部２２ａはサーバー１ａの状態に変化が生じた結果待機系となった判断し、帯域制御部１１ａにすべてのネットワークインタフェースの帯域を狭帯域設定に変更する指示を行う（ステップＳ１４）。このステップＳ１４の終了後サーバー監視処理は終了する。一方、ステップＳ１２において、サーバー１ａの前状態が運用系又は非動作状態でなければ（ステップＳ１２のＮＯの枝）、サーバー状態監視部２２ａはサーバー１ａの状態に変化が生じることなくサーバー１ａが待機系となっていると判断する。そのため、サーバー状態監視部２２ａは、帯域制御部１１ａにネットワークインタフェースの帯域設定の変更指示を通知せずにサーバー監視処理を終了する。
【００４３】
また、ステップＳ１１において、サーバー１ａの状態が運用系であると判断された場合（ステップＳ１１のＮＯの枝）、サーバー状態監視部２２ａは、さらに、サーバー１ａの前状態が待機系であったのか、非動作状態であったのかを判断する（ステップＳ１３）。ステップＳ１３において、サーバー１ａの前状態が待機系又は非動作状態であれば（ステップＳ１３のＹＥＳの枝）、サーバー状態監視部２２ａはサーバー１ａの状態に変化が生じた結果運用系となった判断し、帯域制御部１１ａにすべてのネットワークインタフェースの帯域をデフォルト値に変更する指示を行う（ステップＳ１５）。このステップＳ１５の終了後サーバー監視処理は終了する。一方、ステップＳ１３において、サーバー１ａの前状態が待機系又は非動作状態でなければ（ステップＳ１３のＮＯの枝）、サーバー状態監視部２２ａはサーバー１ａの状態に変化が生じることなくサーバー１ａが運用系となっていると判断する。そのため、サーバー状態監視部２２ａは、帯域制御部１１ａにネットワークインタフェースの帯域設定の変更指示を通知せずにサーバー監視処理を終了する。
【００４４】
次いで、ステップＳ６のプロセス監視処理の詳細について説明する。プロセス監視処理の動作手順を示すフローチャートを図７に示す。このプロセス監視処理は、プロセス監視部２１ａとプロセス割り当て部１２ａとにより実行される。
【００４５】
図７に示すように、プロセス監視処理では、まず、プロセス監視部２１ａがシステム情報４０ａのプロセス４１ａを読み込む（ステップＳ２０）。そして、プロセス監視部２１ａは、プロセス情報に変化があるか否かを判断する（ステップＳ２１）。ステップＳ２１においてプロセス情報に変化がないと判断された場合（ステップＳ２１のＮＯの枝）、プロセス監視部２１ａは、何らの処理を行うことなくプロセス監視処理を終了させる。一方、ステップＳ２１においてプロセス情報に変化が生じていると判断された場合（ステップＳ２１のＹＥＳの枝）、プロセス監視部２１ａは、ユーザー定義情報３０ａのプロセス必要帯域定義テーブル３１ａを参照する（ステップＳ２２）。そして、プロセス監視部２１ａは、プロセス必要帯域定義テーブル３１ａに、ステップＳ２１で検知したプロセスが登録されているか否かを判断する（ステップＳ２３）。
【００４６】
ステップＳ２３において検知したプロセスがプロセス必要帯域定義テーブル３１ａに登録されていない場合（ステップＳ２３のＮＯの枝）、プロセス監視部２１ａは、当該プロセスを低帯域設定されたネットワークインタフェース５ａに割り当てるようにプロセス割り当て部１２ａに通知を行う（ステップＳ２６）。ステップＳ２６では、さらに、プロセス割り当て部１２ａが通知されたプロセスを低帯域設定側のネットワークインタフェース５ａに割り当てを行う。このステップＳ２６が完了するとプロセス監視処理は終了する。
【００４７】
一方、ステップＳ２３において検知したプロセスがプロセス必要帯域定義テーブル３１ａに登録されている場合（ステップＳ２３のＹＥＳの枝）、プロセス監視部２１ａは、当該プロセスが低帯域設定されたネットワークインタフェース５ａにおいて実行可能か否かをプロセス必要帯域定義テーブル３１ａに基づき判断する（ステップＳ２４）。ステップＳ２４において、低帯域設定がなされたネットワークインタフェース５ａによって検知されたプロセスが実行可能であると判断された場合（ステップＳ２４のＹＥＳの枝）、プロセス監視部２１ａは、当該プロセスをネットワークインタフェース５ａに割り当てるようにプロセス割り当て部１２ａに通知を行う（ステップＳ２６）。ステップＳ２６では、さらに、プロセス割り当て部１２ａが通知されたプロセスを低帯域設定側のネットワークインタフェース５ａに割り当てを行う。このステップＳ２６が完了するとプロセス監視処理は終了する。一方、ステップＳ２４において、低帯域設定がなされたネットワークインタフェース５ａによって検知されたプロセスが実行できないと判断された場合（ステップＳ２４のＮＯの枝）、プロセス監視部２１ａは、当該プロセスをネットワークインタフェース４ａに割り当てるようにプロセス割り当て部１２ａに通知を行う（ステップＳ２５）。ステップＳ２５では、さらに、プロセス割り当て部１２ａが通知されたプロセスを広帯域設定側のネットワークインタフェース４ａに割り当てを行う。このステップＳ２５が完了するとプロセス監視処理は終了する。
【００４８】
次いで、ステップＳ７の通信状態監視処理の詳細について説明する。通信状態監視処理の動作手順を示すフローチャートを図８に示す。この通信状態監視処理は、通信状態監視部２３ａ、ｐｐｓ算出部２４ａ、帯域制御部１１ａにより実行される。
【００４９】
図８に示すように、通信状態監視処理では、まず、通信状態監視部２３ａがユーザー定義情報３０ａのデフォルト帯域情報３３ａを読み込む（ステップＳ３０）。そして、通信状態監視部２３ａは、デフォルト値に基づきネットワークインタフェース４ａ、５ａのいずれのネットワークインタフェースが狭帯域設定であるかを判断する（ステップＳ３１）。通信状態監視部２３ａは、ステップＳ３１の判断処理に基づき設定された使用帯域毎に異なる処理を行う。より具体的には、通信状態監視部２３ａは、ステップＳ３１において狭帯域設定であると判断されたネットワークインタフェース（本実施の形態ではネットワークインタフェース５ａ）に対してはステップＳ３２、Ｓ３３、Ｓ３６、Ｓ３７の処理を行い、ステップＳ３１において広帯域設定であると判断されたネットワークインタフェース（本実施の形態ではネットワークインタフェース４ａ）に対してはステップＳ３４、Ｓ３５、Ｓ３７、Ｓ３８の処理を行う。
【００５０】
狭帯域設定のネットワークインタフェース５ａに対する処理では、まず、通信状態監視部２３ａは、ＮＩＣ５ａ用通信バッファに蓄積されたデータ量を参照する（ステップＳ３２）。続いて、参照したデータ量がユーザー定義情報３０ａの閾値情報３２ａに含まれるＮＩＣバッファのデータ量の閾値以上であるか否かを判断する（ステップＳ３３）。ステップＳ３３の判断において、データ量がデータ量の閾値以上であると判断された場合、通信状態監視部２３ａは、ネットワークインタフェース５ａの使用帯域設定を広げる指示を帯域制御部１１ａに通知する（ステップＳ３６）。ステップＳ３６では、さらに帯域制御部１１ａがネットワークインタフェース５ａの使用帯域を広げるように制御を行う。一方、ステップＳ３３の判断において、データ量がデータ量の閾値より少ないと判断された場合、通信状態監視部２３ａは、ネットワークインタフェース５ａの使用帯域設定をデフォルト値に基づき設定する指示を帯域制御部１１ａに通知する（ステップＳ３７）。ステップＳ３７では、さらに帯域制御部１１ａがネットワークインタフェース５ａの使用帯域をデフォルト値に基づき変更する制御を行う。このステップＳ３６、Ｓ３７の処理のいずれかが終了するとネットワークインタフェース５ａに対する通信状態監視理は完了する。
【００５１】
広帯域設定のネットワークインタフェース４ａに対する処理では、まず、ｐｐｓ算出部２４ａがシステム情報４０ａのＮＩＣ４ａパケット情報４５ａを参照する。そして、ｐｐｓ算出部２４ａは、ネットワークインタフェース４ａを利用しているプロセスが実際に使用している使用帯域（実使用帯域情報）を算出する（ステップＳ３４）。この実使用帯域情報は通信状態監視部２３ａに通知される。通信状態監視部２３ａは、ネットワークインタフェース４ａに対応する実使用帯域情報がユーザー定義情報３０ａの閾値情報３２ａに含まれるＮＩＣ使用帯域に定義される使用帯域の閾値以下であるか否かを判断する（ステップＳ３５）。ステップＳ３５の判断において、実使用帯域情報の値が使用帯域の閾値以下である場合、通信状態監視部２３ａは、ネットワークインタフェース４ａの使用帯域設定を狭める指示を帯域制御部１１ａに通知する（ステップＳ３８）。ステップＳ３８では、さらに帯域制御部１１ａがネットワークインタフェース４ａの使用帯域を狭めるように制御を行う。一方、ステップＳ３５の判断において、実使用帯域情報の値が使用帯域の閾値よりも大きいと判断された場合、通信状態監視部２３ａは、ネットワークインタフェース４ａの使用帯域設定をデフォルト値に基づき設定する指示を帯域制御部１１ａに通知する（ステップＳ３７）。ステップＳ３７では、さらに帯域制御部１１ａがネットワークインタフェース５ａの使用帯域をデフォルト値に基づき変更する制御を行う。このステップＳ３７、Ｓ３８の処理のいずれかが終了するとネットワークインタフェース４ａに対する通信状態監視理は完了する。
【００５２】
上記説明より、本実施の形態にかかるサーバー装置の省電力方法では、広帯域設定がなされる第１のネットワークインタフェース（ネットワークインタフェース４ａ）と、狭帯域設定がなされる第２のネットワークインタフェース（ネットワークインタフェース５ａ）とを有することで、第２のネットワークインタフェースの消費電力を第１のネットワークインタフェースよりも低減することで、サーバー装置全体の消費電力を削減することができる。このとき、ＣＰＵ３ａにおいて実行されるプロセスは、プロセスの動作に必要な必要帯域毎に第１、第２のネットワークインタフェースに割り当てられる。そのため、本実施の形態にかかるサーバー装置の省電力方法では、サーバー装置の処理能力を低下させることなく、サーバー装置の消費電力を削減することができる。
【００５３】
また、本実施の形態にかかるサーバー装置の省電力方法では、狭帯域設定の第２のネットワークインタフェースにおける通信状態を監視し、通信状態に応じて第２のネットワークインタフェースの使用帯域を広げるため、サーバー装置の処理能力が必要とされる場合において動的に処理能力を向上させることができる。さらに、本実施の形態にかかるサーバー装置の省電力方法では、広帯域設定の第１のネットワークインタフェースの実使用帯域情報に基づき第１のネットワークインタフェースの使用帯域を動的に狭くする。これにより、本実施の形態にかかるサーバー装置では、送受信データが少ないときの第１のネットワークインタフェースの消費電力を低減する。つまり、本実施の形態にかかるサーバー装置の省電力方法では、ＣＰＵ３ａにおいて実行されているプロセスの状態に基づき動的に使用帯域を制御することでネットワークインタフェースにおける消費電力の低減と処理能力の向上を実現することができる。
【００５４】
なお、本実施の形態にかかるサーバー装置の省電力方法では、データ通信が滞っている場合にネットワークインタフェースの使用帯域を広げるため、使用帯域を広げる際に生じる処理能力の低下は、その後の通信状態を含めるとほとんどなく、むしろ処理能力は向上する。また、本実施の形態にかかるサーバー装置の省電力方法では、通信されるデータ量が少ない場合にネットワークインタフェースの使用帯域を狭くするため、使用帯域を狭くする際に生じる処理能力の低下は、ほとんど無視できるものであり、むしろ消費電力を低減する効果の方が大きくなる。
【００５５】
また、本実施の形態にかかるサーバー装置の省電力方法では、サーバー装置が待機系として運用されている場合に第１、第２のネットワークインタフェースの使用帯域設定を狭帯域設定とする。これにより、本実施の形態にかかるサーバー装置では、待機系で運用されている場合のサーバー装置の消費電力を低減することができる。
【００５６】
本実施の形態にかかるサーバー装置の省電力方法は、サーバー装置に搭載される省電力制御プログラム（例えば、制御プログラム１０ａ及び監視プログラム２０ａ）により実現される。つまり、上記において説明した省電力制御プログラムが搭載されるサーバー装置では、上記のようにサーバー装置の処理能力の向上と低消費電力化を実現することができる。また、本実施の形態にかかる省電力制御プログラムの機能を実現できるハードウェアが搭載されたサーバー装置についても本実施の形態にかかる省電力制御プログラムが搭載されたサーバー装置と同様の効果を得ることができる。
【００５７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、使用帯域算出部２４ａが計算する実使用帯域情報は、パケット情報に類する情報から算出しても構わない。
【符号の説明】
【００５８】
１ａ、１ｂ    サーバー
２ａ、２ｂ    メモリ
４ａ、４ｂ、５ａ、５ｂ    ネットワークインタフェース
６    ネットワーク
１０ａ、１０ｂ    制御プログラム
１１ａ、１１ｂ    帯域制御部
１２ａ、１２ｂ    プロセス割り当て部
２０ａ、２０ｂ    監視プログラム
２１ａ、２１ｂ    プロセス監視部
２２ａ、２２ｂ    サーバー状態監視部
２３ａ、２３ｂ    通信状態監視部
２４ａ、２４ｂ    ｐｐｓ算出部
３０ａ、３０ｂ    ユーザー定義情報
３１ａ、３１ｂ    プロセス必要帯域定義テーブル
３２ａ、３２ｂ    閾値情報
３３ａ、３３ｂ    デフォルト帯域情報
４０ａ、４０ｂ    システム情報
４１ａ、４１ｂ    プロセス
４２ａ、４２ｂ、４３ａ、４３ｂ    通信バッファ
４４ａ、４４ｂ    サーバー状態情報
４５ａ、４５ｂ、４６ａ、４６ｂ    パケット情報
【図１】
2010161705.tif 000003
【図２】
2010161705.tif 000004
【図３】
2010161705.tif 000005
【図４】
2010161705.tif 000006
【図５】
2010161705.tif 000007
【図６】
2010161705.tif 000008
【図７】
2010161705.tif 000009
【図８】
2010161705.tif 000010