(57)【要約】【課題】停電時にコンピュータの停止処理のために専用装置等を必要とし、その負荷管理の粒度も大きい。【解決手段】無停電電源装置１０１に接続されているコンピュータ１００上の管理コンポーネント２０１が、無停電電源装置のバッテリ稼動可能時間および現在実行中の業務プログラムのタスク稼動状況に応じて、無停電電源装置における停電発生後に追加でタスク起動をする際、そのタスクが高負荷となり得るものについては起動を許可しないようＯＳ２００へ制御を依頼する。これにより、バッテリ稼動可能時間に応じたタスクのみを起動許可することで、バッテリ消費量を抑制し、停電発生後のシステムの安全なシャットダウン処理を実施することを可能とする。【選択図】図２
2012155425.tif 000002
【特許請求の範囲】
【請求項１】
無停電電源装置からバッテリバックアップの下に電力を供給されているコンピュータを使用した無停電電源システムにおいて、
前記コンピュータに管理コンポーネントを設け、
該管理コンポーネントには、停電を検出した後に前記コンピュータのバッテリ運転を許容する時間であるバッテリ運転許可時間と前記コンピュータのシャットダウン処理に必要な時間とタスク毎の消費電力値が予め設定され、
前記管理コンポーネントは、前記無停電電源装置における商用電源の停電を検出すると、バッテリ能力と負荷とで定まるバッテリ稼働可能時間を前記無停電電源装置から取得し、停電経過時間が前記バッテリ運転許可時間未満であり、かつ前記バッテリ稼働可能時間から前記シャットダウン処理に必要な時間を減算したバッテリ残存時間が、前記バッテリ運転許可時間から前記停電経過時間を減算したバッテリ運転時間より大きいことを確認して、前記バッテリ残存時間内に前記コンピュータで追加起動可能なタスクを求めることを特徴とする無停電電源システム。
【請求項２】
前記管理コンポーネントは、実行中のタスクが消費している電力の合計で前記バッテリ稼働可能時間を除算してタスク単位あたりの電力値を求め、この値に前記タスク毎の消費電力値を乗算しても前記バッテリ残存時間に満たないことを確認することにより前記追加起動可能なタスクを求めることを特徴とする請求項１に記載の無停電電源システム。
【請求項３】
前記停電経過時間が前記バッテリ運転許可時間以下または前記バッテリ運転時間が前記バッテリ残存時間になると、前記管理コンポーネントは、前記コンピュータのＯＳに対してタスクの追加起動を許可しないよう通知することを特徴とする請求項１または請求項２に記載の無停電電源システム。
【請求項４】
無停電電源装置からバッテリバックアップの下に電力を供給されているコンピュータに設けられ、停電を検出した後に前記コンピュータのバッテリ運転を許容する時間であるバッテリ運転許可時間と前記コンピュータのシャットダウン処理に必要な時間とタスク毎の消費電力値が予め設定され管理コンポーネントで実効されるタスク起動プログラムであって、
該管理コンポーネントが前記無停電電源装置における商用電源の停電を検出すると、バッテリ能力と負荷とで定まるバッテリ稼働可能時間を前記無停電電源装置から取得する手順と、
前記バッテリ稼働可能時間から前記シャットダウン処理に必要な時間を減算してバッテリ残存時間を求める手順と、
前記バッテリ運転許可時間から停電経過時間を減算してバッテリ運転時間を求める手順と、
前記停電経過時間が前記バッテリ運転許可時間未満であり、かつバッテリ残存時間が前記バッテリ運転時間より大きいことを確認して、前記バッテリ残存時間内に前記コンピュータで追加起動可能なタスクを求める手順を有することを特徴とするタスク起動プログラム。
【請求項５】
前記追加起動可能なタスクを求める手順は、
実行中のタスクが消費している電力の合計を求める手順と、
前記電力の合計で前記バッテリ稼働可能時間を除算してタスク単位あたりの電力値を求める手順と、
この値に前記タスク毎の消費電力値を乗算しても前記バッテリ残存時間に満たないことを確認する手順から成ることを特徴とする請求項３に記載のタスク起動プログラム。
【請求項６】
前記停電経過時間が前記バッテリ運転許可時間以下または前記バッテリ運転時間が前記バッテリ残存時間になると、前記コンピュータのＯＳに対してタスクの追加起動を許可しないよう通知する手順を有することを特徴とする請求項４または請求項５に記載のタスク起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無停電電源システムに関し、特に、無停電電源装置からバッテリバックアップの下に電力を供給されているコンピュータを使用した無停電電源システムに関する。
【背景技術】
【０００２】
無停電電源装置から電力を供給されているコンピュータを使用した無停電電源システムにおいては、商用電源の障害（停電など）が起きた場合、無停電電源装置は、コンピュータにおける停止処理完了後に、コンピュータへの電力の供給を停止する必要がある。しかし、無停電電源装置が供給可能なバッテリ稼働可能時間は有限であり、その時間内にコンピュータの停止処理を完了できない場合には、コンピュータが有する処理データの内容が喪失する危険性がある。
【０００３】
このような事態を回避するため、停電発生時、無停電電源装置に接続されている装置で不必要なものの電源をオフすることにより省電力化を行う停電処理方法が知られている。ただし、この方法はディスク装置を対象にした省電力方式であり、かつ、専用装置を使用することで装置内の部品単位の電源を落とすことに主眼をおいている。そのため、そのような専用装置を持たないシステムでは省電力効果が得られないという問題がある。
【０００４】
また、同一装置内に複数の基本処理ソフトウェア（以下OS）を構築し、そのOSの１つ(管理OS)が他のOS(業務OS)を監視することで省電力化を実現する省エネルギー方式も公知である。しかし、この技術では、管理OSが省電力制御の根幹を担っているため、管理OSがなんらかの問題発生により停止した場合には、省電力機能を使用することができなくなるという問題がある。
【０００５】
更に、上述の各技術では、ディスク装置を停止する手段、または業務OSを停止する手段によって省電力を実現しているが、ともに省電力を実施するための管理の粒度が装置単位またはOS単位と大きいため、管理単位１つの停止による業務の継続性が失われる度合いが大きいという問題もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2009-3789号公報
【特許文献２】特開2005-4289号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
解決しようとする問題点は、専用装置など業務プログラムとは無関係の装置や管理用コンポーネントが必要であり、また停電発生時の負荷管理の粒度が大きいことである。
【課題を解決するための手段】
【０００８】
本発明は、外部システムに依存することなく、きめ細かい省電力機能の制御を行うために、バッテリ残存時間内に追加起動可能なタスクを求めることを最も主要な特徴とする。
【発明の効果】
【０００９】
本発明の無停電電源システムは、省電力を実現するための機能を外部装置または外部の管理ＯＳの機能を利用することなく、業務プログラムが動作するシステム自身に担わせるため、１つの業務システム単独で省電力機能の制御ができるという利点がある。
【００１０】
また、装置単位またはＯＳ単位の電源制御を行わずに、コンピュータ上の各業務プログラムに消費電力コスト値という設定値を予め割り振って、その設定値を元にしたタスクの管理を行うため、よりきめ細かい省電力機能の制御を行うことができるという利点も。
【００１１】
更に、優先度の低い業務プログラムについては、消費電力コスト値を高く、優先度の高い業務プログラムについては消費電力コスト値を低く設定しておくことにより、停電発生時に優先度の高い業務プログラムの優先起動の調整にも利用することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の無停電電源システムの一実施例を示すブロック図である。
【図２】本発明の無停電電源システムの処理を示す流れ図である。
【図３】タスク毎の消費電力コスト値を一般的に表示する図である。
【図４】タスク毎の消費電力コスト値を具体的に表示する図である。
【発明を実施するための形態】
【００１３】
本発明では、バッテリバックアップの下にコンピュータに電力を供給している無停電電源装置が停電すると、コンピュータに設けられた管理コンポーネントがバッテリ稼動可能時間を取得し、システム内の実行中のタスク状態を認識して業務システム内で起動を許可するタスクを選定する動作をする。これにより、バッテリ残量をもとに低負荷タスクのみの起動を許可することで、バッテリ稼働中に発生し得るシステム負荷高騰に伴うバッテリ消費量の増加を抑制することができ、停電発生時の安全な停止処理を行うための十分なバッテリ容量を確保することができる。以下、図面を参照しながら具体的に説明する。
【実施例】
【００１４】
図１は、本発明の無停電電源システムの一実施例を示すブロック図である。この無停電電源システムは、コンピュータ１００が無停電電源装置１０１から電力を供給されて、無停電で運転するものである。コンピュータ１００の内には、ＯＳ２００と、無停電電源装置１０１との通信を行う管理コンポーネント２０１と、複数のタスク３０１〜３０Ｎから成る業務プログラム２０２が存在している。
【００１５】
無停電電源装置１０１は、商用電源を供給すると共に、商用電源の障害（停電など）が起きた場合には、内蔵しているバッテリから負荷装置へ電力を供給する。コンピュータ１００も負荷装置の一部であるが、負荷装置の全体は図示していない。無停電電源装置１０１は、管理コンポーネント２０１から提示要求があると、残存バッテリ容量、負荷率や現在のバッテリ稼動可能時間T0を返却することができる機能を有している。タスク３０１〜３０Ｎは、タスク３０１〜３０Ｎその稼動によってバッテリの電力を消耗する。バッテリ稼動可能時間T0は、バッテリ能力と負荷とで定まり、タスク３０１〜３０Ｎの稼動等によってバッテリ充電率100％における値から漸次減少していく。
【００１６】
管理コンポーネント２０１は、無停電電源装置１０１と通信して、現在のバッテリ稼動可能時間T0、残バッテリ容量、無停電電源装置１０１に接続されている負荷装置による負荷率、無停電電源装置１０１に対する停止指示機能等を有している。また、管理コンポーネント２０１には、停電を検出した後にコンピュータ１００のバッテリ運転を許容する時間であるバッテリ運転許可時間TBと、コンピュータ１００のシャットダウン処理に必要な時間TS（固定値）と、タスク毎の消費電力値（消費電力コスト値またはコスト値という）が予め設定される。
【００１７】
バッテリ運転許可時間TBは、バッテリ充電率100％におけるバッテリ稼動可能時間T0からシャットダウン処理に必要な時間TSを減算した値以下とされる。また、シャットダウン処理に必要な時間TSはコンピュータ１００を安全にシャットダウンするために必要とされる時間である。また、管理コンポーネント２０１は、ＯＳに対して、実施していたタスクの起動制限解除の通知とコンピュータ停止処理を行うことができる。
【００１８】
次に、以上のように構成された本無停電電源システムの動作について、図２のフローチャートを参照しながら説明する。このフローチャートで示される動作は管理コンポーネント２０１において実行され、それはプログラム制御の下であってもよい。
【００１９】
先ず、管理コンポーネント２０１には、バッテリ運転許可時間TBと、シャットダウン処理に必要な時間TSと、タスク毎の消費電力コスト値が予め設定情報として格納される（図２のステップＳ１）。タスク毎の消費電力コスト値とは、コンピュータ１００上で稼動可能なタスク毎の消費電力値であり、図３に例示している。図３には、低位のコスト値C1のタスクL1〜Ln、中位のコスト値CMのタスクM1〜Mn、高位のコスト値CHのタスクH1〜Hnが示されている。
【００２０】
以上の設定を行ったシステムにおいて、管理コンポーネント２０１が、無停電電源装置１０１の状態を監視（ステップＳ２）し、無停電電源装置１０１での停電検出の有無をチェック（ステップＳ３）する。無停電電源装置１０１にて停電を検出すると、無停電電源装置１０１からバッテリ稼働可能時間T0を取得し（ステップＳ４）、T0とTSの大小を比較する（ステップＳ５）。T0が小さい場合は、TSを考慮に入れるとバッテリ稼動が可能な時間が存在しないことになるため、直ちに、ＯＳに対して、実施していたタスクの起動制限解除の通知とコンピュータ停止処理、および無停電電源装置への停止指示を実施する（ステップＳ２０）。
【００２１】
なお、タスクの起動制限とは、例えば、低い優先度のユーザー権限のプロセス起動上限数を、現状稼動しているプロセス数以下に制限して、それ以上のプロセスを起動させない方法や、使用可能なメモリ容量の上限を現状の値より少なくする方法等により、タスクの追加起動を抑制することをいう。
【００２２】
一方、T0が大きい場合は、バッテリ稼動が可能な時間が存在するため、次に、停電経過時間TFを取得し（ステップＳ６）、管理コンポーネント２０１がバッテリ運転許可時間TBから停電経過時間TFを減算して、シャットダウン開始までの時間であるバッテリ運転時間T1（＝TB - TF）を算出し（ステップＳ７）、T1が0秒より大きいかを確認する（ステップＳ８）。T1が0秒以下の場合は、ＯＳに対してタスクの追加起動を許可しないよう通知する（Ｓ１８）。
【００２３】
一方、T1が0秒より大きい場合は、バッテリ稼動可能時間T0−シャットダウン処理に必要な時間TSの計算結果（バッテリ残存時間）がシャットダウン開始までのバッテリ運転時間T1よりも大きいかを確認する（ステップＳ９）。バッテリ残存時間（T0−TS）がバッテリ運転時間T1以下の場合は、ＯＳに対してタスクの追加起動を許可しないよう通知する（Ｓ１８）。
【００２４】
一方、バッテリ残存時間（T0−TS）がバッテリ運転時間T1より大きい場合は、バッテリ運転時間T1以内に追加でタスクを起動する余裕が存在することになるので、以下のようにして、どのタスクを追加で起動許可するかを選ぶ処理に入る。図４は、説明を単純化するために、図３に示した一般的な消費電力コスト値を具体化して示す。
【００２５】
まず、図４に示したタスク毎の消費電力コスト値を元に、現在実行中のタスク（C1，C2，C3とする）の消費電力コスト値の合計CsumをC1×2＋C3×1にて算出する（ステップＳ１０）。そして、その値でバッテリ稼動可能時間T0を除算することにより、単位コスト値あたりのバッテリ動作可能時間TCを算出する（ステップＳ１１）。
【００２６】
次に、単位コストあたりのバッテリ動作可能時間TCをもとに、システム上で追加起動を許可するタスクの上限値を決定し（ステップＳ１２〜Ｓ１４）、（T0−TS）以上のnの値よりも１少ない値の消費電力コスト値を持つタスクがあれば（ステップＳ１５）、そのタスクおよびそのタスクよりも低コストのタスクを追加起動許可対象のタスク(Cmax)としてＯＳに通知する（ステップＳ１６，Ｓ１７）。しかし、ステップＳ１５においてnの値が１以下の場合、現状のバッテリ稼動可能時間T0内に追加起動なタスクは存在しないことになるため、ＯＳに対してタスクの追加起動を許可しないよう通知する（ステップＳ１８）。
【００２７】
追加起動可能なタスクの選定を実施後、バッテリ運転許可時間TBと停電経過時間TFを確認して、停電経過時間TFがバッテリ運転許可時間TBを超過しているかどうか判断する（ステップＳ１９）。もし超過している場合は、ＯＳに対して、実施していたタスクの起動制限解除の通知とコンピュータ停止処理、および無停電電源装置への停止指示を実施する（ステップＳ２０）。
【００２８】
しかし、まだ超過していない場合は、Ｘ(任意)秒スリープ後（ステップＳ２１）、無停電電源装置１０１の停電が回復しているかどうかを確認する（ステップＳ２２）。もし、無停電電源装置１０１の停電状態が回復している場合はＯＳに対して実施していたタスクの起動制限解除の通知を行い（ステップＳ２３）、再び無停電電源装置１０１の状態監視処理（ステップＳ１）に戻る。
【００２９】
ここで、C1＜Cmax＜C2とすると、Cmaxおよびその消費電力コスト値の最大値よりも少ないコストC1のタスクを追加起動可能なタスクとしてＯＳに通知する（ステップＳ１８）。これによりタスク４は追加起動が許可され、タスク５、タスク６は起動を許可しない運用に変更される。以上の処理を（TB−TF）の結果が0以下となる（ステップＳ１９）まで続けることで、負荷状況とバッテリ稼動可能時間に応じたタスクの追加起動制限の制御が可能となる。
【００３０】
以上に説明したように、本発明においては、各タスクの消費電力コスト値Csumと無停電電源装置１０１のバッテリ稼働可能時間T0を元に追加で起動可能なタスクを選択する。このことから、バッテリ動作中の無停電電源装置１０１から電源供給を受けているコンピュータ１００において、予定外の高負荷なタスクが起動されることによりコンピュータ１００のバッテリ消費量が増大してバッテリ動作稼働時間T0が大幅に短縮されるような事態に陥ることを防ぐことが可能となる。
【００３１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００３２】
（付記１）無停電電源装置からバッテリバックアップの下に電力を供給されているコンピュータを使用した無停電電源システムにおいて、前記コンピュータに管理コンポーネントを設け、該管理コンポーネントには、停電を検出した後に前記コンピュータのバッテリ運転を許容する時間であるバッテリ運転許可時間と前記コンピュータのシャットダウン処理に必要な時間とタスク毎の消費電力値が予め設定され、前記管理コンポーネントは、前記無停電電源装置における商用電源の停電を検出すると、バッテリ能力と負荷とで定まるバッテリ稼働可能時間を前記無停電電源装置から取得し、停電経過時間が前記バッテリ運転許可時間未満であり、かつ前記バッテリ稼働可能時間から前記シャットダウン処理に必要な時間を減算したバッテリ残存時間が、前記バッテリ運転許可時間から前記停電経過時間を減算したバッテリ運転時間より大きいことを確認して、前記バッテリ残存時間内に前記コンピュータで追加起動可能なタスクを求めることを特徴とする無停電電源システム。
【００３３】
（付記２）前記管理コンポーネントは、実行中のタスクが消費している電力の合計で前記バッテリ稼働可能時間を除算してタスク単位あたりの電力値を求め、この値に前記タスク毎の消費電力値を乗算しても前記バッテリ残存時間に満たないことを確認することにより前記追加起動可能なタスクを求めることを特徴とする付記１に記載の無停電電源システム。
【００３４】
（付記３）前記停電経過時間が前記バッテリ運転許可時間以下または前記バッテリ運転時間が前記バッテリ残存時間になると、前記管理コンポーネントは、前記コンピュータのＯＳに対してタスクの追加起動を許可しないよう通知することを特徴とする付記１または付記２に記載の無停電電源システム。
【００３５】
（付記４）無停電電源装置からバッテリバックアップの下に電力を供給されているコンピュータに設けられ、停電を検出した後に前記コンピュータのバッテリ運転を許容する時間であるバッテリ運転許可時間と前記コンピュータのシャットダウン処理に必要な時間とタスク毎の消費電力値が予め設定され管理コンポーネントで実効されるタスク起動プログラムであって、該管理コンポーネントが前記無停電電源装置における商用電源の停電を検出すると、バッテリ能力と負荷とで定まるバッテリ稼働可能時間を前記無停電電源装置から取得する手順と、前記バッテリ稼働可能時間から前記シャットダウン処理に必要な時間を減算してバッテリ残存時間を求める手順と、前記バッテリ運転許可時間から停電経過時間を減算してバッテリ運転時間を求める手順と、前記停電経過時間が前記バッテリ運転許可時間未満であり、かつバッテリ残存時間が前記バッテリ運転時間より大きいことを確認して、前記バッテリ残存時間内に前記コンピュータで追加起動可能なタスクを求める手順を有することを特徴とするタスク起動プログラム。
【００３６】
（付記５）前記追加起動可能なタスクを求める手順は、
実行中のタスクが消費している電力の合計を求める手順と、
前記電力の合計で前記バッテリ稼働可能時間を除算してタスク単位あたりの電力値を求める手順と、
この値に前記タスク毎の消費電力値を乗算しても前記バッテリ残存時間に満たないことを確認する手順から成ることを特徴とする付記４に記載のタスク起動プログラム。
【００３７】
（付記６）前記停電経過時間が前記バッテリ運転許可時間以下または前記バッテリ運転時間が前記バッテリ残存時間になると、前記コンピュータのＯＳに対してタスクの追加起動を許可しないよう通知する手順を有することを特徴とする付記４または付記５に記載のタスク起動プログラム。
【産業上の利用可能性】
【００３８】
本発明によれば、無停電電源装置を使用するシステムにおける停電発生前の環境において、予め決められたバッテリ稼働時間を超えるような高負荷のタスクを実行させないといった用途に適用できる。
【００３９】
また、優先度の低いユーザー権限タスクについては高負荷タスク扱いにすることで、管理者権限タスクに優先的にリソースを割り振るといった用途にも適用可能である。
【符号の説明】
【００４０】
１００          コンピュータ
１０１          無停電電源装置
２００          ＯＳ
２０１          管理コンポーネント
２０２          業務プログラム
３０１〜３０Ｎ  タスク
【図１】
2012155425.tif 000003
【図２】
2012155425.tif 000004
【図３】
2012155425.tif 000005
【図４】
2012155425.tif 000006