(57)【要約】      （修正有）【課題】データセンター等のサーバ等複数の装置に対し、効率的に電力を割り当てることができるコンソールなど電力管理装置を提供する。【解決手段】装置には消費可能電力が割り当てられ、夫々、１つまたは複数の電力レベルで動作することができる。コンソールは装置に問い合わせて、当該装置の電力容量を得る。コンソールは当該電力容量をデータ構造に格納する。当該データ構造を消費可能電力と共に使用して、特定の電力レベルで動作するよう各装置に指示することができる。データ構造は、装置の電力レベルを記憶するためのフィールドと、電力レベルを装置に関連付けるフィールドとを含む。さらに、データ構造は、装置を消費可能電力と関連付けるグループ・フィールドを含む。【選択図】図２
0003180006.tif 000002
【実用新案登録請求の範囲】
【請求項１】
電力管理装置であって、
複数の装置に電力容量を問い合わせる手段であって、前記複数の装置の各々が、定格電力を有する電源ユニットを有し、前記複数の装置には、消費可能電力が割り当てられ、該消費可能電力が、前記複数の装置の前記電源ユニットの前記定格電力の合計より小さく、前記電力容量は装置が動作できる電力レベルを含み、前記複数の装置のうちの少なくとも１つが２つ以上の電力レベルで動作可能である、手段と、
前記複数の装置の各々から、各該装置の１つまたは複数の電力容量を示す情報を受け取る手段であって、前記情報は、各該装置の前記１つまたは複数の電力容量の各々に対する電力レベルを含む、手段と、
前記情報を、各電力容量をその対応する装置と関連付ける１つまたは複数の識別子と共にデータ構造に格納する手段と、
前記データ構造に格納された前記情報に基づいて、前記複数の装置の各々に対し、前記消費可能電力より少ない電力を消費するために、各装置の電力容量の１つで動作するよう指示する手段と、
を含む電力管理装置。
【請求項２】
前記データ構造は、帯域外管理を介してアクセス可能であることを特徴とする請求項１に記載の電力管理装置。
【請求項３】
前記複数の装置に関連する前記消費可能電力を得る手段をさらに含むことを特徴とする請求項１に記載の電力管理装置。
【請求項４】
前記複数の装置は、データ・センターにあるラック内の全てのサーバを含むことを特徴とする請求項１に記載の電力管理装置。
【請求項５】
前記複数の装置は、ブレード・サーバのブレードを含むことを特徴とする請求項１に記載の電力管理装置。
【請求項６】
前記複数の装置は、データ・センターにある全てのサーバを含むことを特徴とする請求項１に記載の電力管理装置。
【請求項７】
前記複数の装置は、データ・センターにあるネットワーク機器を含むことを特徴とする請求項１に記載の電力管理装置。
【請求項８】
前記複数の装置は、データ・センターにある記憶装置を含むことを特徴とする請求項１に記載の電力管理装置。
【考案の詳細な説明】
【技術分野】
【０００１】
本考案は、複数の装置に電力を割り当てるための電力管理装置に関する。
【背景技術】
【０００２】
データ・センターは、サーバ・ラック、ネットワーク機器、および他の電子装置を含むことができる。どのくらいの数の装置をデータ・センターが扱うことができるかを判定するために、各装置の電源ユニットの定格電力値を使用することができる。この値は「ラベル電力（ｌａｂｅｌ  ｐｏｗｅｒ）」と呼ばれ、一般にその装置が引き出しうる最大電力よりもかなり高い。「ラベル電力」を使用すると、各装置にあまりにも大量の電力が割り当てられ、結果として、サーバは必要以上にまばらに据えられている可能性がある。データ・センターのフロア・コストは非常に高く、このような利用率の低さはデータ・センターの総保有コストに悪影響を及ぼす。
【考案の概要】
【考案が解決しようとする課題】
【０００３】
本考案は、上述したような問題に鑑みてなされたものであり、その目的とするところは、複数の装置に電力を割り当てるための電力管理装置を提供することにある。
【課題を解決するための手段】
【０００４】
簡潔に述べると、本明細書に記載の考案の諸態様は、複数の装置に電力を割り当てるための電力管理装置に関する。諸態様において、装置には消費可能電力が割り当てられる。各装置は、１つまたは複数の電力レベルで動作することができる。装置の電力容量を得るために、コンソールにより各装置に問い合わせる。コンソールは、当該電力容量をデータ構造に格納する。次いで、消費可能電力を伴ったデータ構造を使用して、各装置に指示し、特定の電力レベルで動作させる。データ構造は、装置の電力レベルを記憶するフィールドと、当該電力レベルを装置に関連付けるフィールドを含む。さらに、データ構造は、装置を消費可能電力に関連付けるグループ・フィールドを含む。
【０００５】
上述の説明は、「考案を実施するための形態」で後にさらに説明する、考案の幾つかの態様を簡潔に特定するために与えられる。上述の説明は、本考案の主要な特徴または本質的な特徴を特定することは意図しておらず、本考案の範囲を限定するために使用されることも意図していない。
【０００６】
「本明細書に記載の考案」という句は、文脈で明確に示されない限り、「考案を実施するための形態」に記載した考案を指す。「諸態様」という用語は、「少なくとも１つの態様」と解釈すべきである。「考案を実施するための形態」に記載した考案の諸態様の特定は、本考案の主要または本質的な特徴を特定することを意図してはいない。
【０００７】
本明細書に記載の考案に対する上述の態様および他の態様は、例として示されており、同様な参照番号が同様な要素を示す添付の図面にも限定されない。
【図面の簡単な説明】
【０００８】
【図１】本明細書に記載の考案の諸態様を組み込むことができる例示的な汎用目的の    コンピューティング環境を表すブロック図である。
【図２】本明細書に記載の諸態様がその中で動作できる、例示的なシステムのブロッ    ク図である。
【図３】本明細書に記載の諸態様に従って使用できる幾つかの例示的なデータ構造を    示す図である。
【図４】本明細書に記載の諸態様に従って使用できる例示的な１組のデータ構造を示    す図である。
【図５】本明細書に記載の諸態様に従って電力データ構造を生成および使用する際に    行うことができる例示的な動作を一般的に表現するフロー図である。
【図６】本明細書に記載の諸態様に従って電力データ構造を使用する際に行うことが    できる例示的な動作を一般的に表現するフロー図である。
【考案を実施するための形態】
【０００９】
（例示的な動作環境）
図１は、本明細書に記載の本考案の諸態様を実装できる適切なコンピューティング・システム環境１００の例を示す。コンピューティング・システム環境１００は適切なコンピューティング環境の一例に過ぎず、本明細書に記載の考案の使用範囲または機能範囲に関するどのような限定も示唆しない。また、コンピューティング環境１００が、例示的な動作環境１００に示した構成要素の任意の１つまたは組合せに関してどのような依存性または要件を有するとも解釈すべきでない。
【００１０】
本明細書に記載の考案の諸態様は、他の数多くの汎用目的または特殊目的のコンピューティング・システム環境またはその構成で動作する。本明細書に記載の考案の諸態様と共に使用するのに適しうる周知のコンピューティング・システム、環境、および／または構成の例としては、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド装置またはラップトップ装置、マルチプロセッサ・システム、マイクロコントローラ・ベースのシステム、セット・トップ・ボックス、プログラム可能消費家電、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、上記システムまたは装置の何れかを含む分散コンピューティング環境等があるが、これらに限らない。
【００１１】
本明細書に記載の考案の諸態様を、プログラム・モジュールのような、コンピュータによって実行されているコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールはルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、これらは特定のタスクを実行するか、特定の抽象データ型を実装する。本明細書に記載の考案の諸態様を、通信ネットワークを介して接続されたリモート処理装置によってタスクが実行される、分散コンピューティング環境で実施してもよい。分散コンピューティング環境では、プログラム・モジュールを、メモリ記憶装置を含むローカル・コンピューティング記憶装置およびリモート・コンピューティング装置の双方に配置することができる。
【００１２】
図１を参照すると、本明細書に記載の考案の諸態様を実装するための例示的なシステムは、コンピュータ１１０の形で汎用目的のコンピューティング装置を含む。コンピュータ１１０の構成要素には、処理装置１２０、システム・メモリ１３０、システム・メモリを含む様々なシステム構成要素を処理装置１２０に結合するシステム・バス１２１を含めることができるがこれらに限らない。システム・バス１２１は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および様々なバス・アーキテクチャの何れかを使用するローカル・バスを含む、数種のバス構造のうちの何れかであることができる。限定ではなく例として、係るアーキテクチャにはＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、およびメザニン・バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００１３】
コンピュータ１１０は、一般に様々なコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、コンピュータ１１０がアクセス可能な任意の使用可能媒体であることができ、揮発性および不揮発性媒体、ならびに取外し可能および取外し不能媒体の両方を含む。限定ではなく例として、コンピュータ読取可能媒体は、コンピュータ記憶媒体と通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータのような情報を記憶するための任意の方法または技術で実装した揮発性および不揮発性媒体、取外し可能および取外し不能媒体の両方を含むことができる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）もしくは他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または所望の情報を記憶するために使用できコンピュータ１１０がアクセスできる他の任意の媒体が含まれるがこれらに限らない。通信媒体は一般にコンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータを搬送波または他の伝送媒体のような変調データ信号で具現化し、任意の情報送達媒体を含む。「変調データ信号」という用語は、１つまたは複数のその特性を有するか信号内の情報をエンコードするように変換した信号を意味する。限定ではなく例として、通信媒体には有線ネットワークまたは直接配線接続のような有線媒体と、音響、ＲＦ、赤外線および他の無線媒体のような無線媒体が含まれる。上記の何れかから成る組合せもコンピュータ読取可能媒体の範囲に含まれるべきである。
【００１４】
システム・メモリ１３０は、コンピュータ記憶媒体をＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１３１およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３２のような揮発性および／または不揮発性メモリの形で含む。ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３は、例えば起動中にコンピュータ１１０内部の要素間での情報伝送を支援する基本的なルーチンを含み、一般にＲＯＭ１３１に記憶される。ＲＡＭ１３２は一般に、処理装置１２０が即座にアクセス可能であるデータ、および／または処理装置１２０上で現在稼働中のプログラム・モジュールを含む。限定ではなく例として、図１はオペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７を示す。
【００１５】
コンピュータ１１０は、他の取外し可能または取外し不能のコンピュータ記憶媒体、揮発性または不揮発性のコンピュータ記憶媒体を含むこともできる。例としてのみ、図１は取外し不能で不揮発性の磁気媒体を読み書きするハード・ディスク・ドライブ１４１、取外し可能で不揮発性の磁気ディスク１５２を読み書きする磁気ディスク・ドライブ１５１、およびＣＤ  ＲＯＭまたは他の光媒体のような取外し可能で不揮発性の光ディスク１５６を読み書きする光ディスク・ドライブ１５５を示す。例示的な動作環境で使用できる他の取外し可能または取外し不能のコンピュータ記憶媒体、揮発性または不揮発性のコンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、固体ＲＡＭ、固体ＲＯＭ等が含まれるがこれらに限らない。ハード・ディスク・ドライブ１４１は一般にインタフェース１４０のような取外し不能メモリ・インタフェースを介してシステム・バス１２１に接続され、磁気ディスク・ドライブ１５１および光ディスク・ドライブ１５５は一般にインタフェース１５０のような取外し可能メモリ・インタフェースによってシステム・バス１２１に接続される。
【００１６】
上述し、図１で示したドライブおよびその関連するコンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュール、および他のデータを、コンピュータ１１０のために記憶する。図１では、例えば、ハード・ディスク・ドライブ１４１がオペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７を記憶するとして示してある。これらの構成要素はオペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７と同一であるかまたは異なることができることに留意されたい。オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６にはここでは異なる番号を与え、最低限それらが異なるコピーであることを示す。ユーザはキーボード１６２および一般にはマウス、トラックボールまたはタッチ・パッドと呼ばれるポインティング・デバイス１６１のような入力装置を介してコンピュータ２０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）にはマイクロフォン、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナ、ハンドヘルドＰＣもしくは他の書込みタブレットのタッチ・スクリーン等を含めることができる。これらおよび他の入力装置はしばしば、システム・バスに結合されたユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、パラレル・ポート、ゲーム・ポートまたはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような他のインタフェースおよびバス構造によって接続してもよい。モニタ１９１または他種の表示装置も、ビデオ・インタフェース１９０のようなインタフェースを介してシステム・バス１２１に接続される。モニタに加えて、コンピュータはスピーカ１９７およびプリンタ１９６のような他の周辺出力装置も含むことができ、これらは出力周辺インタフェース１９０を介して接続することができる。
【００１７】
コンピュータ１１０は、リモート・コンピュータ１８０のような１つまたは複数のリモート・コンピュータへの論理接続を使用してネットワーク環境で動作することができる。リモート・コンピュータ１８０はパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスまたは他の共通ネットワーク・ノードであることができ、一般にはコンピュータ１１０に関して上述した要素の多くまたは全てを含むが、メモリ記憶装置１８１のみを図１に示した。図１に示した論理接続はＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）１７１とＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｏｗｏｒｋ）１７３を含むが、他のネットワークを含んでもよい。係るネットワーク環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットでは一般的である。
【００１８】
ＬＡＮネットワーク環境で使用する場合、コンピュータ１１０はネットワーク・インタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用する場合、コンピュータ１１０は一般にモデム１７２または、インターネットのようなＷＡＮ１７３上で通信を確立するための他の手段を備える。モデム１７２は内部または外部にあることができ、ユーザ入力インタフェース１６０または他の適切な機構を介してシステム・バス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して示したプログラム・モジュールまたはその一部をリモート・メモリ記憶装置に記憶することができる。限定ではなく例として、図１はメモリ装置１８１上に常駐したリモート・アプリケーション・プログラム１８５を示す。示したネットワーク接続は例であって、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されよう。
【００１９】
コンピュータ１１０が他の装置と帯域外で（例えば、オペレーティング・システムを使用せずに）通信できるようにするために、ベースボード管理コントローラ（例えば、ＢＭＣ  １９８）をコンピュータ１１０に組み込むことができる。ＢＭＣ１９８は、温度、冷却ファンの速度、電源モード、オペレーティング・システムの状態等を（図２のコンソール２０５のような）コンソールに報告することができる。ＢＭＣ１９８は、コンピュータ１１０の他の構成要素がオフであるときに非常に少ない電力で動作できるプロセッサを含むことができる。さらに、ＢＭＣ１９８は、コンピュータ１１０の有する電力容量を送信することができ、コンピュータ１１０の電力レベルを設定することができる。電力容量は、コンピュータ１１０が動作できる様々な電力レベルを含む。
【００２０】
（電力容量データ構造と電力割当て）
図２に示すように、データ・センターは、サーバと電子装置を多数含むことができる。データ・センターは、装置に十分な電力を供給できる必要があるだけでなく、装置を安全な動作温度に保つのに十分な冷却能力を有する必要がある。データ・センター内の装置の多くがラック内に備え付けられ、一方でその他の装置は自立（free-standing）であることがある。各ラックには例えば、特定の消費可能電力が割り当てられている。装置が正確に動作するためには、ラック内の装置によって消費される電力の合計が、その割り当てられた消費可能電力を超過するべきではない。当該消費可能電力を超過すると、ブレーカが落ちる原因となるか、熱が大量に生じて当該ラック内または他のラック内の他の構成要素に悪影響を及ぼしうることになる。他方、データ・センター内のラックおよびフロア・スペースを無駄にしないように、必要なだけ多くの消費可能電力を利用することが有利である。
【００２１】
図２は、本明細書に記載の考案の諸態様が動作可能な例示的なシステムのブロック図である。システムは、コンソール２０５（例えば、中央管理コンソール）、ラック２１０〜２１１、装置２１５〜２２５、および通信チャネル２３０〜２３１を含む。
【００２２】
装置２１５〜２２５は、サーバ（例えば、サーバ２１５〜２２２）、ネットワーク装置（例えば、ネットワーク装置２２３）、ブレード・サーバ（例えば、ブレード・サーバ２２４）および他の装置（例えば、他の装置２２５）を含むことができる。ラック２１０は、サーバ２１５〜２１７、ネットワーク装置２２３、およびブレード・サーバ２２４を収容し、ラック２１１は、サーバ２１８〜２２１および他の装置２２５を収容する。サーバ２２２を自立とし、ラック外部に配置することができる。適切なハードウェアおよびソフトウェアで構成した図１のコンピュータ１１０は、サーバ２１５〜２２２のうちの１つのようなサーバとして使用できる装置の例である。データ・センターは、図２に表したもののような装置を多かれ少なかれ有することができる。
【００２３】
通信チャネル２３０は、装置２１５〜２２５をコンソール２０５および他の装置および／またはインターネット（図示せず）のようなネットワークに接続させる１つまたは複数のネットワークを含むことができる。通信チャネル２３０を介して通信するために、ＴＣＰ／ＩＰプロトコル、トークン・リング・プロトコル、または他の幾つかのネットワーク・プロトコルのような適切なネットワーク・プロトコルを使用することができる。
【００２４】
通信チャネル２３１は、ネットワーク、ポイント・ツー・ポイント接続（例えば、シリアル接続）、または装置２１５〜２２５との「帯域外での」通信を可能とする他の通信リンクを備えることができる。この意味での帯域外とは、装置２１５〜２２５上のオペレーティング・システムと無関係に装置と通信できることをいう。
【００２５】
一実施形態では、コンソール２０５が装置と帯域外で通信できるように、ＢＭＣ（ｂａｓｅｂｏｒｄ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｔｒｏｌｌｅｒ）を装置に組み込むことができる。例示的なＢＭＣ（例えば、ＢＭＣ１９８）を、図１と関連して説明する。前述と同様に、ＢＭＣは、温度、冷却ファンの速度、電力モード、オペレーティング・システムの状態等を、コンソール２０５に報告（report）することができる。さらに、ＢＭＣは、その対応する装置が有する電力容量を送信し、装置の電力レベルを設定することができる。電力容量は、装置が動作できる様々な電力レベルを含む。
【００２６】
コンソール２０５は、これらの電力容量を、記憶装置２３５に配置した１つまたは複数のデータ構造に格納することができる。記憶装置２３５は、例えば、図１に関連して説明したコンピュータ読取可能媒体のようなコンピュータ読取可能媒体を備えることができる。これらのデータ構造の幾つかの例示的な形式を、図３および４に関連してより詳細に説明する。一般に、１つまたは複数のデータ構造（以降、単に「データ構造」と称する場合もある）は、各装置が動作できる様々な電力レベルを含み、各電力レベルに関連する装置を特定する方法を含む。さらに、データ構造は、位置（例えば、ラック）を各装置に関連付けることができる。データ構造は、１組の装置に関連する消費可能電力を含むこともできる。この１組の装置を、（例えば、単一のラック内で）物理的に配置するか、データ・センター中に分散させることができる。
【００２７】
一実施形態では、データ構造は、装置がどのように電力レベルを実現できるかに関する情報は含まない。例えば、データ構造は、電力レベルを達成するために装置がどの構成要素をオンもしくはオフにし、またはどの構成要素の電力を増大もしくは縮小させるかということを含むことはできない。その代わり、データ構造は単に、装置がどの電力レベルで動作可能であるかということを含むことができる。換言すると、当該データ構造を使用すれば、特定のサーバ上でどの構成要素がどの電力モードで稼働しているかに関する詳細は、コンソールに対して透過的（transparent）である。
【００２８】
本明細書では、装置が或る電力レベルで動作している場合、必ずしも装置が全ての時点で当該電力レベルの全量を消費することを意味しない。そうではなく、当該装置が、当該電力レベルを上回らない量を消費することが期待されている。装置は、例えば、作業が少ないときは消費電力を少なくすることができる。装置に目一杯の作業が割り当てられている場合は、当該装置は現在動作している電力レベルを上回る電力を消費すべきではない（が、偶然に消費することがある）。
【００２９】
本実施形態では、各装置の構成要素に関する電力情報を省略することで、将来導入されうる新しい電力レベルを記述する柔軟性がもたらされる。例えば、所定の１組のハードウェアに関する電力情報を得るために構造化されたデータ構造は、新しいハードウェアが開発される場合は正しく動作しなくともよい。さらに、どの構成要素を異なる電力状態とするかということを、コンソールが指示する電力レベルに基づいて装置に決定させることで、装置の製造者は自身の装置を或る種の試験された構成の範囲内で動作させることができる。
【００３０】
このデータ構造を使用すると、コンソール２０５（または記憶装置２３５にアクセス可能な他の任意のマシン）上の電力管理ソフトウェアは、どのくらいの電力が１組の装置によって必要とされるか、および消費可能電力のうちどのくらいの電力が１組の装置に対して残っているかを正確に判定することができる。位置情報が含まれる場合、電力管理ソフトウェアは、追加の装置を（例えば、ラック上の）１組の装置に追加できるかどうか、および追加の装置が当該１組の装置に割り当てられた消費可能電力より少ない電力を依然として消費できるかどうかを判定することができる。
【００３１】
装置に、サポートされる電力レベルで動作するコマンドを送信することによって、当該装置に当該電力レベルで動作するよう指示することができる。一実施形態では、装置がオペレーティング・システムの制御下にある場合、これを、オペレーティング・システム（またはオペレーティング・システム上で稼動しているソフトウェア）と通信することによって、通信チャネル２３０を介して行うことができる。別の実施形態では、これを、装置がオペレーティング・システムの制御下にあるかどうかに関わらず、通信チャネル２３１を介して帯域外で行うことができる。装置が当該コマンドを受け取ると、当該装置は、当該コマンドによって指定された電力レベルを満たすために、どの構成要素をオンもしくはオフにするか、またはどの構成要素の電力消費を削減または増大するかを決定する。例えば、その最小電力消費量を上回って動作する場合、ＣＰＵに指示してその電力消費を削減することができる。
【００３２】
図３は、本明細書に記載の考案の諸態様に従って使用できる幾つかの例示的なデータ構造を示す。データ構造３００は、サーバＩＤフィールド３０５、電力プロファイル・フィールド３１０、および電力レベル・フィールド３１５を含む。電力レベル・フィールド３１５は、装置がその関連する電力プロファイルに割り当てられたときに消費できる最大の電力を示す。サーバＩＤフィールド３０５は、電力レベルを装置に関連付けるエントリを含む。これらのエントリは、装置を特定する一意な識別子を含むことができる。
【００３３】
一実施形態では、電力プロファイル・フィールド３１０をデータ構造３００から省略してもよい。本実施形態では、特定の電力レベルを装置に送ることによって、当該装置に当該電力レベルを上回らない電力で動作するよう指示することができる。
【００３４】
各フィールドのタイトルおよびデータ構造のタイトル自体は任意であって、データ構造に記憶する必要はない。
【００３５】
データ構造３００は、電力が割り当てられることが望ましい各装置の各電力レベルに対するエントリを含む。別の実施形態では、位置（例えば、ラック番号、例えば座標によって示される物理的位置等）、または共通消費可能電力によって影響される装置グループを含む別のフィールドを、データ構造３００に追加するか、データ構造３００に関連付けることができる。このフィールドを消費可能電力データ構造３２０と関連して使用して、グループ内の各装置に電力を割り当てることができる。一実施形態では、消費可能電力データ構造３２０は、データ・センター内の装置の全ての組合せに対する消費可能電力を含むことができる。
【００３６】
現在装置上でアクティブな電力プロファイルを示すためのデータ構造（図示せず）を使用することもできる。一実施形態では、当該データ構造は、各装置に対する装置ＩＤフィールドと電力プロファイル・フィールドを含むことができる。例えば、このデータ構造を電力容量データ構造３００と関連して使用して、各装置の現在の電力レベルを判定することができる。
【００３７】
図４は、本明細書に記載の考案の諸態様に従って使用できる例示的な１組のデータ構造を示す。データ構造４０５〜４１５は、３つの別々な装置に対応し、各装置の電力容量を示す情報を含む。データ構造４０５〜４１５を、それらがどの装置に関連付けられるかを示すように記憶することができる。例えば、データ構造４０５〜４１５を夫々、それらの装置を特定する識別子と共に記憶することができる。別の例として、データ構造４０５〜４１５を、各データがそれに関連する装置を特定するための単一の装置識別子を含む、オブジェクト指向データベースに記憶してもよい。
【００３８】
さらに、追加のフィールドまたはデータ項目を各データ構造に関連付けることができる。この追加のフィールドまたはデータ項目を、同一の消費可能電力によって支配される１組の装置を特定するために使用することができる。
【００３９】
装置の電力容量を特定するデータ構造の作成方法には、多くの方法があることが当業者には理解されよう。また、各データ構造を特定の装置に関連付ける方法も多数存在する。本明細書に記載の考案の諸態様で動作可能であるために必要な情報は、各装置の電力レベルと、所与の電力レベルに対して特定の装置を特定するための機構（mechanism）である。この必要な情報が使用できる限り、本明細書に記載の考案の趣旨または範囲を逸脱せずに、これらの方法の何れかを使用することができる。
【００４０】
図５は、本明細書に記載の考案の諸態様に従って電力データ構造を生成し、使用する際に行うことができる例示的な動作を一般的に表現するフロー図である。ブロック５０５において、動作が開始する。
【００４１】
ブロック５１０において、１組の装置に対する消費可能電力を得る。例えば、図２を参照すると、コンソール２０５はラック２１０に対する消費可能電力を得ることができる。      
【００４２】
ブロック５１５において、装置にその電力容量を問い合わせる。例えば、図２を参照すると、コンソール２０５はサーバ２１５〜２１７、ネットワーク装置２２３、およびブレード・サーバ２２５にそれらの電力容量を問い合わせる。コンソール２０５は、帯域外接続または帯域内接続を介して各装置に個別に問い合わせることができる。電力容量は、装置が動作可能な電力レベルを含む。
【００４３】
ブロック５２０において、装置の電力容量を受け取る。例えば、図２を参照すると、コンソール２０５はサーバ２１５〜２１７、ネットワーク装置２２３、およびブレード・サーバ２２５から電力容量を受け取る。
【００４４】
ブロック５２５において、これらの電力容量をデータ構造に格納する。例えば、図２および図３を参照すると、電力容量データ構造３００が記憶装置２３５に格納される。
【００４５】
ブロック５３０において、データ構造を使用して、装置に特定の電力レベルで動作するように指示する。例えば、図２を参照すると、コンソール２０５はサーバ２１５〜２１７、ネットワーク装置２２３、およびブレード・サーバ２２５の各々に、特定の電力レベルで動作するよう指示する。装置間の電力レベルは、それらの装置が同様または同一である場合でも、異なることができる。
【００４６】
ブロック５３５において、動作が終了する。
【００４７】
図６は、本明細書に記載の諸態様に従って電力データ構造を使用する際に行うことができる例示的な動作を一般的に表現するフロー図である。ブロック６０５において、動作が開始する。
【００４８】
ブロック６１０において、データ構造から装置の電力容量を得る。例えば、図４を参照すると、データ構造４０５〜４１５から電力容量が得られる。
【００４９】
ブロック６１５において、装置の消費可能電力を得る。例えば、図２を参照すると、コンソール２０５はデータ・ストア（例えば、記憶域２３５）またはユーザから消費可能電力を得る。
【００５０】
ブロック６２０において、装置によって消費される電力を計上した後に、消費可能電力に残存している電力を測定する。例えば、図２を参照すると、コンソール２０５は、ラック２１０内の装置によって消費された電力を計上した後に、どのくらいの量の電力が（もしあれば）残っているか、またはどれだけ電力が超過しているかを判定する。
【００５１】
ブロック６２５において、電力容量と消費可能電力に基づいた動作を行う。この動作には、例えば、指定の電力レベルで動作するよう１つまたは複数の装置に指示すること、どれくらいの電力が消費可能電力に残存しているかを示すこと、（残存する消費可能電力に基づいて）新しい装置をどこに配置できるかを決定すること、別の消費可能電力に割り当てる必要がある装置を決定すること等を含めることができる。
【００５２】
ブロック６３０において、動作が終了する。
【００５３】
以上の詳細な説明から分かるように、複数の装置に対して電力を割り当てるためのデータ構造に関する諸態様を説明した。本明細書に記載の考案の諸態様には様々な修正および代替的な構築を加える余地があるが、その幾つかの例示的な実施形態を図面で示し、上で詳細に説明した。しかし、本考案の諸態様を、開示した特定の形態に限定する意図はなく、寧ろ、本明細書に記載の考案の様々な態様の趣旨および範囲内にある全ての修正、代替的構築、および均等物を網羅することが意図されていることは理解されよう。
【符号の説明】
【００５４】
１００  コンピューティング・システム環境
１１０  コンピュータ
１２０  処理装置
１３０  システム・メモリ
１９８  ＢＭＣ
２０５  コンソール
２１０〜２１１  ラック
２１５〜２２５  装置
２２２  サーバ
２３０〜２３１  通信チャネル
２３５  記憶装置
３００、３２０、４０５〜４１５  データ構造
【図１】
0003180006.tif 000003
【図２】
0003180006.tif 000004
【図３】
0003180006.tif 000005
【図４】
0003180006.tif 000006
【図５】
0003180006.tif 000007
【図６】
0003180006.tif 000008