(57)【要約】      （修正有）【課題】サーバシステムを効果的に管理し、サーバシステム内の電源の信頼性及びコストを改善するハイブリッド電源のシステム及び方法を提供する。【解決手段】本発明は、新たなデバイスがサーバシステムに接続されたことに応じて、サーバシステムの管理コントローラ（例えば、ベースボード管理コントローラ（ＢＭＣ））の特定の入力ピンを動的に定義するシステム１００Ｂにおいて、サーバシステムの電源ユニット（ＰＳＵ）、自動転送スイッチ（ＡＴＳ）又はバッテリバックアップユニット（ＢＢＵ）のうち１つを備える。ＰＳＵ、ＡＴＳ及びＢＢＵは、それぞれ複数のＡＴＳモジュール、複数のＰＳＵモジュール及び複数のＢＢＵモジュールにモジュール化される。複数のＡＴＳモジュール、複数のＰＳＵモジュール及び複数のＢＢＵモジュールの各々は、実質的に同じ物理サイズを有する。【選択図】図１Ｂ
2020053017.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスを管理するコンピュータ実行方法であって、
前記コンピューティングデバイスの管理コントローラが、前記コンピューティングデバイスの電源ユニット（ＰＳＵ）、自動転送スイッチ（ＡＴＳ）又はバッテリバックアップユニット（ＢＢＵ）のうち１つを備えるデバイスが接続されたことを判別する工程と、
前記管理コントローラが、前記デバイスの識別情報（ＩＤ）を判別する工程と、
前記デバイスが前記ＢＢＵであると判別したことに応じて、前記管理コントローラの特定の入力ピンをＢＢＵ出力ピンに再定義する工程と、
前記ＢＢＵの状態を監視する工程と、
前記ＢＢＵ出力ピンを介して第１制御信号を送信することによって前記ＢＢＵを管理する工程と、
を含むことを特徴とするコンピュータ実行方法。
【請求項２】
前記デバイスが前記ＡＴＳであると判別したことに応じて、前記管理コントローラの前記特定の入力ピンをＡＴＳ入力ピンに定義する工程と、
前記ＡＴＳ入力ピンを介して前記ＡＴＳの状態を監視する工程と、
前記ＡＴＳを監視する工程と、
ＡＣ電源故障信号に応じて、第２制御信号を前記ＢＢＵに送信する工程と、
をさらに含むことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記ＡＣ電源故障信号は、前記コンピューティングデバイスへの任意若しくは全てのＡＣ電源が故障した、及び／又は、前記ＡＴＳが故障したという状況を示すことを特徴とする請求項２に記載のコンピュータ実行方法。
【請求項４】
前記デバイスが前記ＰＳＵであると判別したことに応じて、前記管理コントローラの前記特定の入力ピンをＰＳＵ入力ピンに定義する工程と、
前記ＰＳＵ入力ピンを介して前記ＰＳＵの状態を監視する工程と、
前記ＰＳＵを監視する工程と、
ＡＣ故障信号に応じて、第３制御信号を前記ＢＢＵに送信する工程と、
をさらに含むことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項５】
コンピューティングデバイスであって、
プロセッサと、
管理コントローラと、
バッテリバックアップユニット（ＢＢＵ）と、
電源ユニット（ＰＳＵ）と、
自動転送スイッチ（ＡＴＳ）と、
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が前記プロセッサによって実行されると、前記コンピューティングデバイスに動作を実行させるコンピュータ可読記憶媒体と、を備え、
前記動作は、
前記コンピューティングデバイスの管理コントローラが、前記ＰＳＵ、前記ＢＢＵ、前記ＡＴＳのうち１つを備えるデバイスが接続されたことを判別する工程と、
前記管理コントローラが、前記デバイスの識別情報（ＩＤ）を判別する工程と、
前記デバイスが前記ＢＢＵであると判別したことに応じて、前記管理コントローラの特定の入力ピンをＢＢＵ出力ピンに再定義する工程と、
前記ＢＢＵの状態を監視する工程と、
前記ＢＢＵ出力ピンを介して第１制御信号を送信することによって前記ＢＢＵを管理する工程と、
を含むことを特徴とするコンピューティングデバイス。
【請求項６】
前記コンピュータ可読記憶媒体は、命令を記憶しており、前記命令は、前記プロセッサによって実行されると、前記コンピューティングデバイスに動作を実行させ、前記動作は、
前記デバイスが前記ＡＴＳであると判別したことに応じて、前記管理コントローラの前記特定の入力ピンをＡＴＳ入力ピンに定義する工程と、
前記ＡＴＳ入力ピンを介して前記ＡＴＳの状態を監視する工程と、
前記ＡＴＳを監視する工程と、
ＡＣ電源故障信号に応じて、第２制御信号を前記ＢＢＵに送信する工程と、
をさらに含むことを特徴とする請求項５に記載のコンピューティングデバイス。
【請求項７】
前記コンピュータ可読記憶媒体は、命令を記憶しており、前記命令は、前記プロセッサによって実行されると、前記コンピューティングデバイスに動作を実行させ、前記動作は、
前記デバイスが前記ＰＳＵであると判別したことに応じて、前記管理コントローラの前記特定の入力ピンをＰＳＵ入力ピンに定義する工程と、
前記ＰＳＵ入力ピンを介して前記ＰＳＵの状態を監視する工程と、
前記ＰＳＵを管理する工程と、
ＡＣ故障信号に応じて、第３制御信号を前記ＢＢＵに送信する工程と、
をさらに含むことを特徴とする請求項５に記載のコンピューティングデバイス。
【請求項８】
前記ＡＣ故障信号は、前記ＰＳＵに接続されたＡＣ電源が故障した、及び／又は、前記ＰＳＵが故障したという状況を示すことを特徴とする請求項７に記載のコンピューティングデバイス。
【請求項９】
前記管理コントローラは、ベースボード管理コントローラ（ＢＭＣ）であって、前記特定のピンは、ＳＭＢＡｌｅｒｔの＃Ａ２２入力ピンであることを特徴とする請求項５に記載のコンピューティングデバイス。
【請求項１０】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、前記コンピューティングデバイスに動作を実行させ、前記動作は、
前記コンピューティングデバイスの管理コントローラが、前記コンピューティングデバイスの電源ユニット（ＰＳＵ）、自動転送スイッチ（ＡＴＳ）又はバッテリバックアップユニット（ＢＢＵ）のうち１を備えるデバイスが接続されたことを判別する工程と、
前記管理コントローラが、前記デバイスの識別情報（ＩＤ）を判別する工程と、
前記デバイスが前記ＢＢＵであると判別したことに応じて、前記管理コントローラの特定の入力ピンをＢＢＵ出力ピンに再定義する工程と、
前記ＢＢＵの状態を監視する工程と、
前記ＢＢＵ出力ピンを介して第１制御信号を送信することによって前記ＢＢＵを管理する工程と、
を含むことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、電源システムに関する。
【背景技術】
【０００２】
現代のサーバファーム又はデータセンタは、通常、多数のサーバを使用して、様々なアプリケーションサービスの処理要求を処理する。各サーバは、様々な操作を処理し、これらの操作を維持するために或る程度の電力消費を必要とする。これらの操作のいくつかは「ミッションクリティカル」な操作であり、これがされると、これらの操作に関連するユーザにとって重大なセキュリティ侵害又は収益の損失が生じる可能性がある。
【０００３】
例えば、サーバシステムの電源ユニット（ＰＳＵ）への入力ＡＣ電源が故障する場合がある。入力ＡＣ電源に障害又は故障があると、サーバシステムが突然シャットダウンされ、データの損失や、サーバシステムが損壊する可能性がある。１つの解決策としては、自動転送スイッチ（ＡＴＳ）を用いて、第１ＡＣ入力電源が故障した場合にＰＳＵを第２ＡＣ入力電力に切り換えることである。別の解決策は、中断又は故障した電源をバッテリバックアップシステム（ＢＢＵ）と交換することである。
【０００４】
しかし、ＰＳＵ、ＡＴＳ及び／又はＢＢＵを用いてサーバシステムを効果的に管理し、サーバシステム内の電源の信頼性及びコストをさらに改善することが依然として課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ハイブリッド電源のシステム及び方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の様々な実施形態によれば、システム及び方法は、新たなデバイスがサーバシステムに接続されたことに応じて、サーバシステムの管理コントローラ（例えば、ベースボード管理コントローラ（ＢＭＣ））の特定の入力ピンを動的に定義することによって、上述した問題に対する解決手段を提供する。新たなデバイスは、サーバシステムの電源ユニット（ＰＳＵ）、自動転送スイッチ（ＡＴＳ）又はバッテリバックアップユニット（ＢＢＵ）のうち１つを備える。いくつかの実施形態では、ＰＳＵ、ＡＴＳ及びＢＢＵは、それぞれ実質的に同じ物理サイズを有する、複数のＡＴＳモジュール、複数のＰＳＵモジュール及び複数のＢＢＵモジュールにモジュール化される。
【０００７】
いくつかの実施形態では、管理コントローラの特定の入力ピンは、ＳＭＢＡｌｅｒｔの＃Ａ２２入力ピンである。管理コントローラは、新たなデバイスがＢＢＵであると判別したことに応じて、＃Ａ２２入力ピンをＢＢＵの出力ピンに再定義することができる。管理コントローラは、出力ピンを介して制御信号を送信することによって、ＢＢＵを管理することができる。いくつかの例では、管理コントローラは、出力ピン及び電力管理バス（ＰＭＢｕｓ）を介してサーバシステムにバックアップ電力を供給するようにＢＢＵに要求することができる。いくつかの実施形態では、管理コントローラは、サーバシステムからのピーク電力需要をサポートするために電力を供給するように、ＢＢＵに要求することができる。よって、無停電電源装置（ＵＰＳ）及び／又は冗長ＰＳＵが、サーバシステムにおいて必要とされない。
【０００８】
管理コントローラは、新たなデバイスがＰＳＵであると判別したことに応じて、＃Ａ２２入力ピンをＰＳＵに定義し、＃Ａ２２入力ピンを介してＰＳＵの状態を監視し、ＰＳＵを管理し、ＰＳＵへのＡＣ電源が故障した場合に制御信号をＢＢＵに送信することができる。管理コントローラは、新たなデバイスがＡＴＳであると判別したことに応じて、＃Ａ２２入力ピンをＡＴＳに定義し、＃Ａ２２入力ピンを介してＡＴＳの状態を監視し、ＡＴＳを管理し、ＡＴＳへのＡＣ電源が故障した場合に制御信号をＢＢＵに送信することができる。この設計では、サーバシステム用の１つのＡＣループを保存することができる。
【０００９】
本発明の一実施形態では、サーバシステムを管理するコンピュータ実行方法は、サーバシステムの管理コントローラが、サーバシステムのＰＳＵ、ＡＴＳ又はＢＢＵのうち１つを備えるデバイスが接続されたことを判別する工程と、管理コントローラが、デバイスの識別情報（ＩＤ）を判別する工程と、デバイスがＢＢＵであると判別したことに応じて、管理コントローラの特定の入力ピンをＢＢＵ出力ピンに再定義する工程と、ＢＢＵの状態を監視する工程と、ＢＢＵ出力ピンを介して第１制御信号を送信することによってＢＢＵを管理する工程と、を含む。
【００１０】
いくつかの実施形態では、サーバシステムを管理するコンピュータ実行方法は、デバイスがＡＴＳであると判別したことに応じて、管理コントローラの特定の入力ピンをＡＴＳ入力ピンに定義する工程と、ＡＴＳ入力ピンを介してＡＴＳの状態を監視する工程と、ＡＴＳを管理する工程と、ＡＣ電源故障信号に応じて、第２制御信号をＢＢＵに送信する工程と、を含む。ＡＣ電源故障信号は、サーバシステムへの任意若しくは全てのＡＣ電源が故障した、及び／又は、ＡＴＳが故障したという状況を示すことができる。
【００１１】
いくつかの実施形態では、サーバシステムを管理するコンピュータ実行方法は、デバイスがＰＳＵであると判別したことに応じて、管理コントローラの特定の入力ピンをＰＳＵ入力ピンに定義する工程と、ＰＳＵ入力ピンを介してＰＳＵの状態を監視する工程と、ＰＳＵを管理する工程と、ＡＣ故障信号に応じて、第３制御信号をＢＢＵに送信する工程と、を含む。ＡＣ故障信号は、ＰＳＵに接続されたＡＣ電源が故障した、及び／又は、ＰＳＵが故障したという状況を示すことができる。
【００１２】
本発明の別の実施形態によれば、命令を記憶する非一時的なコンピュータ可読記憶媒体が提供される。命令は、プロセッサにより実行されると、以下の動作をプロセッサに実行させる。動作は、サーバシステムの管理コントローラが、サーバシステムのＰＳＵ、ＡＴＳ又はＢＢＵのうち１つを備えるデバイスが接続されたことを判別する工程と、管理コントローラが、デバイスの識別情報（ＩＤ）を判別する工程と、デバイスがＢＢＵであると判別したことに応じて、管理コントローラの特定の入力ピンをＢＢＵ出力ピンに再定義する工程と、ＢＢＵの状態を監視する工程と、ＢＢＵ出力ピンを介して第１制御信号を送信することによってＢＢＵを管理する工程と、を含む。
【００１３】
いくつかの実施形態では、命令は、プロセッサによって実行されると、以下の動作をプロセッサに実行させる。動作は、デバイスがＡＴＳであると判別したことに応じて、管理コントローラの特定の入力ピンをＡＴＳ入力ピンに定義する工程と、ＡＴＳ入力ピンを介してＡＴＳの状態を監視する工程と、ＡＴＳを管理する工程と、ＡＣ電源故障信号に応じて、第２制御信号をＢＢＵに送信する工程と、を含む。
【００１４】
いくつかの実施形態では、命令は、プロセッサによって実行されると、以下の動作をプロセッサに実行させる。動作は、デバイスがＰＳＵであると判別したことに応じて、管理コントローラの特定の入力ピンをＰＳＵ入力ピンに定義する工程と、ＰＳＵ入力ピンを介してＰＳＵの状態を監視する工程と、ＰＳＵを管理する工程と、ＡＣ故障信号に応じて、第３制御信号をＢＢＵに送信する工程と、を含む。
【００１５】
いくつかの実施形態によれば、サーバシステムのコンポーネントの動作状況は、サーバシステムのメモリ、ハードドライブ、又は、フラッシュメモリデバイスに記憶することができる。コンポーネントの動作状況は、サーバシステム上のＢＭＣ、ラック管理コントローラ（ＲＭＣ）、又は、中央処理装置（ＣＰＵ）からアクセスされ得る。フラッシュメモリデバイスは、プログラム命令やデータを一定期間記憶するように構成された任意の記憶媒体とすることができる。いくつかの例によれば、フラッシュストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＲＯＭ）、又は、メールボックスレジスタとすることができる。
【００１６】
本発明のさらなる特徴や利点は、以下の説明に記載されており、この説明から部分的に明らかになるであろうし、又は、本明細書に記載された原理の実践によって習得することができる。本発明の特徴及び利点は、添付の特許請求の範囲で特に指摘された手段及び組み合わせによって実現及び取得することができる。
【発明の効果】
【００１７】
本発明によれば、ＰＳＵ、ＡＴＳ及び／又はＢＢＵを用いてサーバシステムを効果的に管理し、サーバシステム内の電源の信頼性及びコストをさらに改善することができる。
【００１８】
添付の図面と併せて以下の例示的な実施形態の説明を参照することによって、本発明とその特徴及び利点とをより良く理解することができるであろう。これらの図面は、例示的な実施形態のみを示しており、これにより、様々な実施形態の範囲又は特許請求の範囲に対する限定としてみなされるべきではない。
【図面の簡単な説明】
【００１９】
【図１Ａ】本発明の一実施形態による、例示的なシステムのブロック図である。
【図１Ｂ】本発明の一実施形態による、ＢＭＣ、ＰＳＵ、ＡＴＳ及びＢＢＵを備える例示的なシステムのブロック図である。
【図２】本発明の一実施形態による、サーバシステムを管理する例示的な方法を示す図である。
【図３】本発明の様々な実施形態による、例示的なシステムを示す図である。
【図４】本発明の様々な実施形態による、例示的なシステムを示す図である。
【発明を実施するための形態】
【００２０】
本発明は、多くの異なる形態で具体化することができる。代表的な実施形態が図面に示されており、本明細書で詳細に説明する。本発明は、本発明の原理の例示であり、本発明の幅広い態様を、例示した実施形態に限定することを意図していない。その限りにおいて、例えば、概要、要約、詳細な説明に開示されているが、特許請求の範囲に明示的に記載されていない要素及び限定は、暗示的、推論的又は他の方法で、単独に又はまとめて、特許請求の範囲に組み込まれるべきではない。本発明の詳細な説明のために、特に断りのない限り、単数形は複数形を含み、その逆も同様である。「含む」という用語は、「限定することなく含む」ことを意味する。さらに、「約」、「ほぼ」、「実質的に」、「およそ」等の用語は、本明細書において、例えば「〜に」、「〜に近い」、「大体」、「〜の３〜５％の範囲内」、「許容される製造公差内」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。
【００２１】
本発明の様々な実施形態は、新たなデバイスがサーバシステムに接続されたことに応じて、サーバシステムの管理コントローラの特定の入力ピンを動的に定義するシステム及び方法を提供する。新たなデバイスは、サーバシステムの電源ユニット（ＰＳＵ）、自動転送スイッチ（ＡＴＳ）又はバッテリバックアップユニット（ＢＢＵ）のうち１つを備える。
【００２２】
図１Ａは、本発明の一実施形態による、例示的なサーバシステム１００Ａを示すブロック図である。この例において、サーバシステム１００Ａは、少なくとも１つのマイクロプロセッサ又はプロセッサ１０４と、ＢＭＣ１０３と、ＡＴＳ１１２と、ＢＢＵ１１３と、１つ以上の冷却モジュール１１０と、メインメモリ（ＭＥＭ）１１１と、少なくとも１つの電源ユニット（ＰＳＵ）１０２と、を有しており、ＰＳＵ１０２は、ＡＣ電源１０１からＡＣ電力を受け、電力を、サーバシステム１００Ａの各種コンポーネント（例えば、プロセッサ１０４、ノースブリッジ（ＮＢ）ロジック１０６、ＰＣＩｅスロット１６０、サウスブリッジ（ＳＢ）ロジック１０８、ストレージデバイス１０９、ＩＳＡスロット１５０、ＰＣＩスロット１７０及びＢＭＣ１０３）に供給する。ＡＴＳ１１２は、ＡＣ１入力１０１−１及びＡＣ２入力１０１−２と、ＰＳＵ１０２とに接続されている。ＢＢＵ１１３は、バックアップ電力をサーバシステム１００Ａに供給するように構成されている。いくつかの実施形態では、ＢＢＵ１１３は、サーバシステム１００Ａからのピーク電力需要に応じて電力を供給するように構成されている。いくつかの実施形態では、ＰＳＵ１０２が故障した場合、又は、サーバシステム１００ＡへのＡＣ１入力１０１−１及びＡＣ２入力１０１−２の両方が中断された場合に、ＢＢＵ１１３は、バックアップ電力をサーバシステムに供給することができる。この例では、無停電電源装置（ＵＰＳ）をサーバシステム１００Ａに組み込む必要がない。
【００２３】
サーバシステム１００Ａは、電源投入後に、メモリ、コンピュータストレージデバイス又は外部ストレージデバイスからソフトウェアアプリケーションをロードして、様々な操作を実行するように構成されている。ストレージデバイス１０９は、サーバシステム１００Ａのオペレーティングシステム及びアプリケーションが利用可能な論理ブロックに構造化されている。ストレージデバイス１０９は、サーバシステム１００Ａの電源がオフになっても、サーバデータを保持するように構成されている。
【００２４】
図１Ａにおいて、メモリ１１１は、ＮＢロジック１０６を介してプロセッサ１０４に接続されている。メモリ１１１は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプの適切なメモリを含むことができるが、これらに限定されない。メモリ１１１は、サーバシステム１００Ａのファームウェアデータを記憶するように構成されてもよい。いくつかの実施形態では、ファームウェアデータは、ストレージデバイス１０９に記憶されてもよい。
【００２５】
いくつかの実施形態では、サーバシステム１００Ａは、フラッシュストレージデバイスをさらに備えることができる。フラッシュストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）又は電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）とすることができる。フラッシュストレージデバイスは、システム構成（例えば、ファームウェアデータ等）を記憶するように構成されてもよい。
【００２６】
プロセッサ１０４は、特定の機能のプログラム命令を実行するように構成された中央処理装置（ＣＰＵ）であってもよい。例えば、プロセッサ１０４は、ブートプロセス中、ＢＭＣ１０３又はフラッシュストレージデバイスに記憶されたファームウェアデータにアクセスし、ＢＩＯＳ１０５を実行してサーバシステム１００Ａを初期化することができる。プロセッサ１０４は、ブートプロセスの後に、オペレーティングシステムを実行して、サーバシステム１００Ａの特定のタスクを実行及び管理する。
【００２７】
いくつかの実施形態では、プロセッサ１０４は、マルチコアプロセッサであってもよく、各プロセッサは、ＮＢロジック１０６に接続されたＣＰＵバスを介して互いに接続されている。いくつかの実施形態において、ＮＢロジック１０６は、プロセッサ１０４に組み込まれてもよい。また、ＮＢロジック１０６は、複数の周辺機器相互接続エクスプレス（ＰＣＩｅ）スロット１６０及びＳＢロジック１０８（オプション）に接続されてもよい。複数のＰＣＩｅスロット１６０は、例えば、ＰＣＩエクスプレスｘ１、ＵＳＢ２．０、ＳＭＢｕｓ、ＳＩＭカード、他のＰＣＩｅレーンの将来の拡張、１．５Ｖ及び３．３Ｖの電源、並びに、サーバシステム１００Ａのシャーシ上の診断ＬＥＤへの配線等の接続及びバスに使用することができる。
【００２８】
システム１００Ａにおいて、ＮＢロジック１０６及びＳＢロジック１０８は、周辺機器相互接続（ＰＣＩ）バス１０７によって接続されている。ＰＣＩバス１０７は、プロセッサ１０４上の機能をサポートすることができるが、何れのプロセッサ１０４のネイティブバスから独立した標準化フォーマットである。ＰＣＩバス１０７は、複数のＰＣＩスロット１７０（例えば、ＰＣＩスロット１７１）に接続されてもよい。ＰＣＩバス１０７に接続するデバイスは、ＣＰＵバスに直接接続され、プロセッサ１０４のアドレス空間のアドレスが割り当てられ、単一バスクロックと同期されるように、バスコントローラ（図示省略）に現れてもよい。複数のＰＣＩスロット１７０で使用可能なＰＣＩカードは、ネットワークインタフェースカード（ＮＩＣ）、サウンドカード、ＴＶチューナーカード、ディスクコントローラ、ビデオカード、スカジ―（ＳＣＳＩ）アダプタ、及び、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）カードを含むが、これらに限定されない。
【００２９】
ＳＢロジック１０８は、拡張バスを介して、ＰＣＩバス１０７を、複数の拡張カード又はＩＳＡスロット１５０（例えば、ＩＳＡスロット１５１）に接続することができる。拡張バスは、ＳＢロジック１０８と周辺装置との間の通信に用いられるバスであってもよく、（ＩＳＡ：Industry Standard Architecture）バス、ＰＣ／１０４バス、ローピンカウントバス（low pin count bus）、拡張ＩＳＡ（ＥＩＳＡ：Extended  ＩＳＡ）バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＤＥ（Integrated Drive Electronics）バス、又は、周辺装置のデータ通信に使用可能な他の適切なバスを含んでもよいが、これらに限定されない。
【００３０】
この例において、ＢＩＯＳ１０５は、サーバシステム１００Ａの様々なコンポーネントを初期化及び識別するように構成された任意のプログラム命令又はファームウェアとすることができる。ＢＩＯＳは、対応するサーバシステムのハードウェアコンポーネントを初期化及びテストを担当する重要なシステムコンポーネントである。ＢＩＯＳは、ハードウェアコンポーネントに抽象化レイヤを提供することができるのでアプリケーション及びオペレーティングシステムは、例えば、キーボード、ディスプレイ及び他の入力／出力デバイス等の周辺機器と相互作用する一貫した方法を提供することができる。
【００３１】
システム１００Ａにおいて、ＳＢロジック１０８は、ＰＳＵ１０２に接続されたＢＭＣ１０３にさらに接続されている。いくつかの実施形態では、ＢＭＣ１０３は、ラック管理コントローラ（ＲＭＣ）であってもよい。
【００３２】
ＢＭＣ１０３は、サーバシステム１００Ａのコンポーネントの動作状況を監視し、コンポーネントの動作状況に基づいてサーバシステム１００Ａを制御するように構成されている。例えば、ＢＭＣ１０３は、ＰＳＵ１０２及びＡＴＳ１１２に供給されている電力、サーバシステム１００Ａのコンポーネントの消費電力、サーバシステム１００Ａの内部温度、及び／又は、サーバシステム１００Ａの特定のコンポーネントの温度を監視することができる。ＢＭＣ１０３は、サーバシステム１００Ａの内部温度又は特定コンポーネントの温度に基づいて、サーバシステム１００Ａ又は特定のコンポーネントの冷却を増減するように冷却モジュール１１０を制御することができる。いくつかの実施形態では、ＢＭＣ１０３は、サーバシステム１００Ａの特定のコンポーネント（例えば、プロセッサ１０４、メモリ１１１、ストレージデバイス１０９及び／若しくはバス）の周波数並びに／又は消費電力を縮小することができる。
【００３３】
いくつかの実施形態では、ＢＭＣ１０３は、システム１００Ａからのピーク電力需要に応じて、追加の電力をサーバシステム１００Ａに供給するようにＢＢＵ１１３に要求することができる。いくつかの実施形態では、ＢＭＣ１０３は、サーバシステム１００Ａ及びＰＳＵ１０２の過去の電力使用量及び消費データを収集することができる。ＢＭＣ１０３は、収集された現在及び／又は過去の負荷及び消費電力情報を、１つ以上の機械学習アルゴリズムに従って分析し、ＰＳＵ１０２の最適な出力電力及び／又はＢＢＵ１１３からのピーク電力需要をサポートする追加電力を決定することができる。
【００３４】
いくつかの実施形態では、１つ以上の機械学習アルゴリズムは、線形回帰モデル（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 field）のうち少なくとも１つを含むことができる。例えば、ニューラルネットワークモデルを用いて、過去の負荷情報を分析し、サーバシステム１００Ａの負荷とＰＳＵ１０２及びＢＢＵ１１３の最適化された出力電力との間の複雑な相関、及び／又は、ＡＣ電力をＰＳＵ１０２に供給するための特定のＡＣ電源の選択を捕捉することができる。
【００３５】
サーバシステム１００Ａの簡略図が、図１Ｂにさらに示されている。この例において、サーバシステム１００Ｂは、ＡＣ１入力１０１−１と、ＡＣ２入力１０１−２と、ＡＴＳ１１２と、ＰＳＵ１０２と、ＢＢＵ１１３と、ＢＭＣ１０３と、を備える。ＢＭＣ１０３のプログラムが開始されたこと、又は、ＡＴＳ１１２、ＰＳＵ１０２、ＢＢＵ１１３のうち何れかがサーバシステム１００Ｂに接続されたことに応じて、ＢＭＣ１０３は、接続されたデバイスの識別を決定し、識別に基づいて、ＢＭＣ１０３の特定のピンを再定義又は定義することができる。
【００３６】
例えば、ＢＭＣ１０３は、新たなデバイスがＢＢＵ１１３であると判別したことに応じて、＃Ａ２２入力ピンを、ＢＢＵ１１３の出力ピン（例えば、ＢＢＳ  ＡＣ  ＧＯＯＤ）に再定義することができる。また、ＢＭＣ１０３は、出力ピンを介して制御信号を送信することによってＢＢＵ１１３を管理し、及び／又は、出力ピンを介してバックアップ電力をサーバシステム１００Ｂに供給するようにＢＢＵ１１３に要求することができる。
【００３７】
別の例では、ＢＭＣ１０３は、新たなデバイスがＰＳＵ１０２であると判別したことに応じて、＃Ａ２２入力ピンをＰＳＵ１０２に定義し、＃Ａ２２入力ピンを介してＰＳＵ１０２の状態（例えば、ＰＳＵ  ＯＮ及びＳＭＢＡｌｅｒｔ）を監視し、ＰＳＵ１０２を管理し、ＰＳＵ１０２へのＡＣ電力（例えば、ＡＣ１入力１０１−１又はＡＣ２入力１０１−２）が故障した場合に制御信号をＢＢＵ１１３に送信することができる。ＢＭＣ１０３は、新たなデバイスがＡＴＳ１１２であると判別したことに応じて、＃Ａ２２入力ピンをＡＴＳ１１２に定義し、＃Ａ２２入力ピンを介してＡＴＳ１１２の状態を監視し、ＡＴＳ１１２を管理し、ＡＴＳ１１２へのＡＣ電力（例えば、ＡＣ１入力１０１−１及びＡＣ２入力１０１−２の両方）が故障した場合に制御信号をＢＢＵ１１３に送信することができる。この例において、ＢＭＣ１０３は、制御信号を、Ｉ２Ｃバス（例えば、ＳＣＬ／ＳＤＡライン）を介してＢＢＵ１１３、ＰＳＵ１０２及びＡＴＳ１１２に送信する。
【００３８】
いくつかの実施形態では、ＡＴＳ１１２、ＰＳＵ１０２及びＢＢＵ１１３は、それぞれ複数のＡＴＳモジュール、複数のＰＳＵモジュール及び複数のＢＢＵモジュールにモジュール化される。複数のＡＴＳモジュール、複数のＰＳＵモジュール及び複数のＢＢＵモジュールの各々は、実質的に同じ物理サイズを有する。
【００３９】
いくつかの実施形態では、複数のＡＴＳモジュールの各々は、過電流保護（over-current protection：ＯＣＰ）回路（図示省略）をさらに有することができる。ＯＣＰ回路は、ＡＴＳモジュールに組み込まれてもよいし、ディスクリート回路であってもよい。ＯＣＰ回路は、ＡＴＳモジュール又はペアのＰＳＵが故障した場合にＡＣ電力入力又はサーバシステム１００Ｂの他のコンポーネントをサージ電流から保護するように、ＡＴＳモジュール及びペアのＰＳＵを流れる入力電流を制限するように構成されている。
【００４０】
図１Ａ及び図１Ｂの例示的なシステム１００Ａ，１００Ｂには、特定のコンポーネントのみが示されているが、例示的なシステム１００Ａ，１００Ｂには、データを処理若しくは記憶することができ、又は、信号を送受信することができる様々なタイプの電子コンポーネント又はコンピュータコンポーネントが含まれてもよい。さらに、例示的なシステム１００Ａ〜１００Ｂ内の電子コンポーネント又はコンピュータコンポーネントは、様々なタイプのアプリケーションを実行し、及び／又は、様々なタイプのオペレーティングシステムを用いることができるように構成されてもよい。これらのオペレーティングシステムには、Ａｎｄｒｏｉｄ、ＢＳＤ（Berkeley Software Distribution）、ｉＰｈｏｎｅ（登録商標）  ＯＳ（ｉＯＳ）、Ｌｉｎｕｘ（登録商標）、ＯＳ  Ｘ、Ｕｎｉｘ系リアルタイムオペレーティングシステム（例えば、ＱＮＸ等）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗ  Ｐｈｏｎｅ、及び、ＩＢＭ  ｚ／ＯＳ（登録商標）等が含まれるが、これらに限定されない。
【００４１】
システム１００Ａ，１００Ｂの所望の実施形態に従って、様々なネットワークプロトコル及びメッセージプロトコル（例えば、ＴＣＰ／ＩＰ、開放型システム間相互接続（ＯＳＩ）、ファイル転送プロトコル（ＦＴＰ）、ユニバーサルプラグアンドプレイ（ＵｐｎＰ）、ネットワークファイルシステム（ＮＦＳ）、コモンインターネットファイルシステム（ＣＩＦＳ）、ＡｐｐｌｅＴａｌｋ（登録商標）等が含まれるが、これらに限定されない）が用いられる。当業者であれば理解できるように、図１Ａ及び図１Ｂに示すシステム１００Ａ，１００Ｂは、説明のために用いられている。よって、ネットワークシステムは、必要に応じて多くのバリエーションで実装することができるが、本発明の様々な実施形態によるネットワークプラットフォームの構成を提供する。
【００４２】
図１Ａ及び図１Ｂの例示的な構成では、例示的なシステム１００Ａ，１００Ｂは、特定のワイヤレスチャネルの計算範囲内で１つ以上の電子デバイスと通信するように動作可能な１つ以上のワイヤレスコンポーネントを含むことができる。ワイヤレスチャネルは、デバイスが無線で通信するために使用される任意の適切なチャネル（例えば、ブルートゥース（登録商標）、セルラー（cellular）、ＮＦＣ又はＷｉ−Ｆｉ（登録商標）チャネル等）であってもよい。このデバイスは、従来技術で知られているように、１つ以上の従来の有線通信接続を有し得ることを理解されたい。各種実施形態の範囲内において、様々な他の要素及び／又は組み合わせが可能である。
【００４３】
上記の説明は、本発明の原理及び様々な実施形態を例示することを意図している。上記の開示を十分に理解すれば、多数の変形及び修正が明らかになるであろう。
【００４４】
図２は、本発明の一実施形態による、サーバシステムを管理する例示的な方法２００を示す図である。方法２００は、例示目的で提示されたものであり、本発明の他の方法では、類似若しくは代替の順序で又は並行して実行される追加の工程、より少ない工程又は代替の工程を有してもよいことを理解されたい。例示的な方法２００は、工程２０４において、管理コントローラプログラム（例えば、ＢＭＣプログラム）が開始されたこと、又は、サーバシステムにおいてデバイスが変更されたことを判別することによって開始する。デバイスは、図１Ａ及び図１Ｂに示すように、ＡＴＳ、ＰＳＵ及びＢＢＵを備える。
【００４５】
工程２０６において、管理コントローラは、デバイス情報を判別することができる。例えば、管理コントローラは、ＰＭＢｕｓを介してデバイス情報を取得することができる。工程２０８において、管理コントローラは、デバイスがＢＢＵ、ＡＴＳ又はＰＳＵの何れであるかを判別することができる。いくつかの実施形態では、デバイスは、モジュール化されたＢＢＵ、ＡＴＳ又はＰＳＵである。
【００４６】
工程２１０において、デバイスがＢＢＵであると判別したことに応じて、管理コントローラは、図１Ｂに示すように、管理コントローラの特定の入力ピンをＢＢＵ出力ピンに再定義することができる。工程２１２において、管理コントローラは、図１Ｂに示すように、Ｉ２Ｃ（inter-integrated circuit）バス（例えば、ＳＣＬ／ＳＤＡライン）を介してＢＢＵの状態を監視し、工程２１４において、ＢＢＵ出力ピンを介して制御信号を送信することによって、ＢＢＵを管理する。
【００４７】
工程２１６において、デバイスがＡＴＳであると判別したことに応じて、管理コントローラは、管理コントローラの特定の入力ピンをＡＴＳ入力ピンに定義することができる。工程２１８において、管理コントローラは、図１Ｂに示すように、ＡＴＳ入力ピンを介してＡＴＳの状態を監視し、工程２２０において、Ｉ２Ｃバス（例えば、ＳＣＬ／ＳＤＡライン）を介してＡＴＳを管理する。工程２２２において、管理コントローラは、ＡＣ電源故障信号に応じて、制御信号をＢＢＵに送信することができる。いくつかの実施形態では、ＡＣ電源故障信号は、ＡＴＳへの何れかのＡＣ電源若しくは全てのＡＣ電源が故障したこと、又は、ＡＴＳが故障したことを示す。
【００４８】
工程２２４において、デバイスがＰＳＵであると判別したことに応じて、管理コントローラは、管理コントローラの特定の入力ピンをＰＳＵ入力ピンに定義することができる。工程２２５において、管理コントローラは、図１Ｂに示すように、ＰＳＵ入力ピンを介してＰＳＵの状態を監視し、工程２２６において、Ｉ２Ｃバス（例えば、ＳＣＬ／ＳＤＡライン）を介してＰＳＵを管理することができる。工程２２８において、管理コントローラは、ＡＣ故障信号に応じて、制御信号をＢＢＵに送信することができる。いくつかの実施形態では、ＡＣ故障信号は、ＰＳＵに接続された特定のＡＣ電源が故障したこと、又は、ＰＳＵが故障したことを示す。
【００４９】
図３及び図４は、本発明の実施形態による、例示的なシステムを示す図である。当業者であれば、本発明の技術を実施する場合に、さらに適切な実施形態を理解できるであろう。当業者であれば、他のシステムも可能であることが理解できるであろう。
【００５０】
図３は、コンピューティングシステムのコンポーネントがバス３０２を用いて互いに電気的に通信する例示的なコンピューティングシステム３００を示す図である。システム３００は、処理ユニット（ＣＰＵ又はプロセッサ）３３０と、システムバス３０２と、有する。システムバス３０２は、システムメモリ３０４（例えば、リードオンリメモリ（ＲＯＭ）３０６及びランダムアクセスメモリ（ＲＡＭ）３０８）を含む各種システムコンポーネントをプロセッサ３３０に接続する。システム３００は、高速メモリのキャッシュを有し、キャッシュは、プロセッサ３３０に直接接続され、プロセッサ３３０に隣接して接続され、又は、プロセッサ３３０の一部として統合されてもよい。システム３００は、プロセッサ３３０による高速アクセスのために、メモリ３０４及び／又はストレージデバイス３１２からキャッシュ３２８にデータをコピーしてもよい。この方法において、キャッシュは、プロセッサ３３０がデータを待つ間に遅延が生じるのを防止する性能向上を提供する。これらのモジュール及び他のモジュールは、様々な動作を制御するためにプロセッサ３３０を制御するように構成されている。別のシステムメモリ３０４も使用可能である。メモリ３０４は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ３３０は、任意の汎用プロセッサ、及び、例えば、ストレージデバイス３１２に設けられたモジュール１  ３１４、モジュール２  ３１６及びモジュール３  ３１８等のハードウェアモジュール又はソフトウェアモジュールを含むことができる。ハードウェアモジュール又はソフトウェアモジュールは、プロセッサ３３０、及び、ソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを制御するように構成されている。プロセッサ３３０は、実質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に独立したコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【００５１】
ユーザがコンピューティングシステム３００と対話するのを可能にするために、入力デバイス３２０が入力メカニズムとして提供される。入力デバイス３２０は、例えば、スピーチ用のマイク、ジェスチャ又はグラフィック入力用のタッチセンシティブスクリーン、キーボード、マウス、モーション入力等を含むことができる。場合によっては、マルチモーダルシステムは、ユーザがシステム３００と通信するために、複数のタイプの入力を提供し得る。この例では、出力デバイス３２２も設けられている。通信インタフェース３２４は、ユーザ入力及びシステム出力を支配（govern）及び管理することができる。
【００５２】
ストレージデバイス３１２は、コンピュータによってアクセス可能なデータを記憶するための不揮発性メモリとすることができる。ストレージデバイス３１２は、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク（ＤＶＤ）、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）３０８、リードオンリメモリ（ＲＯＭ）３０６及びこれらの組み合わせであってもよい。
【００５３】
コントローラ３１０は、例えばベースボード管理コントローラ（ＢＭＣ）等のように、システム３００上の専用のマイクロコントローラ又はプロセッサであってもよい。場合によっては、コントローラ３１０は、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）の一部であってもよい。さらに、場合によっては、コントローラ３１０は、システム３００のマザーボード又はメイン回路基板に組み込まれてもよい。コントローラ３１０は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。コントローラ３１０は、以下に説明するように、例えばコントローラ又は周辺コンポーネント等の各種システムデバイスやコンポーネント（内部、及び／又は、外部）と通信することもできる。
【００５４】
コントローラ３１０は、通知、警告及び／又はイベントに対する特定の応答を生成し、リモートデバイス又はコンポーネント（例えば、電子メールメッセージ、ネットワークメッセージ等）と通信し、自動ハードウェア回復プロセス用の命令又はコマンド等を生成することができる。管理者は、以下に説明するように、コントローラ３１０と遠隔通信して、特定のハードウェア回復プロセス又は動作を開始又は実行することもできる。
【００５５】
コントローラ３１０は、コントローラ３１０が受信したイベント、警告及び通知を管理して維持するシステムイベントログコントローラ及び／又はストレージを含むこともできる。例えば、コントローラ３１０又はシステムイベントログコントローラは、１つ以上のデバイス及びコンポーネントから警告又は通知を受信し、当該警告又は通知をシステムイベントログストレージコンポーネントに保持することができる。
【００５６】
フラッシュメモリ３３２は、ストレージ及び／又はデータ転送のためにシステム３００に使用され得る電子不揮発性コンピュータストレージ媒体又はチップであってもよい。フラッシュメモリ３３２は、電気的に消去及び／又は再プログラムすることができる。フラッシュメモリ３３２は、例えば、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、ＲＯＭ、ＮＶＲＡＭ、又は、相補型ＭＯＳ（complementary metal‐oxide semiconductor：ＣＭＯＳ）を含むことができる。フラッシュメモリ３３２は、システム３００が起動する場合に、システム３００で実行されるファームウェア３３４を、ファームウェア３３４に指定された構成のセットと共に記憶することができる。フラッシュメモリ３３２は、ファームウェア３３４によって用いられる構成を記憶することもできる。
【００５７】
ファームウェア３３４は、ベーシックインプット／アウトプットシステム（ＢＩＯＳ）又は等価物（例えば、エクステンシブルファームウェアインタフェース（ＥＦＩ）又はユニファイドエクステンシブルファームウェアインタフェース（ＵＥＦＩ））を含むことができる。ファームウェア３３４は、システム３００が起動される毎にシーケンスプログラムとしてロードされ実行され得る。ファームウェア３３４は、構成のセットに基づいて、システム３００に存在するハードウェアを識別、初期化及びテストすることができる。ファームウェア４３４は、システム３００上でセルフテスト（例えば、パワーオンセルフテスト（ＰＯＳＴ））を実行することができる。このセルフテストは、各種ハードウェアコンポーネント（例えば、ハードディスクドライブ、光学読み取りデバイス、冷却デバイス、メモリモジュール、拡張カード等）の機能をテストすることができる。ファームウェア３３４は、オペレーティングシステム（ＯＳ）を記憶するために、メモリ３０４、ＲＯＭ３０６、ＲＡＭ３０８及び／又はストレージデバイス３１２内の領域をアドレス指定して割り当てることができる。ファームウェア３３４は、ブートローダ及び／又はＯＳをロードし、システム３００の制御をＯＳに渡すことができる。
【００５８】
システム３００のファームウェア３３４は、ファームウェア３３４がシステム３００内の各種ハードウェアコンポーネントをどのように制御するかを定義するファームウェア構成を含むことができる。ファームウェア構成は、システム３００内の各種ハードウェアコンポーネントが起動される順序を決定することができる。ファームウェア３３４は、ＵＥＦＩ等のインタフェースを提供することができ、ファームウェアのデフォルト構成におけるパラメータとは異なる様々な異なるパラメータを設定することができる。例えば、ユーザ（例えば、管理者）は、ファームウェア３３４を用いて、クロック及びバス速度を指定し、どの周辺機器がシステム３００に接続されているかを定義し、動作パラメータ（例えば、ファン速度及びＣＰＵの温度限界）の閾値を設定し、システム３００の全体的なパフォーマンス及び電力使用量に影響を及ぼす様々な他のパラメータを提供することができる。ファームウェア３３４は、フラッシュメモリ３３２に記憶されているように示されているが、当業者であれば、ファームウェア３３４が、例えばメモリ３０４又はＲＯＭ３０６等の他のメモリコンポーネントに記憶され得ることを容易に認識するであろう。
【００５９】
システム３００は１つ以上のセンサ３２６を含むことができる。１つ以上のセンサ３２６は、例えば、１つ以上の温度センサ、熱（thermal）センサ、酸素センサ、化学センサ、ノイズセンサ、熱（heat）センサ、電流センサ、電圧検出器、気流センサ、流量センサ、赤外線温度計、熱流量センサ、温度計、高温計等を含むことができる。１つ以上のセンサ３２６は、例えば、バス３０２を介して、プロセッサ、キャッシュ３２８、フラッシュメモリ３３２、通信インタフェース３２４、メモリ３０４、ＲＯＭ３０６、ＲＡＭ３０８、コントローラ３１０及びストレージデバイス３１２と通信することができる。１つ以上のセンサ３２６は、１つ以上の異なる手段（例えば、Ｉ２Ｃ、汎用出力（general purpose output：ＧＰＯ）等）を介して、システム内の他のコンポ―ネントと通信することもできる。システム３００上の異なるタイプのセンサ（例えば、センサ３２６）は、パラメータ（例えば、冷却ファン速度、電源状態、オペレーティングシステム（ＯＳ）状態、ハードウェア状態等）をコントローラ３１０に報告してもよい。
【００６０】
図４は、説明した方法又は動作を実行し、並びに、グラフィカルユーザインタフェース（ＧＵＩ）の生成及び表示に使用され得るチップセット構成を有する例示的なコンピュータシステム４００を示す図である。コンピュータシステム４００は、本発明の技術を実施するのに使用可能なコンピュータハードウェア、ソフトウェア及びファームウェアを含むことができる。システム４００は、識別された計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを実行することができる物理的及び／又は論理的に異なる様々なリソースを表すプロセッサ８１０を含むことができる。プロセッサ４１０は、プロセッサ４１０との入出力を制御することができるチップセット４０２と通信することができる。この例では、チップセット４０２は、情報を出力デバイス４１４（例えば、ディスプレイ）に出力し、ストレージデバイス４１６（例えば、磁気媒体、固体媒体を含む）と情報を読み書きすることができる。チップセット４０２は、ＲＡＭ４１８からデータを読み取り、ＲＡＭ４１８にデータを書き込むこともできる。様々なユーザインタフェースコンポーネント４０６とインタフェースするためのブリッジ４０４を、チップセット４０２とインタフェースするために設けることができる。ユーザインタフェースコンポーネント４０６は、キーボード、マイク、タッチ検出及び処理回路、並びに、ポインティングデバイス（マウス等）を含むことができる。一般に、システム４００への入力は、機械生成及び／又は人間生成の様々なソースの何れかからのものとすることができる。
【００６１】
チップセット４０２は、異なる物理インタフェースを有する１つ以上の通信インタフェース４０８とインタフェースすることもできる。かかる通信インタフェースは、有線及び無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク、並びに、パーソナルエリアネットワークのためのインタフェースを含むことができる。さらに、機械は、ユーザインタフェースコンポーネント８０６を介してユーザからの入力を受信し、プロセッサ８１０を用いてこれらの入力を解釈することによって、例えばブラウジング機能等の適切な機能を実行することができる。
【００６２】
また、チップセット４０２は、電源が投入されたときにコンピュータシステム４００によって実行され得るファームウェア４１２と通信することができる。ファームウェア４１２は、ファームウェア構成のセットに基づいて、コンピュータシステム４００に存在するハードウェアを識別、初期化及びテストすることができる。ファームウェア４１２は、システム４００上でセルフテスト（例えば、ＰＯＳＴ）を実行することができる。セルフテストは、各種ハードウェアコンポーネント４０２〜４１８の機能をテストすることができる。ファームウェア４１２は、ＯＳを記憶するために、メモリ４１８内の領域をアドレス指定し、割り当てることができる。ファームウェア４１２は、ブートローダ及び／又はＯＳをロードし、システム４００の制御をＯＳに渡すことができる。場合によっては、ファームウェア４１２は、ハードウェアコンポーネント４０２〜４１０，４１４〜４１８と通信することができる。ここで、ファームウェア４１２は、チップセット４０２を介して、及び／又は、１つ以上の他のコンポーネントを介して、ハードウェアコンポーネント４０２〜４１０，４１４〜４１８と通信することができる。場合によっては、ファームウェア４１２は、ハードウェアコンポーネント４０２〜４１０，４１４〜４１８と直接通信することができる。
【００６３】
例示的なシステム３００，４００は、より高い処理能力を提供するために、２つ以上のプロセッサ（例えば、３３０，４１０）を有することができ、又は、ネットワーク接続されたコンピューティングデバイスのグループ若しくはクラスタの一部であってもよいことが理解されるであろう。
【００６４】
説明をわかりやすくするために、ある実施形態において、デバイス、デバイスコンポーネント、ソフトウェアで実施される方法における工程やルーティン、又は、ハードウェアとソフトウェアの組み合わせを含む個々の機能ブロックを有するものとして提示することができる。
【００６５】
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体及びメモリは、ビットストリーム等を含むケーブル又は無線信号を有する。しかし、言及されるとき、非一時的なコンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波及び信号そのもの等の媒体を明確に排除する。
【００６６】
上記の例における方法は、コンピュータ可読媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理デバイスをもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令（例えば、アセンブリ言語）、ファームウェア又はソースコードである。
【００６７】
これらの開示における方法を実行するデバイスは、ハードウェア、ファームウェア及び／又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、ＰＤＡ、ラックマウント型デバイス、スタンドアロンデバイス等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【００６８】
各種実施形態は、場合によっては、いくつかのアプリケーションの何れかを動作させるために用いられる１つ以上のサーバコンピュータ、ユーザコンピュータ又はコンピューティングデバイスを有する多種多様な動作環境で実行することができる。ユーザ又はクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップ又はラップトップコンピュータ等のいくつかの汎用パーソナルコンピュータ、並びに、モバイルソフトウェアを実行し、いくつかのネットワーク及びメッセージプロトコルをサポートすることができるセルラー、ワイヤレス及びハンドヘルドデバイスを含むことができる。このようなシステムは、さらに、開発及びデータベース管理等の目的のために様々な市販のオペレーティングシステム及び他の既知のアプリケーションを実行するいくつかのワークステーションを有する。これらのデバイスは、他の電子デバイス（例えば、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信可能な他のデバイス等）を有する。
【００６９】
本発明のいくつかの実施態様又はその一部がハードウェアで実現される限り、本発明は、以下の技術の何れか又は組み合わせにより実現される。例えば、データ信号に基づきロジック機能を実行するロジックゲートを有する離散ロジック回路、適切な組み合わせのロジックゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）等のプログラマブルハードウェア、及び／又は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等が含まれる。
【００７０】
ほとんどの実施形態は、例えばＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、ＡｐｐｌｅＴａｌｋ（登録商標）等の商用のプロトコルの何れかを用いて通信をサポートするために、当業者によく知られている少なくとも１つのネットワークを使用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及び、これらの任意の組み合わせである。
【００７１】
これらの開示における方法を実行するデバイスは、ハードウェア、ファームウェア及び／又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、ＰＤＡ等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一のデバイスで実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【００７２】
ウェブサーバを用いた実施形態において、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、及び、ビジネスアプリケーションサーバを有する任意の種類のサーバ又は中間層アプリケーションを実行することができる。ウェブサーバは、ユーザデバイスからの要求に応じて、プログラム又はスクリプトを実行することもできる。例えば、ウェブサーバは、任意のプログラミング言語（例えば、Ｊａｖａ（登録商標）、Ｃ，Ｃ＃、Ｃ＋＋）、任意のスクリプト言語（例えば、Ｐｅｒｌ、Ｐｙｔｈｏｎ、ＴＣＬ）、及び、これらの組み合わせで書き込まれる１つ以上のスクリプト又はプログラムとして実行される１つ以上のウェブアプリケーションを実行することができる。サーバは、公開市場で市販されているものを含むがこれに限定されないデータベースサーバを含むことができる。
【００７３】
サーバシステムは、前述の様々なデータ記憶、他のメモリ、及び、ストレージ媒体を有する。これらは、例えば、ストレージ媒体が１つ以上のコンピュータにローカル接続され（及び／又は存在する）、又は、ネットワークにより、任意の若しくは全てのコンピュータから遠隔で連結される等のように、様々な場所に存在し得る。一組の特定の実施形態において、情報は、当業者によく知られているストレージエリアネットワーク（ＳＡＮ）中に存在することができる。同様に、コンピュータ、サーバ又は他のネットワークデバイスに起因する機能を実行するのに必要とされる任意のファイルは、必要に応じてローカル及び／又はリモートに記憶することができる。システムがコンピュータ化されたデバイスを含む場合、このようなデバイスは、バスを介して電気的に接続されるハードウェアコンポーネントを有し、コンポーネントは、例えば、少なくとも１つの中央処理装置（ＣＰＵ）と、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチセンサディスプレイコンポーネント、又は、キーパッド）と、少なくとも１つの出力デバイス（例えば、ディスプレイデバイス、プリンタ、又は、スピーカ）と、を有する。このようなシステムは、さらに、１つ以上のストレージデバイス（例えば、ディスクドライブ、光学ストレージデバイス、及び、ソリッドステートストレージデバイス（例えば、ランダムアクセスメモリ（ＲＡＭ）又はリードオンリメモリ（ＲＯＭ））、及び、取り外し可能な媒体デバイス、メモリカード、フラッシュカード等）を有する。
【００７４】
コード又はコードの一部を含むストレージ媒体及びコンピュータ可読媒体は、従来技術で用いられる任意の適切な媒体（例えば、ストレージ媒体及びコンピューティング媒体）を含む。ストレージ媒体及びコンピューティング媒体は、データ若しくは情報の記憶及び／又は伝送のためのリムーバブル及び非リムーバブル媒体を含むことができるが、これらに限定されない。リムーバブル及び非リムーバブル媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他のメモリ技術、ＣＤ-ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、又は、他の任意の媒体を含み、必要な情報を記憶するのに用いられたり、システムデバイスによりアクセスされる。データ又は情報は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを含むことができる。本明細書で提供される技術及び教示に基づいて、当業者であれば、本発明の各種態様を実施する他のやり方及び／又は方法を理解するであろう。
【００７５】
明細書及び図面は、限定的ではなく例示的なものとみなされるべきである。しかしながら、特許請求の範囲に記載された発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更を行うことができるのが明らかであろう。
【符号の説明】
【００７６】
１００Ａ…サーバシステム
ＡＣ１  １０１−１，ＡＣ２  １０１−２…交流電源
１０２…電源ユニット（ＰＳＵ）
１０３…ベースボード管理コントローラ
１０４…プロセッサ
１０５…ＢＩＯＳ
１０６…ノースブリッジロジック
１０７…ＰＣＩバス
１０８…サウスブリッジロジック
１０９…ストレージデバイス
１１０…冷却モジュール
１１１…メインメモリ
１１２…自動転送スイッチ（ＡＴＳ）
１１３…バッテリバックアップシステム（ＢＢＵ）
１５０，１５１…ＩＳＡスロット
１６０，１６１…ＰＣＩｅスロット
１７０，１７１…ＰＣＩスロット
１００Ｂ…サーバシステム
２００…方法
２０４〜２２８…工程
３００…コンピューティングシステム
３０２…バス
３０４…メモリ
３０６…リードオンリメモリ
３０８…ランダムアクセスメモリ
３１０…コントローラ
３１２…ストレージデバイス
３１４…モジュール１
３１６…モジュール２
３１８…モジュール３
３２０…入力デバイス
３２２…出力デバイス
３２４…通信インタフェース
３２６…センサ
３２８…キャッシュ
３３０…プロセッサ
３３２…フラッシュメモリ
３３４…ファームウェア
３３６…ディスプレイ
４００…コンピュータシステム
４０２…チップセット
４０４…ブリッジ
４０６…ユーザインタフェースコンポーネント
４０８…通信インタフェース
４１０…プロセッサ
４１２…ファームウェア
４１４…出力デバイス
４１６…ストレージデバイス
４１８…ランダムアクセスメモリ
【図１Ａ】
2020053017.tif 000003
【図１Ｂ】
2020053017.tif 000004
【図２】
2020053017.tif 000005
【図３】
2020053017.tif 000006
【図４】
2020053017.tif 000007