(57)【要約】      （修正有）【課題】高効率バッテリバックアップ（ＢＢＵ）システムを管理するコンピュータ実行方法を提供する。【解決手段】マイクロコントローラユニット（ＭＣＵ）と、バッテリパックと、ＯリングＦＥＴシステムと、を備える高効率バッテリバックアップ（ＢＢＵ）システムを管理するコンピュータ実行方法であって、サーバシステムのコントローラにおいて、サーバシステムのＡＣ電源及び電源ユニット（ＰＳＵ）の状態情報を受信するステップと、ＡＣ電源又はＰＳＵが故障した場合に、高効率バッテリシステムがサーバシステムに対して放電するのを可能にする放電可能コマンドを生成するステップと、ＭＣＵがＯリングＦＥＴシステムのＦＥＴを飽和領域で動作させるステップと、バッテリパックを、サーバシステムのメインＤＣバスに対して放電させるステップと、を含む。【選択図】図１Ａ
2019030211.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラユニット（ＭＣＵ）と、バッテリパックと、ＯリングＦＥＴシステムと、を備える高効率バッテリバックアップ（ＢＢＵ）システムを管理するコンピュータ実行方法であって、
サーバシステムのコントローラにおいて、前記サーバシステムのＡＣ電源及び電源ユニット（ＰＳＵ）の状態情報を受信するステップと、
前記ＡＣ電源又は前記ＰＳＵが故障した場合に、前記高効率バッテリシステムが前記サーバシステムに対して放電するのを可能にする放電可能コマンドを生成するステップと、
前記ＭＣＵが、前記ＯリングＦＥＴシステムのＦＥＴを飽和領域で動作させるステップと、
前記バッテリパックを、前記サーバシステムのメインＤＣバスに対して放電させるステップと、を含む、コンピュータ実行方法。
【請求項２】
前記ＯリングＦＥＴシステムは、バックトゥバックのＯリングＦＥＴトポロジを有する２つのＯリングＦＥＴを備え、前記２つのＯリングＦＥＴのゲートは、互いに接続されており、前記ＢＢＵシステムの誤差増幅器の出力に接続されている、請求項１に記載のコンピュータ実行方法。
【請求項３】
前記ＭＣＵは、前記誤差増幅器の基準電圧入力に接続されており、前記ＭＣＵは、前記誤差増幅器の出力電圧を調整し、前記２つのＯリングＦＥＴのゲート電圧を設定することによって、前記ＯリングＦＥＴシステムの動作特性を制御するように構成されている、請求項２に記載のコンピュータ実行方法。
【請求項４】
前記ＰＳＵ及び前記ＡＣ電源の両方が正常である場合に、前記バッテリシステムが容量の較正を必要としていると判別するステップと、
前記ＢＢＵシステムの較正を可能にする較正可能コマンドを生成するステップと、
前記バッテリシステムの前記ＭＣＵが、前記ＯリングＦＥＴシステムの前記ＦＥＴをオーミック領域で動作させるステップと、
前記バッテリパックを、前記サーバシステムの前記メインＤＣバスに対して放電させるステップと、を更に含む、請求項１に記載のコンピュータ実行方法。
【請求項５】
前記ＰＳＵ及び前記ＡＣ電源の両方が正常である場合に、前記バッテリシステムが容量の較正を必要としていないと判別するステップと、
前記ＢＢＵシステムが前記サーバシステムの前記ＰＳＵによって充電されるのを可能にする充電可能コマンドを生成するステップと、
前記バッテリパックの出力電圧を含む前記バッテリシステムの状態情報を受信するステップと、を更に含む、請求項１に記載のコンピュータ実行方法。
【請求項６】
前記バッテリパックの前記出力電圧が所定の低値より低い場合に、前記ＢＢＵシステムを定電流充電可能モードに移行させる定電流充電可能コマンドを生成するステップと、
前記ＭＣＵが、前記ＯリングＦＥＴシステムの前記ＦＥＴをオーミック領域で動作させるステップと、を更に含む、請求項５に記載のコンピュータ実行方法。
【請求項７】
前記バッテリパックの前記出力電圧が所定の低値以上である場合に、前記ＢＢＵシステムが定電圧充電モードに移行するための定電圧充電可能コマンドを生成するステップと、
前記ＭＣＵが、前記ＯリングＦＥＴシステムの前記ＦＥＴをオーミック領域で動作させるステップと、を更に含む、請求項５に記載のコンピュータ実行方法。
【請求項８】
マイクロコントローラユニット（ＭＣＵ）と、バッテリパックと、ＯリングＦＥＴシステムと、を備える高効率バッテリバックアップ（ＢＢＵ）システムを管理するシステムであって、
プロセッサと、
複数の命令を記憶するコンピュータ可読記憶媒体と、を備え、
前記複数の命令は、前記プロセッサによって実行されると、
サーバシステムのコントローラにおいて、前記サーバシステムのＡＣ電源及び電源ユニット（ＰＳＵ）の状態情報を受信するステップと、
前記ＡＣ電源又は前記ＰＳＵが故障した場合に、前記高効率バッテリシステムが前記サーバシステムに対して放電するのを可能にする放電可能コマンドを生成するステップと、
前記ＭＣＵが、前記ＯリングＦＥＴシステムのＦＥＴを飽和領域で動作させるステップと、
前記バッテリパックを、前記サーバシステムのメインＤＣバスに対して放電させるステップと、を含む動作を前記システムに実行させる、システム。
【請求項９】
前記複数の命令は、前記プロセッサによって実行されると、
前記ＰＳＵ及び前記ＡＣ電源の両方が正常である場合に、前記バッテリシステムが容量の較正を必要としていると判別するステップと、
前記ＢＢＵシステムの較正を可能にするステップと、
前記バッテリシステムの前記ＭＣＵが、前記ＯリングＦＥＴシステムの前記ＦＥＴをオーミック領域で動作させるステップと、
前記バッテリパックを、前記サーバシステムの前記メインＤＣバスに対して放電させるステップと、を含む動作を前記システムに実行させる、請求項８に記載のシステム。
【請求項１０】
前記複数の命令は、前記プロセッサによって実行されると、
前記ＰＳＵ及び前記ＡＣ電源の両方が正常である場合に、前記バッテリシステムが容量の較正を必要としていないと判別するステップと、
前記ＢＢＵシステムが前記サーバシステムの前記ＰＳＵによって充電されるのを可能にする充電可能コマンドを生成するステップと、
前記バッテリパックの出力電圧を含む前記バッテリシステムの状態情報を受信するステップと、を含む動作を前記システムに実行させる、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してサーバシステムに関する。
【背景技術】
【０００２】
現在のサーバファーム又はデータセンタは、通常、様々なアプリケーションサービスの処理要求を処理するために、多数のサーバを使用している。各サーバは、様々なオペレーションを処理し、これらのオペレーションを維持するために一定レベルの消費電力を必要としている。これらのいくつかのオペレーションは、「ミッションクリティカル」なオペレーションであり、「ミッションクリティカル」なオペレーションの中断は、これらのオペレーションに関連するユーザに対する重大なセキュリティ侵害又は収益損失を招く可能性がある。
【０００３】
しかしながら、データセンタへのＡＣ電源の遮断は、予測不能である。場合によっては、電源の遮断によって、強制的にシャットダウンしたり、及び／又は、データ損失を引き起こす可能性がある。データセンタは、通常、バックアップ電源（例えば、バッテリに蓄積されたエネルギー）を有しており、ＡＣ電源が遮断している間の消費電力をサポートする。突然のシャットダウンは、データセンタが、入力電源の遮断が発生する前に一定レベルのバックアップ電源を維持する場合に、防止することができる。しかしながら、バックアップ電源の効率及び信頼性を向上させるという課題が依然として存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
高効率バッテリバックアップ（ＢＢＵ）システムを管理するコンピュータ実行方法を提供する。
【課題を解決するための手段】
【０００５】
本発明の様々な実施例によるシステム及び方法は、高効率バックアップ（ＢＢＵ）システムのマイクロコントローラユニット（ＭＣＵ）及びＯリングＦＥＴシステムを介してＢＢＵシステムを管理することによって、ＢＢＵシステム及び上述した問題を解決する手段を提供する。具体的には、本発明の様々な実施例は、サーバシステムのベースボード管理コントローラ（ＢＭＣ）を用いて、ＢＢＵシステムがバッテリ放電器無しに複数の動作モードで動作することができるように、ＭＣＵ及びＯリングＦＥＴシステムを制御するシステム及び方法を提供する。ＢＢＵシステムの動作モードには、バッテリ定電流充電モード、バッテリ定電圧充電モード、バッテリ放電モード又はバッテリ容量較正モード（battery capacity calibration mode）が含まれるが、これらに限定されない。
【０００６】
いくつかの実施例では、ＯリングＦＥＴシステムは、バックトゥバックのＯリングＦＥＴトポロジを有する２つのＯリングＦＥＴを有する。２つのＯリングＦＥＴのゲートは、互いに接続されており、誤差増幅器の出力に接続されている。ＭＣＵは、誤差増幅器の基準電圧入力に接続されている。ＭＣＵは、誤差増幅器の基準電圧を管理することによって、誤差増幅器の出力電圧を調整することができるので、２つのＯリングＦＥＴのゲート電圧を設定することにより、ＯリングＦＥＴシステムの動作特性を制御することができる。例えば、ＭＣＵは、誤差増幅器に対応する基準電圧を設定することによって、２つのＯリングＦＥＴをオーミック領域又は飽和領域の何れかで動作するように制御することができる。
【０００７】
いくつかの実施例では、ＢＭＣは、通信インタフェースを介してＢＢＵシステムのＭＣＵに接続されており、ＭＣＵにコマンドを送信することによってＭＣＵを管理することができる。ＭＣＵは、ＢＭＣからコマンドを受信すると、ＯリングＦＥＴシステムの動作特性を制御し、そのコマンドに対応するＢＢＵシステムの動作モードを設定することができる。
【０００８】
いくつかの実施例では、ＢＭＣは、サーバシステムの電源ユニット（ＰＳＵ）に接続されている。ＢＭＣは、ＰＳＵから停電信号を受信したことに応じて、放電可能コマンドを生成して、ＢＢＵシステムが電力をサーバシステムのＤＣバス出力に放電可能にすることができる。停電信号は、ＰＳＵ又はＰＳＵへの何れかのＡＣ電源が故障したことを示すことができる。
【０００９】
いくつかの実施例では、ＢＭＣは、ＰＳＵ又はＰＳＵへのＡＣ電源の状態情報を監視する。ＢＭＣは、ＰＳＵ又はＡＣ電源の何れかが故障したと判別したことに応じて、放電可能コマンドを生成して、ＢＢＵシステムをバッテリ放電モードに移行して、電力をサーバシステムのＤＣバスに放電させるようにする。いくつかの実施例では、ＢＢＵシステムのＭＣＵは、放電可能コマンドを受信すると、ＯリングＦＥＴシステムが飽和領域で動作するように、ＯリングＦＥＴシステムのゲート電圧を設定することができる。
【００１０】
ＢＭＣは、ＰＳＵからＡＣ正常（ＡＣ  ＯＫ）信号を受信したこと、又は、ＰＳＵ及びＡＣ電源の両方が正常であると判別したことに応じて、ＢＢＵシステムを較正するか否かを決定することができる。ＢＭＣは、較正が不要な場合、充電可能コマンドを生成して、ＢＢＵシステムがＰＳＵによって充電されるようにすることができる。
【００１１】
いくつかの実施例では、ＭＣＵ又はＢＭＣは、バッテリパックの出力電圧を含む、ＢＢＵシステムのバッテリパックの状態情報を更に受信することができる。ＢＭＣは、バッテリパックの出力電圧が所定の低値よりも低い場合に、バッテリシステムを定電流で充電可能にするための定電流充電可能コマンド（constant-current-charging-enable command）を生成することができる。ＢＢＵシステムのＭＣＵは、定電流充電可能コマンドを受信すると、ＯリングＦＥＴがオーミック領域で動作可能にするために、ＯリングＦＥＴシステムのＯリングＦＥＴの対応するゲート電圧を設定することができる。
【００１２】
ＢＭＣは、バッテリパックの出力電圧が所定の低値以上である高い場合に、定電圧充電可能コマンド（constant-voltage-charging-enable command）を生成して、バッテリシステムを定電圧で充電可能にし、又は、定電圧で充電可能に切り替えることができる。ＢＢＵシステムのＭＣＵは、定電圧充電可能コマンドを受信すると、ＯリングＦＥＴが飽和領域で動作可能にするために、ＯリングＦＥＴシステムのＯリングＦＥＴの対応するゲート電圧を設定することができる。
【００１３】
いくつかの実施形態では、ＢＭＣは、ＰＳＵの出力電圧を制御することができ、これにより、サーバシステムのメインＤＣバスの電圧レベルを設定することができる。例えば、ＢＭＣは、定電圧充電可能コマンドの生成に応じて、ＰＳＵの出力電圧を所定の高値に設定することができる。
【００１４】
ＢＭＣは、ＢＢＵシステムの較正が必要な場合に、ＢＢＵシステムの較正を可能にするための較正可能コマンド（calibration-enable command）を生成することができる。ＢＢＵシステムのＭＣＵは、較正可能コマンドを受信すると、ＯリングＦＥＴがオーミック領域で動作可能にし、バッテリパックがサーバシステムのメインＤＣバスに電力を放電可能にするために、ＯリングＦＥＴシステムのＯリングＦＥＴの対応するゲート電圧を設定することができる。
【００１５】
いくつかの実施例では、ＢＢＵシステムは、マイクロコントローラユニット（ＭＣＵ）と、バッテリパックと、サーバシステムのメインＤＣバスに接続されたＯリングＦＥＴシステムと、を含む。バッテリパックは、ＯリングＦＥＴシステム及びメインＤＣバスを介してサーバシステムのＰＳＵに接続されている。ＢＭＣは、ＢＢＵシステムの通信インタフェース及びＢＢＵシステムのＭＣＵを介してＢＢＵシステムの動作モードを設定することができる。
【００１６】
いくつかの実施例では、ＢＭＣは、ＢＢＣシステムの性能特性及びサーバシステムの電力需要の履歴データを更に収集することができる。収集した履歴データは、１つ以上の機械学習アルゴリズムに基づいて分析され、ＢＢＵシステムの較正スケジュールを決定するのに用いられ得る。例えば、ＢＭＣは、ＢＢＵシステムの較正期間中、サーバシステムの電力需要が低いか低いと予測される場合に、ＢＢＵシステムを較正するための較正可能コマンドを生成することができる。
【００１７】
いくつかの実施形態では、ＢＢＵシステムの性能特性及びサーバシステムの電力需要の収集された履歴データは、ＢＭＣがＢＢＵシステムの較正プロセスを開始する基準を決定するための１つ以上の機械学習アルゴリズムの入力特徴セット（input feature set）となり得る。１つ以上の機械学習アルゴリズムには、線形回帰モデル（linear regression model）、ニューラルネットワークモデル（neural network model）、サポートベクターマシンベースモデル（support vector machine based model）、ベイズ統計学（Bayesian statistics）、事例ベース推論（case-based reasoning）、決定木（decision trees）、帰納論理プログラミング（inductive logic programming）、ガウス過程回帰（Gaussian process regression）、ＧＭＤＨ法（group method of data handling）、学習オートマトン（learning automata）、ランダムフォレスト（random forests）、アンサンブル分類（ensembles of classifiers）、順序分類（ordinal classification）又は条件付き確率場（conditional random fields）が含まれ得るが、これらに限定されない。
【００１８】
本発明の上記の利点及び特徴と他の利点及び特徴とが得られる方法を説明するために、上で簡単に説明した原理のより詳細な説明を、添付の図面に示す具体的な実施形態を参照して行う。これらの図面は、本発明の例示的な態様を示すものであって、本発明を限定するものではないことを理解されたい。本発明の原理は、添付の図面の使用を通した追加の特徴及び詳細によって説明される。
【図面の簡単な説明】
【００１９】
【図１Ａ】本発明の実施形態による、ＯリングＦＥＴシステムを有する高効率バッテリバックアップ（ＢＢＵ）システムを備える例示的なサーバシステムを示す概略ブロック図である。
【図１Ｂ】本発明の実施形態による、ＯリングＦＥＴシステムを有する高効率バッテリバックアップ（ＢＢＵ）システムを備える例示的なサーバシステムを示す概略ブロック図である。
【図１Ｃ】本発明の実施形態による、ＯリングＦＥＴシステムのＦＥＴの例示的な入力／出力特性を示す図である。
【図１Ｄ】本発明の実施形態による、高効率バッテリシステムを備える例示的なシステムを示す概略ブロック図である。
【図２】本技術の実施形態による、複数の動作モードで動作可能な高効率ＢＢＵシステムを管理する例示的な方法を示す図である。
【図３】本技術の様々な実施形態による、例示的なコンピューティングデバイスを示す図である。
【図４】本技術の様々な実施形態による例示的なシステムを示す図である。
【図５】本技術の様々な実施形態による例示的なシステムを示す図である。
【発明を実施するための形態】
【００２０】
本発明は、多くの異なる形態で具体化することができる。本発明は、本発明の原理の例示として考慮されるべきであり、本発明の広範な態様を限定することを意図するものではなく、図面に示され、本明細書において詳細に説明される。その範囲において、例えば、概要、要約及び詳細な説明で開示されているが、特許請求の範囲に明記されていない要素及び制限は、含意、推論若しくは他の方式によって単独又は集合的に特許請求の範囲に組み込まれるべきではない。詳細な説明の目的のために、特に断りのない限り、単数は複数を含み、その逆も同様である。「含む」という用語は、「制限なしに含む」ことを意味する。また、例えば、「約（about）」、「ほとんど（almost）」、「実質的に（substantially）」、「おおよそ（approximately）」等の近似の用語は、ここでは、例えば「…で（at）、…近くで（near）、…に近接して（nearly at）」、「…の３〜５％内で」、「製造誤差の許容範囲内で」、又は、これらの任意の論理的組み合わせの意味を含むことができる。
【００２１】
本発明の様々な実施例は、バッテリシステムのマイクロコントローラユニット（ＭＣＵ）及びＯリングＦＥＴシステムを介して、サーバシステムの高効率バッテリシステムを管理する方法及びシステムを提供する。高効率バッテリシステムは、バッテリ定電流充電モード、バッテリ定電圧充電モード、バッテリ放電モード又はバッテリ容量較正モード（battery capacity calibration mode）を含むがこれらに限定されない複数の動作モードで動作可能である。少なくともサーバシステムの電力需要又はバッテリシステムの性能特性に基づいて適切な動作モードで動作するようにバッテリシステムを管理するために、ベースボード管理コントローラ（ＢＭＣ）を使用することができる。
【００２２】
図１Ａは、本発明の実施形態による、ＯリングＦＥＴシステムを有する高効率バッテリバックアップ（ＢＢＵ）システムを備える例示的なサーバシステム１００Ａを示す概略ブロック図である。この実施例では、システム１００Ａは、ＡＣ／ＤＣ電源ユニット（ＰＳＵ）１０２と、バッテリバックアップ（ＢＢＣ）システム１０３と、ＤＣ／ＤＣコンバータ１０５と、ベースボード管理コントローラ（ＢＭＣ）１０６と、を備える。ＰＳＵ１０２は、ＡＣ電源１０１に接続されており、電力を、メインＤＣバス１０７と、システム１００Ａの他のコンポーネントとに供給するように構成されている。ＢＢＵシステム１０３は、マイクロコントローラユニット（ＭＣＵ）１０３−１と、バッテリパック１０３−２と、Ｏリングシステム１０３−３と、を備える。Ｏリングシステム１０３−３は、バッテリパック１０３−２及びＭＣＵ１０３−１に直接接続されており、メインＤＣバス１０７にも接続されている。
【００２３】
ＢＭＣ１０６は、ＰＳＵ１０２に接続されており、通信インタフェース１１０を介してＭＣＵ１０３−１にも接続されている。ＢＭＣ１０６は、電源１０１及びＰＳＵ１０２の状態情報（status information）をＰＳＵ１０２から受信するように構成されている。
【００２４】
ＢＭＣ１０６は、電源１０１又はＰＳＵ１０２が故障したと判別したことに応じて、通信インタフェース１１０を介して、放電可能コマンド（discharging-enable command）をＭＣＵ１０３−１に送信することができ、これにより、ＢＢＣシステム１０３は、メインＤＣバス１０７に対して放電を開始することができる。いくつかの実施例では、ＰＳＵ１０２は、電源１０１又はＰＳＵ１０２が故障した場合に、停電信号（power failure signal）１０９をＢＭＣ１０６に直接送信することができる。
【００２５】
ＢＭＣ１０６は、ＰＳＵからＡＣ正常（ＡＣ  ＯＫ）信号を受けたこと、又は、ＰＳＵ及びＡＣ電源の両方が正常（ｏｋ）であると判別したことに応じて、ＢＢＵシステム１０３を較正するか否かを更に判別することができる。ＢＭＣ１０６は、較正が必要でない場合に、充電可能コマンドを生成して、ＢＢＵシステム１０３がＰＳＵ１０２によって充電されるようにすることができる。ＭＣＵ１０３−１は、充電可能コマンドを受信すると、電力がメインＤＣバス１０７からバッテリパック１０３−２に供給されるように、ＯリングＦＥＴシステム１０３−３を設定することができる。
【００２６】
ＭＣＵ１０３−１又はＢＭＣ１０６は、バッテリパック１０３の出力電圧を含む、バッテリパック１０３−２の状態情報を更に受信することができる。ＢＭＣ１０６は、バッテリパック１０３−２の出力電圧が所定の低値より低い場合に、バッテリパック１０３−２が定電流で充電されるようにするための定電流充電可能コマンド（constant-current-charging-enable command）を生成することができる。ＢＭＣ１０６は、バッテリパック１０３−２の出力電圧が所定の低値以上である場合に、バッテリパック１０３−２が定電圧で充電されるようにするか定電圧で充電されるように切り替えるための定電圧充電可能コマンド（constant-voltage-charging-enable command）を生成することができる。
【００２７】
ＢＭＣ１０６は、電源１０１及びＰＳＵ１０２が正常であって、ＢＢＵシステム１０３が較正を必要とすると判別したことに応じて、ＢＢＵシステムの較正を可能にするための較正可能コマンド（calibration-enable command）を生成することができる。ＭＣＵ１０３−１は、較正可能コマンドを受信すると、バッテリパック１０３−２がメインＤＣバス１０７に対して電力を放電するのを許可することができる。
【００２８】
図１Ｂは、本発明の実施形態による、ＯリングＦＥＴシステムを有する高効率バッテリバックアップ（ＢＢＵ）システム１０３を備える例示的なサーバシステム１００Ｂを示す概略ブロック図である。この実施例では、システム１００Ｂは、ＢＭＣ１０６と、メインＤＣバス１０７と、ＢＢＵシステム１０３と、を備える。ＢＢＵシステム１０３は、ＭＣＵ１０３−１と、バッテリパック１０３−２と、誤差増幅器１０３−７と、バックトゥバックのＯリングＦＥＴトポロジを有するＯリングＦＥＴシステム１０３−３と、キャパシタ１０３−４，１０３−１１と、抵抗１０３−９，１０３−１０と、を備える。２つのＯリングシステム１０３−３のゲートは、互いに接続されており、誤差増幅器１０３−７の出力に接続されている。ＭＣＵ１０３−１は、誤差増幅器１０３−７の基準電圧入力１０３−８に接続されている。
【００２９】
ＭＣＵ１０３−１は、基準電圧１０３−８を設定することで誤差増幅器１０３−７の出力電圧を制御することによって、ＯリングＦＥＴ１０３−３のゲート電圧を制御することができる。図１ＣのＦＥＴの例示的な入力／出力特性１００Ｃに示すように、ＦＥＴは、ＦＥＴのゲート電圧が低い場合に、オーミック領域で動作する。一方、ＦＥＴは、ＦＥＴのゲート電圧が高い場合に、飽和領域で動作する。
【００３０】
この実施例では、ＢＭＣ１０６は、通信インタフェース１１０を介してＭＣＵ１０３−１に接続されており、ＭＣＵ１０３−１にコマンドを送信することによってＭＣＵ１０３−１を管理することができる。ＭＣＵ１０３−１は、ＢＭＣ１０６からコマンドを受信すると、そのコマンドに対応するＢＢＵシステム１０３の動作モードを設定し、ＯリングＦＥＴ１０３−３の動作特性を更に制御することができる。
【００３１】
例えば、ＢＭＣ１０６は、サーバシステムのＰＳＵ又はＰＳＵへのＡＣ電源の状態情報を監視することができる。ＢＭＣ１０６は、ＰＳＵ又はＡＣ電源の何れかが故障したと判別したことに応じて、ＢＢＵシステム１０３がバッテリ放電モードに移行して、電力をサーバシステムのメインＤＣバスに放電可能にするための放電可能コマンドを生成することができる。ＭＣＵ１０３−１は、放電可能コマンドを受信すると、ＯリングＦＥＴ１０３−３が飽和領域で動作するように、ＯリングＦＥＴ１０３−３のゲート電圧を設定することができる。
【００３２】
ＢＭＣ１０６は、ＰＳＵからＡＣ正常信号を受信したこと、又は、ＰＳＵ及びＡＣ電源の両方が正常であると判別したことに応じて、ＢＢＵシステム１０３を較正するか否かを決定する。ＢＭＣ１０６は、較正が必要でない場合に、ＢＢＵシステム１０３がＰＳＵによって充電されるようにするための充電可能コマンドを生成する。
【００３３】
この実施例では、ＭＣＵ１０３−１は、バッテリパック１０３−２の電流１０３−１２、電圧１０３−１４及び温度１０３−１３を更に監視することができる。ＢＭＣ１０６は、電圧１０３−１４が所定の低値よりも低い場合に、バッテリシステム１０３が定電流で充電されるのを可能にする定電流充電可能コマンドを生成することができる。ＭＣＵ１０３−１は、定電流充電可能コマンドを受信すると、ＯリングＦＥＴ１０３−３がオーミック領域で動作するのを可能にするために、ＯリングＦＥＴ１０３−３の対応するゲート電圧を設定することができる。
【００３４】
一方、ＢＭＣ１０６は、電圧１０３−１４が所定の低値以上である場合に、バッテリシステム１０３が定電圧で充電されるための又は充電されるように切り替えるための定電圧充電可能コマンドを生成することができる。ＭＣＵ１０３−１は、定電圧充電可能コマンドを受信すると、ＯリングＦＥＴ１０３−３がオーミック領域で動作できるようにするために、ＯリングＦＥＴ１０３−３の対応するゲート電圧を設定する。
【００３５】
概して、本発明は、従来の解決手段に比べて有利である。従来のＢＢＵシステムでは、バッテリ充電器を用いて、ＢＢＵシステムのバッテリパックを充電する。しかしながら、ＢＢＵシステム内に設置されたバッテリ充電器は、独立した回路であり、標準的な充電方式に従って動作する。また、従来のＢＢＵシステムは、使用者が較正プロセスを定期的に開始して、ＢＢＵシステムの容量をテストする必要がある。本発明は、バッテリパックを充電するのに別のバッテリ充電器を必要とすることのない高効率バッテリシステムを提供する。本発明を実装するシステムでは、コスト及びボードスペースを節約することができる。また、本発明は、ＢＢＵシステムの自動的で正確な容量較正を可能にする。
【００３６】
図１Ｄは、本発明の実施形態による、高効率バッテリシステム１０３を有する例示的なシステム１００Ｄを示す概略ブロック図である。この実施例では、サーバシステム１００Ｄは、少なくとも１つのマイクロプロセッサ又はプロセッサ１１４と、１つ以上の冷却コンポーネント１１３と、メインメモリ（ＭＥＭ）１１２と、バッテリシステム１０３と、ＡＣ電源１０１からＡＣ電源を受け取り、サーバシステム１００Ｄの各種コンポーネント（例えば、プロセッサ１１４、バッテリシステム１０３、ノースブリッジ（ＮＢ）ロジック１１５、ＰＣＩｅスロット１６０、サウスブリッジ（ＳＢ）ロジック１１６、ストレージデバイス１１７、ＢＩＯＳ１１８、ＩＳＡスロット１５０、ＰＣＩスロット１７０及びコントローラ１０６等）に電力を供給する少なくとも１つの電源ユニット（ＰＳＵ）１０２と、を含む。サーバシステム１００Ｄは、電源投入後に、メモリ、コンピュータ記憶装置又は外部記憶装置からソフトウェアアプリケーションをロードして、様々な動作を実行するように構成されている。ストレージデバイス１１７は、サーバシステム１００Ｄのオペレーティングシステム及びアプリケーションに利用可能な論理ブロック内に構成されており、サーバシステム１００Ｄの電源がオフになってもサーバデータを保持するように構成されている。
【００３７】
バッテリシステム１０３は、電源１０１又は少なくとも１つのＰＳＵ１０２の何れかが故障した場合に、電力をサーバシステム１００Ｄに供給するように構成されている。いくつかの実施例では、バッテリシステム１０３は、マイクロコントローラユニット（ＭＣＵ）と、バッテリパックと、ＯリングＦＥＴシステムと、を備える。バッテリパックは、１つ以上の充電式バッテリセルを含むことができる。１つ以上の充電式バッテリセルは、電気化学セル（electrochemical cell）、燃料電池（fuel cell）又はウルトラキャパシタ（ultra-capacitor）を含むことができるが、これらに限定されない。電気化学セルは、鉛酸、ニッケルカドミウム（ＮｉＣｄ）、ニッケル水素（ＮｉＭＨ）、リチウムイオン（Ｌｉイオン）及びリチウムイオンポリマー（Ｌｉイオンポリマー）のリストからの１つ以上の化学物質を含むことができる。充電モードでは、１つ以上の充電式バッテリセルは、少なくとも１つのＰＳＵ１０２によって充電され得る。放電モードでは、１つ以上の充電式バッテリセルは、電力を、メインＤＣバス１０７及びサーバシステム１００Ｄの他のコンポーネントに供給することができる。
【００３８】
メモリ１１２は、ＮＢロジック１１５を介してプロセッサ１１４に接続され得る。メモリ１１２は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプの適切なメモリを含むことができるが、これらに限定されない。メモリ１１２は、サーバシステム１００ＤのＢＩＯＳデータを記憶するように構成されている。いくつかの構成では、ＢＩＯＳデータは、ストレージデバイス１１７に記憶され得る。
【００３９】
ＢＩＯＳ１１８は、サーバシステム１００Ｄの各種コンポーネントを起動及び識別するように構成された任意のプログラム命令又はファームウェアであってもよい。ＢＩＯＳ１１８は、サーバシステム１００Ｄのハードウェアコンポーネントの初期化及びテストを担当する重要なシステムコンポーネントである。ＢＩＯＳは、ハードウェアコンポーネントの抽象化レイヤを提供することができるので、アプリケーション及びオペレーティングシステムは、例えば、キーボード、ディスプレイ及び他の入力／出力装置等の周辺機器と相互作用する一貫した方法を提供することができる。
【００４０】
いくつかの構成では、ＢＩＯＳ１１８は、対応するサーバシステム上のオペレーティングシステム（ＯＳ）（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  ＯＳ、Ｌｉｎｕｘ（登録商標）  ＯＳ、又は、任意のオペレーティングシステム）を起動する前に、システムチェックを実行することができる。システムチェックは、対応するサーバシステムの初期化中に実行される診断システム検査である。システムチェックの例には、パワーオンセルフテスト（ＰＯＳＴ）が含まれる。ＢＩＯＳは、ＰＯＳＴの主な機能を処理することができ、特定の周辺機器（例えば、ビデオ及びスモールコンピュータシステムインタフェース（ＳＣＳＩ）初期化）を初期化するように設計された他のプログラムへの負荷をオフロードすることができる。ＰＯＳＴの主な機能は、ＣＰＵレジスタとＢＩＯＳコードの整合性の確認と、基本コンポーネントのチェックと、システムのメインメモリの検査と、他の専用のＢＩＯＳ拡張（extension）に制御を渡すことと、を含んでもよい。いくつかの構成では、ＢＩＯＳは、全てのシステムバス及びデバイスの発見、初期化及びカタログ化と、システム構成を更新するユーザインタフェースの提供と、オペレーティングシステムが必要とするシステム環境の構築と、を含むＰＯＳＴの追加機能を処理してもよい。
【００４１】
システム１００Ｄでは、ストレージデバイス１１７は、ある期間のプログラム命令又はデータを記憶するように構成された任意の記憶媒体であってもよい。ストレージデバイスは、コントローラ１０６とプロセッサ１１４との間の共有メモリとすることができる。いくつかの構成では、ストレージデバイスは、独立したストレージデバイスとすることができる。ストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、読み出し専用メモリ、又は、電気的に消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）であってもよい。ストレージデバイスは、ＢＩＯＳデータ等のシステム構成を記憶するように構成されている。
【００４２】
プロセッサ１１４は、特定の機能のプログラム命令を実行するように構成された中央処理装置（ＣＰＵ）であってもよい。例えば、プロセッサは、ブートプロセスの間、ストレージデバイス１１７に記憶されたＢＩＯＳデータにアクセスし、ＢＩＯＳ１１８を実行してサーバシステム１００Ｄを初期化することができる。プロセッサ１１４は、ブートプロセスの後に、サーバシステム１００Ｄの特定のタスクを実行及び管理するために、オペレーティングシステムを実行することができる。
【００４３】
いくつかの構成では、プロセッサ１１４は、マルチコアプロセッサであってもよく、各プロセッサは、ＮＢロジック１１５に接続されたＣＰＵバスを介して互いに接続されている。いくつかの構成では、ＮＢロジック１１５は、プロセッサ１１４内に統合され得る。ＮＢロジック１１５は、複数の周辺機器相互接続エクスプレス（ＰＣＩｅ）スロット１６０及びＳＢロジック１１６（オプション）にも接続され得る。複数のＰＣＩｅスロット１６０は、例えば、ＰＣＩエクスプレスｘ１、ＵＳＢ２．０、ＳＭＢｕｓ、ＳＩＭカード、他のＰＣＩｅレーンの将来の拡張、１．５Ｖ及び３．３Ｖ電源、並びに、サーバシステム１００Ｄのシャーシ上の診断ＬＥＤへの配線等の接続及びバスに使用することができる。
【００４４】
システム１００Ｄでは、ＮＢロジック１１５及びＳＢロジック１１６は、周辺機器相互接続（ＰＣＩ）バス１１１によって接続されている。ＰＣＩバス１１１は、プロセッサ１１４の何れのネイティブバスから独立した標準化されたフォーマットであるが、プロセッサ１１４上の機能をサポートすることができる。ＰＣＩバス１１１は、複数のＰＣＩスロット１７０（例えば、ＰＣＩスロット１７１）に更に接続され得る。ＰＣＩバス１１１に接続するデバイスは、ＣＰＩバスに直接接続され、プロセッサ１１４のアドレス空間のアドレスが割り当てられ、単一のバスクロックと同期されるように、バスコントローラ（図示省略）に現れてもよい。複数のＰＣＩスロット１７０で使用可能なＰＣＩカードは、ネットワークインタフェースカード（ＮＩＣ）、サウンドカード、モデム、テレビチューナーカード、ディスクコントローラ、ビデオカード、スカジー（ＳＣＳＩ）アダプタ、及び、ＰＣメモリカード国際協会（personal computer memory card international association；ＰＣＭＣＩＡ）カードを含むが、これらに限定されない。
【００４５】
ＳＢロジック１１６は、拡張バスを介してＰＣＩバス１１１を複数の拡張カード又はＩＳＡスロット１５０（例えば、ＩＳＡスロット１５１）に接続することができる。拡張バスは、ＳＢロジック１１６と周辺機器との間の通信に用いられるバスであってもよく、ＩＳＡ（Industry Standard Architecture）バス、ＰＣ／１０４バス、ローピンカウントバス（low pin count bus）、拡張ＩＳＡ（extended ＩＳＡ（ＥＩＳＡ））バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＤＥ（Integrated Drive Electronics）バス、又は、周辺機器のデータ通信に使用可能な他の適切なバスを含んでもよいが、これらに限定されない。
【００４６】
システム１００Ｄでは、ＳＢロジック１１６は、少なくとも１つのＰＳＵ１０２に接続されたコントローラ１０６に更に接続されている。いくつかの実施例では、コントローラ１０６は、ベースボード管理コントローラ（ＢＭＣ）、ラック管理コントローラ（Rack Management Controller；ＲＭＣ）、又は、本明細書で開示された機能を実行するのに使用可能な、メイン中央処理装置（例えば、プロセッサ１１４）から独立した他のタイプのサービスコントローラであってもよい。
【００４７】
いくつかの構成では、コントローラ１０６は、少なくとも１つのＰＳＵ１０２に接続され、少なくとも１つのＰＳＵ１０２から状態情報を受信することができる。例えば、コントローラ１０６は、少なくとも１つのＰＳＵ１０２から電圧、電流及び温度データを受信することができる。コントローラ１０６は、受信したデータに基づいて、少なくとも１つのＰＳＵ１０２の動作を管理することができる。例えば、コントローラ１０６は、少なくとも１つのＰＳＵ１０２の電源をオン若しくはオフにすることができ、又は、残りのＰＳＵの電源をオフにしながら、少なくとも１つのＰＳＵ１０２のいくつかの電源をオンにすることができる。いくつかの実施例では、コントローラ１０６は、少なくとも１つのＰＳＵ１０２の出力電圧のレベルを設定することができる。いくつかの実施例では、コントローラ１０６は、ＳＭＢｕｓ、Ｉ２Ｃ、ＣＡＮＢｕｓ又はＰＭＢｕｓを介して少なくとも１つのＰＳＵ１０２と通信することができる。
【００４８】
また、コントローラ１０６は、バッテリシステム１０３に接続され、バッテリシステム１０３の状態情報（例えば、バッテリシステムのバッテリパックの出力電圧、出力電流及び温度）を受信することができる。例えば、コントローラ１０６は、通信インタフェースを介して、バッテリシステムのＭＣＵに接続され得る。
【００４９】
ＢＭＣ１０６は、電源１０１又はＰＳＵ１０２が故障したと判別したことに応じて、放電可能コマンドをバッテリシステム１０３に送信して、バッテリシステム１０３がメインＤＣバス１０７への放電を即時開始できるようにする。いくつかの実施例では、ＰＳＵ１０２は、電源１０１又はＰＳＵ１０２が故障した場合に、停電信号１０９をＢＭＣ１０６に直接送信することができる。
【００５０】
ＢＭＣ１０６は、電源１０１及びＰＳＵ１０２が正常であると判別したことに応じて、バッテリシステム１０３が容量の較正を必要とするか否かを更に判別することができる。較正が必要ない場合、ＢＭＣ１０６は、充電可能コマンドを生成して、バッテリシステム１０３がＰＳＵ１０２によって充電されるのを可能にする。
【００５１】
いくつかの実施例では、ＢＭＣ１０６は、バッテリシステムのバッテリパックの出力電圧、出力電流及び温度を更に受信することができる。バッテリパックの出力電圧が所定の低値より低い場合に、ＢＭＣ１０６は、定電流充電可能コマンドを生成して、バッテリパックが定電流で充電されるのを可能にする。バッテリパックの出力電圧が所定の低値以上である場合に、ＢＭＣ１０６は、定電圧充電可能コマンドを生成して、バッテリシステム１０３が定電圧で充電されるのを可能にし、又は、定電圧で充電されるように切り替えることができる。
【００５２】
電源１０１及びＰＳＵ１０２が正常であって、ＢＢＵシステム１０３が較正を必要とすると判別したことに応じて、ＢＭＣ１０６は、較正可能コマンドを生成して、バッテリシステム１０３の較正を可能にすることができる。バッテリシステム１０３のＭＣＵは、較正可能コマンドを受信すると、バッテリシステム１０３のバッテリパックがメインＤＣバス１０７に電力を放電するのを可能にする。
【００５３】
いくつかの実施例では、コントローラ１０６は、バッテリシステム１０３の各バッテリセルの動作特性及びバッテリパックの動作モードを監視することができる。例えば、コントローラ１０６は、バッテリシステム１０３の各バッテリセルの出力電圧、各バッテリセルの温度及びＤＣ抵抗、各バッテリセルの出力電圧及びＤＣ抵抗、充電及び再充電の履歴、並びに／又は、環境温度を監視することができる。コントローラ１０６は、バッテリシステム１０３の各バッテリセルの動作特性に基づいて、ＡＣ停電の場合に適切なパワーダウンシーケンスを決定することができる。例えば、サーバシステム１００Ｄのプロセスを転送するための電力を節約するために、又は、処理データをサーバシステム１００Ｄに安全に記憶するために、特定の重要でないコンポーネントを先にオフすることができる。
【００５４】
いくつかの構成では、コントローラ１０６は、インテリジェントプラットフォーム管理バス／ブリッジ（ＩＰＭＢ）を用いたインテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）メッセージを介して、プロセッサ１１４及びストレージデバイス１１７と通信することができる。ＩＰＭＢは、Ｉ２Ｃバスの拡張された実装であり、メッセージベースでハードウェアレベルの基本インタフェース仕様である。
【００５５】
いくつかの実施例では、コントローラ１０６は、電源パターン、サーバラック及び／又はデータセンタの温度、データセンタに関連する停電警告、処理要求、並びに、コンポーネント及び／又はサーバシステム１００Ｄの接続状態を監視するように構成されてもよい。潜在的な／予期されるＡＣ停電に少なくとも基づいて、コントローラ１０６は、サーバシステム１００Ｄ上のプロセスを、潜在的な／予期されるＡＣ停電の影響を受けない他のサーバシステムに転送するように構成されてもよく、パッテリシステム１０３がサーバシステム１００Ｄに電力を供給するように準備しておく。
【００５６】
図１Ａ、図１Ｂ及び図１Ｄの例示的なシステム１００Ａ，１００Ｂ，１００Ｄには、特定のコンポーネントのみが示されているが、各システム１００Ａ，１００Ｂ，１００Ｄには、データを処理又は記憶することができ、又は、信号を受信若しくは送信することができる様々なタイプの電子又は計算コンポーネントが含まれてもよい。さらに、例示的なシステム１００Ａ，１００Ｂ，１００Ｄの電子又は計算コンポーネントは、様々なタイプのアプリケーションを実行するように構成されてもよく、及び／又は、様々なタイプのオペレーティングシステムを使用することができる。これらのオペレーティングシステムには、Ａｎｄｒｏｉｄ（登録商標）、バークレイソフトウェアディストリビューション（ＢＳＤ）、ｉＰｈｏｎｅ（登録商標）  ＯＳ（ｉＯＳ）、Ｌｉｎｕｘ（登録商標）、ＯＳ  Ｘ（登録商標）、Ｕｎｉｘ系リアルタイムオペレーティングシステム（例えば、ＱＮＸ等）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗ  Ｐｈｏｎｅ、及び、ＩＢＭ  ｚ／ＯＳ（登録商標）等が含まれるが、これらに限定されない。
【００５７】
例示的なシステム１００Ａ，１００Ｂ，１００Ｄの所望の実施形態に基づいて、様々なネットワーク及びメッセージングプロトコル（例えば、ＴＣＰ／ＩＰ、開放型システム間相互接続（ＯＳＩ）、ファイル転送プロトコル（ＦＴＰ）、ユニバーサルプラグアンドプレイ（ＵｐｎＰ）、ネットワークファイルシステム（ＮＦＳ）、コモンインターネットファイルシステム（ＣＩＦＳ）、ＡｐｐｌｅＴａｌｋ等が含まれるが、これらに限定されない）が用いられる。当業者であれば理解できるように、図１Ａ，図１Ｂ，図１Ｄに示される例示的なシステム１００Ａ，１００Ｂ，１００Ｄは、説明の目的のために用いられるものである。したがって、ネットワークシステムは、必要に応じて多くのバリエーションで実装することができるが、本発明の様々な実施例によるネットワークプラットフォームの構成を提供する。
【００５８】
図１Ａ，図１Ｂ，図１Ｄでは、例示的なシステム１００Ａ，１００Ｂ，１００Ｄは、特定の無線チャネルの計算範囲内の１つ以上の電子デバイスと通信するように動作可能な１つ以上の無線コンポーネントを含むことができる。無線チャネルは、デバイスが無線通信するために使用される任意の適切なチャネル（例えば、ブルートゥース（登録商標）、セルラー（cellular）、ＮＦＣ又はＷｉ−Ｆｉ（登録商標）チャネル等）であってもよい。このデバイスは、従来技術で知られているように、１つ以上の従来の有線通信接続を有し得ることを理解されたい。様々な実施例の範囲内において、様々な他の要素及び／又は組み合わせが可能である。
【００５９】
図２は、本技術の実施形態による、複数の動作モードで動作可能な高効率ＢＢＵシステムを管理する例示的な方法２００を示す図である。例示的な方法２００は、説明目的で提示され、本発明による他の方法では、類似若しくは代替の順序で、又は、並行して実行される追加、より少ない、若しくは、代替のステップを含み得ることを理解されたい。例示的な方法２００は、ステップ２０２から開始する。ステップ２０４では、サーバシステムのコントローラ（例えば、ＢＭＣ）は、図１Ａ〜図１Ｄに示すように、サーバシステムのＰＳＵ及びＡＣ電源が正常であるか否かを判別することができる。いくつかの実施例では、コントローラは、ＰＳＵ及びＡＣ電源の状態情報を受信し、受信した状態情報に基づいて、ＰＳＵ及びＡＣ電源が正常であるか否かを判別する。いくつかの実施例では、ＰＳＵは、ＰＳＵ又はＡＣ電源の何れかの機能が異常であると判別したことに応じて、停電信号を生成することができる。
【００６０】
図１Ａ〜図１Ｄに示すように、ステップ２０６では、コントローラは、ＰＳＵ又はＡＣ電源の何れかが故障した場合に、放電可能コマンドを生成して、サーバシステムの高効率バッテリシステムがサーバシステムに対して放電できるようにする。いくつかの実施例では、高効率バッテリシステムは、ＭＣＵ、バッテリパック、及び、サーバシステムのメインＤＣバスに接続されたＯリングＦＥＴシステムを含む。高効率バッテリシステムには、バッテリ充電器及び放電ＤＣ／ＤＣコンバータが存在しない。
【００６１】
図１Ａ〜図１Ｄに示すように、ステップ２０８では、バッテリシステムは、放電可能コマンドを受信したことに応じて、放電モードに移行する。図１Ｃに示すように、ステップ２１０では、バッテリシステムのＭＣＵは、ＯリングＦＥＴシステムのＦＥＴを、飽和領域で動作させることができる。図１Ａ〜図１Ｄに示すように、ステップ２１２では、バッテリシステムは、電力をサーバシステムのメインＤＣバスに供給する。
【００６２】
図１Ａ〜図１Ｄに示すように、ステップ２１４では、ＰＳＵ及びＡＣ電源の両方が正常である場合に、コントローラは、バッテリシステムが容量の較正を必要とするか否かを判別することができる。ステップ２１６では、コントローラは、電源及びＰＳＵ１０２が正常であって、バッテリシステムが較正される必要があると判別したことに応じて、較正可能コマンドを生成して、バッテリシステムの較正を可能にする。図１Ａ〜図１Ｄに示すように、ステップ２１８では、バッテリシステムは、較正可能コマンドを受信すると、バッテリの較正モードに移行する。図１Ｃに示すように、ステップ２２０では、バッテリシステムのＭＣＵは、ＯリングＦＥＴシステムのＦＥＴを、オーミック領域で動作させることができる。図１Ａ〜図１Ｄに示すように、ステップ２２２では、バッテリシステムは、メインＤＣバスに対して放電する。
【００６３】
図１Ａ〜図１Ｄに示すように、ステップ２２４では、コントローラは、電源及びＰＳＵ１０２が正常であって、バッテリシステムの較正が必要ないと判別したことに応じて、充電可能コマンドを生成して、バッテリシステムがサーバシステムのＰＳＵによって充電されるのを可能にする。図１Ａ〜図１Ｄに示すように、ステップ２２６では、バッテリシステムは、較正可能コマンドを受信すると、バッテリ充電モードに移行する。
【００６４】
図１Ａ〜図１Ｄに示すように、ステップ２２８では、バッテリシステムのＭＣＵは、ＯリングＦＥＴシステムのＦＥＴを、バッテリシステムの特定の充電モードに対応する領域で動作させることができる。例えば、ＭＣＵ又はコントローラは、バッテリシステムの出力電圧を含む、バッテリシステムの状態情報を更に受信することができる。バッテリシステムの出力電圧が所定の低値よりも低い場合、コントローラは、定電流充電可能コマンドを生成して、バッテリシステムが定電流充電モードに移行するのを可能にする。図１Ａ〜図１Ｄに示すように、定電流充電モードでは、バッテリシステムのＭＣＵは、ＯリングＦＥＴシステムのＦＥＴを、オーミック領域で動作させることができる。バッテリシステムの出力電圧が所定の低値以上である場合に、コントローラは、定電圧充電可能コマンドを生成して、バッテリシステムが定電圧充電モードに移行するのを可能にする。図１Ａ〜図１Ｄに示すように、定電圧充電モードでは、バッテリシステムのＭＣＵは、ＯリングＦＥＴシステムのＦＥＴを、飽和領域で動作させることができる。
【００６５】
図１Ａ〜図１Ｄに示すように、ステップ２３０では、バッテリシステムは、サーバシステムのメインＤＣバスに電力を供給する。方法２００は、ステップ２３２で終了する。
【００６６】
上記の議論は、本発明の原理及び各種実施例を例示することを意図している。上述した開示内容が完全に理解されると、各種の変更や修正がなされることが明らかになるであろう。
【００６７】
（専門用語）
コンピュータネットワークは、エンドポイント（例えば、パーソナルコンピュータとワークステーション）間でデータを伝送するための通信リンク及びセグメントによって相互接続された、地理的に分散したノードの集合である。ローカルエリアネットワーク（ＬＡＮ）及び広域ネットワーク（ＷＡＮ）からオーバーレイ及びソフトウェア定義ネットワーク（例えば、仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ））まで、多くのタイプのネットワークを利用することができる。
【００６８】
ＬＡＮは、通常、同一の物理位置（例えば、ビルやキャンパス等）に位置する専用のプライベート通信リンクを介して、ノードを接続する。一方、ＷＡＮは、通常、長距離通信リンク（例えば、一般的なキャリア電話回線、光路、同期型光学ネットワーク（ＳＯＮＥＴ）又は同期デジタル階層（ＳＤＨ）リンク等）を介して、地理的に分散したノードを接続する。ＬＡＮ及びＷＡＮは、レイヤ２（Ｌ２）、及び／又は、レイヤ３（Ｌ３）ネットワークと装置とを含むことができる。
【００６９】
インターネットは、世界中の異種ネットワークを接続するＷＡＮの一例であり、各種ネットワークのノード間のグローバル通信を提供する。ノードは、通常、所定プロトコル（例えば、通信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ））にしたがって、データの個別のフレーム又はパケットを交換することによって、ネットワークを介して通信する。この文脈では、プロトコルは、ノードが互いにどのように相互作用するかを定義する一組のルールを参照することができる。コンピュータネットワークは、中間ネットワークノード（例えば、ルータ）によってさらに相互接続されており、各ネットワークの有効な「サイズ」を拡張する。
【００７０】
オーバーレイネットワークは、通常、物理ネットワークインフラストラクチャ上に仮想ネットワークを生成し、階層化することを可能にする。オーバーレイネットワークプロトコル（例えば、仮想拡張可能ＬＡＮ（ＶＸＬＡＮ）、汎用ルーティングカプセル化を用いたネットワーク仮想化（ＮＶＧＲＥ）、ネットワーク仮想化オーバーレイ（ＮＶＯ３）、及び、ステートレストランスポートトンネリング（ＳＴＴ）等）は、ネットワークトラフィックが、論理トンネルを介して、Ｌ２及びＬ３ネットワークで実行できるようにするトラフィックカプセル化スキームを提供する。このような論理トンネルは、仮想トンネルエンドポイント（ＶＴＥＰｓ）を介して発信及び終了することができる。
【００７１】
さらに、オーバーレイネットワークは、ＶＭが通信する仮想Ｌ２及び／又はＬ３オーバーレイネットワークを含むことの可能な仮想セグメント（例えば、ＶＸＬＡＮオーバーレイネットワーク内のＶＸＬＡＮセグメント）を有することができる。仮想セグメントは、関連する仮想セグメント又はドメインを具体的に識別することができる例えばＶＸＬＡＮネットワーク識別子等の仮想ネットワーク識別子（ＶＮＩ）を介して識別することができる。
【００７２】
ネットワーク仮想化は、ハードウェア及びソフトウェアリソースを仮想ネットワーク内で組み合わせることを可能にする。例えば、ネットワーク仮想化では、複数のＶＭを、それぞれの仮想ＬＡＮ（ＶＬＡＮ）を介して物理ネットワークに接続することができるようにする。ＶＭは、それぞれのＶＬＡＮに従ってグループ化することができ、内部又は外部ネットワーク上の他の装置と同様に、他のＶＭと通信することができる。
【００７３】
ネットワークセグメント（例えば、物理セグメント若しくは仮想セグメント、ネットワーク、デバイス、ポート、物理リンク若しくは論理リンク、及び／又は、トラフィック等）は、通常、ブリッジ又はフラッドドメイン（flood domain）にグループ化される。ブリッジドメイン又はフラッドドメインは、ブロードキャストドメイン（例えば、Ｌ２ブロードキャストドメイン）を表す。ブリッジドメイン又はフラッドドメインは、単一のサブネットを有し得るが、複数のサブネットを有してもよい。更にブリッジドメインは、ネットワーク装置（例えば、スイッチ）上のブリッジドメインインタフェースに関連付けることができる。ブリッジドメインインタフェースは、Ｌ２ブリッジネットワークとＬ３ルーテッドネットワークとの間のトラフィックをサポートする論理インタフェースであってもよい。この他、ブリッジドメインインタフェースは、インターネットプロトコル（ＩＰ）ターミネーション、ＶＰＮターミネーション、アドレス解決処理、ＭＡＣアドレッシング等をサポートしてもよい。ブリッジドメインとブリッジドメインインタフェースは、同じインデックス又は識別子により識別される。
【００７４】
また、アプリケーションをネットワークにマッピングするために、エンドポイントグループ（ＥＰＧ）をネットワークで使用することができる。特に、ＥＰＧは、ネットワーク内のアプリケーションエンドポイントのグルーピングを用いて、接続性及びポリシーをアプリケーショングループに適用することができる。ＥＰＧは、バケットのコンテナ若しくはアプリケーションの集合、又は、アプリケーションコンポーネント、並びに転送、及び、ポリシーロジックを実行する段（tiers）として機能することができる。また、ＥＰＧは、論理的なアプリケーション境界を代わりに用いて、ネットワークポリシー、セキュリティ、及び、アドレッシングからの転送の分離を可能にする。
【００７５】
クラウドコンピューティングは、共有リソースを用いてコンピューティングサービスを提供するために、１つ以上のネットワークに提供され得る。クラウドコンピューティングは、通常、コンピューティングリソースが動的にプロビジョニングされ、ネットワーク（例えば、クラウド）を介して利用可能なリソースの集合からオンデマンドでクライアントコンピュータ若しくはユーザコンピュータ又は他の装置に割り当てられるインターネットベースのコンピューティングを含むことができる。クラウドコンピューティングリソースは、例えば、コンピューティング、ストレージ、ネットワーク装置及び仮想マシン（ＶＭ）等の任意のタイプのリソースを含むことができる。例えば、リソースは、サービス装置（ファイヤウォール、ディープパケットインスペクタ、トラフィックモニタ、ロードバランサ等）、計算／処理装置（サーバ、ＣＰＵ、メモリ、ブルートフォース処理機能）、ストレージデバイス（例えば、ネットワーク接続ストレージ、ストレージエリアネットワーク装置）等を含むことができる。また、かかるリソースが用いられて、仮想ネットワーク、仮想マシン（ＶＭ）、データベース、アプリケーション（Ａｐｐｓ）等をサポートすることができる。
【００７６】
クラウドコンピューティングリソースは、「プライベートクラウド」、「パブリッククラウド」及び／又は「ハイブリッドクラウド」を有することができる。「ハイブリッドクラウド」は、技術を介して相互運用（inter-operate）又は連携（federate）する２つ以上のクラウドから構成されるクラウドインフラストラクチャとすることができる。本質的に、ハイブリッドクラウドは、プライベートクラウドがパブリッククラウドに加わり、パブリッククラウドリソースを安全且つスケーラブルに利用する、プライベートクラウド及びパブリッククラウド間の相互作用である。また、クラウドコンピューティングリソースは、ＶＸＬＡＮ等のオーバーレイネットワーク内の仮想ネットワークを介して、プロビジョニングすることができる。
【００７７】
ネットワークスイッチシステムにおいて、ルックアップデータベースを維持して、スイッチシステムに接続されたいくつかのエンドポイント間のルートを追跡することができる。しかし、エンドポイントは、様々な構成を有することができ、且つ、多数のテナントに関連付けられている。これらのエンドポイントは、各種識別子（例えば、ＩＰｖ４、ＩＰｖ６又はレイヤ２（Layer-2）等）を有することができる。ルックアップデータベースは、異なるタイプのエンドポイント識別子を処理するために、異なるモードで構成される必要がある。ルックアップデータベースの容量は、着信パケットの異なるアドレスタイプを処理するように設計される。さらに、ネットワークスイッチシステム上のルックアップデータベースは、通常、１Ｋ仮想ルーティング及び転送（ＶＲＦｓ）によって制限される。これにより、各種タイプのエンドポイント識別子を処理するために、改善されたルックアップアルゴリズムが必要とされている。本発明の技術は、電気通信ネットワークにおけるアドレスルックアップに必要な技術を提供する。本発明は、エンドポイント識別子を一様な空間にマッピングし、異なる形式のルックアップを一様に処理することによって、様々なタイプのエンドポイント識別子を統合するためのシステム、方法及びコンピュータ可読記憶媒体を開示する。例示的なシステム及びネットワークの手短な前置きは、図３と図４に示されるように、本明細書に開示される。これらの変形例は各種実施形態において説明される。本技術について図３を参照する。
【００７８】
図３は、本発明を実行するのに適したコンピューティングデバイス３００の一例を示す図である。コンピューティングデバイス３００は、マスタ中央処理装置（ＣＰＵ）３６２と、インタフェース３６８と、バス３１５（例えば、ＰＣＩバス）と、を有する。ＣＰＵ３６２は、適切なソフトウェア又はファームウェアの制御下で動作する場合、パケット管理、エラー検出、及び／又は、例えば配線ミス検出機能等のルーティング機能の実行を担う。ＣＰＵ３６２は、好ましくは、オペレーティングシステム及び任意の適切なアプリケーションソフトウェアを含むソフトウェアの制御下で、これらの全ての機能を実現する。ＣＰＵ３６２は、Ｍｏｔｏｒｏｌａファミリのマイクロプロセッサ又はＭＩＰＳファミリのマイクロプロセッサ等の１つ以上のプロセッサ３６３を含むことができる。他の実施形態において、プロセッサ３６３は、コンピューティングデバイス３００の操作を制御するために特別に設計されたハードウェアである。特定の実施形態において、メモリ３６１（例えば、不揮発性ＲＡＭ及び／又はＲＯＭ）は、さらに、ＣＰＵ３６２の一部を形成する。しかし、メモリをシステムに接続し得る多くの異なる方法がある。
【００７９】
インタフェース３６８は、通常、インタフェースカード（「ラインカード」と呼ばれることもある）として提供される。一般に、それらは、ネットワークを介して、データパケットの送受信を制御し、コンピューティングデバイス３００で使用される他の周辺装置をサポートすることがある。インタフェースの中から、イーサネット（登録商標）インタフェース、フレームリレーインタフェース、ケーブルインタフェース、ＤＳＬインタフェース、トークンリングインタフェース等を使用することができる。また、各種超高速インタフェースは、高速トークンリングインタフェース、ワイヤレスインタフェース、イーサネット（登録商標）インタフェース、ギガビットイーサネット（登録商標）インタフェース、ＡＴＭインタフェース、ＨＳＳＩインタフェース、ＰＯＳインタフェース、ＦＤＤＩインタフェース等を使用することができる。一般に、これらのインタフェースは、適切な媒体と通信する適切なポートを有する。いくつかの実施形態において、インタフェースは、さらに、独立したプロセッサと、場合によっては揮発性ＲＡＭと、を有する。独立したプロセッサは、パケット交換、媒体制御及び管理等の通信集中型タスクを制御することができる。通信集中タスク型用に別個のプロセッサを提供することにより、これらのインタフェースは、マスタマイクロプロセッサ３６２が、ルーティング計算、ネットワーク診断、セキュリティ機能等を効率的に実行できるようにする。
【００８０】
図３に示されるシステムは、本発明の１つの特定コンピューティングデバイスであるが、本発明の唯一のネットワーク装置構造であることを意味するのではない。例えば、通信やルーティング計算等を処理する単一のプロセッサを有するアーキテクチャが頻繁に用いられる。さらに、別のタイプのインタフェース及び媒体も、ルータと共に使用することができる。
【００８１】
ネットワークデバイスの構成にかかわらず、本明細書に記載のローミング、ルート最適化及びルーティング機能を実行する汎用ネットワーク操作及びメカニズムのためのプログラム命令を記憶するように構成された１つ以上のメモリ又はメモリモジュール（メモリ３６１を有する）を使用することができる。プログラム命令は、オペレーティングシステム、及び／又は、１つ以上のアプリケーションの操作を制御することができる。メモリ又は複数のメモリは、モビリティバインディング、登録及び関連テーブル等のテーブルを記憶するように構成することができる。
【００８２】
図４及び図５は、本発明の実施形態による例示的なシステムを示す図である。本発明の技術を実施する場合、当業者であれば、より適切な実施形態を理解することができるであろう。当業者であれば、他のシステムの実施形態も可能であることが理解できるであろう。
【００８３】
図４は、システムバスコンピューティングシステム機構４００を示す図であり、システムのコンポーネントは、バス４０２を用いて互いに電気的に通信する。例示的なシステム４００は、処理ユニット（ＣＰＵ又はプロセッサ）４３０と、システムバス４０２と、を有する。システムバス４０２は、システムメモリ４０４（例えば、リードオンリメモリ（ＲＯＭ）４０６及びランダムアクセスメモリ（ＲＡＭ）４０８）を含む各種システムコンポーネントをプロセッサ４３０に接続する。システム４００は、高速メモリのキャッシュを有し、キャッシュは、プロセッサ４３０に直接接続され、プロセッサ４３０に隣接して接続され、又は、プロセッサ４３０の一部として統合されてもよい。システム４００は、プロセッサ４３０による高速アクセスのために、メモリ４０４及び／又はストレージデバイス４１２からキャッシュ４２８にデータをコピーしてもよい。この方法において、キャッシュは、プロセッサ４３０がデータを待つ間に遅延が生じるのを防止する性能向上を提供する。これら及び他のモジュールは、様々な動作を制御するためにプロセッサ４３０を制御するように構成される。別のシステムメモリ４０４も同様に使用可能である。メモリ４０４は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを有することができる。プロセッサ４３０は、プロセッサ４３０を制御するように構成されたストレージデバイス４１２に記憶されたモジュール１  ４１４、モジュール２  ４１６及びモジュール３  ４１８等の任意の汎用目的プロセッサ及びハードウェアモジュール又はソフトウェアモジュールを含むことができ、ソフトウェア命令は、実際のプロセッサ設計に組み込まれる。プロセッサ４３０は、実質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に独立したコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【００８４】
ユーザがコンピューティングデバイス４００と相互作用できるようにするため、入力デバイス４２０は、任意の数の入力メカニズム（例えば、スピーチ用のマイクロフォン、ジェスチャ又はグラフィカル入力用のタッチスクリーン、キーボード、マウス、モーション入力等）を表すことができる。出力デバイス４２２は、従来の技術で知られる１つ以上の数の出力メカニズムである。場合によっては、マルチモーダルシステムは、ユーザが、コンピューティングデバイス４００と通信するために、複数のタイプの入力を提供できるようにする。通信インタフェース４２４は、通常、ユーザ入力及びシステム出力を支配及び管理することができる。特定のハードウェア構成における操作に制限がないため、ここでの基本的な特徴は、改良されたハードウェアやファームウェアの構成が開発されるときに容易に置き換えることができる。
【００８５】
ストレージデバイス４１２は不揮発性メモリであり、ハードディスク、又は、コンピュータがアクセス可能なデータを記憶することの可能な他のタイプのコンピュータ可読媒体（例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリ装置、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）４０８、リードオンリメモリ（ＲＯＭ）４０６及びこれらの組み合わせ等）であってもよい。
【００８６】
ストレージデバイス４１２は、プロセッサ４３０を制御するためにソフトウェアモジュール４１４，４１６，４１８を有してもよい。他のハードウェア又はソフトウェアモジュールも含まれ得る。ストレージデバイス４１２は、システムバス４０２に接続されてもよい。一実施形態において、特定の機能を実行するハードウェアモジュールは、機能を実行するために、必要なハードウェアコンポーネント（例えば、プロセッサ４３０、バス４０２、ディスプレイ４３６等）と接続するコンピュータ読み取り可能媒体に記憶されたソフトウェアコンポーネントを含むことができる。
【００８７】
コントローラ４１０は、システム４００上の特殊なマイクロコントローラ又はプロセッサ（例えば、ＢＭＣ（ベースボード管理コントローラ））であってもよい。場合によっては、コントローラ４１０は、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）の一部であってもよい。さらに、場合によっては、コントローラ４１０は、システム４００のマザーボード又はメイン回路基板に組み込まれてもよい。コントローラ４１０は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。また、コントローラ４１０は、以下に説明するように、例えばコントローラ又は周辺コンポーネント等の各種システムデバイス及びコンポーネント（内部、及び／又は、外部）と通信することができる。
【００８８】
コントローラ４１０は、通知、警告及び／又はイベントに対する特定の応答を生成し、遠隔装置又はコンポーネント（例えば、電子メールメッセージ、ネットワークメッセージ等）と通信し、自動ハードウェア障害回復工程等の指令や命令を生成する。システム管理者は、以下に更に説明するように、コントローラ４１０と遠隔通信して、特定のハードウェア障害回復工程又は操作を開始又は実行することができる。
【００８９】
システム４００上の異なるタイプのセンサ（例えば、センサ４２６）は、例えば、冷却ファン速度、電源状態、オペレーティングシステム（ＯＳ）状態、ハードウェア状態等のパラメータをコントローラ４１０に報告することができる。コントローラ４１０は、コントローラ４１０により受信されたイベント、警告、通知を管理及び記憶するシステムイベントログコントローラ及び／又はストレージを有してもよい。例えば、コントローラ４１０又はシステムイベントログコントローラは、１つ以上の装置及びコンポーネントからの警告や通知を受信し、当該警告や通知をシステムイベントログストレージコンポーネント内に維持することができる。
【００９０】
フラッシュメモリ４３２は、ストレージ及び／又はデータ転送に用いられるシステム４００によって使用される電子不揮発性コンピュータストレージ媒体又はチップであってもよい。フラッシュメモリ４３２は、電気的に消去及び／又は再プログラムされ得る。フラッシュメモリ４３２は、例えば、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、ＲＯＭ、ＮＶＲＡＭ、又は、相補型ＭＯＳ（ＣＭＯＳ）を有する。フラッシュメモリ４３２は、システム４００が起動するときに、システム４００により実行されるファームウェア４３４を、ファームウェア４３４に対して指定されたセットとともに記憶することができる。さらに、フラッシュメモリ４３２は、ファームウェア４３４により用いられる構成を記憶することができる。
【００９１】
ファームウェア４３４は、基本入力／出力システム（ＢＩＯＳ）又はその後継品、等価物（例えば、エクステンシブルファームウェアインタフェース（ＥＦＩ）又はユニファイドエクステンシブルファームウェアインタフェース（ＵＥＦＩ））を有する。システム４００が起動される毎に、ファームウェア４３４は、シーケンスプログラムとしてロードされ、実行される。ファームウェア１３４は、構成のセットに基づいて、システム４００に存在するハードウェアを識別、初期化、テストする。ファームウェア４３４は、システム４００上でのセルフテスト（例えば、パワーオンセルフテスト（ＰＯＳＴ））を実行する。このセルフテストは、各種ハードウェアコンポーネント（例えば、ハードディスクドライブ、光学読み取り装置、冷却装置、メモリモジュール、拡張カード等）の機能性をテストする。ファームウェア４３４は、オペレーティングシステム（ＯＳ）を記憶するために、メモリ４０４、ＲＯＭ４０６、ＲＡＭ４０８及び／又はストレージデバイス４１２内の領域をアドレス及び割り当てることができる。ファームウェア４３４は、ブートローダ及び／又はＯＳをロードし、システム４００の制御をＯＳに与えることができる。
【００９２】
システム４００のファームウェア４３４は、ファームウェア４３４がシステム４００内の各種ハードウェアコンポーネントをどのように制御するかを定義するファームウェア構成を有することができる。ファームウェア構成は、システム４００内の各種ハードウェアコンポーネントが起動される順序を判断する。ファームウェア４３４は、各種異なるパラメータの設定を許可するインタフェース（例えば、ＵＥＦＩ）を提供することができ、このパラメータは、ファームウェアのデフォルト設定のパラメータとは異なる。例えば、ユーザ（例えば、システム管理者）は、ファームウェア４３４を用いて、クロック及びバス速度を指定し、どの周辺機器をシステム４００に取り付けるか指定し、監視の状態（例えば、ファン速度及びＣＰＵ温度制限）を指定し、システム４００のパフォーマンス全体及び電力使用量に影響する多種の他のパラメータを指定する。
【００９３】
ファームウェア４３４は、フラッシュメモリ４３２に記憶されているものとして説明されているが、当業者は、ファームウェア４３４が、他のメモリ、コンポーネント（例えば、メモリ４０４又はＲＯＭ４０６）に記憶することができるのを理解するであろう。しかし、示されたフラッシュメモリ４３２に記憶されたファームウェア４３４は説明の目的の例であり、これに限定されない。
【００９４】
システム４００は１つ以上のセンサ４２６を有する。１つ以上のセンサ４２６は、例えば、１つ以上の温度センサ、熱センサ、酸素センサ、化学センサ、ノイズセンサ、ヒートセンサ、電流センサ、電圧検出器、気流センサ、流量センサ、赤外線放射温度計、熱流束センサ、温度計、高温計等を有する。１つ以上のセンサ４２６は、例えば、バス４０２を介して、プロセッサ、キャッシュ４２８、フラッシュメモリ４３２、通信インタフェース４２４、メモリ４０４、ＲＯＭ４０６、ＲＡＭ４０８、コントローラ４１０及びストレージデバイス４１２と通信する。また、１つ以上のセンサ４２６は、１つ以上の異なる手段（例えば、集積回路（Ｉ２Ｃ）、汎用出力（ＧＰＯ）等）を介して、システム内の他のコンポーネントと通信することができる。
【００９５】
図５は、説明した方法又は操作の実行、並びに、グラフィカルユーザインターフェース（ＧＵＩ）の生成及び表示に用いることができるチップセット機構を有する例示的なコンピュータシステム５００を示す図である。コンピュータシステム５００は、本発明の技術を実行するのに用いられるコンピュータハードウェア、ソフトウェア及びファームウェアを含むことができる。システム５００は、識別された計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを実行することができる任意の数の物理的及び／又は論理的に異なるリソースを表すプロセッサ５１０を含むことができる。プロセッサ５１０は、プロセッサ５１０への入出力を制御することができるチップセット５０２と通信する。この例において、チップセット５０２は、情報を出力デバイス５１４（例えば、ディスプレイ）に出力し、ストレージデバイス５１６（磁気媒体、固体媒体を含む）に対して情報を読み書きする。また、チップセット５０２は、ＲＡＭ５１８に対してデータをやり取りする。各種ユーザインタフェースコンポーネント５０６と相互作用するブリッジ５０４は、チップセット５０２と相互作用するために提供され得る。このようなユーザインタフェースコンポーネント５０６は、キーボード、マイクロフォン、タッチ検出及び処理回路、ポインティングデバイス（マウス等）を有する。一般に、システム５００への入力は、機器及び／又は人間が生成した各種ソースの何れかから生じる。
【００９６】
また、チップセット５０２は、異なる物理的インタフェースを有する１つ以上の通信インタフェース５０８と相互作用する。このような通信インタフェースは、有線及び無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク及びパーソナルエリアネットワークのためのインタフェースを有する。本発明におけるＧＵＩを生成、表示及び使用する方法のいくつかのアプリケーションは、ストレージデバイス５１６又は５１８に記憶されたデータを分析するプロセッサ５１０が、順序付けられたデータセットを、物理的インタフェースを介して又は機器自身により生成されることにより受信する工程を有する。さらに、機器は、ユーザインタフェースコンポーネント５０６を介して、ユーザからの入力を受信し、適切な機能（例えば、プロセッサ５１０を用いて、これらの入力を解釈することによりブラウズ機能を実行する）を実行する。
【００９７】
さらに、チップセット５０２は、電源が投入されると、コンピュータシステム５００によって実行され得るファームウェア５１２と通信することができる。ファームウェア５１２は、ファームウェア構成のセットに基づいて、コンピュータシステム５００内に存在するハードウェアを認識、初期化及びテストすることができる。ファームウェア５１２は、システム５００上でセルフテスト（例えば、ＰＯＳＴ）を実行する。セルフテストでは、各種ハードウェアコンポーネント５０２〜５１０の機能をテストすることができる。ファームウェア５１２は、ＯＳを記憶するために、メモリ５１８内の領域をアドレス指定及び割り当てることができる。ファームウェア５１２は、ブートローダ及び／又はＯＳをロードし、システム５００の制御をＯＳに与える。場合によっては、ファームウェア５１２は、ハードウェアコンポーネント５０２〜５１０及び５１４〜５１８と通信する。ここで、ファームウェア５１２は、チップセット５０２及び／又は１つ以上の他のコンポーネントを介して、ハードウェアコンポーネント５０２〜５１０及び５１４〜５１８と通信する。場合によっては、ファームウェア５１２は、ハードウェアコンポーネント５０２〜５１０及び５１４〜５１８と直接通信することができる。
【００９８】
例示的なシステム３００，４００，５００は、より高い処理能力を提供するために、２つ以上のプロセッサ（例えば、３６３，４３０，５１０）を有することができ、又は、ネットワーク接続されたコンピューティングデバイスのグループ又はクラスタの一部であり得ることが理解されるであろう。
【００９９】
説明をわかりやすくするために、ある実施形態において、装置、デバイスコンポーネント、ソフトウェアで実施される方法における工程やルーティン、又は、ハードウェアとソフトウェアの組み合わせを含む個々の機能ブロックを有するものとして提示することができる。
【０１００】
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体及びメモリは、ビットストリーム等を含むケーブル又は無線信号を有する。しかし、言及されるとき、非一時的なコンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波及び信号そのもの等の媒体を明確に排除する。
【０１０１】
上記の例における方法は、コンピュータ可読媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令（例えば、アセンブリ言語）、ファームウェア又はソースコードである。命令、使用した情報、及び／又は、説明した例による方法において生成された情報を記憶するために用いることができるコンピュータ可読媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワークストレージデバイス等を含む。
【０１０２】
これらの開示における方法を実行する装置は、ハードウェア、ファームウェア及び／又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、ＰＤＡ、ラックマウント型装置、スタンドアロン装置等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【０１０３】
命令、かかる命令を伝達する媒体、それらを実行するコンピューティングリソース、及び、かかるコンピューティングリソースをサポートする他の構造は、本明細書に記載の機能を提供する手段である。
【０１０４】
本発明の各種実施形態は、ＢＢＵシステムがバッテリ放電器無しに複数の動作モードで動作することができるように、サーバシステムのベースボード管理コントローラ（ＢＭＣ）を用いて、ＢＢＵシステムのＭＣＵ及びＯリングＦＥＴシステムを制御するシステム及び方法を提供する。特定の実施形態では、任意の操作を異なる命令でどのように実現するかを示しているが、他の実施形態では、任意の操作を異なる命令に組み込むことができる。説明を明瞭にするために、本発明のいくつかの実施形態において、デバイス、デバイスコンポーネント、ソフトウェア、又は、ハードウェアとソフトウェアの組み合わせで実現される方法におけるステップ若しくはルーティンを有する機能ブロックを含むものとして示される。
【０１０５】
各種実施形態は、場合によっては、いくつかのアプリケーションの何れかを動作させるために用いられる１つ以上のサーバコンピュータ、ユーザコンピュータ又はコンピューティングデバイスを有する多種多様な動作環境で実行することができる。ユーザ又はクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップ又はラップトップコンピュータ等の多数の汎用パーソナルコンピュータ、並びに、モバイルソフトウェアを実行し、いくつかのネットワーク及びメッセージプロトコルをサポートすることができるセルラー、ワイヤレス及びハンドヘルド装置を含むことができる。このようなシステムは、さらに、開発及びデータベース管理等の目的のために様々な市販のオペレーティングシステム及び他の既知のアプリケーションを実行するいくつかのワークステーションを有する。これらの装置は、他の電子装置（例えば、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信可能な他の装置等）を有する。
【０１０６】
本発明のいくつかの実施態様又はその一部がハードウェアで実現される限り、本発明は、以下の技術の何れか又は組み合わせにより実現される。例えば、データ信号に基づきロジック機能を実行するロジックゲートを有する離散ロジック回路、適切な組み合わせのロジックゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）等のプログラマブルハードウェア、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等が含まれる。
【０１０７】
ほとんどの実施形態は、例えばＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、ＡｐｐｌｅＴａｌｋ（登録商標）等の商用のプロトコルの何れかを用いて通信をサポートするために、当業者によく知られている少なくとも１つのネットワークを使用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及び、これらの任意の組み合わせである。
【０１０８】
上記の例における方法は、コンピュータ可読媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば、特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令（例えば、アセンブリ言語）、ファームウェア又はソースコードである。命令、使用した情報、及び／又は、説明した例による方法において生成された情報を記憶するために用いることができるコンピュータ可読媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワークストレージデバイス等を含む。
【０１０９】
これらの開示における方法を実行する装置は、ハードウェア、ファームウェア及び／又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、ＰＤＡ等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【０１１０】
ウェブサーバを用いた実施形態において、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、及び、ビジネスアプリケーションサーバを有する任意の種類のサーバ又は中間層アプリケーションを実行することができる。サーバは、ユーザ装置からの要求に応じて、例えば、任意のプログラミング言語（例えば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、Ｃ＋＋）、任意のスクリプト言語（例えば、Ｐｅｒｌ、Ｐｙｔｈｏｎ、ＴＣＬ）、及びこれらの組み合わせで書き込まれる１つ以上のスクリプト又はプログラムとして実行される１つ以上のウェブアプリケーションを実行すること等により、プログラムやスクリプトを実行することができる。サーバは、公開市場で市販されているものを含むがこれに限定されないデータベースサーバを含むことができる。
【０１１１】
サーバシステムは、前述の様々なデータ記憶、他のメモリ、及び、ストレージ媒体を有する。これらは、例えば、ストレージ媒体が１つ以上のコンピュータにローカル接続され（及び／又は存在する）、又は、ネットワークにより、任意の若しくは全てのコンピュータから遠隔で連結される等のように、様々な場所に存在し得る。一組の特定の実施形態において、情報は、当業者によく知られているストレージエリアネットワーク（ＳＡＮ）中に存在することができる。同様に、コンピュータ、サーバ又は他のネットワーク装置に起因する機能を実行するのに必要とされる任意のファイルは、必要に応じてローカル及び／又はリモートに記憶することができる。システムがコンピュータ化された装置を含む場合、このような装置は、バスを介して電気的に接続されるハードウェアコンポーネントを有し、コンポーネントは、例えば、少なくとも１つの中央処理ユニット（ＣＰＵ）と、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチセンサディスプレイコンポーネント、又は、キーパッド）と、少なくとも１つの出力デバイス（例えば、ディスプレイ装置、プリンタ、又は、スピーカ）と、を有する。このようなシステムは、さらに、１つ以上のストレージデバイス（例えば、ディスクドライブ、光学ストレージデバイス、及び、ソリッドステートストレージデバイス（例えば、ランダムアクセスメモリ（ＲＡＭ）又はリードオンリメモリ（ＲＯＭ））、及び、除去可能な媒体装置、メモリカード、フラッシュカード等）を有する。
【０１１２】
このような装置は、さらに、上述したように、コンピュータ可読記憶媒体読み取り機、通信装置（例えば、モデム、ネットワークカード（有線又は無線）、赤外線コンピューティングデバイス）、及び、ワーキングメモリを有する。コンピュータ可読記憶媒体読み取り機は、コンピュータ可読記憶媒体に接続され、又は、コンピュータ可読記憶媒体を受け入れる。コンピュータ可読記憶媒体は、リモート、ローカル、固定、及び／又は、取り外し可能なストレージデバイスを表してもよく、一時的及び／又は永久的に、コンピュータ可読情報を含有、記憶、送信及び回収するストレージ媒体を表してもよい。システム及び各種デバイスは、一般に、少なくとも１つのワーキングメモリ装置に配置された複数のソフトウェアアプリケーション、モジュール、サービス、又は、他の素子を有し、当該他の素子は、オペレーティングシステム及びアプリケーションプログラム（例えば、クライアントアプリケーション又はウェブブラウザ）を有する。前述した例に基づいて、様々な変形例を有することができることを理解されたい。例えば、カスタマイズされたハードウェアを使用することもでき、及び／又は、特定の素子をハードウェア／ソフトウェア（ポータブルソフトウェア（例えば、アプレット）を含む）若しくはこれらの両方で実施することができる。さらに、その他のコンピューティングデバイス（例えば、ネットワーク入／出力装置）への接続も使用される。
【０１１３】
コード又はコードの一部を含むストレージ媒体及びコンピュータ可読媒体は、従来技術で用いられる任意の適切な媒体（例えば、ストレージ媒体及びコンピューティング媒体）を含む。この媒体は、揮発性及び不揮発性、取り外し可能、並びに、非取り外し可能媒体に限定されず、任意の方法や技術で実現され、情報（例えば、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ）を記憶及び／又は送信する。この媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他のメモリ技術、ＣＤ-ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、又は、他の任意の媒体を含み、必要な情報を記憶するのに用いられたり、システムデバイスによりアクセスされる。本明細書で提供される技術及び教示に基づいて、当業者であれば、本発明の各種態様を実施する他のやり方及び／又は方法を理解するであろう。
【０１１４】
明細書及び図面は、限定的ではなく例示的なものとみなされるべきである。しかしながら、特許請求の範囲に記載された発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更を行うことができることは明らかであろう。
【符号の説明】
【０１１５】
１００Ａ，１００Ｂ，１００Ｄ…システム
１００Ｃ…ＦＥＴの入力／出力特性
１０１…電源
１０２…ＰＳＵ
１０３…ＢＢＵシステム
１０３−１…ＭＣＵ
１０３−２…バッテリパック
１０３−３…ＯリングＦＥＴ
１０３−４，１０３−１１…キャパシタ
１０３−６…ゲートドライバ信号
１０３−７…誤差増幅器
１０３−８…基準電圧
１０３−９，１０３−１０…抵抗
１０３−１２…電流
１０３−１３…温度
１０３−１４…電圧
１０５…ＤＣ／ＤＣコンバータ
１０６…ＢＭＣ
１０７…メインＤＣバス
１０９…停電信号
１１０…通信インタフェース
１１１…ＰＣＩバス
１１２…ＭＥＭ
１１３…冷却コンポーネント
１１４…プロセッサ
１１５…ＮＢ
１１６…ＳＢ
１１７…ストレージデバイス
１１８…ＢＩＯＳ
１５０，１５１…ＩＳＡスロット
１６０，１６１…ＰＣＩスロット
１７０，１７１…ＰＣＩスロット
２００…方法
２０２，２０４，２０６，２０８，２１０，２１２，２１４，２１６，２１８，２２０，２２２，２２４，２２６，２２８，２３０，２３２…ステップ
３００…コンピュータデバイス
３１５…バス
３６１…メモリ
３６２…ＣＰＵ
３６３…プロセッサ
３６８…インタフェース
４００…システム
４０２…バス
４０４…メモリ
４０６…ＲＯＭ
４０８…ＲＡＭ
４１０…プロセッサ
４１２…ストレージデバイス
４１４…ＭＯＤ１
４１６…ＭＯＤ２
４１８…ＭＯＤ３
４２０…入力デバイス
４２２…出力デバイス
４２４…通信インタフェース
４２８…キャッシュ
４３０…プロセッサ
４３２…フラッシュメモリ
４３４…ファームウェア
４３６…ディスプレイ
５００…コンピュータシステム
５０２…チップセット
５０４…ブリッジ
５０６…ユーザインタフェースコンポーネント
５０８…通信インタフェース
５１０…プロセッサ
５１２…ファームウェア
５１４…出力デバイス
５１６…ストレージデバイス
５１８…ＲＡＭ
【図１Ａ】
2019030211.tif 000003
【図１Ｂ】
2019030211.tif 000004
【図１Ｃ】
2019030211.tif 000005
【図１Ｄ】
2019030211.tif 000006
【図２】
2019030211.tif 000007
【図３】
2019030211.tif 000008
【図４】
2019030211.tif 000009
【図５】
2019030211.tif 000010